summaryrefslogtreecommitdiff
path: root/graphics/pgf/base/doc/pgfmanual-en-library-folding.tex
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/pgf/base/doc/pgfmanual-en-library-folding.tex')
-rw-r--r--graphics/pgf/base/doc/pgfmanual-en-library-folding.tex275
1 files changed, 275 insertions, 0 deletions
diff --git a/graphics/pgf/base/doc/pgfmanual-en-library-folding.tex b/graphics/pgf/base/doc/pgfmanual-en-library-folding.tex
new file mode 100644
index 0000000000..67f83b76bd
--- /dev/null
+++ b/graphics/pgf/base/doc/pgfmanual-en-library-folding.tex
@@ -0,0 +1,275 @@
+% Copyright 2019 by Till Tantau
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Free Documentation License.
+%
+% See the file doc/generic/pgf/licenses/LICENSE for more details.
+
+
+\section{Paper-Folding Diagrams Library}
+\label{section-calender-folding}
+
+\begin{tikzlibrary}{folding}
+ This library defines pic types for creating paper-folding diagrams. Many
+ thanks to Nico van Cleemput for providing most of the code.
+\end{tikzlibrary}
+
+Here is a big example that produces a diagram for a calendar:
+%
+\begin{codeexample}[
+ leave comments,
+ preamble={\usetikzlibrary{calendar,folding}},
+]
+\sffamily\scriptsize
+\tikz \pic [
+ transform shape,
+ every calendar/.style={
+ at={(-8ex,4ex)},
+ week list,
+ month label above centered,
+ month text=\bfseries\textcolor{red}{\%mt} \%y0,
+ if={(Sunday) [black!50]}
+ },
+ folding line length=2.5cm,
+ face 1={ \calendar [dates=\the\year-01-01 to \the\year-01-last];},
+ face 2={ \calendar [dates=\the\year-02-01 to \the\year-02-last];},
+ face 3={ \calendar [dates=\the\year-03-01 to \the\year-03-last];},
+ face 4={ \calendar [dates=\the\year-04-01 to \the\year-04-last];},
+ face 5={ \calendar [dates=\the\year-05-01 to \the\year-05-last];},
+ face 6={ \calendar [dates=\the\year-06-01 to \the\year-06-last];},
+ face 7={ \calendar [dates=\the\year-07-01 to \the\year-07-last];},
+ face 8={ \calendar [dates=\the\year-08-01 to \the\year-08-last];},
+ face 9={ \calendar [dates=\the\year-09-01 to \the\year-09-last];},
+ face 10={\calendar [dates=\the\year-10-01 to \the\year-10-last];},
+ face 11={\calendar [dates=\the\year-11-01 to \the\year-11-last];},
+ face 12={\calendar [dates=\the\year-12-01 to \the\year-12-last];}
+] {dodecahedron folding};
+\end{codeexample}
+
+The foldings are sorted by number of faces.
+
+\begin{pictype}{tetrahedron folding}{}
+ This pic type draws a folding diagram for a tetrahedron. The following keys
+ influence the pic:
+ %
+ \begin{key}{/tikz/folding line length=\meta{dimension}}
+ Sets the length of the base line for folding. For the dodecahedron this
+ is the length of all the sides of the pentagons.
+ \end{key}
+ %
+ \begin{key}{/tikz/face 1=\meta{code}}
+ The \meta{code} is executed for the first face of the dodecahedron.
+ When it is executed, the coordinate system will have been shifted and
+ rotated such that it lies at the middle of the first face of the
+ dodecahedron.
+ \end{key}
+ %
+ \begin{key}{/tikz/face 2=\meta{code}}
+ Same as |face 1|, but for the second face.
+ \end{key}
+ %
+ \begin{key}{/tikz/face 3=\meta{code}}
+ \end{key}
+ %
+ \begin{key}{/tikz/face 4=\meta{code}}
+ \end{key}
+ %
+ There are further similar options for more faces (for commands shown
+ later).
+
+ Here is a simple example:
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{folding}}]
+\tikz \pic [
+ transform shape,
+ folding line length=6mm,
+ face 1={ \node[red] {1};},
+ face 2={ \node {2};},
+ face 3={ \node {3};},
+ face 4={ \node {4};}
+] {tetrahedron folding};
+\end{codeexample}
+
+ The appearance of the cut and folding lines can be influenced using the
+ following styles:
+ %
+ \begin{stylekey}{/tikz/every cut (initially \normalfont empty)}
+ Executed for every line that should be cut using scissors.
+ \end{stylekey}
+ %
+ \begin{stylekey}{/tikz/every fold (initially help lines)}
+ Executed for every line that should be folded.
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{folding}}]
+\tikz \pic[
+ every cut/.style=red,
+ every fold/.style=dotted,
+ folding line length=6mm
+] { tetrahedron folding };
+\end{codeexample}
+ \end{stylekey}
+
+ There is one style that is mainly useful for the present documentation:
+ %
+ \begin{stylekey}{/tikz/numbered faces}
+ Sets |face |\meta{i} to |\node {|\meta{i}|};| for all~$i$.
+ \end{stylekey}
+\end{pictype}
+
+\begin{pictype}{tetrahedron truncated folding}{}
+ A folding of a truncated tetrahedron.
+ %
+\begin{codeexample}[width=5cm,preamble={\usetikzlibrary{folding}}]
+\tikz \pic [folding line length=6mm, numbered faces, transform shape]
+ { tetrahedron truncated folding };
+\end{codeexample}
+ %
+\end{pictype}
+
+\begin{pictype}{cube folding}{}
+ A folding of a cube.
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{folding}}]
+\tikz \pic [folding line length=6mm, numbered faces, transform shape]
+ { cube folding };
+\end{codeexample}
+ %
+\end{pictype}
+
+\begin{pictype}{cube truncated folding}{}
+ A folding of a truncated cube.
+ %
+\begin{codeexample}[width=5cm,preamble={\usetikzlibrary{folding}}]
+\tikz \pic [folding line length=6mm, numbered faces, transform shape]
+ { cube truncated folding };
+\end{codeexample}
+ %
+\end{pictype}
+
+\begin{pictype}{octahedron folding}{}
+ A folding of an octahedron.
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{folding}}]
+\tikz \pic [folding line length=6mm, numbered faces, transform shape]
+ { octahedron folding };
+\end{codeexample}
+ %
+\end{pictype}
+
+\begin{pictype}{octahedron folding}{}
+ A folding of a truncated octahedron.
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{folding}}]
+\tikz \pic [folding line length=6mm, numbered faces, transform shape]
+ { octahedron truncated folding };
+\end{codeexample}
+ %
+\end{pictype}
+
+\begin{pictype}{dodecahedron folding}{}
+ A folding of a dodecahedron.
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{folding}}]
+\tikz \pic [folding line length=6mm, numbered faces, transform shape]
+ { dodecahedron folding };
+\end{codeexample}
+ %
+\end{pictype}
+
+\begin{pictype}{dodecahedron' folding}{}
+ This is an alternative folding of a dodecahedron.
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{folding}}]
+\tikz \pic [folding line length=6mm, numbered faces, transform shape]
+ { dodecahedron' folding };
+\end{codeexample}
+ %
+\end{pictype}
+
+\begin{pictype}{dodecahedron rhombic folding}{}
+ A rhombic dodecahedron, based on square-of-two rhombi.
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{folding}}]
+\tikz \pic [folding line length=6mm, numbered faces, transform shape]
+ { dodecahedron rhombic folding };
+\end{codeexample}
+ %
+\end{pictype}
+
+\begin{pictype}{dodecahedron golden folding}{}
+ An alternative rhombic dodecahedron, flat laying, based on golden rhombi.
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{folding}}]
+\tikz \pic [folding line length=6mm, numbered faces, transform shape]
+ { dodecahedron golden folding };
+\end{codeexample}
+ %
+\end{pictype}
+
+\begin{pictype}{cuboctahedron folding}{}
+ A folding of a cuboctahedron.
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{folding}}]
+\tikz \pic [folding line length=6mm, numbered faces, transform shape]
+ { cuboctahedron folding };
+\end{codeexample}
+ %
+\end{pictype}
+
+\begin{pictype}{cuboctahedron truncated folding}{}
+ A folding of a truncated cuboctahedron.
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{folding}}]
+\tikz \pic [folding line length=6mm, numbered faces, transform shape]
+ { cuboctahedron truncated folding };
+\end{codeexample}
+ %
+\end{pictype}
+
+\begin{pictype}{icosahedron folding}{}
+ A folding of an icosahedron.
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{folding}}]
+\tikz \pic [folding line length=6mm, numbered faces, transform shape]
+ { icosahedron folding };
+\end{codeexample}
+ %
+\end{pictype}
+
+\begin{pictype}{rhombicuboctahedron folding}{}
+ A folding of an rhombicuboctahedron.
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{folding}}]
+\tikz \pic [folding line length=6mm, numbered faces, transform shape]
+ { rhombicuboctahedron folding };
+\end{codeexample}
+ %
+\end{pictype}
+
+\begin{pictype}{snub cube folding}{}
+ A folding of a snub cube.
+ %
+\begin{codeexample}[width=5cm,preamble={\usetikzlibrary{folding}}]
+\tikz \pic [folding line length=6mm, numbered faces, transform shape]
+ { snub cube folding };
+\end{codeexample}
+ %
+\end{pictype}
+
+\begin{pictype}{icosidodecahedron folding}{}
+ A folding of an icosidodecahedron.
+ %
+\begin{codeexample}[preamble={\usetikzlibrary{folding}}]
+\tikz \pic [folding line length=6mm, numbered faces, transform shape]
+ { icosidodecahedron folding };
+\end{codeexample}
+ %
+\end{pictype}
+
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "pgfmanual-pdftex-version"
+%%% End: