texlive[61916] Master/texmf-dist: causets (6feb22)

commits+karl at tug.org commits+karl at tug.org
Sun Feb 6 22:11:04 CET 2022


Revision: 61916
          http://tug.org/svn/texlive?view=revision&revision=61916
Author:   karl
Date:     2022-02-06 22:11:04 +0100 (Sun, 06 Feb 2022)
Log Message:
-----------
causets (6feb22)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/causets/README.md
    trunk/Master/texmf-dist/doc/latex/causets/causets.pdf
    trunk/Master/texmf-dist/doc/latex/causets/causets.tex
    trunk/Master/texmf-dist/tex/latex/causets/causets.sty

Modified: trunk/Master/texmf-dist/doc/latex/causets/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/causets/README.md	2022-02-06 21:10:51 UTC (rev 61915)
+++ trunk/Master/texmf-dist/doc/latex/causets/README.md	2022-02-06 21:11:04 UTC (rev 61916)
@@ -36,7 +36,7 @@
 
 Information on Distribution
 ===========================
-Copyright 2020 by C. Minz
+Copyright 2020-2022 by C. Minz
 
 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
@@ -47,7 +47,7 @@
 The current maintainer of this work is C. Minz.
 https://github.com/c-minz
 
-Current version: 1.1
+Current version: 1.2
 
 CTAN location: /graphics/pgf/contrib/causets/
 

Modified: trunk/Master/texmf-dist/doc/latex/causets/causets.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/causets/causets.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/causets/causets.tex	2022-02-06 21:10:51 UTC (rev 61915)
+++ trunk/Master/texmf-dist/doc/latex/causets/causets.tex	2022-02-06 21:11:04 UTC (rev 61916)
@@ -41,7 +41,12 @@
 	menucolor = black, %
 	urlcolor = black!25!blue %
 }
+\addto\extrasenglish{%
+  \renewcommand{\sectionautorefname}{Sec.}%
+  \renewcommand{\subsectionautorefname}{Sec.}%
+}
 \usepackage{booktabs} % book table style
