From e8a3b5efb57cc30ce1fed65a0abbec753201bbb1 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 14 Dec 2020 22:15:00 +0000 Subject: causets (14dec20) git-svn-id: svn://tug.org/texlive/trunk@57139 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/causets/README.md | 4 + .../doc/latex/causets/causet_tikz_example1.pdf | Bin 16980 -> 17024 bytes .../doc/latex/causets/causet_tikz_example2.pdf | Bin 22237 -> 22314 bytes Master/texmf-dist/doc/latex/causets/causets.pdf | Bin 409134 -> 414163 bytes Master/texmf-dist/doc/latex/causets/causets.tex | 261 +++++++-------- Master/texmf-dist/tex/latex/causets/causets.sty | 362 +++++++++++++-------- 6 files changed, 362 insertions(+), 265 deletions(-) (limited to 'Master') diff --git a/Master/texmf-dist/doc/latex/causets/README.md b/Master/texmf-dist/doc/latex/causets/README.md index 5ef2e097335..b500c9a2be5 100644 --- a/Master/texmf-dist/doc/latex/causets/README.md +++ b/Master/texmf-dist/doc/latex/causets/README.md @@ -47,5 +47,9 @@ This work has the LPPL maintenance status "maintained". The current maintainer of this work is C. Minz. https://github.com/c-minz +Current version: 1.1 + +CTAN location: /graphics/pgf/contrib/causets/ + This work consists of the files causets.sty, causets.tex, causets.pdf, causet_tikz_example1.tex, causet_tikz_example1.pdf, causet_tikz_example2.tex, causet_tikz_example2.pdf diff --git a/Master/texmf-dist/doc/latex/causets/causet_tikz_example1.pdf b/Master/texmf-dist/doc/latex/causets/causet_tikz_example1.pdf index de2cc344f07..cf83e39a828 100644 Binary files a/Master/texmf-dist/doc/latex/causets/causet_tikz_example1.pdf and b/Master/texmf-dist/doc/latex/causets/causet_tikz_example1.pdf differ diff --git a/Master/texmf-dist/doc/latex/causets/causet_tikz_example2.pdf b/Master/texmf-dist/doc/latex/causets/causet_tikz_example2.pdf index c8c01d7d050..d9343512a78 100644 Binary files a/Master/texmf-dist/doc/latex/causets/causet_tikz_example2.pdf and b/Master/texmf-dist/doc/latex/causets/causet_tikz_example2.pdf differ diff --git a/Master/texmf-dist/doc/latex/causets/causets.pdf b/Master/texmf-dist/doc/latex/causets/causets.pdf index e472aefc049..8d9321f1e41 100644 Binary files a/Master/texmf-dist/doc/latex/causets/causets.pdf and b/Master/texmf-dist/doc/latex/causets/causets.pdf differ diff --git a/Master/texmf-dist/doc/latex/causets/causets.tex b/Master/texmf-dist/doc/latex/causets/causets.tex index 001b032b164..75a4479a656 100644 --- a/Master/texmf-dist/doc/latex/causets/causets.tex +++ b/Master/texmf-dist/doc/latex/causets/causets.tex @@ -9,6 +9,9 @@ \renewcommand{\thesection}{\arabic{section}} \titlespacing*{\section}{0pt}{15pt}{5pt} \titleformat{\section}{\large\bfseries\sffamily}{\thetitle}{17pt}{}{} +\renewcommand{\thesubsection}{} +\titlespacing*{\subsection}{0pt}{15pt}{5pt} +\titleformat{\subsection}{\small\bfseries\sffamily}{\thetitle}{0pt}{}{} \usepackage{fancyhdr} % advanced header and footer \pagestyle{fancy} \fancypagestyle{plain}{\fancyhf{}\renewcommand{\headrulewidth}{0.0pt}} @@ -65,10 +68,13 @@ \usepackage{amsmath} \usepackage{causets} -\renewcommand{\causetsDirectory}{.} +\renewcommand{\causetspath}{.} -\title{{\small package}\\[0.5cm] \huge causets \\[0.2cm]{\small version 1.0}\\[0.5cm]} +\newcommand*{\valuePH}{{\small\itshape$\langle$value$\rangle$}} % placeholder + +\title{{\small package}\\[0.5cm] \huge causets \\[0.2cm]{\small version 1.1}\\[0.5cm]} \author{Christoph Minz} +\date{December 13, 2020} \begin{document} @@ -76,7 +82,7 @@ \begin{center} $\displaystyle - \largecausets + \tikzcausetsset{large} \left\{ \pcauset{3,2,1}, \pcauset{3,1,2}, @@ -87,7 +93,7 @@ $\displaystyle $ \\ $\displaystyle - \largecausets + \tikzcausetsset{large} \causetsDrawLabelstrue \left\{ \pcauset{3,2,1}, @@ -99,7 +105,7 @@ $\displaystyle $ \\ $\displaystyle - \largecausets + \tikzcausetsset{large} \causetsDrawPermutationtrue \left\{ \pcauset{3,2,1}, @@ -152,8 +158,7 @@ Any causet that can be embedded in $1 + 1$ dimensional Minkowski spacetime can a 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§\pcauset§ command that computes the causal relation from the permutation. See example 1 in \autoref{tab:MainCommandsExamples}. -\causetsSetColorsBlack -\causetsDrawPermutationtrue +\tikzcausetsset{black, show permutation} \begin{table}[h!] \begin{tabular*}{\textwidth}{lp{0.72\textwidth}c} \toprule @@ -176,8 +181,7 @@ See example 1 in \autoref{tab:MainCommandsExamples}. \end{tabular*} \caption{\label{tab:MainCommandsExamples} Examples for the three main commands of the package.} \end{table} -\causetsSetColorsGray -\causetsDrawPermutationfalse +\tikzcausetsset{gray, 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. @@ -220,9 +224,7 @@ For example, you may write \lstinline It is possible to use dots in a permutation so that TikZ will auto-complete the list. For example, the command \lstinline§\pcauset{14,...,10,8,2,1,9,3,4,...,7}§ will generate the diagram \begin{align*} - \causetsSetColorsBlack - \causetsDrawPermutationtrue - \pcauset{14,...,10,8,2,1,9,3,4,...,7} + \pcauset[black, show permutation]{14,...,10,8,2,1,9,3,4,...,7} \end{align*} which is the same as \lstinline§\pcauset{14,13,12,11,10,8,2,1,9,3,4,5,6,7}§. (This graphic uses the package options \lstinline§black§ and \lstinline§permutation§ again.) @@ -271,67 +273,67 @@ The package options and their macros are shown in \autoref{tab:PackageOptions}, \\\midrule \lstinline§\usepackage[tiny]{causets}§ for tiny diagrams & \multirow{2}{5em}{% - \tinycausets \rcauset{4,2,7,6,1,5,3}{2/5}} + \rcauset[tiny]{4,2,7,6,1,5,3}{2/5}} \\ - ~~(\lstinline§\tinycausets§ sets tiny sizes) + ~~(\lstinline§\tikzcausetsset{tiny}§ sets tiny sizes) \\ \lstinline§\usepackage[small]{causets}§ for small diagrams & \multirow{2}{5em}{% - \smallcausets \rcauset{4,2,7,6,1,5,3}{2/5}} + \rcauset[small]{4,2,7,6,1,5,3}{2/5}} \\ - ~~(\lstinline§\smallcausets§ sets small sizes) + ~~(\lstinline§\tikzcausetsset{small}§ sets small sizes) \\ \lstinline§\usepackage[large]{causets}§ for large diagrams & \multirow{3}{5em}{% - \largecausets \rcauset{4,2,7,6,1,5,3}{2/5}} + \rcauset[large]{4,2,7,6,1,5,3}{2/5}} \\ - ~~(\lstinline§\largecausets§ sets large sizes) + ~~(\lstinline§\tikzcausetsset{large}§ sets large sizes) \\ \\ \lstinline§\usepackage[huge]{causets}§ for huge diagrams & \multirow{4}{5em}{% - \hugecausets \rcauset{4,2,7,6,1,5,3}{2/5}} + \rcauset[huge]{4,2,7,6,1,5,3}{2/5}} \\ - ~~(\lstinline§\hugecausets§ sets huge sizes) + ~~(\lstinline§\tikzcausetsset{huge}§ sets huge sizes) \\ \\ - ~~(\lstinline§\normalcausets§ resets to normal sizes) + ~~(\lstinline§\tikzcausetsset{normal}§ resets to normal sizes) \\ - (\lstinline§\causetsSetSizes{}{}{}{}{}{}§ for user-defined sizes, see \autoref{sec:Sizes}) + Details on size options are given in \autoref{sec:Sizes}. \\\midrule \lstinline§\usepackage[black]{causets}§ for black and white causets & \multirow{2}{5em}{% - \causetsSetColorsBlack \rcauset{4,2,7,6,1,5,3}{2/5}} + \rcauset[black colors]{4,2,7,6,1,5,3}{2/5}} \\ - ~~(\lstinline§\causetsSetColorsBlack§ activates the option) + ~~(\lstinline§\tikzcausetsset{black colors}§ activates the option) \\ \lstinline§\usepackage[gray]{causets}§ for gray scale causets (default) & \multirow{2}{5em}{% - \causetsSetColorsGray \rcauset{4,2,7,6,1,5,3}{2/5}} + \rcauset[gray colors]{4,2,7,6,1,5,3}{2/5}} \\ - ~~(\lstinline§\causetsSetColorsGray§ activates the option) + ~~(\lstinline§\tikzcausetsset{gray colors}§ activates the option) \\ \lstinline§\usepackage[blue]{causets}§ for blue causets & \multirow{2}{5em}{% - \causetsSetColorsBlue \rcauset{4,2,7,6,1,5,3}{2/5}} + \rcauset[blue colors]{4,2,7,6,1,5,3}{2/5}} \\ - ~~(\lstinline§\causetsSetColorsBlue§ activates the option) + ~~(\lstinline§\tikzcausetsset{blue colors}§ activates the option) \\ \lstinline§\usepackage[neon]{causets}§ for brightly colored causets & \multirow{2}{5em}{% - \causetsSetColorsNeon \rcauset{4,2,7,6,1,5,3}{2/5}} + \rcauset[neon colors]{4,2,7,6,1,5,3}{2/5}} \\ - ~~(\lstinline§\causetsSetColorsNeon§ activates the option) + ~~(\lstinline§\tikzcausetsset{neon colors}§ activates the option) \\ - (more color formatting options in \autoref{sec:Colors}) + Details on color options are given in \autoref{sec:Colors}. \\\midrule - \lstinline§\usepackage[spacelike]{causets}§ shows a partial order for spacelike separated events, but only with the \lstinline§\pcauset§ commands + \lstinline§\usepackage[spatially linked]{causets}§ shows a partial order for spacelike separated events, but only with the \lstinline§\pcauset§ commands & \multirow{2}{5em}{% - \causetsDrawSeparationstrue \pcauset{2,4,1,3}} + \pcauset[spatially linked]{2,4,1,3}} \\ - ~~(\lstinline§\causetsDrawSeparationstrue§ activates the option) + ~~(\lstinline§\causetsDrawSpatialLinkstrue§ activates the option) \\ - ~~(\lstinline§\causetsDrawSeparationsfalse§ deactivates the option) + ~~(\lstinline§\causetsDrawSpatialLinksfalse§ deactivates the option) \\\bottomrule \end{tabular*} \caption{\label{tab:PackageOptions} All package options.} @@ -342,7 +344,9 @@ The last option (\lstinline \section{Modifiers for the Main Commands} \label{sec:Modifiers} -The permutations and labels for causets can be switched on globally with the package options \lstinline§permutation§ and \lstinline§labeled§, or at any point in the document with the switches \lstinline§\causetsDrawPermutationtrue§ and \lstinline§\causetsDrawLabelstrue§, respectively. +The permutations and labels for causets can be switched on globally with the package options \lstinline§permutation§ and \lstinline§labeled§, or at any point in the document with the switches \\ +\lstinline§\causetsDrawPermutationtrue§ (same as \lstinline§\tikzcausetsset{show permutation}§) and \\ +\lstinline§\causetsDrawLabelstrue§ (same as \lstinline§\tikzcausetsset{labeled}§), 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§P§ (to show the permutation), \lstinline§L§ (to show event labels), or \lstinline§X§ (to show both). @@ -352,13 +356,19 @@ Each main command can be followed by a capital letter \lstinline Causets with permutations (and labels) \pcausetP{4,1,2,3}, \pcausetX{1,2,3,4}, \pcausetL{1,2,4,3}, and without any \pcauset{2,4,1,3}. \end{lstlisting} Causets with permutations (and labels) \pcausetP{4,1,2,3}, \pcausetX{1,2,3,4}, \pcausetL{1,2,4,3}, and without any \pcauset{2,4,1,3}. +These results are also obtained by using the optional parameter, for example: +\begin{lstlisting} +\usepackage{causets} +... % ... \begin{document} ... +Causets with permutations (and labels) \pcauset[permutation]{4,1,2,3}, \pcauset[permutation,labeled]{1,2,3,4}, \pcauset[labeled]{1,2,4,3}, and without any \pcauset{2,4,1,3}. +\end{lstlisting} -All main commands have an optional argument in which any TikZ commands can be used to change the style of the causet. -By default, the optional argument is set to \lstinline§causet§, which is a TikZ style defined by the package to align the output with the baseline of the text, see the examples here. +The optional argument of the main commands accepts any causets or TikZ keys to change the style of the causet. +For example, the baseline can be moved with \begin{lstlisting} -Without an optional argument \pcauset{2,4,5,1,3} aligns the center just above the baseline. Using \pcauset[]{2,4,5,1,3}, the bottom of the diagram will be aligned with the baseline; and with \pcauset[baseline=1mm]{2,4,5,1,3} the center is placed 1mm below the baseline. +\pcauset[baseline=2mm]{2,4,5,1,3} \end{lstlisting} -Without an optional argument \pcauset{2,4,5,1,3} aligns the center just above the baseline. Using \pcauset[]{2,4,5,1,3}, the bottom of the diagram will be aligned with the baseline; and with \pcauset[baseline=1mm]{2,4,5,1,3} the center is placed 1mm below the baseline. +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}. \section{Some Common Causets} \label{sec:CommonCausets} @@ -374,43 +384,33 @@ There are a few short hand macros for small common causets: \section{Changing Sizes and Mathematical Expressions} \label{sec:Sizes} -Apart from the pre-defined sizes \lstinline§tiny§, \lstinline§small§, \lstinline§normal§, \lstinline§large§ and \lstinline§huge§, sizes can be defined with a macro similar to +Apart from the pre-defined sizes \lstinline§tiny§, \lstinline§small§, \lstinline§normal§, \lstinline§large§ and \lstinline§huge§, sizes can be specified in the optional argument of a single causet diagram or with \lstinline§\tikzcausetsset{...}§ for the current scope. +Use the keys \vspace{-1ex} +\begin{itemize}\itemsep=-1ex + \item \lstinline§tile size=§\valuePH\ sets the size of the tiles in the permutation to \valuePH + \item \lstinline§region line width=§\valuePH\ sets the thickness for the line surrounding the permutation region to \valuePH + \item \lstinline§grid line width=§\valuePH\ sets the line thickness of the permutation grid to \valuePH + \item \lstinline§event size=§\valuePH\ sets the diameter of the events to \valuePH + \item \lstinline§link width=§\valuePH\ sets the link thickness to \valuePH + \item \lstinline§text scale=§\valuePH\ sets the scaling factor of all the text labels (relative to the normal font size) to \valuePH +\end{itemize} + +For example, the \lstinline§normal§ size is a pre-defined style with \begin{lstlisting} -\causetsSetSizes{0.30ex}{0.02ex}{0.01ex}{0.16ex}{0.05ex}{0.16} % tiny -\causetsSetSizes{0.60ex}{0.04ex}{0.02ex}{0.32ex}{0.10ex}{0.32} % small -\causetsSetSizes{0.90ex}{0.06ex}{0.03ex}{0.48ex}{0.15ex}{0.48} % normal -\causetsSetSizes{1.35ex}{0.09ex}{0.05ex}{0.75ex}{0.20ex}{0.75} % large -\causetsSetSizes{1.80ex}{0.12ex}{0.07ex}{1.00ex}{0.25ex}{1.00} % huge +\tikzcausetsset{normal/.style={tile size=0.90ex, region line width=0.06ex, grid line width=0.03ex, event size=0.48ex, link width=0.15ex, text scale=0.48}} \end{lstlisting} -The arguments set the following size macros in order: -\begin{enumerate} - \item \lstinline§\causetTileSize§ as size of the tiles in the permutation - (measured in any absolute unit, like cm, or any relative unit, like ex) - \item \lstinline§\causetRegionLine§ as thickness for the line surrounding the permutation region - (measured in any absolute unit, like cm, or any relative unit, like ex) - \item \lstinline§\causetGridLine§ as line thickness of the permutation grid - (measured in any absolute unit, like cm, or any relative unit, like ex) - \item \lstinline§\causetEventSize§ as diameter of the events - (measured in any absolute unit, like cm, or any relative unit, like ex) - \item \lstinline§\causetLinkWidth§ as link thickness - (measured in any absolute unit, like cm, or any relative unit, like ex) - \item \lstinline§\causetTextScale§ as the scaling factor of text relative to the normal font size -\end{enumerate} - -For example: +However, if you want to draw a single diagram with your own sizes, use \begin{lstlisting} -\causetsSetSizes{1.50ex}{0.15ex}{0.06ex}{1.30ex}{0.35ex}{1.00} -\pcausetL{13,8,14,9,3,15,12,1,6,5,11,7,2,10,4} +\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} \end{lstlisting} -\causetsSetSizes{1.50ex}{0.15ex}{0.06ex}{1.30ex}{0.35ex}{1.00} -\pcausetL{13,8,14,9,3,15,12,1,6,5,11,7,2,10,4} -\normalcausets +\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} -Causets diagrams can also be used in mathematical expression, where the size may be adjusted when they are used in indices or limits. +\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} \begin{equation} - \sum_{C \in \smallcausets + \sum_{C \in \tikzcausetsset{small} \left\{ \pcauset{1,2,3}, \;\pcauset{1,3,2,4}, @@ -425,7 +425,7 @@ For example: \end{equation} \end{lstlisting} \begin{equation} - \sum_{C \in \smallcausets + \sum_{C \in \tikzcausetsset{small} \left\{ \pcauset{1,2,3}, \;\pcauset{1,3,2,4}, @@ -441,95 +441,95 @@ For example: \section{Changing Colors} \label{sec:Colors} -This package uses the following colors -\begin{itemize}\itemsep0em - \item \lstinline§causetRegionColor§ for the lines of the permutation frame - \item \lstinline§causetGridColor§ for the lines of the permutation grid - \item \lstinline§causetTileColor§ for the occupied tiles - \item \lstinline§causetULabelColor§ for the $u$ labels - \item \lstinline§causetVLabelColor§ for the $v$ labels - \item \lstinline§causetEventColor§ for the events - \item \lstinline§causetLabelColor§ for the label text - \item \lstinline§causetLinkColor§ for the links - \item \lstinline§causetSeparationColor§ for the spacelike separations. +Colors can be set with the following keys: \vspace{-1ex} +\begin{itemize}\itemsep=-1ex + \item \lstinline§region color=§\valuePH\ for the frame of the permutation grid + \item \lstinline§grid color=§\valuePH\ for the lines of the permutation grid + \item \lstinline§tile color=§\valuePH\ for the occupied tiles + \item \lstinline§ulabel color=§\valuePH\ for the $u$ labels + \item \lstinline§vlabel color=§\valuePH\ for the $v$ labels + \item \lstinline§event color=§\valuePH\ for the events + \item \lstinline§label color=§\valuePH\ for the event labels + \item \lstinline§link color=§\valuePH\ for the links + \item \lstinline§spatial link color=§\valuePH\ for the spatial links. \end{itemize} -Any of these colors can be set to a new value with the \lstinline§\colorlet§ macro, for example +When using any of these key-value pairs in an optional arguments of the causet macros, they apply to that diagram. +To change colors within a scope or the entire document, use the \lstinline§\tikzcausetsset§ macro, for example \begin{lstlisting} -\colorlet{causetEventColor}{purple} +\tikzcausetsset{event color=purple, link color=cyan} \end{lstlisting} -redefines the event color to purple. +changes the event color to purple and the link color to cyan. + +For the pre-defined color schemes, use the keys \lstinline§gray colors§ (default colors), \lstinline§black colors§ (only black and white), \lstinline§blue colors§ (blue color tones), or \lstinline§neon colors§ (bright colors). +These keys set all the colors listed above to pre-defined values. \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§standalone§ package. -For example, create a file named \lstinline§mycauset.tex§ in the subdirectory \lstinline§causets.standalone/§ with the following code: +For example, create a file named \lstinline§mycauset.tex§ in the same directory as the main file with the following code: \begin{lstlisting} \documentclass[tikz]{standalone} \usepackage{causets} \begin{document} -\pcausetL{13,8,14,9,3,15,12,1,6,5,11,7,2,10,4} +\pcauset{3,2,4,1} \end{document} \end{lstlisting} The compiled version is then included with the macro \lstinline§\causetfile{mycauset}§. -This macro also accepts one optional argument \lstinline§[#1]§ and redirects the input to +The macro \lstinline§\causetfile[#1]{#2}§ also accepts one optional argument \lstinline§[#1]§ and redirects to \begin{lstlisting} -\includegraphics[#1]{\causetsDirectory/#2} +\includegraphics[#1]{\causetspath/#2} \end{lstlisting} -The macro \lstinline§\causetsDirectory§ is pre-defined to \lstinline§causets.standalone§, but may be renewed to any desired directory with +The macro \lstinline§\causetspath§ is pre-defined to \lstinline§.§ (the directory of the main \TeX\ file), but may be renewed to any desired directory with \begin{lstlisting} -\renewcommand{\causetsDirectory}{my_causet_directory} -\end{lstlisting} - -The examples in \autoref{sec:TikZ} are show examples of standalone files that use the \lstinline§causets§ package. -To include these graphics into this document, the causets directory has been set to the same directory as the main tex file: -\begin{lstlisting} -\renewcommand{\causetsDirectory}{.} +\renewcommand{\causetspath}{my_causet_directory} \end{lstlisting} \section{Advanced Style Changes} -The optional argument of the main commands is not restricted to baseline adjustments (as discussed in \autoref{sec:Modifiers}). -You may use TikZ options to change the output of the macros, for example: +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} \usepackage{causets} ... % ... \begin{document} ... -A labeled causet with red-framed semi-transparent labels, \pcausetL[causet,causetLabels/.style={draw=red, fill=white, opacity=0.8, inner sep=1pt, scale=1.2}]{2,4,5,1,3}. +A labeled causet with red-framed semi-transparent labels, \pcausetL[labels={draw=red, fill=white, opacity=0.8, inner sep=1pt, scale=1.5}]{2,4,5,1,3}. \end{lstlisting} -A labeled causet with red-framed semi-transparent labels, \pcausetL[causet,causetLabels/.style={draw=red, fill=white, opacity=0.8, inner sep=1pt, scale=1.2}]{2,4,5,1,3}. - -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 to (in the order these parts are drawn) -\begin{enumerate}\itemsep0em - \item the occupied permutation tiles (\lstinline§causetTiles/.style={...}§), - \item the event nodes (graph vertices) (\lstinline§causetEvents/.style={...}§), - \item the permutation grid (\lstinline§causetGrid/.style={...}§), - \item the permutation region (\lstinline§causetRegion/.style={...}§), - \item the permutation $u$ labels (\lstinline§causetULabels/.style={...}§), - \item the permutation $v$ labels (\lstinline§causetVLabels/.style={...}§), - \item the links (graph edges) (\lstinline§causetLinks/.style={...}§), - \item the spacelike separations (\lstinline§causetSeparations/.style={...}§), - \item and the event labels (\lstinline§causetLabels/.style={...}§). +A labeled causet with red-framed semi-transparent labels, \pcausetL[labels={draw=red, fill=white, opacity=0.8, inner sep=1pt, scale=1.5}]{2,4,5,1,3}. + +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§region=§\valuePH\ shows the permutation (\lstinline§show permutation§) and appends to the style of the permutation frame, + \item \lstinline§grid=§\valuePH\ shows the permutation (\lstinline§show permutation§) and appends to the style of the permutation grid, + \item \lstinline§tiles=§\valuePH\ shows the permutation (\lstinline§show permutation§) and appends to the style of the occupied permutation tiles, + \item \lstinline§events=§\valuePH\ appends to the style of the event nodes (graph vertices), + \item \lstinline§links=§\valuePH\ shows the links (\lstinline§show links§) and appends to the style of the links (graph edges), + \item \lstinline§spatial links=§\valuePH\ shows the spatial links (\lstinline§show spatial links§) and appends to the style of the spatial links, + \item \lstinline§all labels=§\valuePH\ appends to the general style of all text labels (applies to the following three label types), + \item \lstinline§labels=§\valuePH\ shows the event labels (\lstinline§show labels§) and appends to the style that applies only to the event labels, + \item \lstinline§ulabels=§\valuePH\ shows the $u$ labels (\lstinline§show ulabels§) and appends to the style that applies only to the $u$ labels, and + \item \lstinline§vlabels=§\valuePH\ shows the $v$ labels (\lstinline§show vlabels§) 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 - use the following style options (in the order these parts are drawn): -\begin{enumerate}\itemsep0em - \item the occupied permutation tiles (\lstinline§causetTilesStyle/.style={...}§), - \item the event nodes (graph vertices) (\lstinline§causetEventsStyle/.style={...}§), - \item the permutation grid (\lstinline§causetGridStyle/.style={...}§), - \item the permutation region (\lstinline§causetRegionStyle/.style={...}§), - \item the permutation $u$ labels (\lstinline§causetULabelsStyle/.style={...}§), - \item the permutation $v$ labels (\lstinline§causetVLabelsStyle/.style={...}§), - \item the links (graph edges) (\lstinline§causetLinksStyle/.style={...}§), - \item the spacelike separations (\lstinline§causetSeparationsStyle/.style={...}§), - \item and the event labels (\lstinline§causetLabelsStyle/.style={...}§). +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§every causet§ the general style of the causet diagram (like \lstinline§baseline§), + \item \lstinline§every tile§ for the occupied permutation tiles, + \item \lstinline§every event§ for the event nodes (graph vertices), + \item \lstinline§every grid§ for the permutation grid, + \item \lstinline§every region§ for the permutation region, + \item \lstinline§every label base§ for the all text labels, + \item \lstinline§every ulabel§ for the permutation $u$ labels, + \item \lstinline§every vlabel§ for the permutation $v$ labels, + \item \lstinline§every link§ for the links (graph edges), + \item \lstinline§every spatial link§ for the spacelike separations, and + \item \lstinline§every label§ for the event labels. \end{enumerate} -Of course, it is also possible to redefine any of these styles with a \lstinline§\tikzset{...}§ in the preamble of the document. +With the macro \lstinline§\tikzcausetsset{...}§, any of these styles can also be set in the preamble of the document. So for example \begin{lstlisting} \usepackage{causets} -\tikzset{causetEvents/.style={rectangle}} +\tikzcausetsset{events={rectangle}} ... % ... \begin{document} ... \pcauset{2,4,5,1,3} \end{lstlisting} -will generate {\tikzset{causetEvents/.style={rectangle}}\pcauset{2,4,5,1,3}}. +will generate all causets with square events, like \pcauset[events=rectangle]{2,4,5,1,3}. \section{Using causets with TikZ} \label{sec:TikZ} @@ -553,6 +553,13 @@ It is also possible to use multiple causets in more complicated graphics, like a \hspace{-3.0ex}\causetfile{causet_tikz_example2} \clearpage +\section{Updates} +\subsection{Version 1.1} +All colors, size and style options have been moved to PGF keys in the path +\begin{lstlisting} +/tikz/causets/ +\end{lstlisting} + \section{Bug Reports and Package Requests} \label{sec:PackageDevelopment} Problems with the package are reported here: \\ @@ -564,7 +571,7 @@ For reporting a bug, it is much appreciated if you do the following: \begin{itemize} \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. + \item Provide a minimal working test file (only a single \TeX\ file) that demonstrates the problem. \end{itemize} \end{document} diff --git a/Master/texmf-dist/tex/latex/causets/causets.sty b/Master/texmf-dist/tex/latex/causets/causets.sty index 778c0784e3a..96516cda7d3 100644 --- a/Master/texmf-dist/tex/latex/causets/causets.sty +++ b/Master/texmf-dist/tex/latex/causets/causets.sty @@ -1,5 +1,5 @@ \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{causets}[2020/10/25 Package to draw causal set diagrams] +\ProvidesPackage{causets}[2020/12/13 v1.1 Package to draw causal set diagrams] %% Copyright 2020 by C. Minz % % This work may be distributed and/or modified under the @@ -9,8 +9,10 @@ % http://www.latex-project.org/lppl.txt % % This work has the LPPL maintenance status "maintained". +% +% The current version of this package is 1.1. % -% The Current Maintainer of this work is C. Minz. +% The current maintainer of this work is C. Minz. % https://github.com/c-minz % % This work consists of the files causets.sty, causets.tex, @@ -19,119 +21,197 @@ \RequirePackage{tikz} -%% size options: -\newcommand*{\causetsSetSizes}[6]{% -\def\causetTileSize{#1}% -\def\causetRegionLine{#2}% -\def\causetGridLine{#3}% -\def\causetEventSize{#4}% -\def\causetLinkWidth{#5}% -\def\causetTextScale{#6}% +%% PGF keys: +\def\tikzcausetsset#1{\pgfqkeys{/tikz/causets}{#1}} +\pgfkeys{/tikz/causets/.search also={/tikz}} +% size options: +\tikzcausetsset{% + tile size/.store in=\causetTileSize, + tile size/.value required, + region line width/.store in=\causetRegionLine, + region line width/.value required, + grid line width/.store in=\causetGridLine, + grid line width/.value required, + event size/.store in=\causetEventSize, + event size/.value required, + link width/.store in=\causetLinkWidth, + link width/.value required, + text scale/.store in=\causetTextScale, + text scale/.value required, + tiny/.value forbidden, + small/.value forbidden, + normal/.value forbidden, + large/.value forbidden, + huge/.value forbidden, + tiny/.style={% + tile size=0.30ex, + region line width=0.02ex, + grid line width=0.01ex, + event size=0.16ex, + link width=0.05ex, + text scale=0.16}, + small/.style={% + tile size=0.60ex, + region line width=0.04ex, + grid line width=0.02ex, + event size=0.32ex, + link width=0.10ex, + text scale=0.32}, + normal/.style={% + tile size=0.90ex, + region line width=0.06ex, + grid line width=0.03ex, + event size=0.48ex, + link width=0.15ex, + text scale=0.48}, + large/.style={% + tile size=1.35ex, + region line width=0.09ex, + grid line width=0.05ex, + event size=0.75ex, + link width=0.20ex, + text scale=0.75}, + huge/.style={% + tile size=1.80ex, + region line width=0.12ex, + grid line width=0.07ex, + event size=1.00ex, + link width=0.25ex, + text scale=1.00} } -\newcommand*{\tinycausets}{% -\causetsSetSizes{0.30ex}{0.02ex}{0.01ex}{0.16ex}{0.05ex}{0.16}} -\newcommand*{\smallcausets}{% -\causetsSetSizes{0.60ex}{0.04ex}{0.02ex}{0.32ex}{0.10ex}{0.32}} -\newcommand*{\normalcausets}{% -\causetsSetSizes{0.90ex}{0.06ex}{0.03ex}{0.48ex}{0.15ex}{0.48}} -\newcommand*{\largecausets}{% -\causetsSetSizes{1.35ex}{0.09ex}{0.05ex}{0.75ex}{0.20ex}{0.75}} -\newcommand*{\hugecausets}{% -\causetsSetSizes{1.80ex}{0.12ex}{0.07ex}{1.00ex}{0.25ex}{1.00}} - -%% color options: -\newcommand*{\causetsSetColorsBlack}{% - \colorlet{causetRegionColor}{black}% - \colorlet{causetGridColor}{black}% - \colorlet{causetTileColor}{white}% - \colorlet{causetEventColor}{black}% - \colorlet{causetLabelColor}{black}% - \colorlet{causetLinkColor}{black}% - \colorlet{causetSeparationColor}{black}% - \colorlet{causetULabelColor}{black}% - \colorlet{causetVLabelColor}{black}% -} -\newcommand*{\causetsSetColorsGray}{% - \colorlet{causetRegionColor}{black!75}% - \colorlet{causetGridColor}{black!25}% - \colorlet{causetTileColor}{black!10!white}% - \colorlet{causetEventColor}{black}% - \colorlet{causetLabelColor}{black}% - \colorlet{causetLinkColor}{black!65!white}% - \colorlet{causetSeparationColor}{black!50!white}% - \colorlet{causetULabelColor}{black!65!white}% - \colorlet{causetVLabelColor}{black!65!white}% -} -\newcommand*{\causetsSetColorsBlue}{% - \colorlet{causetRegionColor}{black!75}% - \colorlet{causetGridColor}{black!25}% - \colorlet{causetTileColor}{yellow!75!black!50!white}% - \colorlet{causetEventColor}{blue!50!black}% - \colorlet{causetLabelColor}{blue!50!black}% - \colorlet{causetLinkColor}{cyan!75!black}% - \colorlet{causetSeparationColor}{red!65!black}% - \colorlet{causetULabelColor}{black!50}% - \colorlet{causetVLabelColor}{black!50}% -} -\newcommand*{\causetsSetColorsNeon}{% - \colorlet{causetRegionColor}{black}% - \colorlet{causetGridColor}{green}% - \colorlet{causetTileColor}{yellow}% - \colorlet{causetEventColor}{blue}% - \colorlet{causetLabelColor}{blue}% - \colorlet{causetLinkColor}{cyan}% - \colorlet{causetSeparationColor}{red}% - \colorlet{causetULabelColor}{magenta}% - \colorlet{causetVLabelColor}{magenta}% +% color options: +\tikzcausetsset{% + region color/.initial=black!75, + grid color/.initial=black!25, + tile color/.initial=black!10!white, + event color/.initial=black, + label color/.initial=black, + link color/.initial=black!65!white, + spatial link color/.initial=black!50!white, + ulabel color/.initial=black!65!white, + vlabel color/.initial=black!65!white, + black colors/.style={% + region color=black, + grid color=black, + tile color=white, + event color=black, + label color=black, + link color=black, + spatial link color=black, + ulabel color=black, + vlabel color=black}, + gray colors/.style={% + region color=black!75, + grid color=black!25, + tile color=black!10!white, + event color=black, + label color=black, + link color=black!65!white, + spatial link color=black!50!white, + ulabel color=black!65!white, + vlabel color=black!65!white}, + blue colors/.style={% + region color=black!75, + grid color=black!25, + tile color=yellow!75!black!50!white, + event color=blue!50!black, + label color=blue!50!black, + link color=cyan!75!black, + spatial link color=red!65!black, + ulabel color=black!50, + vlabel color=black!50}, + neon colors/.style={% + region color=green, + grid color=green, + tile color=yellow, + event color=blue, + label color=blue, + link color=cyan, + spatial link color=red, + ulabel color=magenta, + vlabel color=magenta} } - -%% switches: +% styles: \newif\ifcausetsDrawPermutation -\newif\ifcausetsDrawLabels \newif\ifcausetsDrawLinks -\newif\ifcausetsDrawSeparations +\newif\ifcausetsDrawSpatialLinks +\newif\ifcausetsDrawLabels +\newif\ifcausetsDrawULabels +\newif\ifcausetsDrawVLabels +\tikzcausetsset{% + show permutation/.is if=causetsDrawPermutation, + show links/.is if=causetsDrawLinks, + show spatial links/.is if=causetsDrawSpatialLinks, + show labels/.is if=causetsDrawLabels, + show ulabels/.is if=causetsDrawULabels, + show vlabels/.is if=causetsDrawVLabels, + permutation/.code={\causetsDrawPermutationtrue}, + linked/.code={\causetsDrawLinkstrue}, + unlinked/.code={\causetsDrawLinksfalse}, + spatially linked/.code={\causetsDrawSpatialLinkstrue}, + spatially unlinked/.code={\causetsDrawSpatialLinksfalse}, + labeled/.code={\causetsDrawLabelstrue}, + unlabeled/.code={\causetsDrawLabelsfalse}, + labeled u/.code={\causetsDrawULabelstrue}, + unlabeled u/.code={\causetsDrawULabelsfalse}, + labeled v/.code={\causetsDrawVLabelstrue}, + unlabeled v/.code={\causetsDrawVLabelsfalse}, + 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/.style={color=\pgfkeysvalueof{/tikz/causets/grid color}, line width=\causetGridLine, step=\causetTileSize}, + grid/.style={show permutation, every grid/.append style={#1}}, + every tile/.style={color=\pgfkeysvalueof{/tikz/causets/tile color}, line width=\causetGridLine, fill}, + tiles/.style={show permutation, every tile/.append style={#1}}, + 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=-}, + links/.style={show links, every link/.append style={#1}}, + 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/.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}, + labels/.style={show labels, every label/.append style={#1}}, + 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/.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/.style={baseline=-0.707*\causetTileSize} +} %% delare and execute options: -\providecommand{\causetsDirectory}{causets.standalone} -\normalcausets -\causetsSetColorsGray +\tikzcausetsset{normal} \causetsDrawLinkstrue -\DeclareOption{gray}{\causetsSetColorsGray} -\DeclareOption{black}{\causetsSetColorsBlack} -\DeclareOption{blue}{\causetsSetColorsBlue} -\DeclareOption{neon}{\causetsSetColorsNeon} +\causetsDrawULabelstrue +\causetsDrawVLabelstrue +\DeclareOption{tiny}{\tikzcausetsset{tiny}} +\DeclareOption{small}{\tikzcausetsset{small}} +\DeclareOption{large}{\tikzcausetsset{large}} +\DeclareOption{huge}{\tikzcausetsset{huge}} +\DeclareOption{gray}{\tikzcausetsset{gray colors}} +\DeclareOption{black}{\tikzcausetsset{black colors}} +\DeclareOption{blue}{\tikzcausetsset{blue colors}} +\DeclareOption{neon}{\tikzcausetsset{neon colors}} +\DeclareOption{gray colors}{\tikzcausetsset{gray colors}} +\DeclareOption{black colors}{\tikzcausetsset{black colors}} +\DeclareOption{blue colors}{\tikzcausetsset{blue colors}} +\DeclareOption{neon colors}{\tikzcausetsset{neon colors}} +\DeclareOption{linked}{\causetsDrawLinkstrue} +\DeclareOption{unlinked}{\causetsDrawLinksfalse} +\DeclareOption{spatially linked}{\causetsDrawSpatialLinkstrue} +\DeclareOption{spatially unlinked}{\causetsDrawSpatialLinksfalse} \DeclareOption{permutation}{\causetsDrawPermutationtrue} \DeclareOption{labeled}{\causetsDrawLabelstrue} -\DeclareOption{spacelike}{\causetsDrawSeparationstrue} -\DeclareOption{unlinked}{\causetsDrawLinksfalse} -\DeclareOption{tiny}{\tinycausets} -\DeclareOption{small}{\smallcausets} -\DeclareOption{large}{\largecausets} -\DeclareOption{huge}{\hugecausets} +\DeclareOption{unlabeled}{\causetsDrawLabelsfalse} +\DeclareOption{labeled u}{\causetsDrawULabelstrue} +\DeclareOption{unlabeled u}{\causetsDrawULabelsfalse} +\DeclareOption{labeled v}{\causetsDrawVLabelstrue} +\DeclareOption{unlabeled v}{\causetsDrawVLabelsfalse} \DeclareOption*{\PackageWarning{causets}{The package causets does not support the option: \CurrentOption}} \ProcessOptions\relax -%% TikZ styles: -\tikzset{causet/.style={baseline=-0.707*\causetTileSize}} -\tikzset{causetRegion/.style={}} -\tikzset{causetGrid/.style={}} -\tikzset{causetTiles/.style={}} -\tikzset{causetEvents/.style={}} -\tikzset{causetLabels/.style={}} -\tikzset{causetLinks/.style={}} -\tikzset{causetSeparations/.style={}} -\tikzset{causetULabels/.style={}} -\tikzset{causetVLabels/.style={}} -\tikzset{causetRegionStyle/.style={causetRegionColor, line width=\causetRegionLine, causetRegion}} -\tikzset{causetGridStyle/.style={causetGridColor, line width=\causetGridLine, step=\causetTileSize, causetGrid}} -\tikzset{causetTilesStyle/.style={causetTileColor, line width=\causetGridLine, fill, causetTiles}} -\tikzset{causetEventsStyle/.style={causetEventColor, circle, fill, inner sep=0pt, minimum size=\causetEventSize, causetEvents}} -\tikzset{causetLabelsStyle/.style={causetLabelColor, below left, text opacity=1.0, inner sep=0pt, scale=\causetTextScale, causetLabels}} -\tikzset{causetLinksStyle/.style={causetLinkColor, line width=\causetLinkWidth, arrows=-, causetLinks}} -\tikzset{causetSeparationsStyle/.style={causetSeparationColor, line width=\causetLinkWidth, dashed, causetSeparations}} -\tikzset{causetULabelsStyle/.style={causetULabelColor, right=-\causetTextScale*0.5ex, scale=\causetTextScale, rotate=-45, align=left, causetULabels}} -\tikzset{causetVLabelsStyle/.style={causetVLabelColor, left=-\causetTextScale*0.5ex, scale=\causetTextScale, rotate=45, align=right, causetVLabels}} - %% functions: % variables: \newcounter{causet@i} @@ -155,12 +235,12 @@ \pgfmathsetmacro\causet@e@U{\causet@p - 1.0} \pgfmathsetmacro\causet@e@V{\value{causet@i} - 1.0} \ifcausetsDrawPermutation - \path[causetTilesStyle] ( \causet@e@U * \causetTileSize, \causet@e@V * \causetTileSize ) + \path[causets/.cd, every tile] ( \causet@e@U * \causetTileSize, \causet@e@V * \causetTileSize ) rectangle +( \causetTileSize, \causetTileSize ); \fi \pgfmathsetmacro\causet@e@U{\causet@p - 0.5} \pgfmathsetmacro\causet@e@V{\value{causet@i} - 0.5} - \node[causetEventsStyle] (E\causet@p) + \node[causets/.cd, every event] (E\causet@p) at ( \causet@e@U * \causetTileSize, \causet@e@V * \causetTileSize ) {}; } @@ -169,19 +249,23 @@ % draw the permutation and the null coordinate labels: \newcommand*{\causets@drawPermutation}[1]{% \ifcausetsDrawPermutation - \draw[causetGridStyle] ( 0, 0 ) + \draw[causets/.cd, every grid] ( 0, 0 ) grid ( \causet@N * \causetTileSize, \causet@N * \causetTileSize ); - \draw[causetRegionStyle] ( 0, 0 ) + \draw[causets/.cd, every region] ( 0, 0 ) rectangle ( \causet@N * \causetTileSize, \causet@N * \causetTileSize ); \setcounter{causet@i}{0} \foreach \causet@p in {#1}{% \stepcounter{causet@i} - \node[causetULabelsStyle] (EUL\causet@p) - at ( \value{causet@i} * \causetTileSize - 0.5 * \causetTileSize, 0 ) - {\thecauset@i}; - \node[causetVLabelsStyle] (EVL\causet@p) - at ( 0, \value{causet@i} * \causetTileSize - 0.5 * \causetTileSize ) - {\causet@p}; + \ifcausetsDrawULabels + \node[causets/.cd, every ulabel] (EUL\causet@p) + at ( \value{causet@i} * \causetTileSize - 0.5 * \causetTileSize, 0 ) + {\thecauset@i}; + \fi + \ifcausetsDrawVLabels + \node[causets/.cd, every vlabel] (EVL\causet@p) + at ( 0, \value{causet@i} * \causetTileSize - 0.5 * \causetTileSize ) + {\causet@p}; + \fi } \fi } @@ -190,7 +274,7 @@ \newcommand*{\causets@drawEventLabels}[1]{% \ifcausetsDrawLabels \foreach \causet@p in {#1}{% - \node[causetLabelsStyle] (EL\causet@p) + \node[causets/.cd, every label] (EL\causet@p) at (E\causet@p.south west) {\causet@p}; } \fi @@ -215,7 +299,7 @@ \ifnum\value{causet@j}>\value{causet@i} \ifnum\causet@q<\causet@qBound \ifnum\causet@p<\causet@q - \draw[causetLinksStyle] (E\causet@p) -- (E\causet@q); + \draw[causets/.cd, every link] (E\causet@p) -- (E\causet@q); \xdef\causet@qBound{\causet@q} \fi \fi @@ -223,7 +307,7 @@ } } \fi - \ifcausetsDrawSeparations + \ifcausetsDrawSpatialLinks \setcounter{causet@i}{0} \foreach \causet@p in {#1}{% \stepcounter{causet@i} @@ -234,7 +318,7 @@ \ifnum\value{causet@j}>\value{causet@i} \ifnum\causet@q>\causet@qBound \ifnum\causet@p>\causet@q - \draw[causetSeparationsStyle] (E\causet@q) -- (E\causet@p); + \draw[causets/.cd, every spatial link] (E\causet@q) -- (E\causet@p); \xdef\causet@qBound{\causet@q} \fi \fi @@ -257,7 +341,7 @@ \causets@drawPermutation{#1} \ifcausetsDrawLinks \foreach \causet@From/\causet@To in {#2}{% - \draw[causetLinksStyle] (E\causet@From) -- (E\causet@To); + \draw[causets/.cd, every link] (E\causet@From) -- (E\causet@To); } \fi \causets@drawEventLabels{#1} @@ -294,7 +378,7 @@ \ifcauset@ItemFoundInList % skip link \else - \draw[causetLinksStyle] (E\causet@p) -- (E\causet@q); + \draw[causets/.cd, every link] (E\causet@p) -- (E\causet@q); \fi \xdef\causet@qBound{\causet@q} \fi @@ -309,51 +393,53 @@ } % insert a TikZ picture with a causet from a permutation: -\newcommand*{\pcauset}[2][causet]{% -\begin{tikzpicture}[#1]\drawpcauset{#2}\end{tikzpicture}} +\newcommand*{\pcauset}[2][]{% +\begin{tikzpicture}[causets/.cd, every causet, #1]\drawpcauset{#2}\end{tikzpicture}} % insert a TikZ picture with a causet from a permutation and a link-pair list: -\newcommand*{\causet}[3][causet]{% -\begin{tikzpicture}[#1]\drawcauset{#2}{#3}\end{tikzpicture}} +\newcommand*{\causet}[3][]{% +\begin{tikzpicture}[causets/.cd, every causet, #1]\drawcauset{#2}{#3}\end{tikzpicture}} % insert a TikZ picture with a causet from a permutation removes links given % in a link-pair list: -\newcommand*{\rcauset}[3][causet]{% -\begin{tikzpicture}[#1]\drawrcauset{#2}{#3}\end{tikzpicture}} +\newcommand*{\rcauset}[3][]{% +\begin{tikzpicture}[causets/.cd, every causet, #1]\drawrcauset{#2}{#3}\end{tikzpicture}} %% short-hand functions: +\providecommand{\causetspath}{.} + \newcommand*{\causetfile}[2][]{% -\includegraphics[#1]{\causetsDirectory/#2}} +\includegraphics[#1]{\causetspath/#2}} -\newcommand*{\pcausetP}[2][causet]{% +\newcommand*{\pcausetP}[2][]{% {\causetsDrawPermutationtrue\pcauset[#1]{#2}}} -\newcommand*{\pcausetL}[2][causet]{% +\newcommand*{\pcausetL}[2][]{% {\causetsDrawLabelstrue\pcauset[#1]{#2}}} -\newcommand*{\pcausetX}[2][causet]{% +\newcommand*{\pcausetX}[2][]{% {\causetsDrawPermutationtrue\pcausetL[#1]{#2}}} -\newcommand*{\causetP}[3][causet]{% +\newcommand*{\causetP}[3][]{% {\causetsDrawPermutationtrue\causet[#1]{#2}{#3}}} -\newcommand*{\causetL}[3][causet]{% +\newcommand*{\causetL}[3][]{% {\causetsDrawLabelstrue\causet[#1]{#2}{#3}}} -\newcommand*{\causetX}[3][causet]{% +\newcommand*{\causetX}[3][]{% {\causetsDrawPermutationtrue\causetL[#1]{#2}{#3}}} -\newcommand*{\rcausetP}[3][causet]{% +\newcommand*{\rcausetP}[3][]{% {\causetsDrawPermutationtrue\rcauset[#1]{#2}{#3}}} -\newcommand*{\rcausetL}[3][causet]{% +\newcommand*{\rcausetL}[3][]{% {\causetsDrawLabelstrue\rcauset[#1]{#2}{#3}}} -\newcommand*{\rcausetX}[3][causet]{% +\newcommand*{\rcausetX}[3][]{% {\causetsDrawPermutationtrue\rcausetL[#1]{#2}{#3}}} %% some standard causets: -\newcommand*{\causetFence}[2][causet]{% +\newcommand*{\causetFence}[2][]{% \ifcase#2% \or%=1 \pcauset[#1]{1,2}% @@ -378,7 +464,7 @@ \fi% } -\newcommand*{\causetClosedFence}[2][causet]{% +\newcommand*{\causetClosedFence}[2][]{% \ifcase#2% \or%=1 \pcauset[#1]{1,2}% @@ -403,6 +489,6 @@ \fi% } -\newcommand*{\causetCrown}[1][causet]{% +\newcommand*{\causetCrown}[1][]{% \causetClosedFence[#1]{3}% } -- cgit v1.2.3