TikZ
- How can I depict X-ray beams as wavefronts that interfere above the sample to form a standing wave?by Jannis Fricke on October 7, 2026 at 7:24 am
I'm not very skilled using TikZ but I wanted to use it for all the figures in my bachelors thesis. So far I created this TikZ-picture: \documentclass{article} \usepackage{tikz} \usetikzlibrary{patterns} \usetikzlibrary{patterns.meta} \usetikzlibrary{decorations.pathreplacing} \usetikzlibrary{decorations.pathmorphing} \usetikzlibrary{decorations.markings} \usetikzlibrary{snakes} \usetikzlibrary{arrows.meta} \usetikzlibrary{calc,patterns,angles,quotes} \usepackage[table]{xcolor} \definecolor{Minzgrün}{RGB}{0,140,79} \definecolor{Fenstergrau}{RGB}{128,128,128} \definecolor{Telegrau 4}{RGB}{230,230,230} \definecolor{Tomatenrot}{RGB}{140,28,0} \begin{document} \begin{tikzpicture} [x=0.35cm,y=0.2cm,line cap=round,line join=round] \draw[line width=1.5pt] (17.5,12.5) arc [start angle=0, end angle=180, x radius=2.5, y radius=1]; \draw [black, line width=1pt] (16,13) -- (21,14) node [align=center,right]{Detector\\window}; \draw[line width=1.5pt] (19,2) arc [start angle=0, end angle=180, x radius=4, y radius=1.5]; \draw[black,line width=1.5pt] (5,0.5) -- (25,0.5) -- (25,2) -- (5,2) -- cycle; \draw[black,line width=1.5pt] (10,25) -- (10,12.5) -- (20,12.5) -- (20,25); \draw[black,line width=1.5pt] (12.5,17.5) -- (17.5,17.5) -- (17.5,20) -- (12.5,20) -- cycle; \fill[black,pattern=crosshatch dots] (12.5,17.5) -- (17.5,17.5) -- (17.5,20) -- (12.5,20) -- cycle; \draw [black,line width=1pt] (12,20) -- (8.5,21) node[align=center,left] {Energy-dispersive\\detector}; \draw[Fenstergrau,line width=1pt,postaction={decorate,decoration={markings,mark=at position 0.15 with{\arrow{>}},mark=at position 1 with {\arrow{>}}}}] (-5,4) -- (10,2) -- (25,4); \draw[Fenstergrau,line width=1pt,postaction={decorate,decoration={markings,mark=at position 0.15 with{\arrow{>}},mark=at position 1 with {\arrow{>}}}}] (5,4) -- (20,2) -- (35,4); \node[align=center] at (0,6.5){Incident beam}; \node[align=center] at (30,6.5){Reflected beam}; \draw[black,line width=1pt] (12.5,1.25) -- (10,-2.5) node [below, align=center] {Sample carrier\\(\textit{reflector})}; \draw[black,line width=1pt] (16,2.5) -- (21,-2.5) node [below, align=center] {Sample}; \draw[Minzgrün,line width=1.25pt,->,decorate,decoration={snake,amplitude=0.1cm,segment length=0.4cm, post length=0.2cm}](15,2.5) -- (15,17); \draw [black, line width=1pt] (14,8) -- (9,12) node [align=center, left] {Fluorescence\\radiation}; \end{tikzpicture} \end{document} But I would like to include the X-ray beams as wave fronts which interfere above the sample to form a standing wave like in this image: Sadly this is beyond my TikZ-skills. Maybe somebody can help me or tell me where to look for answers. Thanks a lot!
- The water level and the principle of communicating vesselsby Sebastiano on October 4, 2026 at 7:49 pm
I would like to create a water level, i.e. a transparent flexible tube filled with water, so that the principle of communicating vessels is clearly illustrated. How can I represent the flexible tube, keeping it along the horizontal surface and making it run up the two vertical sides, so that the configuration is similar to the one shown in the image? Here my 1st MWE: \documentclass{article} \usepackage{tikz} \usepackage{tikzphysics} \begin{document} \begin{tikzpicture}[ line cap=round, line join=round ] \node[ ground, ground width=8.6cm, ground depth=3mm ] (G) at (0,0) {}; \node[ ground, ground width=3.2cm, ground depth=3mm, rotate=90 ] (GL) at (-3.5,1.6) {}; \node[ ground, ground width=3.2cm, ground depth=3mm, rotate=90 ] (GR) at (3.5,1.6) {}; \draw[dashed, thick] (-3.9,2.8) -- (4.2,2.8); \draw[thin] (-3.9,0) -- (-3.7,0); \node[left] at (-3.7,3.1) {\small 100.0}; \draw[thin] (-3.2,0) -- (-3.2,3.1); \draw[thin] (3.8,0) -- (3.8,3.1); \draw[thin] (3.7,0) -- (3.9,0); \node[right] at (3.9,3.1) {\small 100.0}; \draw[thin] (-4.3,0) -- (-3.8,0); \node[left] at (-4.3,0.08) {\small 0.00}; \end{tikzpicture} \end{document} Now with Mathcha I have created the flexible tube, \documentclass{article} \usepackage[margin=0.5in]{geometry} \usepackage{tikz} \usepackage{tikzphysics} \definecolor{water}{RGB}{73,194,221} \pagestyle{empty} \begin{document} \centering \begin{tikzpicture}[x=1cm,y=1cm] \node[ ground, ground width=8.6cm, ground depth=3mm ] (G) at (0,0) {}; \node[ ground, ground width=3.2cm, ground depth=3mm, rotate=90 ] (GL) at (-3.5,1.6) {}; \node[ ground, ground width=3.2cm, ground depth=3mm, rotate=90 ] (GR) at (3.5,1.6) {}; \draw[dashed, thick] (-3.9,2.5) -- (4.2,2.5); \draw[thin] (-3.9,0) -- (-3.7,0); \node[left] at (-3.7,3.1) {\small 100.0}; \draw[thin] (-3.2,0) -- (-3.2,3.1); \draw[thin] (3.8,0) -- (3.8,3.1); \draw[thin] (3.7,0) -- (3.9,0); \node[right] at (3.9,3.1) {\small 100.0}; \draw[thin] (-4.3,0) -- (-3.8,0); \node[left] at (-4.3,0.08) {\small 0.00}; \begin{scope}[shift={(-6cm,-.9cm)}] \draw[gray!70,line width=7pt] (3.48,4.32) .. controls (3.48,3.98) and (3.71,3.58) .. (3.72,3.21) .. controls (3.73,2.85) and (3.50,2.35) .. (3.84,1.74) .. controls (4.10,1.23) and (4.46,1.03) .. (4.97,1.03) .. controls (6.20,1.03) and (7.68,0.99) .. (8.36,1.59) .. controls (8.96,2.09) and (8.90,3.16) .. (8.90,4.23); \draw[gray!20,line width=4.5pt] (3.48,4.32) .. controls (3.48,3.98) and (3.71,3.58) .. (3.72,3.21) .. controls (3.73,2.85) and (3.50,2.35) .. (3.84,1.74) .. controls (4.10,1.23) and (4.46,1.03) .. (4.97,1.03) .. controls (6.20,1.03) and (7.68,0.99) .. (8.36,1.59) .. controls (8.96,2.09) and (8.90,3.16) .. (8.90,4.23); \draw[water,line width=4.5pt] (3.69,3.42) .. controls (3.81,3.02) and (3.49,2.39) .. (3.84,1.74) .. controls (4.10,1.23) and (4.46,1.03) .. (4.97,1.03) .. controls (6.20,1.03) and (7.68,0.99) .. (8.36,1.59) .. controls (8.82,1.98) and (8.92,2.72) .. (8.90,3.42); \end{scope} \end{tikzpicture} \end{document} but the tube is not filled correctly.
- Is there any method to invert the even odd rule?by D G on October 1, 2026 at 8:37 am
I want to get rather than Appending (0,0) circle (3.5) is fine but I am wondering whether there are any nicer approaches. odd even rule does not exist too. \documentclass[tikz,border=1cm,12pt]{standalone} \begin{document} \begin{tikzpicture}[ultra thick] \filldraw[fill=red,even odd rule] \foreach \i in {0,0.5,...,3.5}{(0,0) circle (\i)} (0,0) circle (3.5) % just a hack to invert the even odd rule ; \end{tikzpicture} \end{document}
- Why does combining TikZ `patterns` and `fadings` cause rendering problems in some PDF viewers?by kabenyuk on September 27, 2026 at 3:47 pm
I have come across an interesting difference in how a PDF produced by TikZ is rendered by different PDF viewers. The following MWE isolates the issue: \documentclass{article} \usepackage{tikz} \usetikzlibrary{patterns,fadings} \begin{document} \begin{tikzpicture} % Pattern only \fill[draw,pattern=north west lines] (0,0) rectangle (3,.4); % Fading only \fill[draw,path fading=east] (0,-1) rectangle (3,-.6); % Pattern + fading \fill[draw,pattern=north west lines,path fading=east] (0,-2) rectangle (3,-1.6); \end{tikzpicture} \end{document} Left: Adobe Acrobat. Right: WinEdtPDF. The same PDF file is shown in both viewers. In WinEdtPDF the first two rectangles are rendered correctly. The problem appears only in the third one, where pattern=north west lines and path fading=east are used together: the hatching is not rendered correctly. Thus, pattern=north west lines works by itself, and path fading=east works by itself. The rendering difference appears only when the two TikZ mechanisms are combined. The same PDF is rendered correctly in Adobe Acrobat, Microsoft Edge, and Firefox. The same defect as in WinEdtPDF is also visible in Google Drive's PDF preview. I initially reported this to the WinEdt developer. Alex Simonic explained that WinEdtPDF uses PDFium for rendering and that the behavior observed there is a limitation of PDFium rather than of WinEdtPDF itself: https://github.com/WinEdt-Team/WinEdt-Support/discussions/131#discussioncomment-18627725 So my question is about the TikZ/PDF side of this behavior: what does TikZ write into the PDF when a pattern and path fading are combined, and what is special about this construction that makes different PDF rendering engines handle it differently?
- Override a PGF key .initial value for a new shapeby karlh on September 25, 2026 at 12:00 am
Is it possible to set shape border rotate to a new default for a particular shape? For example, say I want to define a shape (which I'll call trapezoid in the MWE) that is essentially a trapezium but it is rotated by 180° by default. For example, \documentclass{standalone} \usepackage{tikz} \usetikzlibrary{shapes.geometric} \pgfdeclareshape{trapezoid}{% \nodeparts{text}% \inheritsavedanchors[from=trapezium]% \inheritbackgroundpath[from=trapezium]% \inheritanchorborder[from=trapezium]% \inheritanchor[from=trapezium]{text}% \inheritanchor[from=trapezium]{center}% \inheritanchor[from=trapezium]{north}% \inheritanchor[from=trapezium]{south}% \inheritanchor[from=trapezium]{east}% \inheritanchor[from=trapezium]{west}% \inheritanchor[from=trapezium]{north west}% \inheritanchor[from=trapezium]{north east}% \inheritanchor[from=trapezium]{south west}% \inheritanchor[from=trapezium]{south east}% \behindbackgroundpath{% \pgfpathmoveto{\lowerleftpoint}% \pgfpathlineto{\upperrightpoint}% }% }% \begin{document} \begin{tikzpicture} \node [draw,trapezium,minimum size=1cm] {}; \node [draw=blue,trapezoid,minimum size=1cm,name=s] at (0,-1.25) {}; \node [draw=orange,trapezoid,minimum size=1cm,shape border rotate=180] at (0,-2.5) {}; % \foreach \anchor/\placement/\color in {north/above/orange,south/below/teal, % east/right/red,west/left/green,50/above/violet} % \draw [color=\color,shift=(s.\anchor)] plot [mark=x] coordinates {(0,0)}; \end{tikzpicture} \end{document} but both the blue and the orange shapes should be the same. Alternatively, the blue one could be narrow-end-on-top, and the orange one rotates 180° more and looks like the black one. Options I have considered: Define a new shape and a new set of keys to go with it that are very similar to trapezium except upside-down (this is the worst option) Define trapezoid as a style that calls another shape (say, decorated trapezium or some such) whose only real purpose is to set another default value of shape border rotate Create an anchor that reads another key (say, trapezoid rotate) that determines what the user wants the new angle to be, then sets shape border rotate to something based on that. I am hoping there is another way, something like issuing \changepgfinitialvalue inside the shape definition so that the initial value changes for that shape (and only that shape). Is there? Clarification: what I want is a shape (I used trapezium here, but it could be something else) that looks similar to an existing one, but has extra things drawn on it, an appendage of some sort, etc., but the base shape is rotated with respect to the original. If there is a way to do this so that the user who calls, say, shape=trapezoid instead of just trapezoid without reverting the orientation, that would be my preference. In other words, inherit everything from a shape, build on it with \beforebackgroundpath, \foregroundpath, and such, and change the default orientation.
- Drawing a rectangular box in three different orientations with TikZby Sebastiano on September 24, 2026 at 7:26 pm
I am preparing some physics exercises about pressure, and I would like to illustrate a rectangular box that can be placed on each of its three different faces. In this way, the same box would have three different base areas, while its dimensions remain unchanged. For example, my box has dimensions: 23 cm, 24 cm, 46 cm I would like to create the three possible orientations of the box with TikZ, so that in each drawing a different face is touching the ground. At the moment, I have this code for one orientation: \documentclass{article} \usepackage[margin=0.5in]{geometry} \usepackage{tikz} \begin{document} \begin{center} \begin{tikzpicture}[x=0.027cm,y=-0.027cm,line width=0.35pt,draw=black!75] \draw (77,123)--(77,199)--(146,231)--(281,163)--(281,110); \draw (146,156)--(146,231); \draw (212,55)--(212,122); \draw (77,123)--(60,84)--(126,117)--(146,156)--cycle; \draw (77,123)--(51,96)--(186,27)--(212,55)--(109,109); \draw (212,55)--(232,16)--(301,48)--(281,87)--cycle; \draw (146,156)--(281,87)--(319,91)--(184,160)--cycle; \draw[<->] (66,126)--(66,198); \draw[<->] (72,210)--(141,242); \draw[<->] (151,242)--(286,173); \node[rotate=-90,inner sep=0pt,font=\small] at (57,160) {23 cm}; \node[rotate=-25,inner sep=0pt,font=\small] at (101,233) {24 cm}; \node[rotate=27,inner sep=0pt,font=\small] at (227,213) {46 cm}; \end{tikzpicture} \end{center} \end{document} Is there a relatively simple way to modify this code (or to define a reusable TikZ command) so that I can obtain the other two orientations of the same box, with the 23 cm, 24 cm, and 46 cm dimensions exchanged accordingly? Ideally, I would like to be able to write something like \boxorientation{23}{24}{46} and obtain the corresponding drawing, or otherwise have a convenient way to generate the three possible orientations. The purpose is to use the drawings in physics exercises about pressure, where the students have to calculate the pressure exerted by the box when it rests on each of its three possible bases.
- Writing dental notationsby Hany on September 26, 2024 at 4:39 pm
I am trying to include dental notations in a document. I would like the notations to look like this. This is what I could do so far. \documentclass{article} \begin{document} hello$\lceil 5$ ~~~~~~~hello $5 \rceil$ ~~~~~hello $\lfloor 5$ ~~~~~~~~~hello $5 \rfloor$\\[.2cm] hello\begin{tabular}{|c} \hline 5\\ \end{tabular} ~~~hello \begin{tabular}{c|} \hline 5\\ \end{tabular} ~~~hello \begin{tabular}{|c} 5\\ \hline \end{tabular} ~~~hello \begin{tabular}{c|} 5\\ \hline \end{tabular} \end{document}
- Use of the package 'bodeplot' giving warnings and doesn't produce the plotby caramalizedTomato on July 11, 2024 at 8:29 pm
I am just a beginner and am writing my first report in LaTeX, so excuse me if the solution is very obvious. I am trying to plot asymptotic approximation of bode plots using the package bodeplot as answered here, I simply copied and pasted the following sample code as give in the documentation, \begin{BodeMagPlot}[% axes/{height=2cm, width=4cm} ] {0.01} {100} \addBodeZPKPlots[% asymptotic/{blue,dotted,thick}% ] {magnitude} {% z/{0,{-0.1,-0.5},{-0.1,0.5}}, p/{{-0.5,-10},{-0.5,10}}, k/10% } \end{BodeMagPlot} Now if I am using Overleaf to compile, I am getting the expected results, but then when I use the exact syntax in MikTeX installed on my PC, I do not get any plot, and instead, two warnings messages are displayed: \ifplatform.sty:0:shell escape is disabled, so I can only detect \ifwindows You have an axis with empty range (in direction y). Replacing it with a default range and clearing all plots As far as I can tell the second warning is why I didn't get any plot, but I couldn't understand how to rectify this by giving the range for y-axis, and why does this run in Overleaf, but not on my system? And if the first warning is responsible for this somehow.
- Diagnosing Standalone and Gensymb conflictby Altissimo on January 9, 2024 at 5:52 pm
Disclaimer: I am new-ish to LaTeX, and self-taught. I am trying to make a "Unit Circle" TikZ graphic, in which I would like to have the \degree symbol from the gensymb package in the label text of a node. My current workflow involves the standalone package, and uses the \include command to create a sort of "master file" containing each of my creations on its own page which I reference in other Overleaf projects using the 'output file from another project' and the graphicx package to reduce compile time. There is probably a better way to do this, but it keeps it simple enough for me and I like having everything in more or less the same place so I can make quick references between my images. It has worked so far, until now... My problem is, it is preferable if I don't have to update the preamble of my master document every time I add a new picture, especially since that's where I define things like colors which occasionally use identical names (e.g. gradient1). Hence, I load \usepackage[subpreambles]{standalone} to read the preamble of each standalone separately. Again, this has worked well enough so far that I have been able to solve any hiccups myself. I have failed to diagnose why exactly, but there is something going on with the [subpreambles] tag and loading the gensymb package. Here is my MWE: \documentclass[tikz]{standalone} \usepackage{textcomp,gensymb} % for degree symbol \begin{document} \begin{tikzpicture} \node at (0,0) {$0\degree$}; \end{tikzpicture} \end{document} which I have in Overleaf as degree-test.tex. When I try to reference this file in another: \documentclass[tikz]{standalone} \usepackage[subpreambles]{standalone} \begin{document} \include{degree-test} \end{document} I get the error: Package standalone Warning: Sub-preamble of file 'degree-test.tex' has changed. Content will be ignored. Please rerun LaTeX! on input line 4. I compile with LuaLaTeX, but other compilers produce similar results. Even removing \degree from the node label produces the error, despite not actually using the symbol. There must be some kind of conflict with commands which define certain things during the preamble, but I don't know how to read the error logs and they're very frightening on the surface. Is there a simple fix for this? EDIT: I have also disqualified \documentclass[tikz]{standalone} and \include vs \includestandalone as culprits.
- Problems with simple bode plots using bodeplot packageby StringChecker on September 25, 2023 at 6:49 pm
I'm trying to plot the most simple Bode plot of the most simple lowpass filter function, given as G(s) = 1/(s+1). Here's my code: \documentclass{article} \usepackage{bodeplot} \begin{document} \BodeTF{num/{0,1},den/{1,1},d/0}{0.01}{100} \end{document} Gain plot seems ok - phase plot doesn't show expected (i. e.: NOTHING! Plus giving errors). What am I doing wrong? === EDIT 26-SEP-2023 === In Overleaf it works fine, using TexLive 2023. Just updated my MikTeX installation on my desktop PC - still no phase plot. Here's the log: This is LuaHBTeX, Version 1.17.0 (MiKTeX 23.9.24) (format=lualatex 2023.9.26) 26 SEP 2023 07:21 system commands enabled. **test.tex (./test.tex LaTeX2e <2023-06-01> patch level 1 L3 programming layer <2023-08-29> Lua module: luaotfload 2023-08-31 3.26 Lua based OpenType font support Lua module: lualibs 2023-07-13 2.76 ConTeXt Lua standard libraries. Lua module: lualibs-extended 2023-07-13 2.76 ConTeXt Lua libraries -- extended c ollection. luaotfload | conf : Root cache directory is "C:/Users/PC/AppData/Local/MiKTeX/lu atex-cache/generic/names". luaotfload | init : Loading fontloader "fontloader-2023-08-19.lua" from kpse-res olved path "C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/luatex/luaotfload/font loader-2023-08-19.lua". Lua-only attribute luaotfload@noligature = 1 luaotfload | init : Context OpenType loader version 3.133 Inserting `luaotfload.node_processor' in `pre_linebreak_filter'. Inserting `luaotfload.node_processor' in `hpack_filter'. Inserting `luaotfload.glyph_stream' in `glyph_stream_provider'. Inserting `luaotfload.define_font' in `define_font'. Lua-only attribute luaotfload_color_attribute = 2 luaotfload | conf : Root cache directory is "C:/Users/PC/AppData/Local/MiKTeX/lu atex-cache/generic/names". Inserting `luaotfload.harf.strip_prefix' in `find_opentype_file'. Inserting `luaotfload.harf.strip_prefix' in `find_truetype_file'. Removing `luaotfload.glyph_stream' from `glyph_stream_provider'. Inserting `luaotfload.harf.glyphstream' in `glyph_stream_provider'. Inserting `luaotfload.harf.finalize_vlist' in `post_linebreak_filter'. Inserting `luaotfload.harf.finalize_hlist' in `hpack_filter'. Inserting `luaotfload.cleanup_files' in `wrapup_run'. Inserting `luaotfload.harf.finalize_unicode' in `finish_pdffile'. Inserting `luaotfload.glyphinfo' in `glyph_info'. Lua-only attribute luaotfload.letterspace_done = 3 Inserting `luaotfload.aux.set_sscale_dimens' in `luaotfload.patch_font'. Inserting `luaotfload.aux.set_font_index' in `luaotfload.patch_font'. Inserting `luaotfload.aux.patch_cambria_domh' in `luaotfload.patch_font'. Inserting `luaotfload.aux.fixup_fontdata' in `luaotfload.patch_font_unsafe'. Inserting `luaotfload.aux.set_capheight' in `luaotfload.patch_font'. Inserting `luaotfload.aux.set_xheight' in `luaotfload.patch_font'. Inserting `luaotfload.rewrite_fontname' in `luaotfload.patch_font'. Inserting `tracingstacklevels' in `input_level_string'. (C:/Users/PC/AppData/Lo cal/Programs/MiKTeX/tex/latex/base/article.cls Document Class: article 2023/05/17 v1.4n Standard LaTeX document class (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/latex/base/size10.clo File: size10.clo 2023/05/17 v1.4n Standard LaTeX file (size option) luaotfload | db : Font names database loaded from C:/Users/PC/AppData/Local/MiKT eX/luatex-cache/generic/names/luaotfload-names.luc.gz) \c@part=\count183 \c@section=\count184 \c@subsection=\count185 \c@subsubsection=\count186 \c@paragraph=\count187 \c@subparagraph=\count188 \c@figure=\count189 \c@table=\count190 \abovecaptionskip=\skip48 \belowcaptionskip=\skip49 \bibindent=\dimen139 ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/latex/bodeplot/bodeplot.sty Package: bodeplot (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pdftexcmds/pdftexcmds.st y Package: pdftexcmds 2020-06-27 v0.33 Utility functions of pdfTeX for LuaTeX (HO ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/infwarerr/infwarerr.sty Package: infwarerr 2019/12/03 v1.5 Providing info/warning/error messages (HO) ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/iftex/iftex.sty Package: iftex 2022/02/03 v1.0f TeX engine tests ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/ltxcmds/ltxcmds.sty Package: ltxcmds 2020-05-10 v1.25 LaTeX kernel commands for general use (HO) ) Package pdftexcmds Info: \pdf@primitive is available. Package pdftexcmds Info: \pdf@ifprimitive is available. Package pdftexcmds Info: \pdfdraftmode found. \pdftexcmds@toks=\toks17 ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/latex/ifplatform/ifplatform.sty Package: ifplatform 2017/10/13 v0.4a Testing for the operating system (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/latex/tools/shellesc.sty Package: shellesc 2023/04/15 v1.0d unified shell escape interface for LaTeX Package shellesc Info: Unrestricted shell escape enabled on input line 75. ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/catchfile/catchfile.sty Package: catchfile 2019/12/09 v1.8 Catch the contents of a file (HO) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/etexcmds/etexcmds.sty Package: etexcmds 2019/12/15 v1.7 Avoid name clashes with e-TeX commands (HO) )) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/iftex/ifluatex.sty Package: ifluatex 2019/10/25 v1.5 ifluatex legacy package. Use iftex instead. )) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/latex/environ/environ.sty Package: environ 2014/05/04 v0.3 A new way to define environments (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/latex/trimspaces/trimspaces.sty Package: trimspaces 2009/09/17 v1.1 Trim spaces around a token list ) \@envbody=\toks18 ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/latex/pgfplots/pgfplots.sty (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgfplots/pgfplots.revisi on.tex) Package: pgfplots 2021/05/15 v1.18.1 Data Visualization (1.18.1) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/latex/graphics/graphicx.sty Package: graphicx 2021/09/16 v1.2d Enhanced LaTeX Graphics (DPC,SPQR) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/latex/graphics/keyval.sty Package: keyval 2022/05/29 v1.15 key=value parser (DPC) \KV@toks@=\toks19 ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/latex/graphics/graphics.sty Package: graphics 2022/03/10 v1.4e Standard LaTeX Graphics (DPC,SPQR) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/latex/graphics/trig.sty Package: trig 2021/08/11 v1.11 sin cos tan (DPC) ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/latex/graphics-cfg/graphics.cfg File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration ) Package graphics Info: Driver file: luatex.def on input line 107. (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/latex/graphics-def/luatex.def File: luatex.def 2022/09/22 v1.2d Graphics/color driver for luatex )) \Gin@req@height=\dimen140 \Gin@req@width=\dimen141 ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/latex/pgf/frontendlayer/tikz.sty (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/latex/pgf/basiclayer/pgf.sty (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/latex/pgf/utilities/pgfrcs.sty (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/utilities/pgfutil-co mmon.tex \pgfutil@everybye=\toks20 \pgfutil@tempdima=\dimen142 \pgfutil@tempdimb=\dimen143 ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/utilities/pgfutil-la tex.def \pgfutil@abb=\box51 ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/utilities/pgfrcs.cod e.tex (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/pgf.revision.tex) Package: pgfrcs 2023-01-15 v3.1.10 (3.1.10) )) Package: pgf 2023-01-15 v3.1.10 (3.1.10) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/latex/pgf/basiclayer/pgfcore.sty (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/latex/pgf/systemlayer/pgfsys.sty (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/systemlayer/pgfsys.c ode.tex Package: pgfsys 2023-01-15 v3.1.10 (3.1.10) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/utilities/pgfkeys.co de.tex \pgfkeys@pathtoks=\toks21 \pgfkeys@temptoks=\toks22 (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/utilities/pgfkeyslib raryfiltered.code.tex \pgfkeys@tmptoks=\toks23 )) \pgf@x=\dimen144 \pgf@y=\dimen145 \pgf@xa=\dimen146 \pgf@ya=\dimen147 \pgf@xb=\dimen148 \pgf@yb=\dimen149 \pgf@xc=\dimen150 \pgf@yc=\dimen151 \pgf@xd=\dimen152 \pgf@yd=\dimen153 \w@pgf@writea=\write3 \r@pgf@reada=\read2 \c@pgf@counta=\count191 \c@pgf@countb=\count192 \c@pgf@countc=\count193 \c@pgf@countd=\count194 \t@pgf@toka=\toks24 \t@pgf@tokb=\toks25 \t@pgf@tokc=\toks26 \pgf@sys@id@count=\count195 (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/systemlayer/pgf.cfg File: pgf.cfg 2023-01-15 v3.1.10 (3.1.10) ) Driver file for pgf: pgfsys-luatex.def (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/systemlayer/pgfsys-l uatex.def File: pgfsys-luatex.def 2023-01-15 v3.1.10 (3.1.10) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/systemlayer/pgfsys-c ommon-pdf.def File: pgfsys-common-pdf.def 2023-01-15 v3.1.10 (3.1.10) ))) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/systemlayer/pgfsysso ftpath.code.tex File: pgfsyssoftpath.code.tex 2023-01-15 v3.1.10 (3.1.10) \pgfsyssoftpath@smallbuffer@items=\count196 \pgfsyssoftpath@bigbuffer@items=\count197 ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/systemlayer/pgfsyspr otocol.code.tex File: pgfsysprotocol.code.tex 2023-01-15 v3.1.10 (3.1.10) )) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/latex/xcolor/xcolor.sty Package: xcolor 2022/06/12 v2.14 LaTeX color extensions (UK) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/latex/graphics-cfg/color.cfg File: color.cfg 2016/01/02 v1.6 sample color configuration ) Package xcolor Info: Driver file: luatex.def on input line 227. (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/latex/graphics/mathcolor.ltx) Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1353. Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1357. Package xcolor Info: Model `RGB' extended on input line 1369. Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1371. Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1372. Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1373. Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1374. Package xcolor Info: Model `Gray' substituted by `gray' on input line 1375. Package xcolor Info: Model `wave' substituted by `hsb' on input line 1376. ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/basiclayer/pgfcore.c ode.tex Package: pgfcore 2023-01-15 v3.1.10 (3.1.10) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/math/pgfmath.code.te x (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/math/pgfmathutil.cod e.tex) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/math/pgfmathparser.c ode.tex \pgfmath@dimen=\dimen154 \pgfmath@count=\count198 \pgfmath@box=\box52 \pgfmath@toks=\toks27 \pgfmath@stack@operand=\toks28 \pgfmath@stack@operation=\toks29 ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/math/pgfmathfunction s.code.tex) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/math/pgfmathfunction s.basic.code.tex) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/math/pgfmathfunction s.trigonometric.code.tex) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/math/pgfmathfunction s.random.code.tex) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/math/pgfmathfunction s.comparison.code.tex) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/math/pgfmathfunction s.base.code.tex) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/math/pgfmathfunction s.round.code.tex) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/math/pgfmathfunction s.misc.code.tex) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/math/pgfmathfunction s.integerarithmetics.code.tex) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/math/pgfmathcalc.cod e.tex) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/math/pgfmathfloat.co de.tex \c@pgfmathroundto@lastzeros=\count199 )) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/math/pgfint.code.tex ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/basiclayer/pgfcorepo ints.code.tex File: pgfcorepoints.code.tex 2023-01-15 v3.1.10 (3.1.10) \pgf@picminx=\dimen155 \pgf@picmaxx=\dimen156 \pgf@picminy=\dimen157 \pgf@picmaxy=\dimen158 \pgf@pathminx=\dimen159 \pgf@pathmaxx=\dimen160 \pgf@pathminy=\dimen161 \pgf@pathmaxy=\dimen162 \pgf@xx=\dimen163 \pgf@xy=\dimen164 \pgf@yx=\dimen165 \pgf@yy=\dimen166 \pgf@zx=\dimen167 \pgf@zy=\dimen168 ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/basiclayer/pgfcorepa thconstruct.code.tex File: pgfcorepathconstruct.code.tex 2023-01-15 v3.1.10 (3.1.10) \pgf@path@lastx=\dimen169 \pgf@path@lasty=\dimen170 ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/basiclayer/pgfcorepa thusage.code.tex File: pgfcorepathusage.code.tex 2023-01-15 v3.1.10 (3.1.10) \pgf@shorten@end@additional=\dimen171 \pgf@shorten@start@additional=\dimen172 ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/basiclayer/pgfcoresc opes.code.tex File: pgfcorescopes.code.tex 2023-01-15 v3.1.10 (3.1.10) \pgfpic=\box53 \pgf@hbox=\box54 \pgf@layerbox@main=\box55 \pgf@picture@serial@count=\count266 ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/basiclayer/pgfcoregr aphicstate.code.tex File: pgfcoregraphicstate.code.tex 2023-01-15 v3.1.10 (3.1.10) \pgflinewidth=\dimen173 ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/basiclayer/pgfcoretr ansformations.code.tex File: pgfcoretransformations.code.tex 2023-01-15 v3.1.10 (3.1.10) \pgf@pt@x=\dimen174 \pgf@pt@y=\dimen175 \pgf@pt@temp=\dimen176 ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/basiclayer/pgfcorequ ick.code.tex File: pgfcorequick.code.tex 2023-01-15 v3.1.10 (3.1.10) ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/basiclayer/pgfcoreob jects.code.tex File: pgfcoreobjects.code.tex 2023-01-15 v3.1.10 (3.1.10) ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/basiclayer/pgfcorepa thprocessing.code.tex File: pgfcorepathprocessing.code.tex 2023-01-15 v3.1.10 (3.1.10) ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/basiclayer/pgfcorear rows.code.tex File: pgfcorearrows.code.tex 2023-01-15 v3.1.10 (3.1.10) \pgfarrowsep=\dimen177 ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/basiclayer/pgfcoresh ade.code.tex File: pgfcoreshade.code.tex 2023-01-15 v3.1.10 (3.1.10) \pgf@max=\dimen178 \pgf@sys@shading@range@num=\count267 \pgf@shadingcount=\count268 ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/basiclayer/pgfcoreim age.code.tex File: pgfcoreimage.code.tex 2023-01-15 v3.1.10 (3.1.10) ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/basiclayer/pgfcoreex ternal.code.tex File: pgfcoreexternal.code.tex 2023-01-15 v3.1.10 (3.1.10) \pgfexternal@startupbox=\box56 ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/basiclayer/pgfcorela yers.code.tex File: pgfcorelayers.code.tex 2023-01-15 v3.1.10 (3.1.10) ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/basiclayer/pgfcoretr ansparency.code.tex File: pgfcoretransparency.code.tex 2023-01-15 v3.1.10 (3.1.10) ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/basiclayer/pgfcorepa tterns.code.tex File: pgfcorepatterns.code.tex 2023-01-15 v3.1.10 (3.1.10) ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/basiclayer/pgfcorerd f.code.tex File: pgfcorerdf.code.tex 2023-01-15 v3.1.10 (3.1.10) ))) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/modules/pgfmodulesha pes.code.tex File: pgfmoduleshapes.code.tex 2023-01-15 v3.1.10 (3.1.10) \pgfnodeparttextbox=\box57 ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/modules/pgfmoduleplo t.code.tex File: pgfmoduleplot.code.tex 2023-01-15 v3.1.10 (3.1.10) ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/latex/pgf/compatibility/pgfcomp- version-0-65.sty Package: pgfcomp-version-0-65 2023-01-15 v3.1.10 (3.1.10) \pgf@nodesepstart=\dimen179 \pgf@nodesepend=\dimen180 ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/latex/pgf/compatibility/pgfcomp- version-1-18.sty Package: pgfcomp-version-1-18 2023-01-15 v3.1.10 (3.1.10) )) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/latex/pgf/utilities/pgffor.sty (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/latex/pgf/utilities/pgfkeys.sty (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/utilities/pgfkeys.co de.tex)) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/latex/pgf/math/pgfmath.sty (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/math/pgfmath.code.te x)) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/utilities/pgffor.cod e.tex Package: pgffor 2023-01-15 v3.1.10 (3.1.10) \pgffor@iter=\dimen181 \pgffor@skip=\dimen182 \pgffor@stack=\toks30 \pgffor@toks=\toks31 )) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/frontendlayer/tikz/t ikz.code.tex Package: tikz 2023-01-15 v3.1.10 (3.1.10) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/libraries/pgflibrary plothandlers.code.tex File: pgflibraryplothandlers.code.tex 2023-01-15 v3.1.10 (3.1.10) \pgf@plot@mark@count=\count269 \pgfplotmarksize=\dimen183 ) \tikz@lastx=\dimen184 \tikz@lasty=\dimen185 \tikz@lastxsaved=\dimen186 \tikz@lastysaved=\dimen187 \tikz@lastmovetox=\dimen188 \tikz@lastmovetoy=\dimen189 \tikzleveldistance=\dimen190 \tikzsiblingdistance=\dimen191 \tikz@figbox=\box58 \tikz@figbox@bg=\box59 \tikz@tempbox=\box60 \tikz@tempbox@bg=\box61 \tikztreelevel=\count270 \tikznumberofchildren=\count271 \tikznumberofcurrentchild=\count272 \tikz@fig@count=\count273 (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/modules/pgfmodulemat rix.code.tex File: pgfmodulematrix.code.tex 2023-01-15 v3.1.10 (3.1.10) \pgfmatrixcurrentrow=\count274 \pgfmatrixcurrentcolumn=\count275 \pgf@matrix@numberofcolumns=\count276 ) \tikz@expandcount=\count277 (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/frontendlayer/tikz/l ibraries/tikzlibrarytopaths.code.tex File: tikzlibrarytopaths.code.tex 2023-01-15 v3.1.10 (3.1.10) ))) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgfplots/pgfplots.code.t ex (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgfplots/pgfplotscore.co de.tex Package pgfplots info on input line 124: Initializing with LUA version Lua 5.3 \pgfplots@luabackend@table=\catcodetable14 \t@pgfplots@toka=\toks32 \t@pgfplots@tokb=\toks33 \t@pgfplots@tokc=\toks34 \pgfplots@tmpa=\dimen192 \c@pgfplots@coordindex=\count278 \c@pgfplots@scanlineindex=\count279 (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgfplots/sys/pgfplotssys generic.code.tex)) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgfplots/libs/pgfplotsli brary.code.tex) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgfplots/oldpgfcompatib/ pgfplotsoldpgfsupp_loader.code.tex (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/libraries/pgflibrary fpu.code.tex) Package pgfplots: loading complementary utilities for your pgf version... \t@pgf@toka=\toks35 \t@pgf@tokb=\toks36 \t@pgf@tokc=\toks37 (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgfplots/oldpgfcompatib/ pgfplotsoldpgfsupp_pgfutil-common-lists.tex) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/libraries/luamath/pg flibraryluamath.code.tex) Package pgfplots info on input line 290: luamath library shipped with pgf 3.1.1 0 is up-to-date ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgfplots/util/pgfplotsut il.code.tex Package pgfplots info on input line 82: Found new luatex: initializing lua comm ands instead of write18 (shell-escape) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgfplots/liststructure/p gfplotsliststructure.code.tex) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgfplots/liststructure/p gfplotsliststructureext.code.tex) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgfplots/liststructure/p gfplotsarray.code.tex \c@pgfplotsarray@tmp=\count280 ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgfplots/liststructure/p gfplotsmatrix.code.tex) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgfplots/numtable/pgfplo tstableshared.code.tex \c@pgfplotstable@counta=\count281 \t@pgfplotstable@a=\toks38 ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgfplots/liststructure/p gfplotsdeque.code.tex) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgfplots/util/pgfplotsbi nary.code.tex (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgfplots/util/pgfplotsbi nary.data.code.tex)) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgfplots/util/pgfplotsut il.verb.code.tex) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgfplots/libs/pgflibrary pgfplots.surfshading.code.tex \c@pgfplotslibrarysurf@no=\count282 (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgfplots/sys/pgflibraryp gfplots.surfshading.pgfsys-luatex.def))) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgfplots/util/pgfplotsco lormap.code.tex (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgfplots/util/pgfplotsco lor.code.tex)) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgfplots/pgfplotsstacked plots.code.tex) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgfplots/pgfplotsplothan dlers.code.tex (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgfplots/pgfplotsmeshplo thandler.code.tex (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgfplots/pgfplotsmeshplo timage.code.tex))) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgfplots/pgfplots.scalin g.code.tex) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgfplots/pgfplotscoordpr ocessing.code.tex) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgfplots/pgfplots.errorb ars.code.tex) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgfplots/pgfplots.marker s.code.tex) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgfplots/pgfplotsticks.c ode.tex) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgfplots/pgfplots.paths. code.tex) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/frontendlayer/tikz/l ibraries/tikzlibrarydecorations.code.tex (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/modules/pgfmoduledec orations.code.tex \pgfdecoratedcompleteddistance=\dimen193 \pgfdecoratedremainingdistance=\dimen194 \pgfdecoratedinputsegmentcompleteddistance=\dimen195 \pgfdecoratedinputsegmentremainingdistance=\dimen196 \pgf@decorate@distancetomove=\dimen197 \pgf@decorate@repeatstate=\count283 \pgfdecorationsegmentamplitude=\dimen198 \pgfdecorationsegmentlength=\dimen199 ) \tikz@lib@dec@box=\box62 ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/frontendlayer/tikz/l ibraries/tikzlibrarydecorations.pathmorphing.code.tex (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/libraries/decoration s/pgflibrarydecorations.pathmorphing.code.tex)) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/frontendlayer/tikz/l ibraries/tikzlibrarydecorations.pathreplacing.code.tex (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/libraries/decoration s/pgflibrarydecorations.pathreplacing.code.tex)) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgfplots/libs/tikzlibrar ypgfplots.contourlua.code.tex) \pgfplots@numplots=\count284 \pgfplots@xmin@reg=\dimen256 \pgfplots@xmax@reg=\dimen257 \pgfplots@ymin@reg=\dimen258 \pgfplots@ymax@reg=\dimen259 \pgfplots@zmin@reg=\dimen260 \pgfplots@zmax@reg=\dimen261 ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/frontendlayer/tikz/l ibraries/tikzlibraryplotmarks.code.tex File: tikzlibraryplotmarks.code.tex 2023-01-15 v3.1.10 (3.1.10) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/libraries/pgflibrary plotmarks.code.tex File: pgflibraryplotmarks.code.tex 2023-01-15 v3.1.10 (3.1.10) ))) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgfplots/libs/tikzlibrar ypgfplots.groupplots.code.tex \pgfplots@group@current@plot=\count285 \pgfplots@group@current@row=\count286 \pgfplots@group@current@column=\count287 (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/generic/pgf/frontendlayer/tikz/l ibraries/tikzlibrarycalc.code.tex File: tikzlibrarycalc.code.tex 2023-01-15 v3.1.10 (3.1.10) )) \c@gnuplot@id=\count288 ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/latex/l3backend/l3backend-luatex .def File: l3backend-luatex.def 2023-04-19 L3 backend support: PDF output (LuaTeX) \l__color_backend_stack_int=\count289 Inserting `l3color' in `luaotfload.parse_color'. \l__pdf_internal_box=\box63 ) (./test.aux) \openout1 = test.aux LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 3. LaTeX Font Info: ... okay on input line 3. LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 3. LaTeX Font Info: ... okay on input line 3. LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 3. LaTeX Font Info: ... okay on input line 3. LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 3. LaTeX Font Info: ... okay on input line 3. LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 3. LaTeX Font Info: Trying to load font information for TS1+cmr on input line 3 . (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/latex/base/ts1cmr.fd File: ts1cmr.fd 2023/04/13 v2.5m Standard LaTeX font definitions ) LaTeX Font Info: ... okay on input line 3. LaTeX Font Info: Checking defaults for TU/lmr/m/n on input line 3. LaTeX Font Info: ... okay on input line 3. LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 3. LaTeX Font Info: ... okay on input line 3. LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 3. LaTeX Font Info: ... okay on input line 3. (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/context/base/mkii/supp-pdf.mkii [Loading MPS to PDF converter (version 2006.09.02).] \scratchcounter=\count290 \scratchdimen=\dimen262 \scratchbox=\box64 \nofMPsegments=\count291 \nofMParguments=\count292 \everyMPshowfont=\toks39 \MPscratchCnt=\count293 \MPscratchDim=\dimen263 \MPnumerator=\count294 \makeMPintoPDFobject=\count295 \everyMPtoPDFconversion=\toks40 ) (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/latex/epstopdf-pkg/epstopdf-base .sty Package: epstopdf-base 2020-01-24 v2.11 Base part for package epstopdf Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 85. (C:/Users/PC/AppData/Local/Programs/MiKTeX/tex/latex/00miktex/epstopdf-sys.cfg File: epstopdf-sys.cfg 2021/03/18 v2.0 Configuration of epstopdf for MiKTeX )) Package pgfplots notification 'compat/show suggested version=true': document ha s been generated with the most recent feature set (\pgfplotsset{compat=1.18}). Package pgfplots info on input line 4: Using 'lua backend=false' for axis: xmod e=log unsupported (yet). \openout3 = test1.gnuplot PGFPlots: reading {test1.table} LaTeX Font Info: External font `cmex10' loaded for size (Font) <8> on input line 4. LaTeX Font Info: External font `cmex10' loaded for size (Font) <6> on input line 4. LaTeX Font Info: External font `cmex10' loaded for size (Font) <5> on input line 4. Package pgfplots info on input line 4: Using 'lua backend=false' for axis: xmod e=log unsupported (yet). \openout3 = test2.gnuplot PGFPlots: reading {test2.table} Package pgfplots Warning: the current plot has no coordinates (or all have been filtered away) on input line 4. [warning /pgfplots/warning/plot without coordinates] Package pgfplots Warning: You have an axis with empty range (in direction y). R eplacing it with a default range and clearing all plots. on input line 4. [warning /pgfplots/warning/empty range cleared axis] [1 {C:/Users/PC/AppData/Local/MiKTeX/fonts/map/pdftex/pdftex.map}] (./test.aux) *********** LaTeX2e <2023-06-01> patch level 1 L3 programming layer <2023-08-29> *********** ) Here is how much of LuaTeX's memory you used: 23799 strings out of 477259 100000,1977958 words of node,token memory allocated 413 words of node memory still in use: 3 hlist, 1 vlist, 1 rule, 2 glue, 3 kern, 1 glyph, 5 attribute, 48 glue_spec, 5 attribute_list, 2 write nodes avail lists: 2:2500,3:1759,4:46,5:23,6:2,7:1074,8:5,9:308,11:2 44440 multiletter control sequences out of 65536+600000 26 fonts using 1477063 bytes 114i,9n,111p,743b,2215s stack positions out of 10000i,1000n,20000p,200000b,200000s <//?/c:/users/pc/appdata/local/programs/miktex/fonts/opentype/public/lm/lmroman1 0-regular.otf><//?/c:/users/pc/appdata/local/programs/miktex/fonts/opentype/publ ic/lm/lmroman8-regular.otf><C:/Users/PC/AppData/Local/Programs/MiKTeX/fonts/type 1/public/amsfonts/cm/cmmi6.pfb><C:/Users/PC/AppData/Local/Programs/MiKTeX/fonts/ type1/public/amsfonts/cm/cmmi8.pfb><C:/Users/PC/AppData/Local/Programs/MiKTeX/fo nts/type1/public/amsfonts/cm/cmr6.pfb><C:/Users/PC/AppData/Local/Programs/MiKTeX
- Interval on a number lineby Tom on July 27, 2023 at 1:46 pm
I would like to make an interval on a number line that looks like these. This is my attempt: \documentclass{article} \usepackage{tikz} \usetikzlibrary{decorations,decorations.markings,decorations.text,arrows.meta,backgrounds} \usepackage{pgfplots} \pgfplotsset{compat=newest} \begin{document} \begin{tikzpicture}[decoration={ markings,% switch on markings mark=% actually add a mark between positions 0 and 1 step 1mm with { \draw[black!50] (-2pt,-3pt) -- (2pt,3pt); } }] \begin{scope}[on background layer] \draw[-{Stealth[scale=1]}] (-.5,0) -- (9.5,0) ; \foreach \x in {0,1,...,9} \draw[shift={(\x,0)},color=black] (0pt,3pt) -- (0pt,-3pt); \foreach \x in {0,1,...,9} \draw[shift={(\x,0)},color=black] (0pt,0pt) -- (0pt,-3pt) node[below] {$\x$}; \draw[{Straight Barb[scale=2]}-{Bracket[scale=2]}] (2,0)--(7,0); \end{scope} \draw [postaction={decorate}] (2,0)--(7,0); \end{tikzpicture} \end{document} How can I make the slashes to go all the way to the interval boundaries but not over?
- Drawing six hemispheresby Math learner on May 12, 2023 at 8:15 am
I am trying to draw the following six hemispheres next to each other with their centers aligned on a horizontal line. I am using Alenanno's answer to the question. I have done this just for the hemisphere with z > 0 using the following code taken from the question. \documentclass[12pt]{report} \usepackage{tikz} \usepackage{tikz-3dplot} \begin{document} \tdplotsetmaincoords{60}{110} \pgfmathsetmacro{\radius}{1} \pgfmathsetmacro{\thetavec}{0} \pgfmathsetmacro{\phivec}{0} \begin{tikzpicture}[scale=1,tdplot_main_coords] \tdplotsetthetaplanecoords{\phivec} \draw[dashed] (\radius,0,0) arc (0:360:\radius); \shade[ball color=blue!10!white,opacity=0.2] (1cm,0) arc (0:-180:1cm and 5mm) arc(180:0:1cm and 1cm); \shade[ball color=blue!10!white,opacity=0.2] (1cm,0) arc (180::1cm and 5mm) arc(360:0:1cm and 1cm); \end{tikzpicture} \end{document}
- Beamer theme Metropolis changes TikZ drawby rake on August 11, 2022 at 11:04 pm
I am having trouble adding a TikZ graphic to my Beamer presentation which uses the theme Metropolis. Here is an example of the issue: \documentclass{beamer} \usepackage[utf8]{inputenc} \usepackage{pgfplots} %\usetheme{metropolis} \pgfplotsset{compat=1.18} \begin{document} \begin{frame} \begin{center} \begin{tikzpicture} \begin{axis}[ view = {135}{20}, xlabel=$x$, ylabel=$y$, zlabel=$z$, xmin=-1, xmax=1, ymin=-1, ymax=1, zmin=0, zmax=1, ] \draw (0, 1, 0) -- (1, 1, 1); \end{axis} \end{tikzpicture} \end{center} \end{frame} \end{document} This code does what I want, but uncommenting the line \usetheme{metropolis} changes the graphic and makes the line shorter. (I don't think it's invisible, just a very small length.) How can I get the desired image while still using the Metropolis theme?
- Plot differential equation trajectories of a 3-systemby Zaragosa on April 3, 2022 at 10:19 pm
I was reading about drawing differential equation trajectories with latex, but I wonder... is there a way to graph this? Consider the system x'=-y+xz^2 y'=x+yz^2 z'=-z(x^2+y^2) The following image I have taken from Perko's book Differential Equations and Dynamical Systems
- How to plot this parametric curveby user248344 on January 18, 2022 at 7:08 am
I am trying to plot this parametric function: (cos(t)+(t)*sin(t), sin(t)+(t)*cos(t)) (0≤t≤π) which gives the curve below: This is my attempt, but for some reason it doesn't work. \documentclass{article} \usepackage{tikz} \begin{document} \begin{tikzpicture} \draw[thick] plot[variable=\t,domain=0:180,smooth,thick] ({cos(\t)-(\t)*sin(\t)},{sin(\t)-(\t)*cos(\t)}); \end{tikzpicture} \end{document} How should I fix these codes?
- incrementally reveal columns of a matrixby healyp on March 3, 2021 at 6:58 pm
I would like to incrementally or animatedly reveal the elements of a matrix. Ideally I would like to just fade in the elements (à la beamer's overlay) from gray to black on each advance but I would settle for a change of background to the cell (from a light gray to white). What I have is unsatisfactory: \begin{tikzpicture} % \tikzstyle{unseen} = [color=blue!70] \tikzstyle{seen} = [] \matrix (m) [matrix of math nodes, nodes in empty cells, minimum size=7mm, ampersand replacement=\&, every node/.style={font={\large\ttfamily\bfseries},fill=gray!10}] { 1 \& 0 \& 0 \& 0 \& 0 \& 0 \& 0 \\ 0 \& 1 \& 1 \& 1 \& 0 \& 0 \& 0 \\ 0 \& 1 \& 1 \& 0 \& 1 \& 1 \& 0 \\ 0 \& 0 \& 0 \& 1 \& 1 \& 1 \& 0 \\ 0 \& 0 \& 0 \& 0 \& 0 \& 0 \& 1 \\ }; \foreach \f/\r/\c in {1/2/1,2/3/1} { \draw<\f->[seen] (m-\r-\c.north west) rectangle (m-\r-\c.south east); } \end{tikzpicture} Since these are (for now) sparse binary matrices could I make the foreach list insert the 1 entries?
- Beamer Metropolis Theme clashes with tikz, removes content from tikzpictureby axelniemeyer on January 21, 2021 at 3:13 pm
Please find below a MWE. (Un-)commenting \usetheme{metropolis} removes content from the tikzpicture, and I am truly puzzled as to why that is. I am using XeLaTeX to compile. Thanks! \documentclass[xcolor=dvipsnames,aspectratio=149,10pt]{beamer} \usepackage{pgf,tikz,pgfplots,tikz-cd} \pgfplotsset{compat=1.15} \usepackage{mathrsfs} \usetikzlibrary{arrows,intersections, pgfplots.fillbetween} \usetheme{metropolis} \begin{document} \begin{frame} \begin{tikzpicture}[line cap=round,line join=round,>=triangle 45,x=5.0cm,y=5.0cm,scale=0.45] \begin{axis}[ x=5.0cm,y=5.0cm, xmin=-1.0, xmax=1.0, ymin=-1.0, ymax=1.0, xtick={-0.5,0.0,0.5}, ytick={-0.5,0.0,0.5}, xticklabels={,,}, yticklabels={,,}, line width= 2pt ] \clip(-1.,-1.) rectangle (1.,1.); \draw [line width=1.25pt] (-1,1.)-- (1,-1.); \draw [->,>=stealth,line width=1.pt,dash pattern=on 2pt off 2pt] (-0.4,0.4-0.25)-- (-0.4,0.4+0.25); \draw [->,>=stealth,line width=1.pt,dash pattern=on 2pt off 2pt] (-0.4-0.25,0.4)-- (-0.4+0.25,0.4); \draw [->,>=stealth,line width=1.pt,dash pattern=on 2pt off 2pt] (0.4,-0.4+0.25) -- (0.4,-0.4-0.25); \draw [->,>=stealth,line width=1.pt,dash pattern=on 2pt off 2pt] (0.4+0.25,-0.4) -- (0.4-0.25,-0.4); \end{axis} \end{tikzpicture} \end{frame} \end{document}
- Control of \chemfig positioning within tabularby John Chris on May 14, 2020 at 11:29 pm
Implementation below seeks to center \chemfig objects horizontally within a center-aligned column of a tabular environment. Getting unexpected results. Please see commenting around the \begin{tabular}. Suggests that chemfig objects are carrying around extra space? \documentclass[border=6pt,active]{standalone}% \usepackage{booktabs}% \usepackage{miscchemsym}% \usepackage{chemfig}% \usepackage{filecontents}% \usepackage{tikz}% \usepackage{catchfile}% % chemfigdo \newcommand{\chemfigdo}[2]{\chemfig[#2]{#1}}% % chemfiginput \newcommand{\chemfiginput}[2][]{% \CatchFileDef{\chemfiginputtemp}{#2}{\csname CF_sanitizecatcode\endcsname}% \expandafter\chemfigdo\expandafter{\chemfiginputtemp}{#1}% }% % create new command for tikzpicture call \newcommand\callchemfigsymbol[1]{% \begin{tikzpicture}[scale=1,% xscale=-1,% yscale=-1,% inner sep=0pt,% outer sep=0pt,% baseline=(current bounding box.center)]% \chemfiginput[% atom style={scale=\chemfigscale},% atom sep=\chemfigatomsep,% chemfig style={color=\chemfigcolor,line width=\chemfiglinewidth}% ]{#1}% \end{tikzpicture}% }% % define the atom sep \newlength{\chemfigatomsep}% \setlength{\chemfigatomsep}{2.75em}% % define the line width \newlength{\chemfiglinewidth}% \setlength{\chemfiglinewidth}{0.75pt}% % define the scale \def\chemfigscale{0.8} % define the color \def\chemfigcolor{red!40!black} % define separation length \setlength{\defaultaddspace}{13mm} \begin{document} \begin{filecontents}{methane_pseudo_3D_stereo.tex} H% 2 -[:270]C% 1 ( -[:200]H% 4 ) ( <[:310]H% 5 ) <:[:350]H% 3 \end{filecontents} \begin{filecontents}{sulfurhexafluoride_pseudo_3D_stereo.tex} F% 1 -[:90]S% 2 ( <[:337.5]F% 3 ) ( <[:202.5]F% 4 ) ( <:[:22.5]F% 5 ) ( -[:90]F% 7 ) <:[:157.5]F% 6 \end{filecontents}% \begin{filecontents}{trifluoromethylsulfurpentafluoride_pseudo_3D_stereo.tex} F% 2 -[:300]C% 1 ( -[:240]F% 3 ) ( -[:180]F% 4 ) -S% 5 ( <[:240]F% 6 ) ( <[:120]F% 7 ) ( <:[:300]F% 8 ) ( -F% 10 ) <:[:60]F% 9 \end{filecontents}% \begin{tabular}[]{cc} %\begin{tabular}[]{cp{4cm}} \toprule \textbf{Compound name} & \textbf{Structure} \\% \midrule% \\% Methane & \callchemfigsymbol{methane_pseudo_3D_stereo.tex} \\% [\defaultaddspace]% % Sulfurhexafluoride & \callchemfigsymbol{sulfurhexafluoride_pseudo_3D_stereo.tex} \\% [\defaultaddspace]% % Trifluoromethyl-sulfurpentafluoride & \callchemfigsymbol{trifluoromethylsulfurpentafluoride_pseudo_3D_stereo.tex} \\% \\% \bottomrule \end{tabular} \end{document} It gives the following result:
- Tabular with rounded corners made with tikzpicture with overlay is not properly positioned inside table environmentby Eelco van Vliet on July 31, 2019 at 10:14 pm
My quest is to make a table which looks like this: To good thing so far: I have succeeded in making this table. The bad thing: I cannot include this in a normal \begin{table}\end{table} environment as the boundingbox of the tabular is not seen. All text is running over the table Hopefully somebody can solve this. Either by giving my an alternative way to create this table, or by fixing the error in my code The code below is using stuff from other answers I have found here: rounded corners shows how to make rounded corners around a table. The problem is: I want my first row with the column heading ABOVE line with rounded corners. My idea to solve was easy: just adjust the clipping of the tabular such that I make a rounded corner of the first column, immediately go up, and then go to the other side: ------------------------------ R-| heading cols | |first grey col value cols | | | R--------------------------------- At the locations of the R's I want to add the rounded corners. The code I came up with is quite long, I will add it here. It is stand alone. This clipping idea comes from the first link. Also, I am adding a tikzmark A because I want the clipping path to automatically connect to the bottom of the first row. That idea was inspired by this exampleadd tikznode at corner. In order to get the y coordinates of this point A, I used this idea extract y coordinate Here is the code, which should run stand alone \documentclass{article} \usepackage[dvipsnames,table]{xcolor} \usepackage{array} \usepackage{environ} \usepackage{blindtext} \usepackage{tikz} \usepackage{etex} \usetikzlibrary{calc, tikzmark} \definecolor{lichtgrijs}{RGB}{236,236,236} \newcolumntype{L}{>{\columncolor{lichtgrijs}}l} \newsavebox{\tablebox} \NewEnviron{rndtable}[1]{% \addtolength{\extrarowheight}{1ex}% \savebox{\tablebox}{% \begin{tabular}{#1}% \BODY% \end{tabular}}% \begin{tikzpicture} [overlay, remember picture] \ExtractCoordinate{$(pic cs:A)$} \begin{scope} \useasboundingbox; \clip[rounded corners=1ex] (0,-\dp\tablebox) -- (\wd\tablebox,-\dp\tablebox) -- (\wd\tablebox,\ht\tablebox) { [rounded corners=0ex]-- (1ex,\ht\tablebox) -- (1ex,\YCoord-\RowDepth)}-- %(1ex,\ht\tablebox-3ex)}-- (0,\YCoord-\RowDepth) -- cycle; \node at (0,-\dp\tablebox) [anchor=south west,inner sep=0pt]{\usebox{\tablebox}}; \end{scope} \end{tikzpicture} } \begin{document} \setlength\arrayrulewidth{1.2pt} \edef\RowDepth{\the\dimexpr\arraystretch\dimexpr.3\baselineskip\relax\relax} \newdimen\XCoord \newdimen\YCoord \newcommand*{\ExtractCoordinate}[1]{\path (#1); \pgfgetlastxy{\XCoord}{\YCoord};}% %\blindtext[10] %\begin{table}[tbp] % \caption{bla} \begin{rndtable}{Llr} \rowcolor{white} \tikzmark{A} \textbf{Label} & \textbf{Naam} & \textbf{Leeftijd}\\ \arrayrulecolor{lichtgrijs} \hline GK & Paul Robinson & 45\\ LB & Lucus Radebe & 23\\ DC & Michael Duberry & 84\\ DC & Dominic Matteo & 22\\ RB & Didier Domi & 34\\ MC & David Batty & 5\\ MC & Eirik Bakke & 58\\ MC & Jody Morris & 75\\ FW & Jamie McMaster & 13\\ ST & Alan Smith & 70\\ ST & Mark Viduka & 30\\ \arrayrulecolor{lichtgrijs}\hline \end{rndtable} %\end{table} %\blindtext[10] \end{document} This code works and generates the tabular I have just show. HOWEVER, apparently when I include the \begin{table} the size of the table is not recognized at all. If I would put text around the table (by uncommenting blindtext and begin{table}) it is running over the table. My suspicion is that it has to to with either the overlay option or that I use the savebox. Unfortunately I am not able to solve this. It looks like this: Who knows how I can fix this script such that I can use it properly within a table environment ? Any hints appreciated! Regards Eelco EDIT: The suggestion by Marmot about removing the overlay and useasboundingbox works. Now at least a tabular is nicely put into the table environment. however: a new problem arises; when I want to include two or more tables, somehow every time I run the code the tables get another position. For instance, you can do \blindtext[1] \begin{table}[tbp] \caption{First table} \begin{rndtable}{Llr} \rowcolor{white} \tikzmark{A} \textbf{Label} & \textbf{Naam} & \textbf{Leeftijd}\\ \arrayrulecolor{lichtgrijs} \hline GK & Paul Robinson & 45\\ MC & Jody Morris & 75\\ FW & Jamie McMaster & 13\\ ST & Alan Smith & 70\\ ST & Mark Viduka & 30\\ \arrayrulecolor{lichtgrijs}\hline \end{rndtable} \end{table} \blindtext[1] \begin{table}[tbp] \caption{Another table} \begin{rndtable}{Llr} \rowcolor{white} \tikzmark{A} \textbf{Label} & \textbf{Naam} & \textbf{Leeftijd}\\ \arrayrulecolor{lichtgrijs} \hline GK & Paul Robinson & 45\\ LB & Lucus Radebe & 23\\ DC & Michael Duberry & 84\\ MC & Jody Morris & 75\\ FW & Jamie McMaster & 13\\ ST & Alan Smith & 70\\ ST & Mark Viduka & 30\\ \arrayrulecolor{lichtgrijs}\hline \end{rndtable} \end{table} \blindtext[1] \begin{table}[tbp] \caption{Last table} \begin{rndtable}{Llr} \rowcolor{white} \tikzmark{A} \textbf{Label} & \textbf{Naam} & \textbf{Leeftijd}\\ \arrayrulecolor{lichtgrijs} \hline GK & Paul Robinson & 45\\ LB & Lucus Radebe & 23\\ DC & Michael Duberry & 84\\ MC & Jody Morris & 75\\ FW & Jamie McMaster & 13\\ ST & Alan Smith & 70\\ ST & Mark Viduka & 30\\ \arrayrulecolor{lichtgrijs}\hline \end{rndtable} \end{table} This will indeed make three tables, each in its own environment, but they get another location every time I run the code. Also the aux file changes with every run. Probably this has to do with those global vars XCoord and YCoord I use, combined with the savebox trick. But I need those to be able to find the location of the upper row and clip it properly. So this solution I came up with is still not usable. Anybody knows how to solve this? EDIT2: The suggestion by Marmot to leave out the ExtractCoordinate line does not work as I need it to get the location of the bottom of the first row. I found this example here add tikznode at corner and here extract y coordinate If I leave out ExtractCoordinate (as suggested by Marmot), the table looks like this: As you can see, the upper rounded corners now always is exactly half way the table. It should be at the bottom of the first row (with the title columns). Indeed, if I leave out this line with ExtractCoordinate, it fixes the problem of the jumping tables. But then I would need an alternative way to extract the ycoordinate from my tikzmark A. Any idea? EDIT3: At this point I almost got the example above working: the only thing it requires is to find an alternative way to extract the y coordinate of the tikzmark, since the trick with ExtractCoordinate is messing up the tables. But just to be complete, I have also an alternative approach for making tables like this which is based on this idea tabular with rounded corners My code looks like this: \documentclass{article} \usepackage[dvipsnames,table]{xcolor} \usepackage{array} \usepackage{blindtext} \usepackage{tikz} \usepackage{etex} \usepackage[most]{tcolorbox} \usepackage{tabularx} \usetikzlibrary{calc, tikzmark} \definecolor{lichtgrijs}{RGB}{236,236,236} \newcolumntype{L}{>{\columncolor{lichtgrijs}}l} \newcolumntype{Y}{>{\raggedleft\arraybackslash}X} \newtcolorbox{twocoltable}[4][]{% tabularx*={\renewcommand{\arraystretch}{1.2}}% {>{\columncolor{lichtgrijs}\hsize=#3\linewidth}X>{\hsize=#4\linewidth}Y}, enlarge top initially by=1.5em, enlarge bottom finally by=0em, enhanced, fontupper=\footnotesize, breakable, colframe=lichtgrijs, colback=white, arc=1mm, outer arc=1mm, clip upper, rightrule=0pt, sharp corners=east, width=1\linewidth, overlay=% { \node[anchor=south east] (ycoltit) at % ([xshift=-0cm, yshift=0.0\baselineskip]frame.north east)% {{\footnotesize\textbf{#2}}}; }, #1 } \begin{document} \blindtext \begin{table}[tbp] \caption{Last table} \begin{twocoltable}% {\textbf{Leeftijd}}{0.8}{0.2} Paul Robinson & 45\\ Lucus Radebe & 23\\ Michael Duberry & 84\\ Jody Morris & 75\\ Jamie McMaster & 13\\ Alan Smith & 70\\ Mark Viduka & 30\\ \end{twocoltable} \end{table} \blindtext \end{document} and the result looks like this The only problem is that I need to add the column titles explicitly using the overlay inside newtcolorbox, which I don't like since I fix the number of columns in the definition (in this case two columns only). But this was the only way to get the column title above the line with the rounded corners. I case somebody knows a better way of doing this, it would be great as well EDIT4: Ignasis answer is the best so far. Still I was trying to vary some formats of the table which I know I am going to need, such as fixing the width of the column. The example I tried look like this \begin{table} \centering \begin{tikzpicture} \matrix[mymatrix, column 3/.style={nodes={anchor=center}}, column 4/.style={nodes={anchor=east}, text width=2cm}] (A) { Label & Naam & Leeftijd & Length in centimeters\\ MC & Jody Morris & 75 & 174\\ FW & Jamie McMaster & 13 & 184\\ ST & Alan Smith & 70 & 150\\ ST & Mark Viduka & 30 & 190\\ }; \tableback{A}{5}{4} \end{tikzpicture} \caption{Shorter on} \end{table} The result looks like this As you can see, the column at the east is not aligned to the right anymore, and also to first row with the title should align with the bottom of the row. Any idea how to fix this? EDIT 5: In parallel with the solution of Ignasis with the matrix environment I have tried to fix my first attempt using the savebox. As Marmot pointed out I need to get rid of the ExtractCoord. This is what I did. My solution now looks like this \documentclass{article} \usepackage[dvipsnames,table]{xcolor} \usepackage{array} \usepackage{environ} \usepackage{blindtext} \usepackage{tikz} \usepackage{etex} % required for savebox %\usetikzlibrary{calc, tikzmark} \usetikzlibrary{tikzmark} \definecolor{lichtgrijs}{RGB}{236,236,236} \newcolumntype{L}{>{\columncolor{lichtgrijs}}l} %\renewcommand{\tikzmark}[2][]{% % \tikz[remember picture,overlay]\coordinate[#1](#2);% %} % \NewEnviron{rndtable}[2][\tablebox]{% \addtolength{\extrarowheight}{1ex}% \def\locbox{#1} \savebox{\locbox}{% \begin{tabular}{#2}% \BODY% \end{tabular}}% \begin{tikzpicture} [remember picture] \def\radius{1mm}; \edef\RowDepth{\the\dimexpr\arraystretch\dimexpr.3\baselineskip\relax\relax} \coordinate (southwest) at (0,-\dp\locbox); \coordinate (southeast) at (\wd\locbox,-\dp\locbox); \coordinate (northeast) at (\wd\locbox,\ht\locbox); \coordinate (northwest) at (0,\ht\locbox); \coordinate (Pt) at ([xshift=\radius]northwest); \coordinate (A) at (pic cs:A); \coordinate (cellborder) at ([yshift=-\RowDepth]A); \coordinate (Pb) at (cellborder -| Pt); \coordinate (west) at (Pb -| northwest); \begin{scope} \clip[rounded corners=\radius] (southwest) -- (southeast) -- (northeast) { % make straight corners for the cutout [rounded corners=0ex]-- (Pt) -- (Pb) }-- (west) -- cycle; \node at (0,-\dp\locbox) [anchor=south west,inner sep=0pt]{\usebox{\locbox}}; % debugging circels %\draw[red, fill] (Pt) circle[radius=2pt]; %\draw[green, fill] (A) circle[radius=2pt]; %\draw[blue, fill] (cellborder) circle[radius=2pt]; %\draw[yellow, fill] (Pb) circle[radius=2pt]; %\draw[orange, fill] (west) circle[radius=2pt]; \end{scope} \end{tikzpicture} } \begin{document} \setlength\arrayrulewidth{1.2pt} \blindtext[1] \newsavebox{\tablebox} \begin{table}[tbp] \caption{First table} \begin{rndtable}[\tablebox]{Llr} \rowcolor{white} \tikzmark{A} \textbf{Label} & \textbf{Naam} & \textbf{Leeftijd}\\ \arrayrulecolor{lichtgrijs} \hline GK & Paul Robinson & 45\\ MC & Jody Morris & 75\\ FW & Jamie McMaster & 13\\ ST & Alan Smith & 70\\ ST & Mark Viduka & 30\\ \arrayrulecolor{lichtgrijs}\hline \end{rndtable} \end{table} \blindtext[1] \newsavebox{\otherbox} \begin{table}[tbp] \caption{Second table} \begin{rndtable}[\otherbox]{Llr} \rowcolor{white} \tikzmark{A} \textbf{Label} & \textbf{Naam} & \textbf{Leeftijd}\\ \arrayrulecolor{lichtgrijs} \hline GK & Paul Robinson & 45\\ MC & Jody Morris & 75\\ FW & Jamie McMaster & 13\\ ST & Alan Smith & 70\\ ST & Mark Viduka & 30\\ \arrayrulecolor{lichtgrijs}\hline \end{rndtable} \end{table} \blindtext[1] \end{document} For one table this works fine again. For two tables LaTeX keeps getting two alternating solutions for the table positions: one with the two tables at one page, one with the two tables as separate pages. I think it has to do with the savebox, that why I tried to add an extra parameter such that I can define a savebox for every table. Unfortunately this does not work. If I compare the aux files of two subsequent runs of xelatex, a diff on both files will show the following output: 9,13c9,13 < \@writefile{lot}{\contentsline {table}{\numberline {2}{\ignorespaces Second table}}{1}} < \savepicturepage{pgfid3}{1} < \pgfsyspdfmark {pgfid3}{9192734}{33349459} < \savepicturepage{pgfid4}{1} < \pgfsyspdfmark {pgfid4}{8799518}{30733844} --- > \@writefile{lot}{\contentsline {table}{\numberline {2}{\ignorespaces Second table}}{2}} > \savepicturepage{pgfid3}{2} > \pgfsyspdfmark {pgfid3}{9192734}{41880784} > \savepicturepage{pgfid4}{2} > \pgfsyspdfmark {pgfid4}{8799518}{39265169} The third run will have an aux file equal to the first run again. If this can be solved I prefer this solution above all since it makes use of a original tabular environment. If it cannot be solved I will fall back on the matrix solution, which is a great alternative
- Draw 3D Cubes around centreby FortuneCookie on July 13, 2019 at 7:34 am
I'm trying to draw a set of rotated rectangular cuboids around a centre point in Tikz. I've created an example of what I'm trying to achieve in OpenSCAD below with the code to generate the above figure in OpenSCAD: for (i = [0:45:360]) { rotate([0,i,0]) { translate([2,0,-0.5]){ cube([2,0.5,1]); } } } The purpose is to draw the ferrites in an Inductive Power Transfer Magnetic Coupler (pad), an example of the diagram I would like to draw is below I think, the other parts are quite achievable, but the rotated blocks are a challenge. I guess because, as many people have noted, TikZ does not have a 3D engine. I have had a go at making something like what I want here: \documentclass[border=7pt]{standalone} \usepackage{tikz} \usepackage{tikz-3dplot} %%%%%%%%%%% \begin{document} \tdplotsetmaincoords{-60}{-50} \begin{tikzpicture} [ tdplot_main_coords, ] \def\rounding{0.2pt}; \foreach \i in {10,50,...,360} { \begin{scope}[rotate around={\i:(0.4,0,0.0)}] \pgfmathsetmacro{\cubex}{1} \pgfmathsetmacro{\cubey}{0.1} \pgfmathsetmacro{\cubez}{0.1} % http://tex.stackexchange.com/questions/12020/what-is-the-easiest-way-to-draw-3d-cube-with-tikz \draw[rounded corners = \rounding,fill=black!70] (0,0,0) -- ++(-\cubex,0,0) -- ++(0,-\cubey,0) -- ++(\cubex,0,0) -- cycle; \draw[rounded corners = \rounding,fill=black!70] (0,0,0) -- ++(0,0,-\cubez) -- ++(0,-\cubey,0) -- ++(0,0,\cubez) -- cycle; \draw[rounded corners = \rounding,fill=black!70] (0,0,0) -- ++(-\cubex,0,0) -- ++(0,0,-\cubez) -- ++(\cubex,0,0) -- cycle; \end{scope} } \end{tikzpicture} \end{document} which currently looks like this I had to set the \tdplotsetmaincoords{-60}{-50} to a negative number, otherwise you see the 'back' of the cuboid. I don't know, how to make the circle of cuboids lean back into the page, any help would be greatly appreciated. I also don't know, how to rotate the cubes so they look right, at the moment it looks quite odd.
- Matrix with uneven element lengthsby Hany on April 14, 2019 at 9:09 am
From the answer to this question When editing the elements of the matrix to become uneven in length, the display of the matrix becomes disturbed. How can this be solved? \documentclass{beamer} \beamertemplatenavigationsymbolsempty \usepackage{verbatim} \usepackage{tikz} \usepackage{pgfplots} \usetikzlibrary{arrows, arrows.meta, positioning, calc, intersections, decorations.pathreplacing, decorations.pathmorphing, decorations.markings, shapes, shapes.misc, shapes.symbols, shapes.geometric, patterns, backgrounds, trees, shadows, fit,matrix} \begin{document} \begin{frame}[t,fragile] \frametitle{matrix} \begin{tikzpicture} \matrix (x) [matrix of nodes, row sep=10pt, column sep=10pt] {% 15.1 & 23.7 & 19.7 & 15.4 & 18.3 & 23.0\\ 17.4 & 18.6 & 12.9 & 20.3 & 13.7 & 21.4\\ 10.3 & 26.1 & 15.718.918.9 & 14.0 & 17.8 & 33.8\\ 23.2 & 12.9 & 29.8 & 18.3 & 14.2 & 20.8\\ 13.5 & 17.1 & 20.7 & 27.1 & 18.918.9 & 16.6\\}; \draw<2->[ultra thick, blue, latex'-] (x-2-1) node [fill, red!40!white, circle, inner sep=8pt, opacity=.4]{} -- (x-4-5) node [fill, blue!40!white, circle, inner sep=8pt, opacity=.4]{}; % Node names: (<name of matrix>-<row>-<column>) \foreach \i in {1,...,6} \draw ($(x-1-\i.north west)+(-5pt,5pt)$) -- ($(x-5-\i.south west)+(-5pt,-5pt)$);%vertical lines \foreach \i in {1,...,5} \draw ($(x-\i-1.south west)+(-5pt,-5pt)$) -- ($(x-\i-6.south east)+(5pt,-5pt)$);%horizontal lines \draw ($(x-1-1.north west)+(-5pt,5pt)$) -| ($(x-5-6.south east)+(5pt,-5pt)$);%upper and right borders \end{tikzpicture} \end{frame} \end{document}
- Separating matrix elements by linesby Hany on April 13, 2019 at 5:24 am
Using the following code \documentclass{beamer} \beamertemplatenavigationsymbolsempty \usepackage{verbatim} \usepackage{tikz} \usepackage{pgfplots} \usetikzlibrary{arrows, arrows.meta} \usetikzlibrary{matrix} \begin{document} \begin{frame}[t,fragile] \frametitle{} \begin{tikzpicture} \matrix (x) [matrix of nodes,row sep=1em,column sep=1em] {% 15.1 & 23.7 & 19.7 & 15.4 & 18.3 & 23.0\\ 17.4 & 18.6 & 12.9 & 20.3 & 13.7 & 21.4\\ 10.3 & 26.1 & 15.7 & 14.0 & 17.8 & 33.8\\ 23.2 & 12.9 & 29.8 & 18.3 & 14.2 & 20.8\\ 13.5 & 17.1 & 20.7 & 27.1 & 18.9 & 16.6\\}; \draw<2->[ultra thick, blue, latex'-] (x-2-1) -- (x-4-5); % Node names: (<name of matrix>-<row>-<column>) \end{tikzpicture} \end{frame} \end{document} from the answer to this question Can the matrix elements be separated by lines so that it could look like a table with borders between cells
- Border strip tableauby Joakim Uhlin on February 19, 2019 at 7:57 am
I would like to draw border strip tableaux in Latex. Such a tableau is a tiling of a partition shape (or skew-partition shaped) diagram with labeled border strips such that in each row and column, the labels are increasing. For a precise definition, see page 351 in http://www-math.mit.edu/~rstan/pubs/pubfiles/123.pdf In the picture, all the border strips are of the same length. This special case is enough for my purposes but does not hold in general. The picture is copied from Figure 2.4 in http://www.ams.org/journals/tran/2000-352-12/S0002-9947-00-02666-0/S0002-9947-00-02666-0.pdf
- Playing around with a Rubik's Cube in TikZby user166311 on August 6, 2018 at 10:49 am
My questions are: Is there a possibility to get a view of a Rubik's Cube in TikZ such as in pgfplots; like view={NUMBER1}{NUMBER2}? How can be the Rubik's Cube be scrambled with a number a, such that this number makes a random pattern to the cube (→ scrambeling). Here is my MWE (it's just the Cube without any functions): \documentclass[border=5pt,tikz]{standalone} \usetikzlibrary{3d} \begin{document} \begin{tikzpicture}[every node/.style={inner sep=1cm,draw,very thick},very thick] \draw[step=2cm,canvas is yz plane at x=0] (0,0) grid (8,8); \node[fill=red] at (-4.08,-2.09) {}; \node[fill=white] at (-4.08,-.09) {}; \node[fill=blue] at (-4.08,1.91) {}; \node[fill=red] at (-4.08,3.91) {}; \begin{scope}[shift={(-2,0)}] \node[fill=blue] at (-4.08,-2.09) {}; \node[fill=white] at (-4.08,-.09) {}; \node[fill=orange] at (-4.08,1.91) {}; \node[fill=white] at (-4.08,3.91) {}; \end{scope} \begin{scope}[shift={(-4,0)}] \node[fill=yellow] at (-4.08,-2.09) {}; \node[fill=blue] at (-4.08,-.09) {}; \node[fill=white] at (-4.08,1.91) {}; \node[fill=green] at (-4.08,3.91) {}; \begin{scope}[shift={(-2,0)}] \node[fill=white] at (-4.08,-2.09) {}; \node[fill=red] at (-4.08,-.09) {}; \node[fill=blue] at (-4.08,1.91) {}; \node[fill=yellow] at (-4.08,3.91) {}; \end{scope} \end{scope} \draw[xshift=-8cm,yshift=8cm,step=2cm,canvas is xz plane at y=0] (0,0) grid (8,8); \draw[fill=yellow,canvas is yz plane at x=0] (0,0) rectangle (2,2); \draw[yshift=2cm,fill=blue,canvas is yz plane at x=0] (0,0) rectangle (2,2); \draw[yshift=6cm,fill=orange,canvas is yz plane at x=0] (0,0) rectangle (2,2); \begin{scope}[shift={(-.77,-.77)}] \draw[fill=green,canvas is yz plane at x=0] (0,0) rectangle (2,2); \draw[yshift=2cm,fill=orange,canvas is yz plane at x=0] (0,0) rectangle (2,2); \draw[yshift=4cm,fill=orange,canvas is yz plane at x=0] (0,0) rectangle (2,2); \draw[yshift=6cm,fill=blue,canvas is yz plane at x=0] (0,0) rectangle (2,2); \end{scope} \begin{scope}[shift={(2*-.77,2*-.77)}] \draw[fill=red,canvas is yz plane at x=0] (0,0) rectangle (2,2); \draw[yshift=2cm,fill=yellow,canvas is yz plane at x=0] (0,0) rectangle (2,2); \draw[yshift=4cm,fill=red,canvas is yz plane at x=0] (0,0) rectangle (2,2); \draw[yshift=6cm,fill=red,canvas is yz plane at x=0] (0,0) rectangle (2,2); \end{scope} \begin{scope}[shift={(3*-.77,3*-.77)}] \draw[fill=blue,canvas is yz plane at x=0] (0,0) rectangle (2,2); \draw[yshift=2cm,fill=orange,canvas is yz plane at x=0] (0,0) rectangle (2,2); \draw[yshift=4cm,fill=yellow,canvas is yz plane at x=0] (0,0) rectangle (2,2); \draw[yshift=6cm,fill=blue,canvas is yz plane at x=0] (0,0) rectangle (2,2); \end{scope} \draw[yshift=8cm,xshift=-2cm,fill=blue,canvas is xz plane at y=0] (0,0) rectangle (2,2); \draw[yshift=7.23cm,xshift=-2.76cm,fill=orange,canvas is xz plane at y=0] (0,0) rectangle (2,2); \draw[yshift=6.46cm,xshift=-3.55cm,fill=green,canvas is xz plane at y=0] (0,0) rectangle (2,2); \begin{scope}[shift={(-2,0)}] \draw[yshift=8cm,xshift=-2cm,fill=green,canvas is xz plane at y=0] (0,0) rectangle (2,2); \draw[yshift=7.23cm,xshift=-2.76cm,fill=white,canvas is xz plane at y=0] (0,0) rectangle (2,2); \draw[yshift=6.46cm,xshift=-3.55cm,fill=red,canvas is xz plane at y=0] (0,0) rectangle (2,2); \draw[yshift=5.68cm,xshift=-4.33cm,fill=red,canvas is xz plane at y=0] (0,0) rectangle (2,2); \end{scope} \begin{scope}[shift={(-4,0)}] \draw[yshift=8cm,xshift=-2cm,fill=yellow,canvas is xz plane at y=0] (0,0) rectangle (2,2); \draw[yshift=7.23cm,xshift=-2.76cm,fill=yellow,canvas is xz plane at y=0] (0,0) rectangle (2,2); \draw[yshift=6.46cm,xshift=-3.55cm,fill=green,canvas is xz plane at y=0] (0,0) rectangle (2,2); \draw[yshift=5.68cm,xshift=-4.33cm,fill=red,canvas is xz plane at y=0] (0,0) rectangle (2,2); \end{scope} \begin{scope}[shift={(-6,0)}] \draw[yshift=8cm,xshift=-2cm,fill=green,canvas is xz plane at y=0] (0,0) rectangle (2,2); \draw[yshift=7.23cm,xshift=-2.76cm,fill=red,canvas is xz plane at y=0] (0,0) rectangle (2,2); \draw[yshift=6.46cm,xshift=-3.55cm,fill=yellow,canvas is xz plane at y=0] (0,0) rectangle (2,2); \draw[yshift=5.68cm,xshift=-4.33cm,fill=red,canvas is xz plane at y=0] (0,0) rectangle (2,2); \end{scope} \begin{scope}[yshift=-4cm] \fill[black,canvas is zy plane at x=0] (0,0) rectangle (1.5,1.5); \fill[xshift=-2.05cm,yshift=-.58cm] (0,0) rectangle (1.5,1.5); \fill[xshift=-1.5cm,yshift=1.49cm,canvas is zx plane at y=0] (0,0) rectangle (1.5,1.5); \fill[rounded corners=5,blue,canvas is zy plane at x=0] (0,0) rectangle (1.5,1.5); \fill[rounded corners=5,xshift=-2.05cm,yshift=-.58cm,red] (0,0) rectangle (1.5,1.5); \fill[rounded corners=5pt,xshift=-1.5cm,yshift=1.49cm,canvas is zx plane at y=0,white] (0,0) rectangle (1.5,1.5); \node[fill=white,inner sep=0pt,draw=white] (n) at (-1.3,-1.7) {Another style}; \draw[line width=1pt,->] (n) --+ (0,1); \end{scope} \end{tikzpicture} \end{document} Here is the original picture: And the output:
- tikz node dimensionsby Viesturs on July 3, 2017 at 8:56 am
How can I get tikz node dimensions such as height and width? I am interested to use these parameters to precisely calculate placement of objects, e.g. using <a.height> in the following example: \documentclass{article} \thispagestyle{empty} \usepackage{graphicx} \usepackage{tikz} \begin{document} \begin{figure} \begin{tikzpicture} \node(a) { \includegraphics[width=0.8\textwidth]{example-image-a} }; \node(b) at (0, <a.height>*3/4){label}; \end{tikzpicture} \end{figure} \end{document}
- Drawing functions on spheresby Paul-Benjamin on August 31, 2015 at 1:53 pm
In a paper, I have a class of functions S1→S2 depending on a real parameter t>0, and I would like to represent some of them on the sphere as curves to illustrate their behavior as t goes to 0, but I never used TikZ or anything else, so I have no clue how to do so.
- Draw a hemisphere (or just a segment of a sphere)?by rubenvb on March 25, 2015 at 5:28 pm
Drawing a sphere is easy enough using the ball shading, or some more refined form as in How to draw a shaded sphere, but I would like a way to shade only one half (or even just slices). I currently have the following: \documentclass{standalone} \usepackage{tikz} %% helpers for 3D sphere drawing \newcommand\pgfmathsinandcos[3]{% \pgfmathsetmacro#1{sin(#3)}% \pgfmathsetmacro#2{cos(#3)}% } \newcommand\LongitudePlane[3][current plane]{% \pgfmathsinandcos\sinEl\cosEl{#2} % elevation \pgfmathsinandcos\sint\cost{#3} % azimuth \tikzset{#1/.style={cm={\cost,\sint*\sinEl,0,\cosEl,(0,0)}}} } \newcommand\LatitudePlane[3][current plane]{% \pgfmathsinandcos\sinEl\cosEl{#2} % elevation \pgfmathsinandcos\sint\cost{#3} % latitude \pgfmathsetmacro\yshift{\cosEl*\sint} \tikzset{#1/.style={cm={\cost,0,0,\cost*\sinEl,(0,\yshift)}}} % } \newcommand\DrawLongitudeCircle[2][2]{ \LongitudePlane{\angEl}{#2} \tikzset{current plane/.prefix style={scale=#1}} % angle of "visibility" \pgfmathsetmacro\angVis{atan(sin(#2)*cos(\angEl)/sin(\angEl))} % \draw[current plane, very thin] (\angVis:1) arc (\angVis:\angVis+180:1); \draw[current plane,dashed,very thin] (\angVis-180:1) arc (\angVis-180:\angVis:1); } \newcommand\DrawLatitudeCircle[2][3]{ \LatitudePlane{\angEl}{#2} \tikzset{current plane/.prefix style={scale=#1}} \pgfmathsetmacro\sinVis{sin(#2)/cos(#2)*sin(\angEl)/cos(\angEl)} % angle of "visibility" \pgfmathsetmacro\angVis{asin(min(1,max(\sinVis,-1)))} \draw[current plane] (\angVis:1) arc (\angVis:-\angVis-180:1); \draw[current plane,dashed] (180-\angVis:1) arc (180-\angVis:\angVis:1); } \begin{document} \begin{tikzpicture} \def\R{2.5} % sphere radius \def\angEl{35} % elevation angle \def\angAz{-105} % azimuth angle \tikzset{xyplane/.style={cm={cos(\angAz),sin(\angAz)*sin(\angEl),-sin(\angAz), cos(\angAz)*sin(\angEl),(0,0)}}} \LongitudePlane[xzplane]{\angEl}{\angAz} % sphere \filldraw[ball color=blue, opacity=.2] (0,0) circle (\R); %\draw[xyplane] (-2*\R,-2*\R) rectangle (2.2*\R,2.8*\R); \draw[xyplane,->] (-2.25*\R,0) -- (2.75*\R,0) node[below right] {$k_x$}; \draw[xyplane,->] (0, -1.1*\R)-- (0,1.5*\R) node[below left] {$k_y$}; \draw[->] (0,-1.25*\R) -- (0,1.5*\R) node[below right] {$k_z$}; % meridians \foreach \t in {-80,-60,...,80} { \DrawLatitudeCircle[\R]{\t} } \foreach \t in {-5,-35,...,-175} { \DrawLongitudeCircle[\R]{\t} } \end{tikzpicture} \end{document} Which I got from this paper which refers to this TeXample from which I got the above projected drawing code. I unfortunately do not see a way to properly turn this into a sliced sphere or hemisphere at the least. As an additional improvement, perhaps the inside of the sphere can be "dark-shaded", such that the result looks like what I can do "easily" with Mathematica: I understand the above needs some work wrt the line color and all, but what interests me here is the sectioning and the shading of the inside of the sphere. I would guess some handy clip action and two ball shadings with different opacities might get me close, but I have no idea how to get the clipping to work. Thanks!
- Draw closed section of sphere using pgfplotsby Zac on November 15, 2014 at 2:50 pm
I want to draw a section of a sphere to represent its volume. I have currently got the following: \documentclass{article} \usepackage{pgfplots} \pgfplotsset{compat=1.11} \begin{document} \begin{tikzpicture} \begin{axis}[ axis equal, axis lines = center, width = 10cm, height = 10cm, xlabel = {$x$}, ylabel = {$y$}, zlabel = {$z$}, view/h=45, ] \addplot3[surf, opacity = 0.5, samples=21, domain=0:1, y domain=0:0.5*pi, z buffer=sort] ({sqrt(1-x^2) * cos(deg(y))}, {sqrt( 1-x^2 ) * sin(deg(y))}, x); \end{axis} \end{tikzpicture} \end{document} Which gives me: But I want the sides to be closed, something like this: How can I do this?
- 3D solids with Tikz - or an alternative?by Clausen on May 2, 2014 at 10:11 pm
I want to draw 3D shapes in latex. I have tried out different strategies, but nothing has led me to a good solution yet. First what I want to do, then what I have done so far. In prioritized order, these are my constraints: Output (the figure) must be vector graphics I would REALLY like to compile my main document with pdflatex Text should preferably be scalable, i.e., the text stays the same, even if I decide to make the figure bigger in my document. Objects should have a shading that makes them look like they are lighted from somewhere (otherwise I cannot distinguish between a circle and a sphere). I want to use colors defined in my main files preamble - thus dynamic use of main file's preamble content (this is in an individual file). This is probably not possible at the same time, but a trade off is welcome. What works for you when drawing 3D objects? My progress so far I've made friends with Tikz, but when familiarizing myself with its shortcomings (such as 3d solids it seems), I've flirted with PStricks - but this was a messy first date, so unless you guys REALLY advocate her as a part of the solution, I'd rather stay with Tikz (but hey, beggars can't be choosers). I've made a MWE, where everything is included (in my case it is split in many different files (a PhD-thesis becomes quite large, after all). This is the code that generates a sphere using the trick of implementing the "ball", which is not inherent 3D: \documentclass{standalone} \usepackage{pgfplots} \pgfplotsset{compat=1.4} \usepackage{tikz-3dplot} \tdplotsetmaincoords{60}{-30} \tdplotsetrotatedcoords{0}{90}{90}% %\usepackage[rgb]{xcolor} \definecolor{c1}{rgb}{0.2,0.4,0.6} % Blue-ish \definecolor{c2}{rgb}{1.0,0.0,0.6} % Pink-is \definecolor{c3}{rgb}{0.6,0.0,0.0} % Red \begin{document} \begin{tikzpicture} [tdplot_rotated_coords, scale=3, cube/.style={color=c1,thick,draw=gray, fill opacity=0.5,line join=round}, mds/.style={ball color=c2, c2, opacity=.8}, helplines/.style={gray,line cap=round}, length/.style={<->,thick,line cap=round}, axis/.style={->,c3,ultra thick,line cap=round}, textlabel/.style={fill opacity=.7,text opacity=1,fill=white,rounded corners}] \def\d{1} \def\r{\d*.45} \def\af{\d*.5} % Draw backside of the cube \fill[cube] (0,0,\d) -- (0,\d,\d) -- (\d,\d,\d) -- (\d,0,\d) -- cycle; \fill[cube] (0,0,0) -- (0,0,\d) -- (\d,0,\d) -- (\d,0,0) -- cycle; \fill[cube] (\d,0,0) -- (\d,0,\d) -- (\d,\d,\d) -- (\d,\d,0) -- cycle; % Draw helplines \foreach \t in {0,12,...,348} % circle \draw[helplines] ({cos(\t )*\r+\d/2}, \d/2, {sin(\t )*\r+\d/2}) -- ({cos(\t+12)*\r+\d/2}, \d/2, {sin(\t+12)*\r+\d/2}); \draw[helplines] (\d/2,\d/2-\r,\d/2) -- (\d/2,\d/2+\r,\d/2); % vertical line % Cylinder \shade[mds] (\d/2,\d/2,\d/2) circle (\r cm); % <= the little " cm" is needed to "trick" (?) everything into working... % Draw front of cube \fill[cube,fill=none] (0,0,0) -- (0,\d,0) -- (\d,\d,0) -- (\d,0,0) -- cycle; \fill[cube,fill=none] (0,\d,0) -- (0,\d,\d) -- (\d,\d,\d) -- (\d,\d,0) -- cycle; \fill[cube,fill=none] (0,0,0) -- (0,0,\d) -- (0,\d,\d) -- (0,\d,0) -- cycle; % Draw the axis arrows and annotations \draw[axis] (0,0,0) -- (\af,0,0) node[textlabel,anchor=east]{$x$}; \draw[axis] (0,0,0) -- (0,\af,0) node[textlabel,anchor=south]{$y$}; \draw[axis] (0,0,0) -- (0,0,\af) node[textlabel,anchor=west]{$z$}; % Draw radius arrow \draw[mds,length,draw] (\d/2,\d/2,\d/2) -- (\d/2,\d/2,\d/2+\r) node[textlabel,pos=0.5, auto=above]{$r$}; % Draw cube lattice length measures \draw[cube,length,c1] (0,0,\d*5/6) -- (0,\d,\d*5/6) node[textlabel,pos=0.5, auto=above]{$d$}; \draw[cube,length,c1] (\d*5/6,0,0) -- (\d*5/6,\d,0) node[textlabel,pos=0.5, auto=above]{$d$}; \draw[cube,length,c1] (\d*5/6,\d,0) -- (\d*5/6,\d,\d) node[textlabel,pos=0.5, auto=above]{$d$}; % Material parameters label \draw[mds] (\d/2,\d/2+\r/2,\d/2) node[textlabel]{$\varepsilon_c,\mu_c$}; \end{tikzpicture} \end{document} Which produces: I have worked on some code for manually coding a cylinder, but I encounter two main problems: I cannot dynamically change the fill, to create a shading effect. I cannot draw the top/bottom circles (ellipses in the viewpoint perspective) Here's my code: \documentclass{standalone} \usepackage{pgfplots} \pgfplotsset{compat=1.4} \usepackage{tikz-3dplot} \tdplotsetmaincoords{60}{-30} \tdplotsetrotatedcoords{0}{90}{90}% %\usepackage[rgb]{xcolor} \definecolor{c1}{rgb}{0.2,0.4,0.6} % Blue-ish \definecolor{c2}{rgb}{1.0,0.0,0.6} % Pink-is \definecolor{c3}{rgb}{0.6,0.0,0.0} % Red \begin{document} \begin{tikzpicture} [tdplot_rotated_coords, scale=3, cube/.style={color=c1,thick,draw=gray, fill opacity=0.5,line join=round}, mdc/.style={fill=c2, color=c2,draw=none, opacity=.4,line join=round}, helplines/.style={gray,line cap=round}, length/.style={<->,thick,line cap=round}, axis/.style={->,c3,ultra thick,line cap=round}, textlabel/.style={fill opacity=.7,text opacity=1,fill=white,rounded corners}] \def\d{1} \def\r{\d*.45} \def\af{\d*.5} % Draw backside of the cube \fill[cube] (0,0,\d) -- (0,\d,\d) -- (\d,\d,\d) -- (\d,0,\d) -- cycle; \fill[cube] (0,0,0) -- (0,0,\d) -- (\d,0,\d) -- (\d,0,0) -- cycle; \fill[cube] (\d,0,0) -- (\d,0,\d) -- (\d,\d,\d) -- (\d,\d,0) -- cycle; % Draw helplines \foreach \t in {0,12,...,348} % circle \draw[helplines] ({cos(\t )*\r+\d/2}, \d/2, {sin(\t )*\r+\d/2}) -- ({cos(\t+12)*\r+\d/2}, \d/2, {sin(\t+12)*\r+\d/2}); \draw[helplines] (\d/2,\d/2-\r,\d/2) -- (\d/2,\d/2+\r,\d/2); % vertical line % Cylinder \foreach \t in {0,12,...,348} \draw[mdc] ({cos(\t )*\r+\d/2}, 0, {sin(\t )*\r+\d/2}) % side vertice of cylinder -- ({cos(\t+12)*\r+\d/2}, 0, {sin(\t+12)*\r+\d/2}) -- ({cos(\t+12)*\r+\d/2}, \d, {sin(\t+12)*\r+\d/2}) -- ({cos(\t )*\r+\d/2}, \d, {sin(\t )*\r+\d/2}) -- cycle; % Draw front of cube \fill[cube,fill=none] (0,0,0) -- (0,\d,0) -- (\d,\d,0) -- (\d,0,0) -- cycle; \fill[cube,fill=none] (0,\d,0) -- (0,\d,\d) -- (\d,\d,\d) -- (\d,\d,0) -- cycle; \fill[cube,fill=none] (0,0,0) -- (0,0,\d) -- (0,\d,\d) -- (0,\d,0) -- cycle; % Draw the axis arrows and annotations \draw[axis] (0,0,0) -- (\af,0,0) node[textlabel,anchor=east]{$x$}; \draw[axis] (0,0,0) -- (0,\af,0) node[textlabel,anchor=south]{$y$}; \draw[axis] (0,0,0) -- (0,0,\af) node[textlabel,anchor=west]{$z$}; % Draw radius arrow \draw[mdc,length,draw] (\d/2,\d/2,\d/2) -- (\d/2,\d/2,\d/2+\r) node[textlabel,pos=0.5, auto=above]{$r$}; % Draw cube lattice length measures \draw[cube,length,c1] (0,0,\d*5/6) -- (0,\d,\d*5/6) node[textlabel,pos=0.5, auto=above]{$d$}; \draw[cube,length,c1] (\d*5/6,0,0) -- (\d*5/6,\d,0) node[textlabel,pos=0.5, auto=above]{$d$}; \draw[cube,length,c1] (\d*5/6,\d,0) -- (\d*5/6,\d,\d) node[textlabel,pos=0.5, auto=above]{$d$}; % Material parameters label \draw[mdc] (\d/2,\d/2+\r/2,\d/2) node[textlabel]{$\varepsilon_c,\mu_c$}; \end{tikzpicture} \end{document} Which produces: I am definitely open to a whole new approach to my work routine, but it must be advantageous, otherwise I will just drop the shading requirement (which is half the fun though, one looses depth perception without it). Thank you so much for taking the time to read this LOOOONG question.
- Draw 3D intersecting surfacesby Henri Menke on February 4, 2014 at 8:39 pm
Problem This is a shameless "just do it for me" graphics question, but honestly I have no idea where to start. I'd like to reproduce this figure The image shows the intersection of two surfaces of constant gibbs energy. What I have tried so far Well, I didn't really try something, but here is a template to save you time. \documentclass[tikz]{standalone} \usepackage{tikz-3dplot} \begin{document} \tdplotsetmaincoords{70}{110} \begin{tikzpicture}[tdplot_main_coords] \draw[->] (0,0,0) -- (4,0,0) node[below] {$p$}; \draw[->] (0,0,0) -- (0,4,0) node[below] {$T$}; \draw[->] (0,0,0) -- (0,0,4) node[left] {$\mu$}; \end{tikzpicture} \end{document} Additional stuff I'd like to have a TikZ answer. Usage of tikz-3dplot is not required. Feel free to downvote or vote for closing this question, as it is a shameless "just do it for me" question. I'm bad and I should feel bad! Related: TikZ: two ellipses in different planes