summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-matrices.tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-01-05 22:40:38 +0000
committerKarl Berry <karl@freefriends.org>2019-01-05 22:40:38 +0000
commit22536bb2b5257046d271b1eaa11b4a275d5ec041 (patch)
tree2500eaf5c26b11e00ebd33a64fccfa332cd5a66c /Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-matrices.tex
parentcf794f0e2db6857972a9d48d4466a4f03a7057a0 (diff)
pgf (5jan19)
git-svn-id: svn://tug.org/texlive/trunk@49607 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-matrices.tex')
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-matrices.tex214
1 files changed, 112 insertions, 102 deletions
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-matrices.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-matrices.tex
index 2a697d768e7..5eaed540fa0 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-matrices.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-matrices.tex
@@ -11,26 +11,26 @@
\section{Matrix Library}
\begin{tikzlibrary}{matrix}
- This library package defines additional styles and options for
- creating matrices.
+ This library package defines additional styles and options for creating
+ matrices.
\end{tikzlibrary}
\subsection{Matrices of Nodes}
-A \emph{matrix of nodes} is a \tikzname\ matrix in which each cell
-contains a node. In this case it is bothersome having to write
-|\node{| at the beginning of each cell and |};| at the end of each
-cell. The following key simplifies typesetting such matrices.
+A \emph{matrix of nodes} is a \tikzname\ matrix in which each cell contains a
+node. In this case it is bothersome having to write |\node{| at the beginning
+of each cell and |};| at the end of each cell. The following key simplifies
+typesetting such matrices.
\begin{key}{/tikz/matrix of nodes}
- Conceptually, this key adds |\node{| at the beginning and |};| at
- the end of each cell and sets the |anchor| of the node to
- |base|. Furthermore, it adds the option |name| option to each node,
- where the name is set to \meta{matrix name}|-|\meta{row
- number}|-|\meta{column number}. For example, if the matrix has
- the name |my matrix|, then the node in the upper left cell will get
- the name |my matrix-1-1|.
+ Conceptually, this key adds |\node{| at the beginning and |};| at the end
+ of each cell and sets the |anchor| of the node to |base|. Furthermore, it
+ adds the option |name| option to each node, where the name is set to
+ \meta{matrix name}|-|\meta{row number}|-|\meta{column number}. For
+ example, if the matrix has the name |my matrix|, then the node in the
+ upper left cell will get the name |my matrix-1-1|.
+ %
\begin{codeexample}[]
\begin{tikzpicture}
\matrix (magic) [matrix of nodes]
@@ -44,13 +44,13 @@ cell. The following key simplifies typesetting such matrices.
\end{tikzpicture}
\end{codeexample}
- You may wish to add options to certain nodes in the matrix. This can
- be achieved in three ways.
- \begin{enumerate}
- \item You can modify, say, the
- |row 2 column 3| style to pass special options to this particular
- cell.
-
+ You may wish to add options to certain nodes in the matrix. This can be
+ achieved in three ways.
+ %
+ \begin{enumerate}
+ \item You can modify, say, the |row 2 column 3| style to pass special
+ options to this particular cell.
+ %
\begin{codeexample}[]
\begin{tikzpicture}[row 2 column 3/.style=red]
\matrix [matrix of nodes]
@@ -61,10 +61,11 @@ cell. The following key simplifies typesetting such matrices.
};
\end{tikzpicture}
\end{codeexample}
-
- \item At the beginning of a cell, you can use a special syntax. If a
- cell starts with a vertical bar, then everything between this bar
- and the next bar is passed on to the |node| command.
+ %
+ \item At the beginning of a cell, you can use a special syntax. If a
+ cell starts with a vertical bar, then everything between this bar
+ and the next bar is passed on to the |node| command.
+ %
{\catcode`\|=12
\begin{codeexample}[]
\begin{tikzpicture}
@@ -77,11 +78,13 @@ cell. The following key simplifies typesetting such matrices.
\end{tikzpicture}
\end{codeexample}
}
- You can also use an option like \verb!|[red] (seven)|! to give a
- different name to the node.
+ %
+ You can also use an option like \verb!|[red] (seven)|! to give a
+ different name to the node.
- Note that the |&| character also takes an optional argument, which
- is an extra column skip.
+ Note that the |&| character also takes an optional argument, which
+ is an extra column skip.
+ %
{\catcode`\|=12
\begin{codeexample}[]
\begin{tikzpicture}
@@ -94,12 +97,12 @@ cell. The following key simplifies typesetting such matrices.
\end{tikzpicture}
\end{codeexample}
}
- \item If your cell starts with a |\path| command or any command that
- expands to |\path|, which includes |\draw|, |\node|, |\fill| and
- others, the |\node{| startup code and the |};| code are
- suppressed. This means that for this particular cell you can
- provide totally different contents.
-
+ \item If your cell starts with a |\path| command or any command that
+ expands to |\path|, which includes |\draw|, |\node|, |\fill| and
+ others, the |\node{| startup code and the |};| code are suppressed.
+ This means that for this particular cell you can provide totally
+ different contents.
+ %
\begin{codeexample}[]
\begin{tikzpicture}
\matrix [matrix of nodes]
@@ -110,13 +113,14 @@ cell. The following key simplifies typesetting such matrices.
};
\end{tikzpicture}
\end{codeexample}
- \end{enumerate}
+ \end{enumerate}
\end{key}
\begin{key}{/tikz/matrix of math nodes}
- This style is almost the same as the previous style, only |$| is %$
- added at the beginning and at the end of each node, so math mode
- will be switched on in all nodes.
+ This style is almost the same as the previous style, only |$| is added %$
+ at the beginning and at the end of each node, so math mode will be switched
+ on in all nodes.
+ %
{\catcode`\|=12
\begin{codeexample}[]
\begin{tikzpicture}
@@ -132,10 +136,10 @@ cell. The following key simplifies typesetting such matrices.
\end{key}
\begin{key}{/tikz/nodes in empty cells=\meta{true or false} (default true)}
- When set to |true|, a node (with empty contents) is put in empty
- cells. Normally, empty cells are just, well, empty. The style can be
- used together with both a |matrix of nodes| and a
- |matrix of math nodes|.
+ When set to |true|, a node (with empty contents) is put in empty cells.
+ Normally, empty cells are just, well, empty. The style can be used together
+ with both a |matrix of nodes| and a |matrix of math nodes|.
+ %
\begin{codeexample}[]
\begin{tikzpicture}
\matrix [matrix of math nodes,nodes={circle,draw}]
@@ -146,6 +150,7 @@ cell. The following key simplifies typesetting such matrices.
};
\end{tikzpicture}
\end{codeexample}
+ %
\begin{codeexample}[]
\begin{tikzpicture}
\matrix [matrix of math nodes,nodes={circle,draw},nodes in empty cells]
@@ -156,20 +161,22 @@ cell. The following key simplifies typesetting such matrices.
};
\end{tikzpicture}
\end{codeexample}
+ %
\end{key}
\subsection{End-of-Lines and End-of-Row Characters in Matrices of Nodes}
-Special care must be taken about the usage of the |\\| command inside
-a matrix of nodes. The reason is that this character is overloaded in
-\TeX: On the one hand, it is used to denote the end of a line in
-normal text; on the other hand it is used to denote the end of a row
-in a matrix. Now, if a matrix contains node which in turn may have
-multiple lines, it is unclear which meaning of |\\| should be used.
+Special care must be taken about the usage of the |\\| command inside a matrix
+of nodes. The reason is that this character is overloaded in \TeX: On the one
+hand, it is used to denote the end of a line in normal text; on the other hand
+it is used to denote the end of a row in a matrix. Now, if a matrix contains
+node which in turn may have multiple lines, it is unclear which meaning of |\\|
+should be used.
-This problem arises only when you use the |text width| option of
-nodes. Suppose you write a line like
+This problem arises only when you use the |text width| option of nodes. Suppose
+you write a line like
+%
\begin{codeexample}[code only]
\matrix [text width=5cm,matrix of nodes]
{
@@ -177,27 +184,28 @@ nodes. Suppose you write a line like
second row & hmm \\
};
\end{codeexample}
-This leaves \TeX\ trying to riddle out how many rows this matrix
-should have. Do you want two rows with the upper right cell containing
-a two-line text. Or did you mean a three row matrix with the second
-row having only one cell?
+%
+This leaves \TeX\ trying to riddle out how many rows this matrix should have.
+Do you want two rows with the upper right cell containing a two-line text. Or
+did you mean a three row matrix with the second row having only one cell?
Since \TeX\ is not clairvoyant, the following rules are used:
+%
\begin{enumerate}
-\item Inside a matrix, the |\\| command, by default, signals the end
- of the row, not the end of a line in a cell.
-\item However, there is an exception to this rule: If a cell
- starts with a \TeX-group (this is, with |{|), % }
- then inside this first group the |\\| command retains the meaning of
- ``end of line'' character. Note that this special rule works only
- for the first group in a cell and this group must be at the
- beginning.
+ \item Inside a matrix, the |\\| command, by default, signals the end of the
+ row, not the end of a line in a cell.
+ \item However, there is an exception to this rule: If a cell starts with a
+ \TeX-group (this is, with |{|), then inside this first group the |\\|
+ command retains the meaning of ``end of line'' character. Note that
+ this special rule works only for the first group in a cell and this
+ group must be at the beginning.
\end{enumerate}
-The net effect of these rules is the following: Normally, |\\| is an
-end-of-row indicator; if you want to use it as an end-of-line
-indicator in a cell, just put the whole cell in curly braces. The
-following example illustrates the difference:
+The net effect of these rules is the following: Normally, |\\| is an end-of-row
+indicator; if you want to use it as an end-of-line indicator in a cell, just
+put the whole cell in curly braces. The following example illustrates the
+difference:
+%
\begin{codeexample}[]
\begin{tikzpicture}
\matrix [matrix of nodes,nodes={text width=16mm,draw}]
@@ -217,27 +225,28 @@ following example illustrates the difference:
\end{tikzpicture}
\end{codeexample}
-Note that this system is not fool-proof. If you write things like
-|a&b{c\\d}\\| in a matrix of nodes, an error will result (because the
-second cell did not start with a brace, so |\\| retained its normal
-meaning and, thus, the second cell contained the text |b{c|, which is
-not balanced with respect to the number of braces).
+Note that this system is not fool-proof. If you write things like |a&b{c\\d}\\|
+in a matrix of nodes, an error will result (because the second cell did not
+start with a brace, so |\\| retained its normal meaning and, thus, the second
+cell contained the text |b{c|, which is not balanced with respect to the number
+of braces).
+
\subsection{Delimiters}
-Delimiters are parentheses or braces to the left and right of a
-formula or a matrix. The matrix library offers options for adding such
-delimiters to a matrix. However, delimiters can actually be added to
-any node that has the standard anchors |north|, |south|, |north west|
-and so on. In particular, you can add delimiters to any |rectangle|
-box. They are implemented by ``measuring the height'' of the node and
-then adding a delimiter of the correct size to the left or right using
-some after node magic.
+Delimiters are parentheses or braces to the left and right of a formula or a
+matrix. The matrix library offers options for adding such delimiters to a
+matrix. However, delimiters can actually be added to any node that has the
+standard anchors |north|, |south|, |north west| and so on. In particular, you
+can add delimiters to any |rectangle| box. They are implemented by ``measuring
+the height'' of the node and then adding a delimiter of the correct size to the
+left or right using some after node magic.
\begin{key}{/tikz/left delimiter=\meta{delimiter}}
- This option can be given to a any node that has the standard anchors
- |north|, |south| and so on. The \meta{delimiter} can be any
- delimiter that is acceptable to \TeX's |\left| command.
+ This option can be given to a any node that has the standard anchors
+ |north|, |south| and so on. The \meta{delimiter} can be any delimiter that
+ is acceptable to \TeX's |\left| command.
+ %
\begin{codeexample}[]
\begin{tikzpicture}
\matrix [matrix of math nodes,left delimiter=(,right delimiter=\}]
@@ -256,13 +265,14 @@ some after node magic.
\end{tikzpicture}
\end{codeexample}
- \begin{stylekey}{/tikz/every delimiter (initially \normalfont empty)}
- This style is executed for every delimiter. You can use it to shift
- or color delimiters or do whatever.
- \end{stylekey}
+ \begin{stylekey}{/tikz/every delimiter (initially \normalfont empty)}
+ This style is executed for every delimiter. You can use it to shift or
+ color delimiters or do whatever.
+ \end{stylekey}
- \begin{stylekey}{/tikz/every left delimiter (initially \normalfont empty)}
- This style is additionally executed for every left delimiter.
+ \begin{stylekey}{/tikz/every left delimiter (initially \normalfont empty)}
+ This style is additionally executed for every left delimiter.
+ %
\begin{codeexample}[]
\begin{tikzpicture}
[every left delimiter/.style={red,xshift=1ex},
@@ -275,20 +285,21 @@ some after node magic.
};
\end{tikzpicture}
\end{codeexample}
- \end{stylekey}
+ \end{stylekey}
\end{key}
\begin{key}{/tikz/right delimiter=\meta{delimiter}}
- Works as above.
- \begin{stylekey}{/tikz/every right delimiter (initially \normalfont empty)}
Works as above.
- \end{stylekey}
+ %
+ \begin{stylekey}{/tikz/every right delimiter (initially \normalfont empty)}
+ Works as above.
+ \end{stylekey}
\end{key}
-
\begin{key}{/tikz/above delimiter=\meta{delimiter}}
- This option allows you to add a delimiter above the node. It is
- implemented by rotating a left delimiter.
+ This option allows you to add a delimiter above the node. It is implemented
+ by rotating a left delimiter.
+ %
\begin{codeexample}[]
\begin{tikzpicture}
\matrix [matrix of math nodes,%
@@ -302,20 +313,19 @@ some after node magic.
\end{tikzpicture}
\end{codeexample}
- \begin{stylekey}{/tikz/every above delimiter (initially \normalfont empty)}
- Works as above.
- \end{stylekey}
+ \begin{stylekey}{/tikz/every above delimiter (initially \normalfont empty)}
+ Works as above.
+ \end{stylekey}
\end{key}
\begin{key}{/tikz/below delimiter=\meta{delimiter}}
- Works as above.
- \begin{stylekey}{/tikz/every below delimiter (initially \normalfont empty)}
Works as above.
- \end{stylekey}
+ \begin{stylekey}{/tikz/every below delimiter (initially \normalfont empty)}
+ Works as above.
+ \end{stylekey}
\end{key}
-
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "pgfmanual-pdftex-version"