summaryrefslogtreecommitdiff
path: root/graphics/pgf/contrib/tikzfill/tikzfill.tex
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/pgf/contrib/tikzfill/tikzfill.tex')
-rw-r--r--graphics/pgf/contrib/tikzfill/tikzfill.tex1385
1 files changed, 1385 insertions, 0 deletions
diff --git a/graphics/pgf/contrib/tikzfill/tikzfill.tex b/graphics/pgf/contrib/tikzfill/tikzfill.tex
new file mode 100644
index 0000000000..4762f59771
--- /dev/null
+++ b/graphics/pgf/contrib/tikzfill/tikzfill.tex
@@ -0,0 +1,1385 @@
+% \LaTeX-Main\
+% !TeX encoding=UTF-8
+%% The LaTeX package tikzfill - version 1.0.0 (2022/07/20)
+%% tikzfill.tex: Manual
+%%
+%% -------------------------------------------------------------------------------------------
+%% Copyright (c) 2022-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% -------------------------------------------------------------------------------------------
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `author-maintained'.
+%%
+%% This work consists of all files listed in README.md
+%%
+% \RequirePackage[check-declarations,enable-debug]{expl3}
+\documentclass[a4paper,11pt]{article}
+\usepackage{tikzfill-doc}
+
+\usepackage{\tikzfillpkgprefix tikzfill}
+
+\hypersetup{
+ pdftitle={Manual for the tikzfill package},
+ pdfauthor={Thomas F. Sturm},
+ pdfsubject={TikZ libraries for filling with images and patterns},
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{document}
+
+\begin{tcboutputlisting}
+% \documentclass[a4paper]{article}
+% \usepackage{tikzfill}
+% \usetikzlibrary{fadings,shadings}
+% \usepackage[skins,breakable]{tcolorbox}
+% \usepackage{ninecolors}
+% \begin{document}
+\begin{tcolorbox}[spread,blankest,phantom={\thispagestyle{empty}}]
+\begin{tikzfadingfrompicture}[name=titlepicture]
+ \path
+ [
+ pattern hexagon cycle = { size=28mm, rings=5 },
+ pattern color = white,
+ ]
+ (-\tcbtextwidth/2,-\tcbtextheight/2) rectangle
+ (\tcbtextwidth/2,\tcbtextheight/2);
+\end{tikzfadingfrompicture}%
+%
+\begin{tikzpicture}
+ \fill
+ [
+ upper left = blue5, upper right = cyan5,
+ lower left = magenta5, lower right = blue5,
+ ]
+ (-\tcbtextwidth/2,-\tcbtextheight/2) rectangle
+ (\tcbtextwidth/2,\tcbtextheight/2);
+\shade
+ [
+ path fading = titlepicture,
+ fit fading = false,
+ upper left = blue6, upper right = cyan6,
+ lower left = magenta6, lower right = blue6,
+ ]
+ (-\tcbtextwidth/2,-\tcbtextheight/2) rectangle
+ (\tcbtextwidth/2,\tcbtextheight/2);
+\node[white,font=\Huge\bfseries] (title) at (0,\tcbtextheight/4)
+ {The \texttt{tikzfill} package};
+\node[white,font=\Large\bfseries,below=8mm] (title) at (title.south)
+ {Manual for version \version\ (\datum)};
+\node[white,font=\large\bfseries,below=8mm] (title) at (title.south)
+ {Thomas F.~Sturm};
+\end{tikzpicture}
+\end{tcolorbox}
+% \end{document}
+\end{tcboutputlisting}
+\tcbuselistingtext
+\tcbinputlisting{title=Cover code,docexample,listing only}
+
+\clearpage
+
+\begin{center}
+\begin{tcolorbox}[enhanced,hbox,tikznode,left=8mm,right=8mm,boxrule=0.4pt,
+ colback=white,colframe=black!50!yellow,
+ drop lifted shadow=black!50!yellow,arc is angular,
+ before=\par\vspace*{5mm},after=\par\bigskip]
+{\bfseries\LARGE The \texttt{tikzfill} package}\\[3mm]
+{\large Manual for version \version\ (\datum)}
+\end{tcolorbox}
+{\large Thomas F.~Sturm%
+ \footnote{Prof.~Dr.~Dr.~Thomas F.~Sturm, Institut f\"{u}r Mathematik und Informatik,
+ Universit\"{a}t der Bundeswehr M\"{u}nchen, D-85577 Neubiberg, Germany;
+ email: \href{mailto:thomas.sturm@unibw.de}{thomas.sturm@unibw.de}}\par\medskip
+\normalsize\url{https://www.ctan.org/pkg/tikzfill}\par
+\url{https://github.com/T-F-S/tikzfill}
+}
+\end{center}
+\bigskip
+\begin{absquote}
+ \begin{center}\bfseries Abstract\end{center}
+ |tikzfill| is a collection of \tikzname\ libraries which add further
+ options to fill \tikzname\ paths with images and patterns.
+ The libraries comprise fillings with images from files and from \tikzname\ pictures.
+ Also, patterns of hexagons and of rhombi are provided.
+\end{absquote}
+
+\clearpage
+\tableofcontents
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\clearpage
+\section{Short Introduction}\label{sec:intro}
+
+\tikzname\ is a very advanced and comprehensive graphics package for \LaTeX.
+The package |tikzfill| comprises a collection of libraries for \tikzname\, which
+add further options to fill \tikzname\ paths with images and patterns.
+
+For \LaTeX, the provided libraries can be loaded using the preferred
+\tikzname\ mechanism by
+\begin{dispListing*}{}
+\usetikzlibrary{fill.***} % LATEX (primary choice) and plain TEX
+\end{dispListing*}
+where |***| is to be replaced by the actual library name found on the following pages.
+
+Alternatively, the libraries can be loaded using \LaTeX\ style files
+\begin{dispListing*}{}
+\usepackage{tikzfill.***} % LATEX (secondary choice)
+\end{dispListing*}
+
+If you want to load all \tikzname\ libraries of this package, you can use
+the following \LaTeX\ style file
+\begin{dispListing*}{}
+\usepackage{tikzfill} % load all libraries
+\end{dispListing*}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\clearpage
+\section{Image and Picture Fill Library}\label{sec:imagefill}%
+
+\begin{dispListing*}{title=\tikzname\ Library |fill.image|}
+\usetikzlibrary{fill.image} % LATEX (primary choice) and plain TEX
+\usetikzlibrary[fill.image] % ConTEXt
+\usepackage{tikzfill.image} % LATEX (secondary choice)
+\end{dispListing*}
+
+This library defines options to fill graphs with images or arbitray pictures.
+
+Until |tcolorbox| version 5.1.1 (2022/06/24), the code of this library was part
+of |tcolorbox|. Now, on suggestion of
+\href{https://github.com/muzimuzhi}{muzimuzhi},
+it is a separate library usable without |tcolorbox|. Also, the code is
+completely rewritten with |expl3|.
+
+
+
+\subsection{Fill Plain}
+\begin{docTikzKey}{fill plain image}{=\meta{file name}}{no default, initially unset}
+ Fills the current path with an external image referenced by \meta{file name}.
+ The image is put in the center of the path, but it is not resized to fit into
+ the path area.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\path[draw,fill plain image=goldshade.png]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\begin{docTikzKey}{fill plain image*}{=\meta{file name}}{no default, initially unset}
+ Fills the current path with an external image referenced by \meta{file name}.
+ The image is put in the center of the path, but it is not resized to fit into
+ the path area.
+ The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\path[draw,
+ fill plain image*={width=2.5cm}{goldshade.png}]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+\enlargethispage*{8mm}
+
+\begin{docTikzKey}{fill plain picture}{=\meta{graphical code}}{no default, initially unset}
+ Fills the current path with the given \meta{graphical code}.
+ The result is put in the center of the path, but it is not resized to fit into
+ the path area. Note that this is almost identical to the standard |path picture| option.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\path[draw,fill plain picture={%
+ \draw[red!50!yellow,line width=2mm]
+ (0,0) circle (8mm);
+ \draw[red,line width=5mm] (-1,-1) -- (1,1);
+ \draw[red,line width=5mm] (-1,1) -- (1,-1);
+ }]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\clearpage
+\subsection{Fill Stretch}
+\begin{docTikzKey}{fill stretch image}{=\meta{file name}}{no default, initially unset}
+ Fills the current path with an external image referenced by \meta{file name}.
+ The image is stretched to fill the path area.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\path[fill stretch image=goldshade.png]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\begin{docTikzKey}{fill stretch image*}{=\marg{graphics options}\marg{file name}}{no default, initially unset}
+ Fills the current path with an external image referenced by \meta{file name}.
+ The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
+ The image is stretched to fill the path area.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\path[fill stretch image*=
+ {angle=90,origin=c}{goldshade.png}]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\begin{docTikzKey}{fill stretch picture}{=\meta{graphical code}}{no default, initially unset}
+ Fills the current path with the given \meta{graphical code}.
+ The result is stretched to fill the path area.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\path[draw,fill stretch picture={%
+ \draw[red!50!yellow,line width=2mm]
+ (0,0) circle (8mm);
+ \draw[red,line width=5mm] (-1,-1) -- (1,1);
+ \draw[red,line width=5mm] (-1,1) -- (1,-1);
+ }]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\clearpage
+\subsection{Fill Overzoom}
+\begin{docTikzKey}{fill overzoom image}{=\meta{file name}}{no default, initially unset}
+ Fills the current path with an external image referenced by \meta{file name}.
+ The image is zoomed such that the path area fills the image.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\path[fill overzoom image=goldshade.png]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\begin{docTikzKey}{fill overzoom image*}{=\marg{graphics options}\marg{file name}}{no default, initially unset}
+ Fills the current path with an external image referenced by \meta{file name}.
+ The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
+ The image is zoomed such that the path area fills the image.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\path[fill overzoom image*=
+ {angle=90,origin=c}{goldshade.png}]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\begin{docTikzKey}{fill overzoom picture}{=\meta{graphical code}}{no default, initially unset}
+ Fills the current path with the given \meta{graphical code}.
+ The result is zoomed such that the path area fills the image.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\path[draw,fill overzoom picture={%
+ \draw[red!50!yellow,line width=2mm]
+ (0,0) circle (8mm);
+ \draw[red,line width=5mm] (-1,-1) -- (1,1);
+ \draw[red,line width=5mm] (-1,1) -- (1,-1);
+ }]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\clearpage
+\subsection{Fill Zoom}
+\begin{docTikzKey}{fill zoom image}{=\meta{file name}}{no default, initially unset}
+ Fills the current path with an external image referenced by \meta{file name}.
+ The image is zoomed such that it fits inside the path area.
+ Typically, some parts of the path area will stay unfilled.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\path[draw,fill zoom image=goldshade.png]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\begin{docTikzKey}{fill zoom image*}{=\marg{graphics options}\marg{file name}}{no default, initially unset}
+ Fills the current path with an external image referenced by \meta{file name}.
+ The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
+ The image is zoomed such that it fits inside the path area.
+ Typically, some parts of the path area will stay unfilled.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\path[draw,fill zoom image*=
+ {angle=90,origin=c}{goldshade.png}]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\begin{docTikzKey}{fill zoom picture}{=\meta{graphical code}}{no default, initially unset}
+ Fills the current path with the given \meta{graphical code}.
+ The result is zoomed such that it fits inside the path area.
+ Typically, some parts of the path area will stay unfilled.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\path[draw,fill zoom picture={%
+ \draw[red!50!yellow,line width=2mm]
+ (0,0) circle (8mm);
+ \draw[red,line width=5mm] (-1,-1) -- (1,1);
+ \draw[red,line width=5mm] (-1,1) -- (1,-1);
+ }]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\clearpage
+\subsection{Fill Shrink}
+\begin{docTikzKey}{fill shrink image}{=\meta{file name}}{no default, initially unset}
+ Fills the current path with an external image referenced by \meta{file name}.
+ The image is zoomed such that it fits inside the path area, but it never
+ gets enlarged.
+ Typically, some parts of the path area will stay unfilled.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\path[draw,fill shrink image=goldshade.png]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\begin{docTikzKey}{fill shrink image*}{=\meta{file name}}{no default, initially unset}
+ Fills the current path with an external image referenced by \meta{file name}.
+ The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
+ The image is zoomed such that it fits inside the path area, but it never
+ gets enlarged.
+ Typically, some parts of the path area will stay unfilled.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\path[draw,
+ fill shrink image*={width=1.5cm}{goldshade.png}]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\begin{docTikzKey}{fill shrink picture}{=\meta{graphical code}}{no default, initially unset}
+ Fills the current path with the given \meta{graphical code}.
+ The result is zoomed such that it fits inside the path area, but it never
+ gets enlarged.
+ Typically, some parts of the path area will stay unfilled.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\path[draw,fill shrink picture={%
+ \draw[red!50!yellow,line width=2mm]
+ (0,0) circle (8mm);
+ \draw[red,line width=5mm] (-1,-1) -- (1,1);
+ \draw[red,line width=5mm] (-1,1) -- (1,-1);
+ }]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\clearpage
+\subsection{Fill Tile}
+\begin{docTikzKey}{fill tile image}{=\meta{file name}}{no default, initially unset}
+ Fills the current path with a tile pattern using an external image referenced by \meta{file name}.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\path[fill tile image=pink_marble.png]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\begin{docTikzKey}{fill tile image*}{=\marg{graphics options}\marg{file name}}{no default, initially unset}
+ Fills the current path with a tile pattern using an external image referenced by \meta{file name}.
+ The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\path[fill tile image*={width=8mm}{pink_marble.png}]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+\begin{docTikzKey}{fill tile picture}{=\meta{graphical code}}{no default, initially unset}
+ Fills the current path with a tile pattern using the given \meta{graphical code}.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\path[draw,fill tile picture={%
+ \draw[red!50!yellow,line width=2mm]
+ (0,0) circle (8mm);
+ \draw[red,line width=5mm] (-1,-1) -- (1,1);
+ \draw[red,line width=5mm] (-1,1) -- (1,-1);
+ }]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\begin{docTikzKey}{fill tile picture*}{=\marg{fraction}\marg{graphical code}}{no default, initially unset}
+ Fills the current path with a tile pattern using the given \meta{graphical code}.
+ The graphic is resized by \meta{fraction}.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\path[draw,fill tile picture*={0.25}{%
+ \draw[red!50!yellow,line width=2mm]
+ (0,0) circle (8mm);
+ \draw[red,line width=5mm] (-1,-1) -- (1,1);
+ \draw[red,line width=5mm] (-1,1) -- (1,-1);
+ }]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\clearpage
+\subsection{Filling Options}
+\begin{docTikzKey}{fill image opacity}{=\meta{fraction}}{no default, initially |1.0|}
+ Sets the fill opacity for the image or picture fill options to the given \meta{fraction}.
+\begin{dispExample}
+\begin{tikzpicture}
+\path[fill stretch image=goldshade.png] (0,0) circle (8mm);
+\path[fill=red,fill stretch image=goldshade.png,fill image opacity=0.75]
+ (2,0) circle (8mm);
+\path[fill=red,fill stretch image=goldshade.png,fill image opacity=0.5]
+ (4,0) circle (8mm);
+\path[fill=red,fill stretch image=goldshade.png,fill image opacity=0.25]
+ (6,0) circle (8mm);
+\path[fill=red] (8,0) circle (8mm);
+\end{tikzpicture}
+\end{dispExample}
+\end{docTikzKey}
+
+
+\begin{docTikzKey}{fill image scale}{=\meta{fraction}}{no default, initially |1.0|}
+ Stretches, zooms, overzooms or shrinks the image or picture to the given \meta{fraction} of the
+ width and height of the current path.
+\begin{dispExample}
+\begin{tikzpicture}
+\path[draw,fill zoom image=goldshade.png]
+ (0,0) rectangle +(2,2);
+
+\path[draw,fill zoom image=goldshade.png,fill image scale=0.75]
+ (3,0) rectangle +(2,2);
+
+\path[draw,fill zoom image=goldshade.png,fill image scale=1.5]
+ (6,0) rectangle +(2,2);
+\end{tikzpicture}
+\end{dispExample}
+\end{docTikzKey}
+
+
+\begin{docTikzKey}{fill image options}{=\meta{graphics options}}{no default, initially empty}
+ The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command
+ for the image fill options. This can be just together with
+ \refKey{/tikz/fill stretch image}, \refKey{/tikz/fill overzoom image}, \refKey{/tikz/fill zoom image},
+ and \refKey{/tikz/fill tile image}.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\path[fill image options={width=8mm},
+ fill tile image=pink_marble.png]
+ (2.75,-0.75) -- (3,0) -- (2.75,0.75)
+ \foreach \w in {45,90,...,315}
+ { -- (\w:1.5cm) } -- cycle;
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\begin{dispExample*}{sbs,lefthand ratio=0.6,center lower,fonttitle=\bfseries,
+ title=Image blending example}
+\begin{tikzpicture}[every node/.style=
+ {circle,minimum width=2cm}]
+\node[fill stretch image=blueshade.png]
+ (A) at (120:3cm) {A};
+\node[fill stretch image=goldshade.png]
+ (B) at (60:3cm) {B};
+\node[
+ preaction={fill stretch image=blueshade.png},
+ fill stretch image=goldshade.png,
+ fill image opacity=0.5] (C) {C};
+\path (A) -- node{$+$} (B);
+\draw[->,very thick] (A)--(C);
+\draw[->,very thick] (B)--(C);
+\end{tikzpicture}
+\end{dispExample*}
+
+
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\clearpage
+\section{Hexagon Pattern Library}\label{sec:hexagon}%
+
+\begin{dispListing*}{title=\tikzname\ Library |fill.hexagon|}
+\usetikzlibrary{fill.hexagon} % LATEX (primary choice) and plain TEX
+\usetikzlibrary[fill.hexagon] % ConTEXt
+\usepackage{tikzfill.hexagon} % LATEX (secondary choice)
+\end{dispListing*}
+
+Based on |patterns.meta|, this library defines new hexagon patterns to fill graphs.
+
+
+
+%-------------------------------------------------------------------------------
+\subsection{Hexagon}
+The \docValue{hexagon} pattern draws hexagons which may be filled or outlined.
+A single pattern is one of two different \emph{bands}, called band 0 and band 1.
+
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ pattern = { hexagon
+ [
+ size = 5mm, angle = 15, line width = 1mm
+ ]},
+ pattern color=red
+ ]
+ (0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+
+Both bands together build a uniform combined pattern.
+
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ preaction = {
+ pattern = { hexagon
+ [
+ size = 5mm, angle = 15, line width = 1mm, band = 1
+ ]},
+ pattern color=blue },
+ pattern = { hexagon
+ [
+ size = 5mm, angle = 15, line width = 1mm, band = 0
+ ]},
+ pattern color=red
+ ]
+ (0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+
+\begin{docTikzKey}{pattern hexagon}{=\marg{pattern keys}}{style, no default}
+ Convenience shortcut for setting the combined pattern (in one color).
+
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ pattern hexagon =
+ {
+ size = 5mm, angle = 15, line width = 1mm
+ },
+ pattern color=red
+ ]
+ (0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+\clearpage
+
+\begin{docPatternKey}{size}{=\meta{size}}{no default, initially |8mm|}
+ The given \meta{size} denotes the length of an edge of one hexagonical tile
+ where the (possibly smaller) hexagon is located in.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ pattern hexagon =
+ {
+ size = 5mm,
+ },
+ pattern color=red
+ ]
+ (0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+\end{docPatternKey}
+
+
+
+\begin{docPatternKey}{fill}{}{no value, initially set}
+ Sets the hexagons to be filled. |fill| and |draw| are mutually exclusionary.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ pattern hexagon =
+ {
+ fill,
+ },
+ pattern color=red
+ ]
+ (0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+\end{docPatternKey}
+
+
+\begin{docPatternKey}{draw}{}{no value, initially unset}
+ Sets the hexagons to be outlined. |fill| and |draw| are mutually exclusionary.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ pattern hexagon =
+ {
+ draw,
+ },
+ pattern color=red
+ ]
+ (0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+\end{docPatternKey}
+
+
+\begin{docPatternKey}{line width}{=\meta{length}}{no default, initially |0.4pt|}
+ Sets the \meta{length} value of the line width.
+ This is only relevant, if the hexagons are not filled.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ pattern hexagon =
+ {
+ draw, line width = 1mm,
+ },
+ pattern color=red
+ ]
+(0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+\end{docPatternKey}
+
+
+
+\begin{docPatternKeys}
+ {
+ {
+ doc name = xshift,
+ doc parameter = {=\meta{xshift}},
+ doc description = {no default, initially |0pt|}
+ },
+ {
+ doc name = yshift,
+ doc parameter = {=\meta{yshift}},
+ doc description = {no default, initially |0pt|}
+ }
+ }
+ The pattern is shifted by \meta{xshift} and \meta{yshift}.
+ \par
+ Note that for \docValue*{hexagon} is valid, that a pattern is shifted first and rotated afterwards.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ preaction={pattern hexagon grid, pattern color=blue},
+ pattern hexagon =
+ {
+ xshift=3mm, yshift=1mm,
+ },
+ pattern color=red
+ ]
+ (0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+\end{docPatternKeys}
+
+
+
+\begin{docPatternKey}{angle}{=\meta{angle}}{no default, initially |0|}
+ The pattern is rotated by the given \meta{angle}.
+ \par
+ Note that for \docValue*{hexagon} is valid, that a pattern is shifted first and rotated afterwards.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ pattern hexagon =
+ {
+ angle = 15,
+ },
+ pattern color=red
+ ]
+(0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+\end{docPatternKey}
+
+
+
+\begin{docPatternKey}{pos}{=\meta{value}}{no default, initially |0.8|}
+ Sets the edge position with a \meta{value} between 0 and 1, where $0$ is
+ the center and $1$ the outer rim of the hexagonical tile. $1$ is a less
+ efficient way to either fill the whole graph or to draw a \docValue*{hexagon grid}.
+
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ preaction={ pattern hexagon={pos=0.8},
+ pattern color=blue!80!red },
+ preaction={ pattern hexagon={pos=0.6},
+ pattern color=blue!60!red },
+ preaction={ pattern hexagon={pos=0.4},
+ pattern color=blue!40!red },
+ pattern hexagon={pos=0.2},
+ pattern color=blue!20!red,
+ ]
+(0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+\end{docPatternKey}
+
+
+\clearpage
+
+
+\begin{docPatternKey}{band}{=\meta{number}}{no default, initially |0|}
+ \meta{number} can take 0 or 1 and denotes one of two different bands of the pattern.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ preaction = { pattern={hexagon[band=1,draw,
+ line width=1mm]},
+ pattern color=blue },
+ pattern={hexagon[band=0,pos=0.5]},
+ pattern color=red
+ ]
+ (0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+\end{docPatternKey}
+
+
+
+\clearpage
+%-------------------------------------------------------------------------------
+\subsection{Hexagon Grid}
+The \docValue{hexagon grid} pattern draws a grid made of hexagons. It is
+a single pattern und more efficient than \docValue*{hexagon} with settings |draw,pos=1|.
+
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ pattern = { hexagon grid
+ [
+ size = 5mm, angle = 15, line width = 1mm
+ ]},
+ pattern color=red
+ ]
+ (0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+
+
+\begin{docTikzKey}{pattern hexagon grid}{=\marg{pattern keys}}{style, no default}
+ Convenience shortcut for setting the pattern to \docValue{hexagon grid}:
+\begin{dispListing}
+ pattern = { hexagon grid [ ... ] }
+\end{dispListing}
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ pattern hexagon grid =
+ {
+ size = 5mm, angle = 15, line width = 1mm
+ },
+ pattern color=red
+ ]
+ (0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+
+\begin{docPatternKey}{size}{=\meta{size}}{no default, initially |8mm|}
+ The given \meta{size} denotes the length of an edge of one hexagon.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ pattern hexagon grid =
+ {
+ size = 5mm,
+ },
+ pattern color=red
+ ]
+ (0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+\end{docPatternKey}
+
+\clearpage
+
+
+\begin{docPatternKeys}
+ {
+ {
+ doc name = xshift,
+ doc parameter = {=\meta{xshift}},
+ doc description = {no default, initially |0pt|}
+ },
+ {
+ doc name = yshift,
+ doc parameter = {=\meta{yshift}},
+ doc description = {no default, initially |0pt|}
+ }
+ }
+ The pattern is shifted by \meta{xshift} and \meta{yshift}.
+ \par
+ Note that for \docValue*{hexagon grid} is valid, that a pattern is shifted first and rotated afterwards.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ preaction={pattern={hexagon grid}, pattern color=blue},
+ pattern hexagon grid =
+ {
+ xshift=3mm, yshift=1mm,
+ },
+ pattern color=red
+ ]
+ (0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+\end{docPatternKeys}
+
+
+\begin{docPatternKey}{angle}{=\meta{angle}}{no default, initially |0|}
+ The pattern is rotated by the given \meta{angle}.
+ \par
+ Note that for \docValue*{hexagon grid} is valid, that a pattern is shifted first and rotated afterwards.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ pattern hexagon grid =
+ {
+ angle = 15,
+ },
+ pattern color=red
+ ]
+(0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+\end{docPatternKey}
+
+
+
+\begin{docPatternKey}{line width}{=\meta{length}}{no default, initially |0.4pt|}
+ Sets the \meta{length} value of the line width.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ pattern hexagon grid =
+ {
+ line width = 2mm,
+ },
+ pattern color=red
+ ]
+(0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+\end{docPatternKey}
+
+
+\clearpage
+%-------------------------------------------------------------------------------
+\subsection{Hexagon Cycle}
+The \docValue{hexagon cycle} pattern draws several hexagon rings in a cyclic manor.
+A single pattern is one of two different \emph{bands}, called band 0 and band 1.
+
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ pattern = { hexagon cycle
+ [
+ size = 5mm, angle = 15
+ ]},
+ pattern color=red
+ ]
+ (0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+
+Both bands together build a uniform combined pattern.
+
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ preaction = {
+ pattern = { hexagon cycle
+ [
+ size = 5mm, angle = 15, band = 1
+ ]},
+ pattern color=blue },
+ pattern = { hexagon cycle
+ [
+ size = 5mm, angle = 15, band = 0
+ ]},
+ pattern color=red
+ ]
+ (0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+
+\begin{docTikzKey}{pattern hexagon cycle}{=\marg{pattern keys}}{style, no default}
+ Convenience shortcut for setting the combined pattern (in one color).
+
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ pattern hexagon cycle =
+ {
+ size = 5mm, angle = 15
+ },
+ pattern color=red
+ ]
+ (0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+\clearpage
+
+\begin{docPatternKey}{size}{=\meta{size}}{no default, initially |8mm|}
+ The given \meta{size} denotes the length of an edge of one hexagonical tile
+ where the (smaller) hexagons are located in.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ pattern hexagon cycle =
+ {
+ size = 5mm,
+ },
+ pattern color=red
+ ]
+ (0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+\end{docPatternKey}
+
+
+\begin{docPatternKeys}
+ {
+ {
+ doc name = xshift,
+ doc parameter = {=\meta{xshift}},
+ doc description = {no default, initially |0pt|}
+ },
+ {
+ doc name = yshift,
+ doc parameter = {=\meta{yshift}},
+ doc description = {no default, initially |0pt|}
+ }
+ }
+ The pattern is shifted by \meta{xshift} and \meta{yshift}.
+ \par
+ Note that for \docValue*{hexagon cycle} is valid, that a pattern is shifted first and rotated afterwards.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ postaction={pattern={hexagon grid}, pattern color=blue},
+ pattern hexagon cycle =
+ {
+ xshift=3mm, yshift=1mm,
+ },
+ pattern color=red
+ ]
+ (0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+\end{docPatternKeys}
+
+
+\begin{docPatternKey}{angle}{=\meta{angle}}{no default, initially |0|}
+ The pattern is rotated by the given \meta{angle}.
+ \par
+ Note that for \docValue*{hexagon cycle} is valid, that a pattern is shifted first and rotated afterwards.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ pattern hexagon cycle =
+ {
+ angle = 15,
+ },
+ pattern color=red
+ ]
+(0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+\end{docPatternKey}
+
+
+\clearpage
+
+
+\begin{docPatternKey}{rings}{=\meta{number}}{no default, initially |3|}
+ Sets the \meta{number} of rings as $0, 1, 2, 3, \ldots$
+
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ pattern hexagon cycle =
+ {
+ rings = 2,
+ },
+ pattern color=red
+ ]
+(0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+\end{docPatternKey}
+
+
+\begin{docPatternKey}{gap}{=\meta{value}}{no default, initially |1|}
+ Sets the gap between two rings as \meta{value} times the line width of a ring.
+ \meta{value} has to be greater or equal $0.01$.
+
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ pattern hexagon cycle =
+ {
+ gap = 0.5,
+ },
+ pattern color=red
+ ]
+(0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+\end{docPatternKey}
+
+
+\begin{docPatternKey}{band}{=\meta{number}}{no default, initially |0|}
+ \meta{number} can take 0 or 1 and denotes one of two different bands of the pattern.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ preaction = { pattern={hexagon cycle[
+ band=1, gap=0.5 ]}, pattern color=blue },
+ pattern={hexagon cycle[band=0,rings=2]},
+ pattern color=red
+ ]
+ (0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+\end{docPatternKey}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\clearpage
+\section{Rhombus Pattern Library}\label{sec:rhombus}%
+
+\begin{dispListing*}{title=\tikzname\ Library |fill.rhombus|}
+\usetikzlibrary{fill.rhombus} % LATEX (primary choice) and plain TEX
+\usetikzlibrary[fill.rhombus] % ConTEXt
+\usepackage{tikzfill.rhombus} % LATEX (secondary choice)
+\end{dispListing*}
+
+Based on |patterns.meta|, this library defines new rhombus patterns to fill graphs.
+
+%-------------------------------------------------------------------------------
+\subsection{Rhombus}
+The \docValue{rhombus} pattern draws rhombi or diamonds. The rhombi may be
+filled or outlined and can be arranged in different \emph{bands}, called band 0, band 1, and band 2.
+
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ pattern = { rhombus
+ [
+ size = 8mm, angle = 15
+ ]},
+ pattern color=red
+ ]
+ (0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+
+
+\begin{docTikzKey}{pattern rhombus}{=\marg{pattern keys}}{style, no default}
+ Convenience shortcut for setting the pattern to \docValue{rhombus}:
+\begin{dispListing}
+ pattern = { rhombus [ ... ] }
+\end{dispListing}
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ pattern rhombus =
+ {
+ size = 8mm, angle = 15
+ },
+ pattern color=red
+ ]
+ (0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+\end{docTikzKey}
+
+
+\begin{docPatternKey}{size}{=\meta{size}}{no default, initially |10mm|}
+ The given \meta{size} denotes the length of an edge of one rhombical tile
+ where the (possibly smaller) rhombus is located in.
+
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ pattern rhombus =
+ {
+ size = 5mm,
+ },
+ pattern color=red
+ ]
+ (0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+\end{docPatternKey}
+
+\clearpage
+
+\begin{docPatternKey}{fill}{}{no value, initially set}
+ Sets the rhombi to be filled. |fill| and |draw| are mutually exclusionary.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ pattern rhombus =
+ {
+ fill,
+ },
+ pattern color=red
+ ]
+ (0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+\end{docPatternKey}
+
+
+\begin{docPatternKey}{draw}{}{no value, initially unset}
+ Sets the rhombi to be outlined. |fill| and |draw| are mutually exclusionary.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ pattern rhombus =
+ {
+ draw,
+ },
+ pattern color=red
+ ]
+ (0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+\end{docPatternKey}
+
+
+\begin{docPatternKey}{line width}{=\meta{length}}{no default, initially |0.4pt|}
+ Sets the \meta{length} value of the line width. This is only relevant, if
+ the rhombi are not filled.
+
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ pattern rhombus =
+ {
+ line width = 1mm, draw
+ },
+ pattern color=red
+ ]
+(0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+\end{docPatternKey}
+
+
+\begin{docPatternKey}{angle}{=\meta{angle}}{no default, initially |-40|}
+ The pattern is rotated by the given \meta{angle}.
+ \par
+ Note that for \docValue*{rhombus} is valid, that a pattern is rotated first and shifted afterwards.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ pattern rhombus =
+ {
+ angle = 15,
+ },
+ pattern color=red
+ ]
+(0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+\end{docPatternKey}
+
+\clearpage
+
+\begin{docPatternKeys}
+ {
+ {
+ doc name = xshift,
+ doc parameter = {=\meta{xshift}},
+ doc description = {no default, initially |0pt|}
+ },
+ {
+ doc name = yshift,
+ doc parameter = {=\meta{yshift}},
+ doc description = {no default, initially |0pt|}
+ }
+ }
+ The pattern is shifted by \meta{xshift} and \meta{yshift}.
+ \par
+ Note that for \docValue*{rhombus} is valid, that a pattern is rotated first and shifted afterwards.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ preaction={pattern rhombus, pattern color=blue},
+ pattern rhombus =
+ {
+ xshift=3mm, yshift=1mm,
+ },
+ pattern color=red
+ ]
+ (0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+\end{docPatternKeys}
+
+
+
+\begin{docPatternKey}{ratio}{=\meta{value}}{no default, initially |2|}
+ Sets the \meta{value} of the ratio
+ between the longer diagonal and the shorter diagonal.
+ Therefore, $\text{\meta{value}}\ge 1$.
+
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ pattern rhombus =
+ {
+ ratio = 4
+ },
+ pattern color=red
+ ]
+(0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+\end{docPatternKey}
+
+
+
+\begin{docPatternKey}{pos}{=\meta{value}}{no default, initially |1|}
+ Sets the edge position with a \meta{value} between 0 and 1, where $0$ is
+ the center and $1$ the outer rim of the rhombical tile.
+
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ preaction={ pattern rhombus={pos=1},
+ pattern color=blue },
+ preaction={ pattern rhombus={pos=0.8},
+ pattern color=blue!80!red },
+ preaction={ pattern rhombus={pos=0.6},
+ pattern color=blue!60!red },
+ preaction={ pattern rhombus={pos=0.4},
+ pattern color=blue!40!red },
+ pattern rhombus={pos=0.2},
+ pattern color=blue!20!red,
+ ]
+(0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+\end{docPatternKey}
+
+\clearpage
+
+
+\begin{docPatternKey}{band}{=\meta{number}}{no default, initially |0|}
+ \meta{number} can take 0, 1, or 2.
+ Here, 0 and 1 denote one of two different bands of the pattern,
+ while 2 denotes the comination of both.
+\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
+\begin{tikzpicture}
+\draw[
+ preaction = {
+ pattern rhombus = {
+ pos = 0.8, band = 0 },
+ pattern color=red },
+ pattern rhombus = {
+ pos = 0.8, band = 1
+ },
+ pattern color=blue
+ ] (0,0) rectangle (4,4);
+\end{tikzpicture}
+
+\begin{tikzpicture}
+\draw[
+ pattern rhombus = {
+ pos = 0.8, band = 2
+ },
+ pattern color=red
+ ] (0,0) rectangle (4,4);
+\end{tikzpicture}
+\end{dispExample*}
+\end{docPatternKey}
+
+\clearpage
+
+\printindex
+
+\end{document}