User Tools

Site Tools


latex:tikz

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
latex:tikz [2022/03/27 16:10] – [3D axis with spherical coordinates & CMS coordinate system] iwnlatex:tikz [2022/12/02 15:40] – [For-loops: Pseudorapidity 𝜂 and polar angle 𝜃] iwn
Line 9: Line 9:
   * The examples below and many more are also available on [[https://github.com/IzaakWN/CodeSnippets/tree/master/LaTeX/TikZ|GitHub]] and [[https://ineuteli.web.cern.ch/ineuteli/diagrams/|this gallery page]].   * The examples below and many more are also available on [[https://github.com/IzaakWN/CodeSnippets/tree/master/LaTeX/TikZ|GitHub]] and [[https://ineuteli.web.cern.ch/ineuteli/diagrams/|this gallery page]].
   * [[http://pgf.sourceforge.net/pgf_CVS.pdf|Official TikZ & PGF manual]].   * [[http://pgf.sourceforge.net/pgf_CVS.pdf|Official TikZ & PGF manual]].
 +  * [[http://tug.ctan.org/info/visualtikz/VisualTikZ.pdf|Visual Tikz]]: an extensive cheat sheet with TikZ's many features and commands. 
   * For Feynman diagrams, please see [[latex:feynman|this page]].   * For Feynman diagrams, please see [[latex:feynman|this page]].
  
Line 388: Line 389:
 </WRAP></WRAP> </WRAP></WRAP>
  
 +Using a for-loop over two variables:
 +<WRAP group><WRAP half column lo 65%>
 +<code latex>
 +\begin{tikzpicture}[scale=3]
 +  
 +  % limits
 +  \def\R{1.2} % radius/length of lines
 +  
 +  % axis labels
 +  \node[scale=1,below left=1] at (0,\R) {$y$}; % y axis
 +  \node[scale=1,below left=1] at (\R,0) {$z$}; % z axis
 +  
 +  % lines
 +  \foreach \t/\e in {90/0,60/0.55,45/0.88,30/1.32,10/2.43,0/+\infty}{ % loop over theta/eta
 +    \pgfkeys{/pgf/number format/precision=2}
 +    \draw[->,black!60!red,thick,line cap=round] % eta lines
 +      (0,0) -- (\t:\R) node[anchor=180+\t,black] {$\eta=\e$}
 +      node[black,pos=0.7,fill=white,scale=0.8,inner sep=1.5pt] {$\theta=\t^\circ$};
 +  }
 +  
 +\end{tikzpicture}
 +</code>
 +</WRAP><WRAP half column 30%>
 +\\
 +{{ latex:theta-eta.png ? 2000 }}
 +\\
 +</WRAP></WRAP>
  
 +Using for-loop and calculation + rounding:
 <WRAP group><WRAP half column lo 65%> <WRAP group><WRAP half column lo 65%>
 <code latex> <code latex>
Line 394: Line 423:
      
   % limits   % limits
-  \def\R{1.2}+  \def\R{1.2} % radius/length of lines
      
   % axis labels   % axis labels
-  \node[scale=0.9,below=5pt,left=2pt] at (0,\R) {$y$}; +  \node[scale=1,below left=1] at (0,\R) {$y$}; % y axis 
-  \node[scale=0.9,left=5pt,below=2pt] at (\R,0) {$z$};+  \node[scale=1,below left=1] at (\R,0) {$z$}; % z axis
      
   % lines   % lines
-  \foreach \t/\e in {90/0,60/0.55,45/0.88,30/1.32,10/2.44,0/\infty}{ +  \pgfkeys{/pgf/number format/precision=2} % two decimals 
-    \draw[->,black!60!red,thick] +  \foreach \t in {90,60,45,30,10,0}{ % loop over theta 
-      (0,0) -- ({\R*cos(\t)},{\R*sin(\t)}) +    \ifnum \t = 0 
-      node[anchor=180+\t,black] {$\eta=\e$}; +      \def\e{+\infty} % infinity symbol 
-    \node[fill=white,scale=0.8] at ({0.8*cos(\t)},{0.8*sin(\t)}) {$\theta=\t^\circ$};+    \else 
 +      \pgfmathparse{-ln(tan(\t/2))} % pseudorapidity 
 +      %\pgfmathroundto{\pgfmathresult} % round without traling zeroes 
 +      \pgfmathroundtozerofill{\pgfmathresult} % round with trailing zeroes 
 +      \pgfmathsetmacro\e{\t==90?0:\pgfmathresult} % no trailing zeroes for theta = 0 
 +    \fi 
 +    \draw[->,black!60!red,thick,line cap=round% eta lines 
 +      (0,0) -- (\t:\R) node[anchor=180+\t,black] {$\eta=\e$} 
 +      node[black,pos=0.7,fill=white,scale=0.8,inner sep=1.5pt] {$\theta=\t^\circ$};
   }   }
-    +  
 \end{tikzpicture} \end{tikzpicture}
 </code> </code>
latex/tikz.txt · Last modified: 2022/12/02 15:42 by iwn