summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-12-11 22:46:31 +0000
committerKarl Berry <karl@freefriends.org>2011-12-11 22:46:31 +0000
commit7158919adc92478a4718547983f2acdb38911965 (patch)
tree6a06ec87dcc99b837d1f11b7cf009d45eb1d6b9b
parente0fc802c8d83f41a6ab68f208e2253412159b8a7 (diff)
tikz-cd (11dec11)
git-svn-id: svn://tug.org/texlive/trunk@24828 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/tikz-cd/tikz-cd-doc.pdfbin240892 -> 231785 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tikz-cd/tikz-cd-doc.tex373
-rw-r--r--Master/texmf-dist/tex/latex/tikz-cd/tikz-cd.sty22
3 files changed, 264 insertions, 131 deletions
diff --git a/Master/texmf-dist/doc/latex/tikz-cd/tikz-cd-doc.pdf b/Master/texmf-dist/doc/latex/tikz-cd/tikz-cd-doc.pdf
index 3d011c33f2a..0278864d424 100644
--- a/Master/texmf-dist/doc/latex/tikz-cd/tikz-cd-doc.pdf
+++ b/Master/texmf-dist/doc/latex/tikz-cd/tikz-cd-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/tikz-cd/tikz-cd-doc.tex b/Master/texmf-dist/doc/latex/tikz-cd/tikz-cd-doc.tex
index 46e2ece30b8..33c9caf5e33 100644
--- a/Master/texmf-dist/doc/latex/tikz-cd/tikz-cd-doc.tex
+++ b/Master/texmf-dist/doc/latex/tikz-cd/tikz-cd-doc.tex
@@ -1328,7 +1328,7 @@
\title{The \texttt{tikz-cd} package}
\author{\normalsize Florêncio Neves\footnote{\emph{E-mail:} \href{mailto:florencioneves@gmail.com}{\texttt{florencioneves@gmail.com}}}}
-\date{\normalsize Version 0.2, of October, 2011}
+\date{\normalsize Version 0.2a, of December 9, 2011}
\tikzset{commutative diagrams/background color=graphicbackground}
@@ -1341,11 +1341,14 @@
The general-purpose drawing package Ti\emph{k}Z can be used to typeset
commutative diagrams and other kinds of mathematical pictures,
generating high-quality results (see for example \cite{lenders} or
-\cite{milne}). The purpose of this package is to make the process of
-creation of such diagrams easier by providing a convenient set of
-macros and reasonable default settings. This package also includes an
-arrow tip library that match closely the arrows present in the
-Computer Modern typeface.
+\cite{milne}). This package facilitates the creation of such diagrams
+by providing a convenient set of macros and reasonable default
+settings. Familiarity with Ti\emph{k}Z is helpful, but not necessary,
+as the examples contained here cover the most often encountered
+situations.
+
+This package also includes an arrow tip library that match closely the
+arrows present in the Computer Modern typeface.
\textsc{pgf} version 2.10 is required.
@@ -1379,8 +1382,9 @@ placed on an arrow by providing a second argument.
You can control the behavior of the arrow by placing an argument
inside square braces before the direction parameter. It may contain
any option that can be passed to \tikzname{}'s
-|\path| command. Similarly, a label can be modified by an argument in square braces right before it. It may contain anything that can be passed to a |node|
-operator.
+|\path| command. Similarly, a label can be modified by an argument in
+square braces right before it. It may contain anything that can be
+passed to \tikzname's |node| operator.
\begin{codeexample}[]
\begin{tikzcd}
A \arrow{r}{\psi} \arrow[color=red]{d}
@@ -1390,9 +1394,9 @@ operator.
\end{tikzcd}
\end{codeexample}
-An arrow can in fact have an arbitrary number of labels, each one
-being specified by appending |{|\meta{text}|}| or |[|\meta{options}|]{|\meta{text}|}| to the |\arrow|
-command.
+An arrow can actually have an arbitrary number of labels, each one
+specified by juxtaposing |{|\meta{text}|}| or
+|[|\meta{options}|]{|\meta{text}|}| to the |\arrow| command.
\begin{codeexample}[]
\begin{tikzcd}
@@ -1411,7 +1415,7 @@ Thus, the diagram above can be rewritten as follows.
\begin{codeexample}[]
\begin{tikzcd}
A \rar{\psi} \dar[color=red]
- & B \dar[color=red]{\psi} \\
+ & B \dar[][color=red]{\psi} \\
C \rar[color=red][color=blue]{\eta}
& D
\end{tikzcd}
@@ -1434,49 +1438,56 @@ user's guide.
\subsection{Changing arrow tips}
\label{sec:changing-arrow-tips}
-If you are familiar with \tikzname, you certainly noticed that
-different kids of arrows can be produced by passing arguments like
-|right hook->| to the |\arrow| command. This package provides an
-alternative method:\ it defines styles named after \LaTeX{}
-arrow-producing commands. Thus, instead of
-|\arrow[right hook->]{r}|, you can use |\arrow[hookrightarrow]{r}|, as
-in the example below.
+For each arrow-producing command present in \AmS-\LaTeX, there is a
+corresponding option (without a ``|\|'') that can be passed to
+|\arrow| to produce that kind of arrow. Notice the use of
+|hookrightarrow| and |dashrightarrow| in the example below.
+
\begin{codeexample}[]
\begin{tikzcd}
- X \arrow[hookrightarrow]{r} \arrow[dashed]{rd}
- & \bar{X} \arrow{d}\\
- & Y
+ X \arrow[hookrightarrow]{r} \arrow[dashrightarrow]{rd}
+ & \bar{X} \arrow{d}\\
+ & Y
\end{tikzcd}
\end{codeexample}
-The list below show all arrow styles available.
-
-{\tikzset{commutative diagrams/background color=white}
-\begin{longtable}{ll}
- \displayarrowstyle{rightarrow}\\
- \displayarrowstyle{Rightarrow}\\
- \displayarrowstyle{leftarrow}\\
- \displayarrowstyle{Leftarrow}\\
- \displayarrowstyle{leftrightarrow}\\
- \displayarrowstyle{Leftrightarrow}\\
- \displayarrowstyle{equals}\\
- \displayarrowstyle[or \texttt{maps to}]{mapsto}\\
- \displayarrowstyle[or \texttt{hook}]{hookrightarrow}\\
- \displayarrowstyle{hookleftarrow}\\
- \displayarrowstyle{rightharpoonup}\\
- \displayarrowstyle{rightharpoondown}\\
- \displayarrowstyle{leftharpoonup}\\
- \displayarrowstyle{leftharpoondown}\\
- \displayarrowstyle[or \texttt{dashed}]{dashrightarrow}\\
- \displayarrowstyle{dashleftarrow}\\
- \displayarrowstyle[or \texttt{tail}]{rightarrowtail}\\
- \displayarrowstyle{leftarrowtail}\\
- \displayarrowstyle[or \texttt{two heads}]{twoheadrightarrow}\\
- \displayarrowstyle{twoheadleftarrow}\\
- \displayarrowstyle[or \texttt{squiggly}]{rightsquigarrow}\\
- \displayarrowstyle{leftsquigarrow}\\
- \displayarrowstyle{leftrightsquigarrow}
-\end{longtable}
+Of course, a similar effect could be achieved by directly using
+\tikzname's arrow tip selection scheme (e.g., using the option
+|right hook->|). However, the method more above is more appropriate, as it
+abstracts the choice of an actual arrow tip design (see also the key
+\texttt{commutative diagrams/arrow style} below), and is probably also
+better from the mnemonic standpoint.
+
+The following list shows all arrow styles available.
+
+{\tikzset{commutative diagrams/.cd, background color=white}
+ \begin{quote}
+ \begin{tabular}{ll}
+ \displayarrowstyle{rightarrow}\\
+ \displayarrowstyle{Rightarrow}\\
+ \displayarrowstyle{leftarrow}\\
+ \displayarrowstyle{Leftarrow}\\
+ \displayarrowstyle{leftrightarrow}\\
+ \displayarrowstyle{Leftrightarrow}\\
+ \displayarrowstyle{equals}\\
+ \displayarrowstyle[(or \texttt{maps to})]{mapsto}\\
+ \displayarrowstyle[(or \texttt{hook})]{hookrightarrow}\\
+ \displayarrowstyle{hookleftarrow}\\
+ \displayarrowstyle{rightharpoonup}\\
+ \displayarrowstyle{rightharpoondown}\\
+ \displayarrowstyle{leftharpoonup}\\
+ \displayarrowstyle{leftharpoondown}\\
+ \displayarrowstyle[(or \texttt{dashed})]{dashrightarrow}\\
+ \displayarrowstyle{dashleftarrow}\\
+ \displayarrowstyle[(or \texttt{tail})]{rightarrowtail}\\
+ \displayarrowstyle{leftarrowtail}\\
+ \displayarrowstyle[(or \texttt{two heads})]{twoheadrightarrow}\\
+ \displayarrowstyle{twoheadleftarrow}\\
+ \displayarrowstyle[(or \texttt{squiggly})]{rightsquigarrow}\\
+ \displayarrowstyle{leftsquigarrow}\\
+ \displayarrowstyle{leftrightsquigarrow}
+ \end{tabular}
+ \end{quote}
}
Some of the styles above have two names. In these cases, the second
@@ -1501,8 +1512,8 @@ Options can be made take effect in different scopes:
appearing next.
\item For the current diagram, by placing options in the optional
argument to the |tikzcd| environment. Such options are applied to
- the |tikzpicture| environment generated by |tikzcd|. Thus you can,
- for instance, use the |execute at end picuture| key in this
+ the |tikzpicture| environment generated by |tikzcd| (cf.\ \S\ref{sec:intern-arrow-comm}). Thus you can,
+ for instance, use the |execute at end picuture| option in this
situation to have arbitrary \tikzname{} code executed after a
diagram is drawn.
\item For the current arrow or label, by placing options in one of the
@@ -1510,22 +1521,23 @@ Options can be made take effect in different scopes:
\end{enumerate}
Of course, not all options make sense in all contexts. For example,
-setting |row sep=1cm| globally with |\tikzset| will have no effect,
-since the |row sep| option is re-set at the beginning of each diagram.
-To make all diagrams have |row sep| set to 1\,cm, you can use
-\begin{center}
+setting |row sep=1cm| globally with |\tikzset| will have no effect on
+diagrams, since the |row sep| option is re-set at the beginning of
+each diagram. To make all diagrams have |row sep| set to 1\,cm, you
+can use
+\begin{quote}
|\tikzset{commutative diagrams/row sep/normal=1cm}|,
-\end{center}
+\end{quote}
as detailed below.
All keys provided by this package are located in the path
|/tikz/commutative diagrams|. Methods 2.\ and 3.\ above will search
in this path by default. If a key is not found there, an attempt is
-made to find it in |/tikz|, which is what you would expect. With
-method 1., it is convenient to change the default search path by using
- \begin{center}
- |\tikzset{commutative diagrams/.cd, |\meta{options}|}|.
- \end{center}
+made to find it in |/tikz|, which is what you would expect. When
+using method 1., it is convenient to change the default search path by using
+\begin{quote}
+ |\tikzset{commutative diagrams/.cd, |\meta{options}|}|.
+\end{quote}
\subsection{General options}
\label{sec:general-options}
@@ -1557,9 +1569,9 @@ numbers be placed correctly.
\begin{key}{/tikz/commutative diagrams/row sep=\meta{size} (initially normal)}
This key acts as a ``frontend'' to \tikzname's |/tikz/row sep| key. If
the key
- \begin{center}
+ \begin{quote}
|/tikz/commutative diagrams/row sep/|\meta{size}
- \end{center}
+ \end{quote}
stores a
\meta{value}, then it is read and |/tikz/row sep|=\meta{value} is
set. If the key above is not initialized, then \meta{size} is
@@ -1576,16 +1588,16 @@ stores a
\end{key}
To change, say, the |normal| size (which is applied by default) to 1\,cm, you
- can use
-\begin{codeexample}[code only]
-\tikzset{commutative diagrams/row sep/normal=1cm}
-\end{codeexample}
+ can use the code
+\begin{quote}
+|\tikzset{commutative diagrams/row sep/normal=1cm}|.
+\end{quote}
You can also create new sizes, but |pgfkeys| requires new keys to be
explicitly initialized. For example, to create a size |my size|, meaning
1\,cm, you should use
-\begin{codeexample}[code only]
-\tikzset{commutative diagrams/row sep/my size/.initial=1cm}
-\end{codeexample}
+\begin{quote}
+|\tikzset{commutative diagrams/row sep/my size/.initial=1cm}|.
+\end{quote}
\begin{key}{/tikz/commutative diagrams/column sep=\meta{size} (initially normal)}
This works analogously to the |row sep| key above. The sizes available
@@ -1599,19 +1611,22 @@ stores a
\end{key}
In the examples below, the triangular diagrams would look too wide or
-too tall if the column or row separation were not changed.
+too tall if the column or row separation were not set appropriately.
\begin{codeexample}[]
- \begin{tikzcd}[column sep=tiny]
- & A \arrow{dl}\arrow{dr} & \\
- B \arrow{rr} & & C
- \end{tikzcd}
+\begin{tikzcd}[column sep=small]
+ & A \arrow{dl}\arrow{dr} & \\
+ B \arrow{rr} & & C
+\end{tikzcd}
+\end{codeexample}
+
+\begin{codeexample}[]
+\begin{tikzcd}[row sep=tiny]
+ & B \arrow{dd} \\
+ A \arrow{ur}\arrow{dr} & \\
+ & C
+\end{tikzcd}
- \begin{tikzcd}[row sep=small]
- & B \arrow{dd} \\
- A \arrow{ur}\arrow{dr} & \\
- & C
- \end{tikzcd}
\end{codeexample}
\begin{key}{/tikz/commutative diagrams/math mode=\meta{boolean}
@@ -1623,7 +1638,7 @@ too tall if the column or row separation were not changed.
\end{key}
\begin{key}{/tikz/commutative diagrams/background color=\meta{color} (initially white)}
- This key simply stores the name of a color, and is read by
+ This key stores the name of a color, and is read by
styles that fill the background, such as |description| and |crossing over|.
It does not cause the background to painted.
\end{key}
@@ -1635,7 +1650,7 @@ Besides the options and styles provided by this package, there are
several options defined by \tikzname{} that are useful for arrows, such
as |dashed|, |dotted| and its relatives, |line width=|\meta{dimension}, |color=|\meta{color},
|bend right|, |bend left|, |in=|\meta{angle}, |out=|\meta{angle},
-|loop|, etc. See the \pgfname{} manual.
+|loop|, etc. See \pgfname{} manual~\cite{pgfman}.
\begin{stylekey}{/tikz/commutative diagrams/every arrow}
This style is applied to every |\arrow|. Initially, it contains the
@@ -1693,8 +1708,8 @@ should be instructive.
This style specifies at which anchor of the current node an arrow
should start. The default behavior is not to specify an anchor,
causing the arrow to start at the point in the boundary of the
- current node closest to the destination, as explained in the
- \pgfname{} manual.
+ current node closest to the destination, as explained in
+ \pgfname{} manual~\cite{pgfman}.
\end{key}
\begin{key}{/tikz/commutative diagrams/end anchor=\meta{anchor}
@@ -1758,29 +1773,11 @@ The following picture, from \cite{lenders}, illustrates this.
\begin{key}{/tikz/commutative diagram/crossing over clearance=\meta{dimension}
(initially 6pt)}
- This key specifies the width of the line drawn under a |crossing over| arrow.
+ This key specifies the width of the background-colored line drawn
+ under a |crossing over| arrow.
\end{key}
-\begin{key}{/tikz/commutative diagrams/path operation=\meta{operation} (initially to)}
- Normally, the command |\arrow[|\meta{options}|]{|\meta{direction}|}|
- causes the following code to be executed:
- \begin{center}
- |\path[commutative diagrams/every arrow, |\meta{options}|] (|%
- \meta{current node}|) to (|\meta{target node}|);|
- \end{center}
- However, the path operation ``|to|'' appearing above is not
- hard-coded, but rather determined by this key. The main purpose of this
- key is to allow some tweaking.
-\begin{codeexample}[]
-\begin{tikzcd}
- A \arrow[path operation=|-, dashed]{dr}
- \arrow[path operation={.. controls +(1.5,0.5) and +(-1,0.8) ..}]{dr}& \\
- & B
-\end{tikzcd}
-\end{codeexample}
-
-\end{key}
\subsection{Options for labels}
\label{sec:options-labels}
@@ -1790,7 +1787,7 @@ labels, such as |above|, |below|, |left|,
|right|, |swap| (which makes the label be placed in the opposite side
to the default), |sloped|, |pos=|\meta{fraction}, |near start|,
|near end|, |inner sep=|\meta{dimension}, |font=|\meta{font
- command}, |text width=|\meta{dimension}, etc. See the \pgfname{} manual.
+ command}, |text width=|\meta{dimension}, etc. See \pgfname{} manual~\cite{pgfman}.
\begin{stylekey}{/tikz/commutative diagrams/every label}
This style works as if it were applied to the optional argument
@@ -1809,7 +1806,9 @@ to the default), |sloped|, |pos=|\meta{fraction}, |near start|,
The style |/tikz/auto| makes the label be placed to the left of the
arrow, understanding ``front'' as the direction the arrow points at.
The dimension |/tikz/inner sep| controls the distance between the
-arrow and the label.
+arrow and the label. The options |text height| and |text depth| are
+reset here because they are set picture-wise by the |every diagram|
+style.
\end{stylekey}
\begin{key}{/tikz/commutative diagrams/labels=\meta{options}}
@@ -1835,16 +1834,115 @@ arrow and the label.
key |/tikz/inner sep|.
\end{key}
-\section{Drawing diagrams directly with Ti\emph{k}Z}
+\section{Further possibilities}
+\label{sec:further}
+
+This sections provides further details on the functioning of
+this package, with the aim of showing how a more or less arbitrary use of
+\tikzname{} features can be made inside it.
+
+\subsection{Internals of \texttt{tikzcd} and the arrow commands}
+\label{sec:intern-arrow-comm}
+
+The |tikzcd| environment works by substituting code of the form
+\begin{quote}
+ |\begin{tikzcd}[|\meta{options}|]|
+ \meta{contents}
+ |\end{tikzcd}|
+\end{quote}
+with roughly the following:
+\begin{quote}
+ |\begin{tikzpicture}[commutative diagrams/every diagram,|
+ \meta{options}|]|\\
+ | \matrix[matrix of |[|math|]| nodes] {|\\
+ | |\meta{contents} |\\|\\
+ | };|\\
+ | |\meta{paths}\\
+ |\end{tikzpicture}|
+\end{quote}
+
+Note that the next-row command |\\| for the last row is inserted by
+|tikzcd|, and therefore does not need to be present in
+\meta{contents}. The |\matrix| is supplied the option \texttt{matrix
+ of nodes} or \texttt{matrix of math nodes} as specified by the
+option \texttt{commutative diagrams/math mode}. Also, not shown above
+are a number of initialization procedures, such as defining the
+commands |\arrow|, |\ar|, |\rar|, |\lar|, |\dar|, |\uar|, |\urar|,
+|\ular|, |\drar|, |\dlar|.
+
+The command |\arrow[|\meta{options}|]{|\meta{direction}|}| does
+nothing at the point it is inserted, and causes the following code to
+be added to \meta{paths}:
+\begin{quote}
+ |\path[commutative diagrams/every arrow, |\meta{options}|] (|%
+ \meta{current node}|) to |\meta{labels}| (|\meta{target~node}|);|
+\end{quote}
+
+Here, \meta{current node} is the node corresponding to the matrix cell
+where the command |\arrow| is, and \meta{target node} is determined by
+\meta{direction} as explained in \S\ref{sec:inserting-arrows}. The
+abbreviated commands |\rar|, |\dar|, etc., generate the same kind of
+code.
+
+Initially, \meta{labels} is the empty string. A label specifier of
+the form |{|\meta{label text}|}| or |[|\meta{label
+ options}|]{|\meta{label text}|}| immediately following the
+\meta{direction} argument or a previous label specifier causes the
+string
+\begin{quote}
+ |node [commutative diagrams/every label, |\meta{label options}|] {|[|$|]\meta{label text}[|$|]|}|
+\end{quote}
+to be appended to \meta{labels}. Dollars signs surround \meta{label
+ text} depending on the setting \texttt{commutative diagrams/math
+ mode}. For the abbreviated form |\rar| (and similarly for |\dar|,
+|\lar|, etc.), the following are valid usages:
+\begin{quote}
+ |\rar{|\meta{label text}|}|\meta{more labels},\\
+ |\rar[|\meta{options}|]{|\meta{label text}|}|\meta{more labels}, or\\
+ |\rar[|\meta{options}|][|\meta{label options}|]{|\meta{label
+ text}|}|\meta{more labels}.
+\end{quote}
+Their effects are entirely analogous.
+
+\subsection{Tweaking \texttt{to} paths}
+\label{sec:tweaking-to-paths}
+
+Recall that the |to| path operation used in the paths created by
+|\arrow| can take a number of options, as described in \S{}14.14
+and \S{}51 of the \pgfname{} manual~\cite{pgfman}. In particular, the
+option |/tikz/to path| determines the path that is actually drawn, and
+can be used to do all sorts of tweaking.
+
+\begin{codeexample}[]
+\begin{tikzcd}
+ A \arrow[dashed, to path=|- (\tikztotarget)]{dr}
+ \arrow[to path={..controls +(1.5,0.5) and +(-1,0.8).. (\tikztotarget)}]{dr}
+ & \\
+ & B \arrow[loop right]{}
+\end{tikzcd}
+\end{codeexample}
+
+In the next example, empty labels are used to create nodes for later
+reference, and in the third |\arrow| command the |to path| key is used
+in a way that, in the terminology of the previous section,
+\meta{current node} and \meta{target node} are completely ignored.
+\begin{codeexample}[]
+\begin{tikzcd}
+ A \arrow[bend left=50]{r}[name=U,below]{}
+ \arrow[bend right=50]{r}[name=D]{} &
+ B \arrow[Rightarrow,to path=(U) -- (D)]{}
+\end{tikzcd}
+\end{codeexample}
+
+\subsection{Drawing diagrams directly with Ti\emph{k}Z}
\label{sec:draw-diagr-directly}
-If the tools provided by this package prove not flexible enough
-for some application, you can use the methods described in
-\cite{lenders} and \cite{milne} to draw diagrams directly with
-\tikzname. In this case, you can still use the styles provided by
-this package, to achieve uniformity with diagrams drawn with
-|tikzcd|. The pictures below show how this can be done (the second
-one is adapted from \cite{milne}).
+If the tools provided by this package prove not flexible enough for
+some application, you can use the methods described in \cite{lenders}
+and \cite{milne} to draw diagrams directly with \tikzname. In this
+case, you can still use the styles provided here in order to achieve
+uniformity with diagrams drawn with |tikzcd|. The pictures below show
+how this can be done (the second one is adapted from \cite{milne}).
\begin{codeexample}[]
\begin{tikzpicture}[commutative diagrams/every diagram]
@@ -1879,15 +1977,24 @@ one is adapted from \cite{milne}).
\section{Computer Modern arrow tips}
\label{sec:comp-modern-arrow}
-By using the mechanism explained in \S\ref{sec:changing-arrow-tips},
-it is not necessary, and in fact not advisable, to directly use the
-arrow tips library documented in this section when creating diagrams.
-
The naming scheme of the Computer Modern-like arrow tips provided by
-this package follows that of \pgfname's |arrows| library, as described
-in \S{}23 of the \pgfname{} manual. To match the Computer Modern
+this package parallels that of \pgfname's |arrows| library, documented
+in \S{}23 of \pgfname{} manual~\cite{pgfman}. To match the Computer Modern
typeface at size 10\,pt, line width should be set to 0.4\,pt; for
-larger font sizes, scale this parameter accordingly.
+larger font sizes, scale this parameter accordingly, or use the esoteric
+figure 0.0929\,ex.
+
+Notice that by using the mechanism explained in
+\S\ref{sec:changing-arrow-tips}, it is not necessary, and in fact not
+advisable, to directly use the arrow tips listed in this section
+when creating diagrams with |tikzcd|.
+
+Incidentally, \tikzname's original |to| arrow tip seems to be based on
+the pre-1992 version of Computer Modern which, in spite of the
+author's wish \cite{knuth}, can still be found in many systems.
+\TeX{}Live, for instance, distributed the old version up until 2007 or
+2008. Therefore, an up-to-date \TeX{} distribution may be necessary
+to get matching arrows in formulas and diagrams.
\begin{description}
\item[Basic arrow tips]\ \\
@@ -1940,8 +2047,26 @@ larger font sizes, scale this parameter accordingly.
% \end{tikzcd}
% \end{codeexample}
+\section{Change history}
+\label{sec:change-history}
+
+\begin{description}
+\item[Version 0.2a] (December 2011)
+ \begin{itemize}
+ \item Option |/tikz/commutative diagrams/path operation| removed
+ in favor of direct use of |/tikz/to path|.
+ \item Double lines with |tikz| arrow style now use \texttt{double
+ equal sign distance}.
+ \end{itemize}
+\item[Version 0.2] (October 2011) Several changes.
+\item[Version 0.1] (September 2011) Preliminary release.
+\end{description}
\begin{thebibliography}{9}
+\bibitem{knuth}
+ Donald Knuth,
+ \emph{Important message to all users of \TeX}.
+ Available at \url{http://www-cs-staff.stanford.edu/~uno/cm.html}
\bibitem{lenders}
Felix Lenders,
\emph{Commutative diagrams using TikZ}.
@@ -1950,6 +2075,10 @@ larger font sizes, scale this parameter accordingly.
James Milne,
\emph{Guide to commutative diagrams}.
Available at \url{http://www.jmilne.org/not/CDGuide.html}.
+\bibitem{pgfman}
+ Till Tantau,
+ \emph{The \tikzname{} and \pgfname{} packages: Manual for version 2.10}.
+ Available at \url{http://sourceforge.net/projects/pgf}.
\end{thebibliography}
\end{document}
diff --git a/Master/texmf-dist/tex/latex/tikz-cd/tikz-cd.sty b/Master/texmf-dist/tex/latex/tikz-cd/tikz-cd.sty
index 336eaa246a0..d7d13d98166 100644
--- a/Master/texmf-dist/tex/latex/tikz-cd/tikz-cd.sty
+++ b/Master/texmf-dist/tex/latex/tikz-cd/tikz-cd.sty
@@ -5,7 +5,7 @@
% 1. under the LaTeX Project Public License and/or
% 2. under the GNU Public License.
%
-\ProvidesPackage{tikz-cd}[2011/10/21 v0.2 Commutative diagrams with tikz.]
+\ProvidesPackage{tikz-cd}[2011/12/09 v0.2a Commutative diagrams with tikz.]
\RequirePackage{tikz}
\usetikzlibrary{matrix}
@@ -36,12 +36,14 @@
text height=,
text depth=,
/tikz/fill=\pgfkeysvalueof{/tikz/commutative diagrams/background color},
- /tikz/inner sep=\pgfkeysvalueof{/tikz/commutative diagrams/description clearance}},
+ /tikz/inner sep=%
+ \pgfkeysvalueof{/tikz/commutative diagrams/description clearance}},
crossing over/.style={
/tikz/preaction={
/tikz/draw=\pgfkeysvalueof{/tikz/commutative diagrams/background color},
/tikz/arrows=-,
- /tikz/line width=\pgfkeysvalueof{/tikz/commutative diagrams/crossing over clearance}}},
+ /tikz/line width=%
+ \pgfkeysvalueof{/tikz/commutative diagrams/crossing over clearance}}},
row sep/.code={\tikzcd@sep{row}{#1}},
column sep/.code={\tikzcd@sep{column}{#1}},
math mode/.is if=tikzcd@mathmode,
@@ -50,7 +52,6 @@
/tikz/nodes={
execute at begin node=\iftikzcd@mathmode$\fi, %$
execute at end node=\iftikzcd@mathmode$\fi}}, %$
- path operation/.store in=\tikzcd@pathoperator,
start anchor/.code={%
\ifx#1\pgfkeysnovalue\let\tikzcd@sourceanchor\empty%
\else\def\tikzcd@sourceanchor{.#1}\fi},
@@ -91,7 +92,8 @@
leftarrowtail/.style={/tikz/arrows=cm to-cm to reversed},
twoheadrightarrow/.style={/tikz/arrows=cm cap-cm double to},
twoheadleftarrow/.style={/tikz/arrows=cm double to-cm cap},
- rightsquigarrow/.style={/tikz/commutative diagrams/.cd,rightarrow,squiggly},
+ rightsquigarrow/.style={
+ /tikz/commutative diagrams/.cd,rightarrow,squiggly},
leftsquigarrow/.style={/tikz/commutative diagrams/.cd,leftarrow,squiggly},
leftrightsquigarrow/.style={
/tikz/commutative diagrams/.cd,leftrightarrow,squiggly},
@@ -144,7 +146,7 @@
rightarrowtail/.style={/tikz/arrows=>->},
leftarrowtail/.style={/tikz/arrows=<-<},
twoheadrightarrow/.style={/tikz/arrows=->>},
- twoheadleftarrow/.style={/tikz/arrows=<<-},
+ twoheadleftarrow/.style={/tikz/arrows=<<-}, %>>
rightsquigarrow/.style={
/tikz/commutative diagrams/.cd,
rightarrow,
@@ -175,8 +177,11 @@
amplitude=.9,
post=lineto, post length=2pt,
pre=lineto, pre length=2pt}},
+ dashed/.style={/tikz/dashed},
double line/.style={
- /tikz/double=\pgfkeysvalueof{/tikz/commutative diagrams/background color}}}}
+ /tikz/double equal sign distance,
+ /tikz/double=%
+ \pgfkeysvalueof{/tikz/commutative diagrams/background color}}}}
% Default settings
\pgfqkeys{/tikz/commutative diagrams}{
@@ -212,7 +217,6 @@
column sep/small/.initial=3ex,
column sep/tiny/.initial=1.5ex,
arrow style=computer modern,
- path operation=to,
start anchor,
end anchor,
description clearance/.initial=1.5pt,
@@ -255,7 +259,7 @@
\the\tikzcd@temptoksa% the current arrow
(\tikzmatrixname-\the\tikzcd@currrow-\the\tikzcd@currcol%
\noexpand\tikzcd@sourceanchor)%
- \noexpand\tikzcd@pathoperator%
+ to%
\the\tikzcd@temptoksb% the current labels
(\tikzmatrixname-\the\tikzcd@targetrow-\the\tikzcd@targetcol%
\noexpand\tikzcd@targetanchor);}}