diff options
author | Karl Berry <karl@freefriends.org> | 2019-01-05 22:40:38 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-01-05 22:40:38 +0000 |
commit | 22536bb2b5257046d271b1eaa11b4a275d5ec041 (patch) | |
tree | 2500eaf5c26b11e00ebd33a64fccfa332cd5a66c /Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-matrices.tex | |
parent | cf794f0e2db6857972a9d48d4466a4f03a7057a0 (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.tex | 214 |
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" |