diff options
Diffstat (limited to 'Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-matrices.tex')
-rw-r--r-- | Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-matrices.tex | 541 |
1 files changed, 271 insertions, 270 deletions
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-matrices.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-matrices.tex index ca17510a797..edba1275d1e 100644 --- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-matrices.tex +++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-matrices.tex @@ -9,51 +9,46 @@ \section{Matrices} - \label{section-base-matrices} \begin{pgfmodule}{matrix} - The present section documents the commands of this module. +The present section documents the commands of this module. \end{pgfmodule} \subsection{Overview} Matrices are a mechanism for aligning several so-called cell pictures -horizontally and vertically. The resulting alignment is placed in a -normal node and the command for creating matrices, |\pgfmatrix|, takes -options very similar to the |\pgfnode| command. +horizontally and vertically. The resulting alignment is placed in a normal node +and the command for creating matrices, |\pgfmatrix|, takes options very similar +to the |\pgfnode| command. -In the following, the basic idea behind the alignment mechanism is -explained first. Then the command |\pgfmatrix| is explained. At the -end of the section, additional ways of modifying the width of columns -and rows are discussed. +In the following, the basic idea behind the alignment mechanism is explained +first. Then the command |\pgfmatrix| is explained. At the end of the section, +additional ways of modifying the width of columns and rows are discussed. \subsection{Cell Pictures and Their Alignment} -A matrix consists of rows of \emph{cells}. Cells are separated using -the special command |\pgfmatrixnextcell|, rows are ended using the -command |\pgfmatrixendrow| (the command |\\| is set up to mean the same -as |\pgfmatrixendrow| by default). Each cell contains a \emph{cell - picture}, although cell pictures are not complete pictures as they -lack layers. However, each cell picture has its own bounding box like a -normal picture does. These bounding boxes are important for the -alignment as explained in the following. - -Each cell picture will have an origin somewhere in the picture (or -even outside the picture). The position of these origins are important -for the alignment: On each row the origins will be on the same -horizontal line and for each column the origins will also be on the -same vertical line. These two requirements mean that the cell pictures -may need to be shifted around so that the origins wind up on the same -lines. The top of a row is given by the top of the cell picture whose -bounding box's maximum $y$-position is largest. Similarly, the bottom -of a row is given by the bottom of the cell picture whose bounding -box's minimum $y$-position is the most negative. Similarly, the left -end of a row is given by the left end of the cell whose bounding box's -$x$-position is the most negative; and similarly for the right end of -a row. - +A matrix consists of rows of \emph{cells}. Cells are separated using the +special command |\pgfmatrixnextcell|, rows are ended using the command +|\pgfmatrixendrow| (the command |\\| is set up to mean the same as +|\pgfmatrixendrow| by default). Each cell contains a \emph{cell picture}, +although cell pictures are not complete pictures as they lack layers. However, +each cell picture has its own bounding box like a normal picture does. These +bounding boxes are important for the alignment as explained in the following. + +Each cell picture will have an origin somewhere in the picture (or even outside +the picture). The position of these origins are important for the alignment: On +each row the origins will be on the same horizontal line and for each column +the origins will also be on the same vertical line. These two requirements mean +that the cell pictures may need to be shifted around so that the origins wind +up on the same lines. The top of a row is given by the top of the cell picture +whose bounding box's maximum $y$-position is largest. Similarly, the bottom of +a row is given by the bottom of the cell picture whose bounding box's minimum +$y$-position is the most negative. Similarly, the left end of a column is given +by the left end of the cell whose bounding box's $x$-position is the most +negative; and similarly for the right end of a column. +% \begin{codeexample}[] \begin{tikzpicture}[x=3mm,y=3mm,fill=blue!50] \def\atorig#1{\node[black] at (0,0) {\tiny #1};} @@ -78,47 +73,45 @@ a row. All matrices are typeset using the following command: -\begin{command}{\pgfmatrix\marg{shape}\marg{anchor}\marg{name}% - \marg{usage}\marg{shift}\marg{pre-code}\marg{matrix cells}} - - This command creates a node that contains a matrix. The name of the - node is \meta{name}, its shape is \meta{shape} and the node is - anchored at \meta{anchor}. - - The \meta{matrix cell} parameter contains the cells of the - matrix. In each cell drawing commands may be given, which create a - so-called cell picture. For each cell picture a bounding box is - computed and the cells are aligned according to the rules outlined - in the previous section. - - The resulting matrix is used as the |text| box of the node. As for a - normal node, the \meta{usage} commands are applied, so that the - path(s) of the resulting node is (are) stroked or filled or whatever. - - \medskip - \textbf{Specifying the cells and rows.\ } - Even though this command uses |\halign| internally, there are two - special rules for indicating cells: - \begin{enumerate} - \item Cells in the same row must be separated using the macro - |\pgfmatrixnextcell| rather than |&|. Using |&| will result in an - error message. - - However, you can make |&| an active character and have it expand - to |\pgfmatrixnextcell|. This way, it will ``look'' as if |&| is - used. - \item Rows are ended using the command |\pgfmatrixendrow|, but |\\| - is set up to mean the same by default. However, some environments - like |{minipage}| redefine |\\|, so it is good to have - |\pgfmatrixendrow| as a ``fallback.'' - \item Every row \emph{including the last row} must be ended using - the command |\\| or |\pgfmatrixendrow|. - \end{enumerate} - - Both |\pgfmatrixnextcell| and |\pgfmatrixendrow| (and, thus, also - |\\|) take an optional argument as explained in the - Section~\ref{section-matrix-spacing} - +\begin{command}{\pgfmatrix\marg{shape}\marg{anchor}\marg{name}\marg{usage}\marg{shift}\marg{pre-code}\marg{matrix cells}} + This command creates a node that contains a matrix. The name of the node is + \meta{name}, its shape is \meta{shape} and the node is anchored at + \meta{anchor}. + + The \meta{matrix cell} parameter contains the cells of the matrix. In each + cell drawing commands may be given, which create a so-called cell picture. + For each cell picture a bounding box is computed and the cells are aligned + according to the rules outlined in the previous section. + + The resulting matrix is used as the |text| box of the node. As for a normal + node, the \meta{usage} commands are applied, so that the path(s) of the + resulting node is (are) stroked or filled or whatever. + + + \medskip + \textbf{Specifying the cells and rows.\ } + Even though this command uses |\halign| internally, there are two special + rules for indicating cells: + % + \begin{enumerate} + \item Cells in the same row must be separated using the macro + |\pgfmatrixnextcell| rather than |&|. Using |&| will result in an + error message. + + However, you can make |&| an active character and have it expand to + |\pgfmatrixnextcell|. This way, it will ``look'' as if |&| is used. + \item Rows are ended using the command |\pgfmatrixendrow|, but |\\| is + set up to mean the same by default. However, some environments like + |{minipage}| redefine |\\|, so it is good to have + |\pgfmatrixendrow| as a ``fallback''. + \item Every row \emph{including the last row} must be ended using the + command |\\| or |\pgfmatrixendrow|. + \end{enumerate} + + Both |\pgfmatrixnextcell| and |\pgfmatrixendrow| (and, thus, also |\\|) + take an optional argument as explained in the + Section~\ref{section-matrix-spacing} + % \begin{codeexample}[] \begin{tikzpicture} \pgfmatrix{rectangle}{center}{mymatrix} @@ -130,170 +123,178 @@ All matrices are typeset using the following command: \end{tikzpicture} \end{codeexample} - \medskip - \textbf{Anchoring matrices at nodes inside the matrix.\ } - The parameter \meta{shift} is an additional negative shift for the - node. Normally, such a shift could be given beforehand (that is, the - shift could be preapplied to the current transformation - matrix). However, when \meta{shift} is evaluated, you can refer to - \emph{temporary} positions of nodes inside the matrix. In detail, - the following happens: When the matrix has been typeset, all nodes - in the matrix temporarily get assigned their positions in the matrix - box. The origin of this coordinate system is at the left baseline - end of the matrix box, which corresponds to the |text| anchor. The - position \meta{shift} is then interpreted inside this coordinate - system and then used for shifting. - - This allows you to use the parameter \meta{shift} in the following - way: If you use |text| as the \meta{anchor} and specify - |\pgfpointanchor{inner node}{some anchor}| for the parameter - \meta{shift}, where |inner node| is a node that - is created in the matrix, then the whole matrix will be shifted such - that |inner node.some anchor| lies at the origin of the whole - picture. - - \medskip - \textbf{Rotations and scaling.\ } - The matrix node is never rotated or shifted, because the current - coordinate transformation matrix is reset (except for the - translational part) at the beginning of |\pgfmatrix|. This is - intentional and will not change in the future. If you need to rotate - the matrix, you must install an appropriate canvas transformation - yourself. - - However, nodes and stuff inside the cell pictures can be rotated and - scaled normally. - - \medskip - \textbf{Callbacks.\ } - At the beginning and at the end of each cell the special macros - |\pgfmatrixbegincode|, |\pgfmatrixendcode| and possibly - |\pgfmatrixemptycode| are called. The effect is explained in - Section~\ref{section-matrix-callbacks}. - - \medskip - \textbf{Executing extra code.\ } - The parameter \meta{pre-code} is executed at the beginning of the - outermost \TeX-group enclosing the matrix node. It is inside this - \TeX-group, but outside the matrix itself. It can be used - for different purposes: - \begin{enumerate} - \item It can be used to simplify the next cell macro. For example, - saying |\let\&=\pgfmatrixnextcell| allows you to use |\&| instead - of |\pgfmatrixnextcell|. You can also set the catcode of |&| to - active. - \item It can be used to issue an |\aftergroup| command. This allows - you to regain control after the |\pgfmatrix| command. (If you do - not know the |\aftergroup| command, you are probably blessed with - a simple and happy life.) - \end{enumerate} - - \medskip - \textbf{Special considerations concerning macro expansion.\ } - As said before, the matrix is typeset using |\halign| - internally. This command does a lot of strange and magic things like - expanding the first macro of every cell in a most unusual - manner. Here are some effects you may wish to be aware of: - \begin{itemize} - \item It is not necessary to actually mention |\pgfmatrixnextcell| - or |\pgfmatrixendrow| inside the \meta{matrix cells}. It suffices - that the macros inside \meta{matrix cells} expand to these macros - sooner or later. - \item In particular, you can define clever macros that insert - columns and rows as needed for special effects. - \end{itemize} + + \medskip + \textbf{Anchoring matrices at nodes inside the matrix.\ } + The parameter \meta{shift} is an additional negative shift for the node. + Normally, such a shift could be given beforehand (that is, the shift could + be preapplied to the current transformation matrix). However, when + \meta{shift} is evaluated, you can refer to \emph{temporary} positions of + nodes inside the matrix. In detail, the following happens: When the matrix + has been typeset, all nodes in the matrix temporarily get assigned their + positions in the matrix box. The origin of this coordinate system is at the + left baseline end of the matrix box, which corresponds to the |text| + anchor. The position \meta{shift} is then interpreted inside this + coordinate system and then used for shifting. + + This allows you to use the parameter \meta{shift} in the following way: If + you use |text| as the \meta{anchor} and specify + |\pgfpointanchor{inner node}{some anchor}| for the parameter \meta{shift}, + where |inner node| is a node that is created in the matrix, then the whole + matrix will be shifted such that |inner node.some anchor| lies at the + origin of the whole picture. + + + \medskip + \textbf{Rotations and scaling.\ } + The matrix node is never rotated or scaled, because the current coordinate + transformation matrix is reset (except for the translational part) at the + beginning of |\pgfmatrix|. This is intentional and will not change in the + future. If you need to rotate or scale the matrix, you must install an + appropriate canvas transformation yourself. + + However, nodes and stuff inside the cell pictures can be rotated and scaled + normally. + + + \medskip + \textbf{Callbacks.\ } + At the beginning and at the end of each cell the special macros + |\pgfmatrixbegincode|, |\pgfmatrixendcode| and possibly + |\pgfmatrixemptycode| are called. The effect is explained in + Section~\ref{section-matrix-callbacks}. + + + \medskip + \textbf{Executing extra code.\ } + The parameter \meta{pre-code} is executed at the beginning of the outermost + \TeX-group enclosing the matrix node. It is inside this \TeX-group, but + outside the matrix itself. It can be used for different purposes: + % + \begin{enumerate} + \item It can be used to simplify the next cell macro. For example, + saying |\let\&=\pgfmatrixnextcell| allows you to use |\&| instead + of |\pgfmatrixnextcell|. You can also set the catcode of |&| to + active. + \item It can be used to issue an |\aftergroup| command. This allows you + to regain control after the |\pgfmatrix| command. (If you do not + know the |\aftergroup| command, you are probably blessed with a + simple and happy life.) + \end{enumerate} + + + \medskip + \textbf{Special considerations concerning macro expansion.\ } + As said before, the matrix is typeset using |\halign| internally. This + command does a lot of strange and magic things like expanding the first + macro of every cell in a most unusual manner. Here are some effects you may + wish to be aware of: + % + \begin{itemize} + \item It is not necessary to actually mention |\pgfmatrixnextcell| or + |\pgfmatrixendrow| inside the \meta{matrix cells}. It suffices that + the macros inside \meta{matrix cells} expand to these macros + sooner or later. + \item In particular, you can define clever macros that insert columns + and rows as needed for special effects. + \end{itemize} \end{command} \subsection{Row and Column Spacing} \label{section-matrix-spacing} -It is possible to control the space between columns and rows rather -detailedly. Two commands are important for the row spacing and two -commands for the column spacing. +It is possible to control the space between columns and rows rather detailedly. +Two commands are important for the row spacing and two commands for the column +spacing. \begin{command}{\pgfsetmatrixcolumnsep\marg{sep list}} - This macro sets the default separation list for columns. The details of the - format of this list are explained in the description of the next command. + This macro sets the default separation list for columns. The details of the + format of this list are explained in the description of the next command. \end{command} \begin{command}{\pgfmatrixnextcell\opt{\oarg{additional sep list}}} - This command has two purposes: First, it is used to separate - cells. Second, by providing the optional argument \meta{additional - sep list} you can modify the spacing between the columns that are - separated by this command. - - The optional \meta{additional sep list} may only be provided when - the |\pgfmatrixnextcell| command starts a new column. Normally, this - will only be the case in the first row, but sometimes a later row - has more elements than the first row. In this case, the - |\pgfmatrixnextcell| commands that start the new columns in the - later row may also have the optional argument. Once a column has - been started, subsequent uses of this optional argument for the - column have no effect. - - To determine the space between the two columns that are separated by - |\pgfmatrixnextcell|, the following algorithm is executed: - \begin{enumerate} - \item Both the default separation list (as set up by - |\pgfsetmatrixcolumnsep|) and the \meta{additional sep list} are - processed, in this order. If the \meta{additional sep list} - argument is missing, only the default separation list is - processed. - \item Both lists may contain dimensions, separated by commas, as - well as occurrences of the keywords |between origins| and - |between borders|. - \item All dimensions occurring in either list are added together to - arrive at a dimension $d$. - \item The last occurrence of either of the keywords is located. If - neither keyword is present, we proceed as if |between borders| - were present. - \end{enumerate} - At the end of the algorithm, a dimension $d$ has been computed and - one of the two \emph{modes} |between borders| and |between origins| - has been determined. Depending on which mode has been determined, - the following happens: - \begin{itemize} - \item For the |between borders| mode, an additional horizontal space - of $d$ is added between the two columns. Note that $d$ may be - negative. - \item For the |between origins| mode, the spacing between the two - columns is computed differently: Recall that the origins of the - cell pictures in both pictures lie on two vertical lines. The - spacing between the two columns is set up such that the horizontal - distance between these two lines is exactly $d$. - - This mode may only be used between columns \emph{already - introduced in the first row}. - \end{itemize} - All of the above rules boil down to the following effects: - \begin{itemize} - \item A default spacing between columns should be set up using - |\pgfsetmatrixcolumnsep|. For example, you might say - |\pgfsetmatrixcolumnsep{5pt}| to have columns spaced apart by - |5pt|. You could say + This command has two purposes: First, it is used to separate cells. Second, + by providing the optional argument \meta{additional sep list} you can + modify the spacing between the columns that are separated by this command. + + The optional \meta{additional sep list} may only be provided when the + |\pgfmatrixnextcell| command starts a new column. Normally, this will only + be the case in the first row, but sometimes a later row has more elements + than the first row. In this case, the |\pgfmatrixnextcell| commands that + start the new columns in the later row may also have the optional argument. + Once a column has been started, subsequent uses of this optional argument + for the column have no effect. + + To determine the space between the two columns that are separated by + |\pgfmatrixnextcell|, the following algorithm is executed: + % + \begin{enumerate} + \item Both the default separation list (as set up by + |\pgfsetmatrixcolumnsep|) and the \meta{additional sep list} are + processed, in this order. If the \meta{additional sep list} + argument is missing, only the default separation list is processed. + \item Both lists may contain dimensions, separated by commas, as well + as occurrences of the keywords |between origins| and |between + borders|. + \item All dimensions occurring in either list are added together to + arrive at a dimension $d$. + \item The last occurrence of either of the keywords is located. If + neither keyword is present, we proceed as if |between borders| were + present. + \end{enumerate} + % + At the end of the algorithm, a dimension $d$ has been computed and one of + the two \emph{modes} |between borders| and |between origins| has been + determined. Depending on which mode has been determined, the following + happens: + % + \begin{itemize} + \item For the |between borders| mode, an additional horizontal space of + $d$ is added between the two columns. Note that $d$ may be + negative. + \item For the |between origins| mode, the spacing between the two + columns is computed differently: Recall that the origins of the + cell pictures in both pictures lie on two vertical lines. The + spacing between the two columns is set up such that the horizontal + distance between these two lines is exactly $d$. + + This mode may only be used between columns \emph{already introduced + in the first row}. + \end{itemize} + % + All of the above rules boil down to the following effects: + % + \begin{itemize} + \item A default spacing between columns should be set up using + |\pgfsetmatrixcolumnsep|. For example, you might say + |\pgfsetmatrixcolumnsep{5pt}| to have columns spaced apart by + |5pt|. You could say + % \begin{verbatim} \pgfsetmatrixcolumnsep{1cm,between origins} \end{verbatim} - to specify that horizontal space between the origins of cell - pictures in adjacent columns should be 1cm by default -- - regardless of the actual size of the cell pictures. - \item You can now use the optional argument of |\pgfmatrixnextcell| - to locally overrule the spacing between two columns. By saying - |\pgfmatrixnextcell[5pt]| you \emph{add} 5pt to the space between - of the two columns, regardless of the mode. - - You can also (locally) change the spacing mode for these two - columns. For example, even if the normal spacing mode is - |between origins|, you can say + % + to specify that horizontal space between the origins of cell + pictures in adjacent columns should be 1cm by default -- regardless + of the actual size of the cell pictures. + \item You can now use the optional argument of |\pgfmatrixnextcell| to + locally overrule the spacing between two columns. By saying + |\pgfmatrixnextcell[5pt]| you \emph{add} 5pt to the space between + of the two columns, regardless of the mode. + + You can also (locally) change the spacing mode for these two + columns. For example, even if the normal spacing mode is + |between origins|, you can say + % \begin{verbatim} \pgfmatrixnextcell[5pt,between borders] \end{verbatim} - to locally change the mode for these columns to - |between borders|. - \end{itemize} - - \begin{codeexample}[] + % + to locally change the mode for these columns to |between borders|. + \end{itemize} + % +\begin{codeexample}[] \begin{tikzpicture}[every node/.style=draw] \pgfsetmatrixcolumnsep{1mm} \pgfmatrix{rectangle}{center}{mymatrix} @@ -304,8 +305,9 @@ commands for the column spacing. \node {4}; \& \node{9}; \& \node {2}; \\ } \end{tikzpicture} - \end{codeexample} - \begin{codeexample}[] +\end{codeexample} + % +\begin{codeexample}[] \begin{tikzpicture}[every node/.style=draw] \pgfsetmatrixcolumnsep{1mm} \pgfmatrix{rectangle}{center}{mymatrix} @@ -318,8 +320,9 @@ commands for the column spacing. \draw [<->,red,thick,every node/.style=] (a.center) -- (b.center) node [above,midway] {11mm}; \end{tikzpicture} - \end{codeexample} - \begin{codeexample}[] +\end{codeexample} + % +\begin{codeexample}[] \begin{tikzpicture}[every node/.style=draw] \pgfsetmatrixcolumnsep{1cm,between origins} \pgfmatrix{rectangle}{center}{mymatrix} @@ -335,44 +338,42 @@ commands for the column spacing. {10mm}; \end{scope} \end{tikzpicture} - \end{codeexample} +\end{codeexample} + % \end{command} -The mechanism for the between-row-spacing is the same, only the -commands are called differently. - +The mechanism for the between-row-spacing is the same, only the commands are +called differently. \begin{command}{\pgfsetmatrixrowsep\marg{sep list}} - This macro sets the default separation list for rows. + This macro sets the default separation list for rows. \end{command} - - \begin{command}{\pgfmatrixendrow\opt{\oarg{additional sep list}}} - This command ends a line. The optional \meta{additional sep list} is - used to determine the spacing between the row being ended and the - next row. The modes and the computation of $d$ is done in the same - way as for columns. For the last row the optional argument has no - effect. - - Inside matrices (and only there) the command |\\| is set up to mean - the same as this command. + This command ends a line. The optional \meta{additional sep list} is used + to determine the spacing between the row being ended and the next row. The + modes and the computation of $d$ is done in the same way as for columns. + For the last row the optional argument has no effect. + + Inside matrices (and only there) the command |\\| is set up to mean the + same as this command. \end{command} \subsection{Callbacks} \label{section-matrix-callbacks} -There are three macros that get called at the beginning and end of -cells. By redefining these macros, which are empty by default, you can -change the appearance of cells in a very general manner. +There are three macros that get called at the beginning and end of cells. By +redefining these macros, which are empty by default, you can change the +appearance of cells in a very general manner. \begin{command}{\pgfmatrixemptycode} - This macro is executed for empty cells. This means that \pgfname\ - uses some macro magic to determine whether a cell is empty (it - immediately ends with |\pgfmatrixemptycode| or |\pgfmatrixendrow|) - and, if so, put this macro inside the cell. - \begin{codeexample}[] + This macro is executed for empty cells. This means that \pgfname\ uses some + macro magic to determine whether a cell is empty (it immediately ends with + |\pgfmatrixemptycode| or |\pgfmatrixendrow|) and, if so, put this macro + inside the cell. + % +\begin{codeexample}[] \begin{tikzpicture} \def\pgfmatrixemptycode{\node{empty};} \pgfmatrix{rectangle}{center}{mymatrix} @@ -382,17 +383,18 @@ change the appearance of cells in a very general manner. \& \node{c}; \& \node {d}; \& \\ } \end{tikzpicture} - \end{codeexample} - As can be seen, the macro is not executed for empty cells at the end - of row when columns are added only later on. +\end{codeexample} + % + As can be seen, the macro is not executed for empty cells at the end of row + when columns are added only later on. \end{command} - \begin{command}{\pgfmatrixbegincode} - This macro is executed at the beginning of non-empty - cells. Correspondingly, |\pgfmatrixendcode| is added at - the end of every non-empty cell. - \begin{codeexample}[] + This macro is executed at the beginning of non-empty cells. + Correspondingly, |\pgfmatrixendcode| is added at the end of every non-empty + cell. + % +\begin{codeexample}[] \begin{tikzpicture} \def\pgfmatrixbegincode{\node[draw]\bgroup} \def\pgfmatrixendcode{\egroup;} @@ -403,33 +405,32 @@ change the appearance of cells in a very general manner. d \& \& e \\ } \end{tikzpicture} - \end{codeexample} - Note that between |\pgfmatrixbegincode| and |\pgfmatrixendcode| - there will \emph{not} only be the contents of the cell. Rather, - \pgfname\ will add some (invisible) commands for book-keeping - purposes that involve |\let| and |\gdef|. In particular, it is not a - good idea to have |\pgfmatrixbegincode| end with |\csname| and - |\pgfmatrixendcode| start with |\endcsname|. +\end{codeexample} + % + Note that between |\pgfmatrixbegincode| and |\pgfmatrixendcode| there will + \emph{not} only be the contents of the cell. Rather, \pgfname\ will add + some (invisible) commands for book-keeping purposes that involve |\let| and + |\gdef|. In particular, it is not a good idea to have |\pgfmatrixbegincode| + end with |\csname| and |\pgfmatrixendcode| start with |\endcsname|. \end{command} \begin{command}{\pgfmatrixendcode} - See the explanation above. + See the explanation above. \end{command} - -The following two counters allow you to access the current row and -current column in a callback: +The following two counters allow you to access the current row and current +column in a callback: \begin{command}{\pgfmatrixcurrentrow} - This counter stores the current row of the current cell of the - matrix. Do not even think about changing this counter. + This counter stores the current row of the current cell of the matrix. Do + not even think about changing this counter. \end{command} \begin{command}{\pgfmatrixcurrentcolumn} - This counter stores the current column of the current cell of the - matrix. + This counter stores the current column of the current cell of the matrix. \end{command} + %%% Local Variables: %%% mode: latex %%% TeX-master: "pgfmanual" |