+\usepackage{longtable} % tables spanning pages
 \usepackage{multirow} % spanning multiple rows
 \usepackage{listings} % code environments
 \lstset{ 
@@ -72,9 +77,9 @@
 
 \newcommand*{\valuePH}{{\small\itshape$\langle$value$\rangle$}} % placeholder
 
-\title{{\small package}\\[0.5cm] \huge causets \\[0.2cm]{\small version 1.1}\\[0.5cm]}
+\title{{\small package}\\[0.5cm] \huge causets \\[0.2cm]{\small version 1.2}\\[0.5cm]}
 \author{Christoph Minz}
-\date{December 13, 2020}
+\date{February 07, 2022}
 
 \begin{document}
 
@@ -127,7 +132,7 @@
 
 This package implements some simple functionality to produce such diagrams for causets by drawing them as TikZ graphics. 
 The drawing algorithm makes use of the fact that every finite causet that embeds in $\smash{1 + 1}$ dimensional Minkowski spacetime can be represented by a product of two total orders (2D-orders), where one order can be the total order of the integers labeling the causet elements, while the other is a permutation of the labels\footnote{See \url{https://arxiv.org/abs/0706.0375} and \url{https://arxiv.org/abs/2011.02965} for more details on 2D-orders and causal sets.}. 
-The idea is then used as a blueprint to draw diagrams for any generic causet, so that it becomes easy to draw causets and even use them in mathematical expressions. 
+The idea is then used as a blueprint to draw diagrams for any generic (finite) causet, so that it becomes easy to draw causets and even use them in mathematical expressions. 
 
 \clearpage
 \section{Introduction - the Main Commands}
@@ -158,7 +163,7 @@
 Let the causets elements be labeled by an increasing null coordinate $u$ (pointing upwards along the right axis of the grids under the diagrams below), then the causal relation (partial order) implies a label permutation along the null coordinate $v$ (pointing upwards along the left axis of the grids under the diagrams below). 
 This permutation is the input of the \lstinline\xA7\pcauset\xA7 command that computes the causal relation from the permutation. 
 See example 1 in \autoref{tab:MainCommandsExamples}. 
-\tikzcausetsset{black, show permutation}
+\tikzcausetsset{black colors, show permutation}
 \begin{table}[h!]
 	\begin{tabular*}{\textwidth}{lp{0.72\textwidth}c}
 		\toprule
@@ -181,7 +186,7 @@
 	\end{tabular*}
 	\caption{\label{tab:MainCommandsExamples} Examples for the three main commands of the package.}
 \end{table}
-\tikzcausetsset{gray, show permutation=false}
+\tikzcausetsset{gray colors, show permutation=false}
 
 Every causet that does not embed in $1 + 1$ dimensional Minkowski spacetime can be made embeddable by adding links to it. 
 Adding the minimal number of links yields permutations that should be used to determine the coordinates of the diagram. 
@@ -224,7 +229,7 @@
 It is possible to use dots in a permutation so that TikZ will auto-complete the list. 
 For example, the command \lstinline\xA7\pcauset{14,...,10,8,2,1,9,3,4,...,7}\xA7 will generate the diagram 
 \begin{align*}
-	\pcauset[black, show permutation]{14,...,10,8,2,1,9,3,4,...,7}
+	\pcauset[black colors, show permutation]{14,...,10,8,2,1,9,3,4,...,7}
 \end{align*}
 which is the same as \lstinline\xA7\pcauset{14,13,12,11,10,8,2,1,9,3,4,5,6,7}\xA7. (This graphic uses the package options \lstinline\xA7black\xA7 and \lstinline\xA7permutation\xA7 again.) 
 
@@ -233,120 +238,217 @@
 \label{sec:PackageOptions}
 Each of the package options can either be specified in square brackets when declaring the package (option applies globally) or be changed with a macro at any point in the document (option applies to the local scope). 
 
-If no options are used, an output like \rcauset{4,2,7,6,1,5,3}{2/5} is obtained with the commands  
+If no options are used, an output like \rcauset{4,2,7,6,1,5,3}{2/5} is obtained with the commands
 \begin{lstlisting}
 \usepackage{causets}
 ... % ... \begin{document} ...
 \rcauset{4,2,7,6,1,5,3}{2/5}
 \end{lstlisting}
-The package options and their macros are shown in \autoref{tab:PackageOptions}, using the same example. 
 
-\begin{table}
-	\begin{tabular*}{\textwidth}{p{0.75\textwidth}c}
-		\toprule
-		package option 
-	& inline output 
+The options -- given in the following table -- are passed to the \lstinline\xA7causets\xA7 package as optional parameter and can be combined. If not specified otherwise, any package option works with the command \lstinline\xA7\causet\xA7 as well as with the two shown examples created with the commands
+\begin{lstlisting}
+\pcauset{4,2,7,6,1,5,3}
+\rcauset{4,2,7,6,1,5,3}{2/5}
+\end{lstlisting}
+
+\begin{longtable}{p{0.65\textwidth}p{0.13\textwidth}p{0.13\textwidth}}
+	\toprule
+	Package option & \lstinline\xA7\pcauset\xA7 & \lstinline\xA7\rcauset\xA7
 	\\\midrule
-		\lstinline\xA7\usepackage[permutation]{causets}\xA7 shows permutations 
-	& \multirow{3}{5em}{%
-		\causetsDrawPermutationtrue \rcauset{4,2,7,6,1,5,3}{2/5}}
-	\\
-		~~(\lstinline\xA7\causetsDrawPermutationtrue\xA7 activates the option) 
-	\\
-		~~(\lstinline\xA7\causetsDrawPermutationfalse\xA7 deactivates the option) 
+	\endfirsthead
+	
+	\multicolumn{3}{c}{\footnotesize \textit{continued from the previous page}} 
 	\\\midrule
-		\lstinline\xA7\usepackage[labeled]{causets}\xA7 shows labeled events 
-	& \multirow{3}{5em}{%
-		\causetsDrawLabelstrue \rcauset{4,2,7,6,1,5,3}{2/5}}
-	\\
-		~~(\lstinline\xA7\causetsDrawLabelstrue\xA7 activates the option) 
-	\\
-		~~(\lstinline\xA7\causetsDrawLabelsfalse\xA7 deactivates the option) 
+	Package option & \lstinline\xA7\pcauset\xA7 & \lstinline\xA7\rcauset\xA7
 	\\\midrule
-		\lstinline\xA7\usepackage[unlinked]{causets}\xA7 hides links 
-	& \multirow{3}{5em}{%
-		\causetsDrawLinksfalse \rcauset{4,2,7,6,1,5,3}{2/5}}
-	\\
-		~~(\lstinline\xA7\causetsDrawLinksfalse\xA7 activates the option) 
-	\\
-		~~(\lstinline\xA7\causetsDrawLinkstrue\xA7 deactivates the option) 
-	\\\midrule
-		\lstinline\xA7\usepackage[tiny]{causets}\xA7 for tiny diagrams 
-	& \multirow{2}{5em}{%
-		\rcauset[tiny]{4,2,7,6,1,5,3}{2/5}}
-	\\
-		~~(\lstinline\xA7\tikzcausetsset{tiny}\xA7 sets tiny sizes) 
-	\\
-		\lstinline\xA7\usepackage[small]{causets}\xA7 for small diagrams 
-	& \multirow{2}{5em}{%
-		\rcauset[small]{4,2,7,6,1,5,3}{2/5}}
-	\\
-		~~(\lstinline\xA7\tikzcausetsset{small}\xA7 sets small sizes) 
-	\\
-		\lstinline\xA7\usepackage[large]{causets}\xA7 for large diagrams 
-	& \multirow{3}{5em}{%
-		\rcauset[large]{4,2,7,6,1,5,3}{2/5}}
-	\\
-		~~(\lstinline\xA7\tikzcausetsset{large}\xA7 sets large sizes) 
-	\\
-	\\
-		\lstinline\xA7\usepackage[huge]{causets}\xA7 for huge diagrams 
-	& \multirow{4}{5em}{%
-		\rcauset[huge]{4,2,7,6,1,5,3}{2/5}}
-	\\
-		~~(\lstinline\xA7\tikzcausetsset{huge}\xA7 sets huge sizes) 
-	\\
-	\\
-		~~(\lstinline\xA7\tikzcausetsset{normal}\xA7 resets to normal sizes) 
-	\\
-		Details on size options are given in \autoref{sec:Sizes}. 
-	\\\midrule
-		\lstinline\xA7\usepackage[black]{causets}\xA7 for black and white causets 
-	& \multirow{2}{5em}{%
-		\rcauset[black colors]{4,2,7,6,1,5,3}{2/5}}
-	\\
-		~~(\lstinline\xA7\tikzcausetsset{black colors}\xA7 activates the option) 
-	\\
-		\lstinline\xA7\usepackage[gray]{causets}\xA7 for gray scale causets (default)
-	& \multirow{2}{5em}{%
-		\rcauset[gray colors]{4,2,7,6,1,5,3}{2/5}}
-	\\
-		~~(\lstinline\xA7\tikzcausetsset{gray colors}\xA7 activates the option) 
-	\\
-		\lstinline\xA7\usepackage[blue]{causets}\xA7 for blue causets 
-	& \multirow{2}{5em}{%
-		\rcauset[blue colors]{4,2,7,6,1,5,3}{2/5}}
-	\\
-		~~(\lstinline\xA7\tikzcausetsset{blue colors}\xA7 activates the option) 
-	\\
-		\lstinline\xA7\usepackage[neon]{causets}\xA7 for brightly colored causets 
-	& \multirow{2}{5em}{%
-		\rcauset[neon colors]{4,2,7,6,1,5,3}{2/5}}
-	\\
-		~~(\lstinline\xA7\tikzcausetsset{neon colors}\xA7 activates the option) 
-	\\
-		Details on color options are given in \autoref{sec:Colors}. 
-	\\\midrule
-		\lstinline\xA7\usepackage[spatially linked]{causets}\xA7 shows a partial order for spacelike separated events, but only with the \lstinline\xA7\pcauset\xA7 commands
-	& \multirow{2}{5em}{%
-		\pcauset[spatially linked]{2,4,1,3}}
-	\\
-		~~(\lstinline\xA7\causetsDrawSpatialLinkstrue\xA7 activates the option) 
-	\\
-		~~(\lstinline\xA7\causetsDrawSpatialLinksfalse\xA7 deactivates the option) 
-	\\\bottomrule
-	\end{tabular*}
-	\caption{\label{tab:PackageOptions} All package options.}
-\end{table}
+	\endhead
+	
+	\midrule
+	\multicolumn{3}{c}{\footnotesize \textit{continued on the next page}}
+	\endfoot
+	
+	\endlastfoot
+	
+	\lstinline\xA7\usepackage[permutation]{causets}\xA7 shows permutations
+& \multirow{3}{5em}{%
+	\causetsDrawPermutationtrue \pcauset{4,2,7,6,1,5,3}}
+& \multirow{3}{5em}{%
+	\causetsDrawPermutationtrue \rcauset{4,2,7,6,1,5,3}{2/5}}
+\\
+	~~(\lstinline\xA7\causetsDrawPermutationtrue\xA7 activates this option)
+\\
+	~~(\lstinline\xA7\causetsDrawPermutationfalse\xA7 deactivates this option)
+\\\midrule
+	\lstinline\xA7\usepackage[permutation, unlabeled u]{causets}\xA7
+& \multirow{4}{5em}{%
+	\causetsDrawPermutationtrue \causetsDrawULabelsfalse \pcauset{4,2,7,6,1,5,3}}
+& \multirow{4}{5em}{%
+	\causetsDrawPermutationtrue \causetsDrawULabelsfalse \rcauset{4,2,7,6,1,5,3}{2/5}}
+\\
+	shows permutations without u-labels
+\\
+	~~(\lstinline\xA7\causetsDrawULabelstrue\xA7 activates u-labels)
+\\
+	~~(\lstinline\xA7\causetsDrawULabelsfalse\xA7 deactivates u-labels)
+\\\midrule
+	\lstinline\xA7\usepackage[permutation, unlabeled v]{causets}\xA7
+& \multirow{4}{5em}{%
+	\causetsDrawPermutationtrue \causetsDrawVLabelsfalse \pcauset{4,2,7,6,1,5,3}}
+& \multirow{4}{5em}{%
+	\causetsDrawPermutationtrue \causetsDrawVLabelsfalse \rcauset{4,2,7,6,1,5,3}{2/5}}
+\\
+	shows permutations without v-labels
+\\
+	~~(\lstinline\xA7\causetsDrawVLabelstrue\xA7 activates v-labels) 
+\\
+	~~(\lstinline\xA7\causetsDrawVLabelsfalse\xA7 deactivates v-labels) 
+\\\midrule
+	\lstinline\xA7\usepackage[labeled]{causets}\xA7 shows labeled events
+& \multirow{3}{5em}{%
+	\causetsDrawLabelstrue \pcauset{4,2,7,6,1,5,3}}
+& \multirow{3}{5em}{%
+	\causetsDrawLabelstrue \rcauset{4,2,7,6,1,5,3}{2/5}}
+\\
+	~~(\lstinline\xA7\causetsDrawLabelstrue\xA7 activates labels)
+\\
+	~~(\lstinline\xA7\causetsDrawLabelsfalse\xA7 deactivates labels)
+\\\midrule
+	\lstinline\xA7\usepackage[continuously linked]{causets}\xA7 allows links to cross over events. Broken links (that is the default option: \lstinline\xA7\usepackage[brokenly linked]{causets}\xA7) affects only the \lstinline\xA7\causet\xA7 command, but not the examples of \lstinline\xA7\pcauset\xA7 and \lstinline\xA7\rcauset\xA7, shown on the right.
+& \multirow{3}{5em}{%
+	\causetsBreakLinkstrue \pcauset{4,2,7,6,1,5,3}}
+& \multirow{3}{5em}{%
+	\causetsBreakLinkstrue \rcauset{4,2,7,6,1,5,3}{2/5}}
+\\
+	Details on broken links are given below.
+\\[0.5cm]
+	\lstinline\xA7\usepackage[cap linked]{causets}\xA7 sets caps as link tips
+& \multirow{2}{5em}{%
+	\pcauset[cap links]{4,2,7,6,1,5,3}}
+& \multirow{2}{5em}{%
+	\rcauset[cap links]{4,2,7,6,1,5,3}{2/5}}
+\\
+\\
+	\lstinline\xA7\usepackage[arrow linked]{causets}\xA7 sets arrows (rounded, open stealth) as link tips
+& \multirow{2}{5em}{%
+	\pcauset[arrow links]{4,2,7,6,1,5,3}}
+& \multirow{2}{5em}{%
+	\rcauset[arrow links]{4,2,7,6,1,5,3}{2/5}}
+\\
+	\lstinline\xA7\usepackage[unlinked]{causets}\xA7 does not draw links
+& \multirow{3}{5em}{%
+	\causetsDrawLinksfalse \pcauset{4,2,7,6,1,5,3}}
+& \multirow{3}{5em}{%
+	\causetsDrawLinksfalse \rcauset{4,2,7,6,1,5,3}{2/5}}
+\\
+	~~(\lstinline\xA7\causetsDrawLinkstrue\xA7 actives links)
+\\
+	~~(\lstinline\xA7\causetsDrawLinksfalse\xA7 deactivates links)
+\\\midrule
+	\lstinline\xA7\usepackage[tiny]{causets}\xA7 for tiny diagrams
+& \multirow{2}{5em}{%
+	\pcauset[tiny]{4,2,7,6,1,5,3}}
+& \multirow{2}{5em}{%
+	\rcauset[tiny]{4,2,7,6,1,5,3}{2/5}}
+\\
+	~~(\lstinline\xA7\tikzcausetsset{tiny}\xA7 sets tiny sizes)
+\\
+	\lstinline\xA7\usepackage[small]{causets}\xA7 for small diagrams
+& \multirow{2}{5em}{%
+	\pcauset[small]{4,2,7,6,1,5,3}}
+& \multirow{2}{5em}{%
+	\rcauset[small]{4,2,7,6,1,5,3}{2/5}}
+\\
+	~~(\lstinline\xA7\tikzcausetsset{small}\xA7 sets small sizes)
+\\
+	\lstinline\xA7\usepackage[large]{causets}\xA7 for large diagrams
+& \multirow{3}{5em}{%
+	\pcauset[large]{4,2,7,6,1,5,3}}
+& \multirow{3}{5em}{%
+	\rcauset[large]{4,2,7,6,1,5,3}{2/5}}
+\\
+	~~(\lstinline\xA7\tikzcausetsset{large}\xA7 sets large sizes)
+\\
+\\
+	\lstinline\xA7\usepackage[huge]{causets}\xA7 for huge diagrams
+& \multirow{4}{5em}{%
+	\pcauset[huge]{4,2,7,6,1,5,3}}
+& \multirow{4}{5em}{%
+	\rcauset[huge]{4,2,7,6,1,5,3}{2/5}}
+\\
+	~~(\lstinline\xA7\tikzcausetsset{huge}\xA7 sets huge sizes)
+\\
+	~~(\lstinline\xA7\tikzcausetsset{normal}\xA7 resets to normal sizes)
+\\
+	Details on size options are given in \autoref{sec:Sizes}.
+\\\midrule
+	\lstinline\xA7\usepackage[black]{causets}\xA7 for black and white causets
+& \multirow{2}{5em}{%
+	\pcauset[black colors]{4,2,7,6,1,5,3}}
+& \multirow{2}{5em}{%
+	\rcauset[black colors]{4,2,7,6,1,5,3}{2/5}}
+\\
+	~~(\lstinline\xA7\tikzcausetsset{black colors}\xA7 activates the option)
+\\
+	\lstinline\xA7\usepackage[gray]{causets}\xA7 for gray scale causets (default)
+& \multirow{2}{5em}{%
+	\pcauset[gray colors]{4,2,7,6,1,5,3}}
+& \multirow{2}{5em}{%
+	\rcauset[gray colors]{4,2,7,6,1,5,3}{2/5}}
+\\
+	~~(\lstinline\xA7\tikzcausetsset{gray colors}\xA7 activates the option)
+\\
+	\lstinline\xA7\usepackage[blue]{causets}\xA7 for blue causets
+& \multirow{2}{5em}{%
+	\pcauset[blue colors]{4,2,7,6,1,5,3}}
+& \multirow{2}{5em}{%
+	\rcauset[blue colors]{4,2,7,6,1,5,3}{2/5}}
+\\
+	~~(\lstinline\xA7\tikzcausetsset{blue colors}\xA7 activates the option)
+\\
+	\lstinline\xA7\usepackage[neon]{causets}\xA7 for brightly colored causets
+& \multirow{2}{5em}{%
+	\pcauset[neon colors]{4,2,7,6,1,5,3}}
+& \multirow{2}{5em}{%
+	\rcauset[neon colors]{4,2,7,6,1,5,3}{2/5}}
+\\
+	~~(\lstinline\xA7\tikzcausetsset{neon colors}\xA7 activates the option)
+\\
+	Details on color options are given in \autoref{sec:Colors}.
+\\\midrule
+	\lstinline\xA7\usepackage[spatially linked]{causets}\xA7 shows dashed lines between spatially separated events (which is a secondary partial order for the causets drawn with \lstinline\xA7\pcauset\xA7). This option only affects the \lstinline\xA7\pcauset\xA7 and \lstinline\xA7\rcauset\xA7 commands, but not the \lstinline\xA7\causet\xA7 command.
+& \multirow{3}{5em}{%
+	\pcauset[spatially linked]{4,2,7,6,1,5,3}}
+& \multirow{3}{5em}{%
+	\rcauset[spatially linked]{4,2,7,6,1,5,3}{2/5}}
+\\
+	~~(\lstinline\xA7\causetsDrawSpatialLinkstrue\xA7 activates the option) 
+\\
+	~~(\lstinline\xA7\causetsDrawSpatialLinksfalse\xA7 deactivates the option) 
+\\\bottomrule
+\end{longtable}
 
-All these options can also be combined, but only one of the size and color options. 
-The last option (\lstinline\xA7spacelike\xA7) is only supported by the \lstinline\xA7\pcauset\xA7 commands (and ignored by the other commands), so that the last example uses \lstinline\xA7\pcauset{2,4,1,3}\xA7. 
+By default, the links in a diagram created with the \lstinline\xA7\causet\xA7 command are interrupted if they hit another event (exactly in their center).
+Any such crossing of links over events can only be caused by the manually drawn links, explicitly given in the second argument of \lstinline\xA7\causet\xA7, but not with the links drawn by \lstinline\xA7\pcauset\xA7 or \lstinline\xA7\rcauset\xA7.
+This feature is activated by default (\lstinline\xA7\causetsBreakLinkstrue\xA7) and can be  deactivated with \lstinline\xA7\causetsBreakLinksfalse\xA7, or with the option \lstinline\xA7continuously linked\xA7.
 
-\section{Modifiers for the Main Commands}
-\label{sec:Modifiers}
+For example, here is a causet that embeds in 3-dimensional but not in 2-dimensional Minkowski spacetime.
+This causet has one event (8) in the center that is linked to events 7 and 9, but not to events 2 and 14, while the link from 2 to 14 crosses the event 8 in the center.
+\begin{lstlisting}
+\usepackage[huge,labeled]{causets}
+\tikzcausetsset{labels={right=0.5ex}}
+... % ... \begin{document} ...
+\causet[brokenly linked]{7,10,3,1,12,5,2,8,14,11,4,15,13,6,9} {1/2,1/12,2/4,2/14,3/4,3/5,4/6,4/15,5/6,5/8,6/9,7/8,7/10,8/9,8/11, 10/11,10/12,11/13,12/13,12/14,14/15}
+\causet[continuously linked]{7,10,3,1,12,5,2,8,14,11,4,15,13,6,9} {1/2,1/12,2/4,2/14,3/4,3/5,4/6,4/15,5/6,5/8,6/9,7/8,7/10,8/9,8/11, 10/11,10/12,11/13,12/13,12/14,14/15}
+\end{lstlisting}
+\causet[huge, labels={right=0.5ex}, brokenly linked]{7,10,3,1,12,5,2,8,14,11,4,15,13,6,9}{1/2,1/12,2/4,2/14,3/4,3/5,4/6,4/15,5/6,5/8,6/9,7/8,7/10,8/9,8/11,10/11,10/12,11/13,12/13,12/14,14/15}
+\causet[huge, labels={right=0.5ex}, continuously linked]{7,10,3,1,12,5,2,8,14,11,4,15,13,6,9}{1/2,1/12,2/4,2/14,3/4,3/5,4/6,4/15,5/6,5/8,6/9,7/8,7/10,8/9,8/11,10/11,10/12,11/13,12/13,12/14,14/15}
+
+Note that the option \lstinline\xA7brokenly linked\xA7 is not necessary if the default option has not been changed.
+
+\section{Short Hand Macros}
+\label{sec:ShortHandMacros}
 The permutations and labels for causets can be switched on globally with the package options \lstinline\xA7permutation\xA7 and \lstinline\xA7labeled\xA7, or at any point in the document with the switches \\
-\lstinline\xA7\causetsDrawPermutationtrue\xA7 (same as \lstinline\xA7\tikzcausetsset{show permutation}\xA7) and \\
-\lstinline\xA7\causetsDrawLabelstrue\xA7 (same as \lstinline\xA7\tikzcausetsset{labeled}\xA7), respectively. 
+\lstinline\xA7\causetsDrawPermutationtrue\xA7 (same as the command \lstinline\xA7\tikzcausetsset{show permutation}\xA7 used in the preamble) and \lstinline\xA7\causetsDrawLabelstrue\xA7 (or \lstinline\xA7\tikzcausetsset{labeled}\xA7 used in the preamble), respectively. 
 
 To show only single causets with either of these options, there exist short hand macros for all three main commands. 
 Each main command can be followed by a capital letter \lstinline\xA7P\xA7 (to show the permutation), \lstinline\xA7L\xA7 (to show event labels), or \lstinline\xA7X\xA7 (to show both). 
@@ -368,11 +470,10 @@
 \begin{lstlisting}
 \pcauset[baseline=2mm]{2,4,5,1,3}
 \end{lstlisting}
-such that the diagram is placed with its center at $2\mathrm{mm}$ below the text base, \pcauset[baseline=2mm]{2,4,5,1,3}. 
+such that the diagram is placed with its center at $2\mathrm{mm}$ below the text base, \pcauset[baseline=2mm]{2,4,5,1,3}.
+\vspace{0.5cm}
 
-\section{Some Common Causets}
-\label{sec:CommonCausets}
-There are a few short hand macros for small common causets:
+There are a few short hand macros for small common causets as shown below.
 \begin{lstlisting}
 \causetFence{1}, \causetFence{2}, \ldots, \causetFence{10},
 \causetClosedFence{1}, \causetClosedFence{2}, \ldots, \causetClosedFence{10},
@@ -382,17 +483,18 @@
 \causetClosedFence{1}, \causetClosedFence{2}, \ldots, \causetClosedFence{10}, 
 \causetCrown
 
-\section{Changing Sizes and Mathematical Expressions}
+\section{Changing Sizes (Esp. for Mathematical Expressions)}
 \label{sec:Sizes}
 Apart from the pre-defined sizes \lstinline\xA7tiny\xA7, \lstinline\xA7small\xA7, \lstinline\xA7normal\xA7, \lstinline\xA7large\xA7 and \lstinline\xA7huge\xA7, sizes can be specified in the optional argument of a single causet diagram or with \lstinline\xA7\tikzcausetsset{...}\xA7 for the current scope. 
 Use the keys \vspace{-1ex}
 \begin{itemize}\itemsep=-1ex
-  \item \lstinline\xA7tile size=\xA7\valuePH\ sets the size of the tiles in the permutation to \valuePH
-  \item \lstinline\xA7region line width=\xA7\valuePH\ sets the thickness for the line surrounding the permutation region to \valuePH
-  \item \lstinline\xA7grid line width=\xA7\valuePH\ sets the line thickness of the permutation grid to \valuePH
-  \item \lstinline\xA7event size=\xA7\valuePH\ sets the diameter of the events to \valuePH
-  \item \lstinline\xA7link width=\xA7\valuePH\ sets the link thickness to \valuePH
-  \item \lstinline\xA7text scale=\xA7\valuePH\ sets the scaling factor of all the text labels (relative to the normal font size) to \valuePH
+  \item \lstinline\xA7tile size=\xA7\valuePH\ stores \valuePH\ in the macro \lstinline\xA7\causetTileSize\xA7 as the size of the tiles in the permutation
+  \item \lstinline\xA7region line width=\xA7\valuePH\ stores \valuePH\ in the macro \lstinline\xA7\causetRegionLine\xA7 as the thickness for the line surrounding the permutation region
+  \item \lstinline\xA7grid line width=\xA7\valuePH\ stores \valuePH\ in the macro \lstinline\xA7\causetGridLine\xA7 as the line thickness of the permutation grid
+  \item \lstinline\xA7event size=\xA7\valuePH\ stores \valuePH\ in the macro \lstinline\xA7\causetEventSize\xA7 as the diameter of the events
+  \item \lstinline\xA7link width=\xA7\valuePH\ stores \valuePH\ in the macro \lstinline\xA7\causetLinkWidth\xA7 as the link thickness
+  \item \lstinline\xA7broken link gap=\xA7\valuePH\ stores \valuePH\ in the macro \lstinline\xA7\causetBrokenLinkGap\xA7 as the gap before and after an event that interrupts a link
+  \item \lstinline\xA7text scale=\xA7\valuePH\ stores \valuePH\ in the macro \lstinline\xA7\causetTextScale\xA7 as the scaling factor of all the text labels (relative to the normal font size)
 \end{itemize}
 
 For example, the \lstinline\xA7normal\xA7 size is a pre-defined style with 
@@ -405,7 +507,6 @@
 \end{lstlisting}
 \pcausetL[tile size=2.20ex, region line width=0.15ex, grid line width=0.06ex, event size=1.10ex, link width=0.35ex, text scale=1]{13,8,14,9,3,15,12,1,6,16,5,11,7,2,10,4}
 
-\clearpage
 Changing sizes becomes important when you use causet diagrams in mathematical expression, where the size may be adjusted for indices or limits. 
 For example: 
 \begin{lstlisting}
@@ -433,10 +534,10 @@
 				\;\pcauset{1,5,4,3,2,6} 
 			\right\}}
 		| C | 
-	= \left| \pcauset{1,2,3} \right| 
-		+ \left| \pcauset{1,3,2,4} \right| 
-		+ \left| \pcauset{1,4,3,2,5} \right| 
-		+ \left| \pcauset{1,5,4,3,2,6} \right| 
+	= \left| \pcauset{1,2,3} \right|
+		+ \left| \pcauset{1,3,2,4} \right|
+		+ \left| \pcauset{1,4,3,2,5} \right|
+		+ \left| \pcauset{1,5,4,3,2,6} \right|
 \end{equation}
 
 \section{Changing Colors}
@@ -463,7 +564,7 @@
 For the pre-defined color schemes, use the keys \lstinline\xA7gray colors\xA7 (default colors), \lstinline\xA7black colors\xA7 (only black and white), \lstinline\xA7blue colors\xA7 (blue color tones), or \lstinline\xA7neon colors\xA7 (bright colors). 
 These keys set all the colors listed above to pre-defined values. 
 
-\section{Standalone causets}
+\section{Standalone Causets}
 \label{sec:Standalone}
 For any document that contains many (large) causet diagrams or the same causets that are used repeatedly, the compilation time can be reduced by putting the commands in external files using the \lstinline\xA7standalone\xA7 package. 
 
@@ -485,6 +586,7 @@
 \renewcommand{\causetspath}{my_causet_directory}
 \end{lstlisting}
 
+\clearpage
 \section{Advanced Style Changes}
 In the optional argument of the causet macros, you may use other TikZ options to change the output of the macros, for example: 
 \begin{lstlisting}
@@ -496,42 +598,48 @@
 
 In the same way, it is possible to modify the existing styles of all parts of the diagrams, which means that the default drawing styles are extended by the options passed as value to these keys: \vspace{-1ex}
 \begin{enumerate}\itemsep=-1ex
-  \item \lstinline\xA7region=\xA7\valuePH\ shows the permutation (\lstinline\xA7show permutation\xA7) and appends to the style of the permutation frame, 
-  \item \lstinline\xA7grid=\xA7\valuePH\ shows the permutation (\lstinline\xA7show permutation\xA7) and appends to the style of the permutation grid, 
-  \item \lstinline\xA7tiles=\xA7\valuePH\ shows the permutation (\lstinline\xA7show permutation\xA7) and appends to the style of the occupied permutation tiles, 
-  \item \lstinline\xA7events=\xA7\valuePH\ appends to the style of the event nodes (graph vertices), 
-  \item \lstinline\xA7links=\xA7\valuePH\ shows the links (\lstinline\xA7show links\xA7) and appends to the style of the links (graph edges), 
-  \item \lstinline\xA7spatial links=\xA7\valuePH\ shows the spatial links (\lstinline\xA7show spatial links\xA7) and appends to the style of the spatial links, 
-  \item \lstinline\xA7all labels=\xA7\valuePH\ appends to the general style of all text labels (applies to the following three label types), 
-  \item \lstinline\xA7labels=\xA7\valuePH\ shows the event labels (\lstinline\xA7show labels\xA7) and appends to the style that applies only to the event labels, 
+  \item \lstinline\xA7region=\xA7\valuePH\ shows the permutation (\lstinline\xA7show permutation\xA7) and appends to the style of the permutation frame,
+  \item \lstinline\xA7grid=\xA7\valuePH\ shows the permutation (\lstinline\xA7show permutation\xA7) and appends to the style of the permutation grid,
+  \item \lstinline\xA7tiles=\xA7\valuePH\ shows the permutation (\lstinline\xA7show permutation\xA7) and appends to the style of the occupied permutation tiles,
+  \item \lstinline\xA7events=\xA7\valuePH\ appends to the style of the event nodes (graph vertices),
+  \item \lstinline\xA7links=\xA7\valuePH\ shows the links (\lstinline\xA7show links\xA7) and appends to the style of the links (main graph edges),
+  \item \lstinline\xA7link starts=\xA7\valuePH\ sets the starting line tip of each link,
+  \item \lstinline\xA7link ends=\xA7\valuePH\ sets the ending line tip of each link,
+  \item \lstinline\xA7link pauses=\xA7\valuePH\ sets the ending line tip of each link at an interruption,
+  \item \lstinline\xA7link resumes=\xA7\valuePH\ sets the starting line tip of each link at an interruption,
+  \item \lstinline\xA7cap links\xA7 sets the starting and ending line tip of each link to a (reversed) cap,
+  \item \lstinline\xA7arrow links\xA7 sets the ending line tip of each link to a rounded, open, stealth arrow,
+  \item \lstinline\xA7spatial links=\xA7\valuePH\ shows the spatial links (\lstinline\xA7show spatial links\xA7) and appends to the style of the spatial links (secondary graph edges),
+  \item \lstinline\xA7all labels=\xA7\valuePH\ appends to the general style of all text labels (applies to the following three label types),
+  \item \lstinline\xA7labels=\xA7\valuePH\ shows the event labels (\lstinline\xA7show labels\xA7) and appends to the style that applies only to the event labels,
   \item \lstinline\xA7ulabels=\xA7\valuePH\ shows the $u$ labels (\lstinline\xA7show ulabels\xA7) and appends to the style that applies only to the $u$ labels, and 
-  \item \lstinline\xA7vlabels=\xA7\valuePH\ shows the $v$ labels (\lstinline\xA7show vlabels\xA7) and appends to the style that applies only to the $v$ labels. 
+  \item \lstinline\xA7vlabels=\xA7\valuePH\ shows the $v$ labels (\lstinline\xA7show vlabels\xA7) and appends to the style that applies only to the $v$ labels.
 \end{enumerate}
 In order to manually define the full style of the parts in the diagram - not extending, but \emph{overwriting all} drawing options - set the style of the following keys: \vspace{-1ex}
 \begin{enumerate}\itemsep=-1ex
-  \item \lstinline\xA7every causet\xA7 the general style of the causet diagram (like \lstinline\xA7baseline\xA7), 
-  \item \lstinline\xA7every tile\xA7 for the occupied permutation tiles, 
-  \item \lstinline\xA7every event\xA7 for the event nodes (graph vertices), 
-  \item \lstinline\xA7every grid\xA7 for the permutation grid, 
-  \item \lstinline\xA7every region\xA7 for the permutation region, 
-  \item \lstinline\xA7every label base\xA7 for the all text labels, 
-  \item \lstinline\xA7every ulabel\xA7 for the permutation $u$ labels, 
-  \item \lstinline\xA7every vlabel\xA7 for the permutation $v$ labels, 
-  \item \lstinline\xA7every link\xA7 for the links (graph edges), 
-  \item \lstinline\xA7every spatial link\xA7 for the spacelike separations, and 
-  \item \lstinline\xA7every label\xA7 for the event labels. 
+  \item \lstinline\xA7every causet\xA7 for the general style of the causet diagram (like \lstinline\xA7baseline\xA7), 
+  \item \lstinline\xA7every tile\xA7 for the occupied permutation tiles,
+  \item \lstinline\xA7every event\xA7 for the event nodes (graph vertices),
+  \item \lstinline\xA7every grid\xA7 for the permutation grid,
+  \item \lstinline\xA7every region\xA7 for the permutation region,
+  \item \lstinline\xA7every label base\xA7 for all text labels,
+  \item \lstinline\xA7every ulabel\xA7 for the permutation $u$ labels,
+  \item \lstinline\xA7every vlabel\xA7 for the permutation $v$ labels,
+  \item \lstinline\xA7every link\xA7 for the links (graph edges),
+  \item \lstinline\xA7every spatial link\xA7 for the spacelike separations, and
+  \item \lstinline\xA7every label\xA7 for the event labels.
 \end{enumerate}
 With the macro \lstinline\xA7\tikzcausetsset{...}\xA7, any of these styles can also be set in the preamble of the document. 
-So for example 
+So, for example, 
 \begin{lstlisting}
 \usepackage{causets}
-\tikzcausetsset{events={rectangle}}
+\tikzcausetsset{events={rectangle}, links={-Triangle Cap[]}}
 ... % ... \begin{document} ...
 \pcauset{2,4,5,1,3}
 \end{lstlisting}
-will generate all causets with square events, like \pcauset[events=rectangle]{2,4,5,1,3}. 
+will generate all causets with square nodes as events and triangle caps on the future link ends, like \pcauset[events={rectangle}, links={-Triangle Cap[]}]{2,4,5,1,3}. 
 
-\section{Using causets with TikZ}
+\section{Using this Package with TikZ}
 \label{sec:TikZ}
 Since the package is TikZ based, using a causet within a TikZ picture is simple. 
 Each of the three main commands is based on a draw command in TikZ that has the same name but starts with \lstinline\xA7\draw...\xA7. 
@@ -540,7 +648,7 @@
 The two following examples are given by external (standalone) TikZ graphics and included with \lstinline\xA7\causetfile{...}\xA7. 
 More details on using causets in standalone files are given in \autoref{sec:Standalone}. 
 
-Note that the output of the \lstinline\xA7\draw\xA7 macros has the point (0,0) in the center, so to shift it, we can enclose it in a TikZ scope, for example: 
+Note that the output of the \lstinline\xA7\draw\xA7 macros has the point (0,0) in the center, so in order to shift it, we may enclose it in a TikZ scope, for example: 
 \lstinputlisting{causet_tikz_example1.tex}
 \causetfile{causet_tikz_example1}
 
@@ -555,11 +663,24 @@
 \clearpage
 \section{Updates}
 \subsection{Version 1.1}
-All colors, size and style options have been moved to PGF keys in the path 
+\begin{itemize}\itemsep=-1ex
+	\item All colors, size and style options have been moved to PGF keys in the path 
 \begin{lstlisting}
 /tikz/causets/
 \end{lstlisting}
+\end{itemize}
 
+\subsection{Version 1.2}
+\begin{itemize}\itemsep=-1ex
+  \item The color option \lstinline\xA7blue\xA7 has been modified so that a diagram is now only colored in different shades of blue, gray and black.
+  \item Every event label is now positioned relative to the center point of an event, so that the position of event labels can be modified with \lstinline\xA7left=\xA7\valuePH, \lstinline\xA7right=\xA7\valuePH, etc.
+  \item Arrow tips may now be added to the start and end of links via the style settings \lstinline\xA7link starts=\xA7\valuePH\ and \lstinline\xA7link ends=\xA7\valuePH, or via the pre-defined styles \lstinline\xA7cap links\xA7 and \lstinline\xA7arrow links\xA7.
+  \item By default, links drawn by the command \lstinline\xA7\causet\xA7 are now broken if they cross over an event. 
+The style of the start and end of the link interruption are set with \lstinline\xA7link pauses=\xA7\valuePH\ and \lstinline\xA7link resumes=\xA7\valuePH.
+	\item Links between spacelike separated events are now also supported by the command \lstinline\xA7\rcauset\xA7.
+	\item More details have been added to this manual, especially to \autoref{sec:PackageOptions}.
+\end{itemize}
+
 \section{Bug Reports and Package Requests}
 \label{sec:PackageDevelopment}
 Problems with the package are reported here: \\
@@ -567,8 +688,8 @@
 
 If you have a problem when using the package or you would like to have another feature to be implemented, please write a message to \\
 christoph(dot)minz(AT)gmail(dot)com\\
-For reporting a bug, it is much appreciated if you do the following:
-\begin{itemize}
+For reporting a bug, I much appreciated if you do the following:
+\begin{itemize}\itemsep=-1ex
   \item Check the issues reported previously if your problem is already listed. 
   \item Describe your problem including the errors and warning messages, information about the drivers and programs versions. 
   \item Provide a minimal working test file (only a single \TeX\ file) that demonstrates the problem. 

Modified: trunk/Master/texmf-dist/tex/latex/causets/causets.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/causets/causets.sty	2022-02-06 21:10:51 UTC (rev 61915)
+++ trunk/Master/texmf-dist/tex/latex/causets/causets.sty	2022-02-06 21:11:04 UTC (rev 61916)
@@ -1,6 +1,6 @@
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{causets}[2020/12/13 v1.1 Package to draw causal set diagrams]
-%% Copyright 2020 by C. Minz
+\ProvidesPackage{causets}[2022/02/07 v1.2 Package to draw causal set diagrams]
+%% Copyright 2020-2022 by C. Minz
 %
 % This work may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3
@@ -10,7 +10,7 @@
 %
 % This work has the LPPL maintenance status "maintained".
 % 
-% The current version of this package is 1.1.
+% The current version of this package is 1.2.
 %
 % The current maintainer of this work is C. Minz.
 % https://github.com/c-minz
@@ -20,6 +20,7 @@
 % causet_tikz_example2.tex, causet_tikz_example2.pdf
 
 \RequirePackage{tikz}
+\usepgflibrary{arrows.meta}
 
 %% PGF keys:
 \def\tikzcausetsset#1{\pgfqkeys{/tikz/causets}{#1}}
@@ -36,6 +37,8 @@
 	event size/.value required,
 	link width/.store in=\causetLinkWidth,
 	link width/.value required,
+	broken link gap/.store in=\causetBrokenLinkGap,
+	broken link gap/.value required,
 	text scale/.store in=\causetTextScale,
 	text scale/.value required,
 	tiny/.value forbidden,
@@ -49,6 +52,7 @@
 		grid line width=0.01ex,
 		event size=0.16ex,
 		link width=0.05ex,
+		broken link gap=0.15ex,
 		text scale=0.16},
 	small/.style={%
 		tile size=0.60ex,
@@ -56,6 +60,7 @@
 		grid line width=0.02ex,
 		event size=0.32ex,
 		link width=0.10ex,
+		broken link gap=0.30ex,
 		text scale=0.32},
 	normal/.style={%
 		tile size=0.90ex,
@@ -63,6 +68,7 @@
 		grid line width=0.03ex,
 		event size=0.48ex,
 		link width=0.15ex,
+		broken link gap=0.45ex,
 		text scale=0.48},
 	large/.style={%
 		tile size=1.35ex,
@@ -70,6 +76,7 @@
 		grid line width=0.05ex,
 		event size=0.75ex,
 		link width=0.20ex,
+		broken link gap=0.60ex,
 		text scale=0.75},
 	huge/.style={%
 		tile size=1.80ex,
@@ -77,6 +84,7 @@
 		grid line width=0.07ex,
 		event size=1.00ex,
 		link width=0.25ex,
+		broken link gap=0.75ex,
 		text scale=1.00}
 }
 % color options:
