Difference between revisions of "PGF/Tikz"

From HCL
Jump to: navigation, search
(Created page with "=PGF/Tikz=")
 
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
=PGF/Tikz=
+
* [http://en.wikipedia.org/wiki/PGF/TikZ Tikz on Wikipedia]
 +
* [http://www.ctan.org/tex-archive/graphics/pgf/base/doc/generic/pgf/pgfmanual.pdf PGF manual]
 +
* [http://www.texample.net/tikz/examples/ Examples]
 +
 
 +
= Write a figure =
 +
 
 +
The preamble of the latex file must contain: <source lang="latex">\usepackage{tikz}</source> Some optional libraries could be add like this: <source lang="latex">\usetikzlibrary{calc}</source>
 +
 
 +
To start a figure, the code must be inside the tikzpicture environment like this: <source lang="latex">\begin{tikzpicture} ... TikZ code here...  \end{tikzpicture}</source>
 +
 
 +
= Exemple =
 +
 
 +
<source lang="latex">
 +
% Author: Quintin Jean-Noël
 +
% <http://moais.imag.fr/membres/jean-noel.quintin/>
 +
\documentclass{article}
 +
\usepackage{tikz}
 +
\usetikzlibrary[topaths]
 +
% A counter, since TikZ is not clever enough (yet) to handle
 +
% arbitrary angle systems.
 +
\newcount\mycount
 +
\begin{document}
 +
\begin{tikzpicture}[transform shape]
 +
%the multiplication with floats is not possible. Thus I split the loop
 +
%in two.
 +
\foreach \number in {1,...,8}{
 +
  % Computer angle:
 +
    \mycount=\number
 +
    \advance\mycount by -1
 +
    \multiply\mycount by 45
 +
    \advance\mycount by 0
 +
    \node[draw,circle,inner sep=0.125cm] (N-\number) at (\the\mycount:5.4cm) {};
 +
}
 +
\foreach \number in {9,...,16}{
 +
  % Computer angle:
 +
    \mycount=\number
 +
    \advance\mycount by -1
 +
    \multiply\mycount by 45
 +
    \advance\mycount by 22.5
 +
    \node[draw,circle,inner sep=0.125cm] (N-\number) at (\the\mycount:5.4cm) {};
 +
}
 +
\foreach \number in {1,...,15}{
 +
  \mycount=\number
 +
    \advance\mycount by 1
 +
    \foreach \numbera in {\the\mycount,...,16}{
 +
      \path (N-\number) edge[->,bend right=3] (N-\numbera)  edge[<-,bend
 +
        left=3] (N-\numbera);
 +
    }   
 +
}
 +
\end{tikzpicture}
 +
\end{document}
 +
</source>
 +
 
 +
= Voir aussi =
 +
 
 +
*[[Pfgplot]]

Latest revision as of 17:46, 7 November 2012

Write a figure

The preamble of the latex file must contain:
\usepackage{tikz}
Some optional libraries could be add like this:
\usetikzlibrary{calc}
To start a figure, the code must be inside the tikzpicture environment like this:
\begin{tikzpicture} ... TikZ code here...  \end{tikzpicture}

Exemple

% Author: Quintin Jean-Noël
% <http://moais.imag.fr/membres/jean-noel.quintin/>
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary[topaths]
% A counter, since TikZ is not clever enough (yet) to handle
% arbitrary angle systems.
\newcount\mycount
\begin{document}
\begin{tikzpicture}[transform shape]
%the multiplication with floats is not possible. Thus I split the loop
%in two.
\foreach \number in {1,...,8}{
  % Computer angle:
    \mycount=\number
    \advance\mycount by -1
    \multiply\mycount by 45
    \advance\mycount by 0 
    \node[draw,circle,inner sep=0.125cm] (N-\number) at (\the\mycount:5.4cm) {};
} 
\foreach \number in {9,...,16}{
  % Computer angle:
    \mycount=\number
    \advance\mycount by -1
    \multiply\mycount by 45
    \advance\mycount by 22.5
    \node[draw,circle,inner sep=0.125cm] (N-\number) at (\the\mycount:5.4cm) {};
} 
\foreach \number in {1,...,15}{
  \mycount=\number
    \advance\mycount by 1 
    \foreach \numbera in {\the\mycount,...,16}{
      \path (N-\number) edge[->,bend right=3] (N-\numbera)  edge[<-,bend
        left=3] (N-\numbera);
    }     
}
\end{tikzpicture}
\end{document}

Voir aussi