Difference between revisions of "PGF/Tikz"
From HCL
(Created page with "=PGF/Tikz=") |
|||
Line 1: | Line 1: | ||
− | = | + | =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> |
Revision as of 17:43, 30 January 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}