@@ -113,11 +121,11 @@
 	blue colors/.style={%
 		region color=black!75,
 		grid color=black!25,
-		tile color=yellow!75!black!50!white,
+		tile color=cyan!25!black!25!white,
 		event color=blue!50!black,
 		label color=blue!50!black,
 		link color=cyan!75!black,
-		spatial link color=red!65!black,
+		spatial link color=blue!75!white,
 		ulabel color=black!50,
 		vlabel color=black!50},
 	neon colors/.style={%
@@ -134,6 +142,7 @@
 % styles:
 \newif\ifcausetsDrawPermutation
 \newif\ifcausetsDrawLinks
+\newif\ifcausetsBreakLinks
 \newif\ifcausetsDrawSpatialLinks
 \newif\ifcausetsDrawLabels
 \newif\ifcausetsDrawULabels
@@ -141,6 +150,7 @@
 \tikzcausetsset{%
 	show permutation/.is if=causetsDrawPermutation,
 	show links/.is if=causetsDrawLinks,
+	break links/.is if=causetsBreakLinks,
 	show spatial links/.is if=causetsDrawSpatialLinks,
 	show labels/.is if=causetsDrawLabels,
 	show ulabels/.is if=causetsDrawULabels,
@@ -148,6 +158,8 @@
 	permutation/.code={\causetsDrawPermutationtrue},
 	linked/.code={\causetsDrawLinkstrue},
 	unlinked/.code={\causetsDrawLinksfalse},
+	brokenly linked/.code={\causetsBreakLinkstrue},
+	continuously linked/.code={\causetsBreakLinksfalse},
 	spatially linked/.code={\causetsDrawSpatialLinkstrue},
 	spatially unlinked/.code={\causetsDrawSpatialLinksfalse},
 	labeled/.code={\causetsDrawLabelstrue},
@@ -159,25 +171,51 @@
 	every region/.value forbidden,
 	every region/.style={color=\pgfkeysvalueof{/tikz/causets/region color}, line width=\causetRegionLine},
 	region/.style={show permutation, every region/.append style={#1}},
+	every grid/.value forbidden,
 	every grid/.style={color=\pgfkeysvalueof{/tikz/causets/grid color}, line width=\causetGridLine, step=\causetTileSize},
 	grid/.style={show permutation, every grid/.append style={#1}},
+	every tile/.value forbidden,
 	every tile/.style={color=\pgfkeysvalueof{/tikz/causets/tile color}, line width=\causetGridLine, fill},
 	tiles/.style={show permutation, every tile/.append style={#1}},
+	every event/.value forbidden,
 	every event/.style={color=\pgfkeysvalueof{/tikz/causets/event color}, circle, fill, inner sep=0pt, minimum size=\causetEventSize},
 	events/.value required,
 	events/.style={every event/.append style={#1}},
-	every link/.style={color=\pgfkeysvalueof{/tikz/causets/link color}, line width=\causetLinkWidth, arrows=-},
+	Link Start/.tip={},
+	Link Pause/.tip={Triangle Cap[] . Fast Triangle[] . Fast Triangle[]},
+	Link Resume/.tip={Triangle Cap[reversed] . Fast Triangle[reversed] . Fast Triangle[reversed]},
+	Link End/.tip={},
+	every link/.value forbidden,
+	every link/.style={color=\pgfkeysvalueof{/tikz/causets/link color}, line width=\causetLinkWidth, {Link Start[]}-{Link End[]}},
 	links/.style={show links, every link/.append style={#1}},
+	link starts/.value required,
+	link starts/.style={Link Start/.tip={#1}},
+	link pauses/.value required,
+	link pauses/.style={Link Pause/.tip={#1}},
+	link resumes/.value required,
+	link resumes/.style={Link Resume/.tip={#1}},
+	link ends/.value required,
+	link ends/.style={Link End/.tip={#1}},
+	cap links/.value forbidden,
+	cap links/.style={link starts={Triangle Cap[reversed]}, link ends={Triangle Cap[]}},
+	arrow links/.value forbidden,
+	arrow links/.style={link ends={Stealth[round, open, length=4*\causetLinkWidth, line width=\causetLinkWidth/3]}},
+	every spatial link/.value forbidden,
 	every spatial link/.style={every link, color=\pgfkeysvalueof{/tikz/causets/spatial link color}, dashed},
 	spatial links/.style={show spatial links, every spatial link/.append style={#1}},
+	every label base/.value forbidden,
 	every label base/.style={text opacity=1.0, scale=\causetTextScale, inner sep=0.5*\causetTextScale ex},
 	all labels/.style={every label base/.append style={#1}},
-	every label/.style={every label base, color=\pgfkeysvalueof{/tikz/causets/label color}, below left, inner sep=0pt},
+	every label/.value forbidden,
+	every label/.style={every label base, color=\pgfkeysvalueof{/tikz/causets/label color}, below left},
 	labels/.style={show labels, every label/.append style={#1}},
+	every ulabel/.value forbidden,
 	every ulabel/.style={every label base, color=\pgfkeysvalueof{/tikz/causets/ulabel color}, right, rotate=-45, align=left},
 	ulabels/.style={show ulabels, every ulabel/.append style={#1}},
+	every vlabel/.value forbidden,
 	every vlabel/.style={every label base, color=\pgfkeysvalueof{/tikz/causets/vlabel color}, left, rotate=45, align=right}, 
 	vlabels/.style={show vlabels, every vlabel/.append style={#1}},
+	every causet/.value forbidden,
 	every causet/.style={baseline=-0.707*\causetTileSize}
 }
 
@@ -184,6 +222,7 @@
 %% delare and execute options:
 \tikzcausetsset{normal}
 \causetsDrawLinkstrue
+\causetsBreakLinkstrue
 \causetsDrawULabelstrue
 \causetsDrawVLabelstrue
 \DeclareOption{tiny}{\tikzcausetsset{tiny}}
@@ -200,6 +239,10 @@
 \DeclareOption{neon colors}{\tikzcausetsset{neon colors}}
 \DeclareOption{linked}{\causetsDrawLinkstrue}
 \DeclareOption{unlinked}{\causetsDrawLinksfalse}
+\DeclareOption{cap linked}{\tikzcausetsset{cap links}}
+\DeclareOption{arrow linked}{\tikzcausetsset{arrow links}}
+\DeclareOption{brokenly linked}{\causetsBreakLinkstrue}
+\DeclareOption{continuously linked}{\causetsBreakLinksfalse}
 \DeclareOption{spatially linked}{\causetsDrawSpatialLinkstrue}
 \DeclareOption{spatially unlinked}{\causetsDrawSpatialLinksfalse}
 \DeclareOption{permutation}{\causetsDrawPermutationtrue}
@@ -270,12 +313,35 @@
 \fi
 }
 
+% draw the spatial links from the permutation:
+\newcommand*{\causets at drawSpatialLinks}[1]{%
+\ifcausetsDrawSpatialLinks
+	\setcounter{causet at i}{0}
+	\foreach \causet at p in {#1}{%
+		\stepcounter{causet at i}
+		\edef\causet at qBound{0}
+		\setcounter{causet at j}{0}
+		\foreach \causet at q in {#1}{%
+			\stepcounter{causet at j}
+			\ifnum\value{causet at j}>\value{causet at i}
+				\ifnum\causet at q>\causet at qBound
+					\ifnum\causet at p>\causet at q
+						\draw[causets/.cd, every spatial link] (E\causet at q) -- (E\causet at p);
+						\xdef\causet at qBound{\causet at q}
+					\fi
+				\fi
+			\fi
+		}
+	}
+\fi
+}
+
 % draw event labels:
 \newcommand*{\causets at drawEventLabels}[1]{%
 \ifcausetsDrawLabels
 	\foreach \causet at p in {#1}{%
 		\node[causets/.cd, every label] (EL\causet at p) 
-			at (E\causet at p.south west) {\causet at p};
+			at (E\causet at p) {\causet at p};
 	}
 \fi
 }
@@ -307,25 +373,7 @@
 				}
 			}
 		\fi
-		\ifcausetsDrawSpatialLinks
-			\setcounter{causet at i}{0}
-			\foreach \causet at p in {#1}{%
-				\stepcounter{causet at i}
-				\edef\causet at qBound{0}
-				\setcounter{causet at j}{0}
-				\foreach \causet at q in {#1}{%
-					\stepcounter{causet at j}
-					\ifnum\value{causet at j}>\value{causet at i}
-						\ifnum\causet at q>\causet at qBound
-							\ifnum\causet at p>\causet at q
-								\draw[causets/.cd, every spatial link] (E\causet at q) -- (E\causet at p);
-								\xdef\causet at qBound{\causet at q}
-							\fi
-						\fi
-					\fi
-				}
-			}
-		\fi
+		\causets at drawSpatialLinks{#1}
 		\causets at drawEventLabels{#1}
 	\end{scope}
 \end{scope}
@@ -340,9 +388,59 @@
 		\causets at drawEvents{#1}
 		\causets at drawPermutation{#1}
 		\ifcausetsDrawLinks
-			\foreach \causet at From/\causet at To in {#2}{%
-				\draw[causets/.cd, every link] (E\causet at From) -- (E\causet at To);
-			}
+			\ifcausetsBreakLinks
+				\foreach \causet at From/\causet at To in {#2}{%
+					\pgfmathsetmacro\causet at dU{int(\causet at To) - int(\causet at From)}
+					\setcounter{causet at i}{0}
+					\foreach \causet at p in {#1}{%
+						\ifnum\causet at p=\causet at To
+							\pgfmathparse{int(\value{causet at i})}
+							\xdef\causet at dV{\pgfmathresult}
+						\fi
+						\ifnum\value{causet at i}>0
+							\stepcounter{causet at i}
+						\fi
+						\ifnum\causet at p=\causet at From
+							\stepcounter{causet at i}
+						\fi
+					}
+					\def\causet at LastBreak{0}
+					\setcounter{causet at i}{0}
+					\foreach \causet at p in {#1}{%
+						\ifnum\causet at p=\causet at To
+							\setcounter{causet at i}{0}
+						\fi
+						\pgfmathparse{and(\value{causet at i} > 0, int((\causet at p - \causet at From) * \causet at dV) == int(\causet at dU * \value{causet at i}))}
+						\ifnum\pgfmathresult=1
+							\ifnum\causet at LastBreak=0
+								\draw[causets/.cd, every link, {Link Start}-{Link Pause}, shorten >=\causetBrokenLinkGap]
+									(E\causet at From) -- (E\causet at p);
+							\else
+								\draw[causets/.cd, every link, {Link Resume}-{Link Pause}, shorten <=\causetBrokenLinkGap, shorten >=\causetBrokenLinkGap]
+									(E\causet at LastBreak) -- (E\causet at p);
+							\fi
+							\xdef\causet at LastBreak{\causet at p}
+						\fi
+						\ifnum\value{causet at i}>0
+							\stepcounter{causet at i}
+						\fi
+						\ifnum\causet at p=\causet at From
+							\setcounter{causet at i}{1}
+						\fi
+					}
+					\ifnum\causet at LastBreak>0
+						\draw[causets/.cd, every link, {Link Resume}-{Link End}, shorten <=\causetBrokenLinkGap]
+							(E\causet at LastBreak) -- (E\causet at To);
+					\else
+						\draw[causets/.cd, every link]
+							(E\causet at From) -- (E\causet at To);
+					\fi
+				}
+			\else
+				\foreach \causet at From/\causet at To in {#2}{%
+					\draw[causets/.cd, every link] (E\causet at From) -- (E\causet at To);
+				}
+			\fi
 		\fi
 		\causets at drawEventLabels{#1}
 	\end{scope}
@@ -370,7 +468,7 @@
 							\ifnum\causet at p<\causet at q
 								\global\causet at ItemFoundInListfalse
 								\foreach \causet at From/\causet at To in {#2}{%
-									\pgfmathparse{and( equal( int(\causet at From), int(\causet at p) ), equal( int(\causet at To), int(\causet at q) ) )}
+									\pgfmathparse{and(int(\causet at From) == int(\causet at p), int(\causet at To) == int(\causet at q))}
 									\ifnum\pgfmathresult=1
 										\global\causet at ItemFoundInListtrue
 									\fi
@@ -387,6 +485,12 @@
 				}
 			}
 		\fi
+		\causets at drawSpatialLinks{#1}
+		\ifcausetsDrawSpatialLinks
+			\foreach \causet at From/\causet at To in {#2}{%
+				\draw[causets/.cd, every spatial link] (E\causet at From) -- (E\causet at To);
+			}
+		\fi
 		\causets at drawEventLabels{#1}
 	\end{scope}
 \end{scope}



More information about the tex-live-commits mailing list.