texlive[73626] Master/texmf-dist: pmdraw (27jan25)
commits+karl at tug.org
commits+karl at tug.org
Tue Jan 28 22:08:01 CET 2025
Revision: 73626
https://tug.org/svn/texlive?view=revision&revision=73626
Author: karl
Date: 2025-01-28 22:08:01 +0100 (Tue, 28 Jan 2025)
Log Message:
-----------
pmdraw (27jan25)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/pmdraw/README.md
trunk/Master/texmf-dist/doc/latex/pmdraw/pmdraw.pdf
trunk/Master/texmf-dist/doc/latex/pmdraw/pmdraw.tex
trunk/Master/texmf-dist/tex/latex/pmdraw/pmdraw.sty
Modified: trunk/Master/texmf-dist/doc/latex/pmdraw/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/pmdraw/README.md 2025-01-28 21:07:51 UTC (rev 73625)
+++ trunk/Master/texmf-dist/doc/latex/pmdraw/README.md 2025-01-28 21:08:01 UTC (rev 73626)
@@ -1,12 +1,12 @@
pmdraw
======
-*README V1.6 2025-01-24*
+*README V1.7 2025-01-28*
<!--
*------------------------------*
-|1````````````````````````````7|
+|4````````````````````````````4|
|`````____````____`````````````|
|````|MFMF\ /MFMF|````````````|
|````|MF|MF\/MF|MF|````````````|
@@ -18,7 +18,7 @@
|``````````````|MF|````````````|
|``````````````|MF|````````````|
|``````````````|MF|````````````|
-|1````````````````````````````8|
+|0````````````````````````````3|
*------------------------------*
-->
Modified: trunk/Master/texmf-dist/doc/latex/pmdraw/pmdraw.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/pmdraw/pmdraw.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/pmdraw/pmdraw.tex 2025-01-28 21:07:51 UTC (rev 73625)
+++ trunk/Master/texmf-dist/doc/latex/pmdraw/pmdraw.tex 2025-01-28 21:08:01 UTC (rev 73626)
@@ -1,7 +1,7 @@
\documentclass{ltxdoc}
% *------------------------------*
-% |6````````````````````````````1|
+% |8````````````````````````````2|
% |`````____````____`````````````|
% |````|MFMF\ /MFMF|````````````|
% |````|MF|MF\/MF|MF|````````````|
@@ -13,7 +13,7 @@
% |``````````````|MF|````````````|
% |``````````````|MF|````````````|
% |``````````````|MF|````````````|
-% |0````````````````````````````0|
+% |3````````````````````````````5|
% *------------------------------*
\usepackage{pmdraw}
@@ -26,7 +26,7 @@
\hypersetup{colorlinks, linkcolor=blue, urlcolor=blue}
\title{The \textsf{pmdraw} package\thanks{This document
- corresponds to \textsf{pmdraw}~v1.6, 2025-01-24.}}
+ corresponds to \textsf{pmdraw}~v1.7, 2025-01-28.}}
\author{Matthias Fresacher \\ \texttt{matthias.ypg37 at slmail.me}}
\maketitle
@@ -55,6 +55,7 @@
I thank everybody that has helped me proof read, spot bugs, provide feedback, suggest improvements or has otherwise contributed to this package. Those that are happy to be named are (in chronological order):
\begin{itemize}
\item Nik Ru\v{s}kuc
+ \item Luka Carroll
\end{itemize}
This package heavily uses commands that can accept an arbitrary number of arguments as inputs. I thank \texttt{egreg} for their template upon which my commands are based (\url{https://tex.stackexchange.com/a/72915}).
@@ -3871,39 +3872,6 @@
\end{itemize}
Only the keys (both families, for example brick, and individual keys, for example degree) that are to be changed need to be given. Unspecified keys will retain their existing default values.
-The following keys cannot be changed using this process:
-\begin{itemize}
- \item \texttt{brick} keys:
- \begin{itemize}
- \item \texttt{vertices options},
- \item \texttt{labels bottom options},
- \item \texttt{labels top options},
- \item \texttt{no dots},
- \item \texttt{brace}.
- \end{itemize}
- \item \texttt{NTedges} keys:
- \begin{itemize}
- \item \texttt{options}.
- \end{itemize}
- \item \texttt{Tedges} keys:
- \begin{itemize}
- \item \texttt{height},
- \item \texttt{options}.
- \end{itemize}
- \item \texttt{brace} keys:
- \begin{itemize}
- \item \texttt{label},
- \item \texttt{options}.
- \end{itemize}
- \item \texttt{diagram} keys:
- \begin{itemize}
- \item \texttt{dots options}.
- \end{itemize}
-\end{itemize}
-Instead their default commands should be changed as a work around. For example, the key \texttt{labels bottom options} can be set to a different default by finding the corresponding default command, \texttt{\pmdraw at drawLabelBottomDefault} and redefining that command to the new default value sought.
-
-It should be noted that for some of these keys the above mentioned work around does not work as for \texttt{height} is defined more complexly than just a single command.
-
The follow is an example use:
\begin{center}
\begin{minipage}{\dimexpr0.85\textwidth-2\fboxrule-2\fboxsep\relax}
@@ -3961,8 +3929,64 @@
\end{minipage}%
\end{center}
-Due to the use of the \texttt{xkeyval} package, it is not possible to have more than one default option defined. A substantial rewrite of the package would be needed to have an arbitrary number of predefined styles that can quickly be used.
+By default, any keys that are provided in a specific instance of a diagram completely override the default value of those keys for that specific instance of a diagram. However, the following keys work differently in that the default value is loaded and then the specific instance of that key in a diagram is appended to the list of options given:
+\begin{itemize}
+ \item \texttt{brick} keys:
+ \begin{itemize}
+ \item \texttt{vertices},
+ \item \texttt{edges},
+ \item \texttt{edges non-transversal},
+ \item \texttt{edges upper},
+ \item \texttt{edges lower},
+ \item \texttt{edges transversal}.
+ \end{itemize}
+ \item \texttt{diagram} keys:
+ \begin{itemize}
+ \item \texttt{edges added}.
+ \end{itemize}
+\end{itemize}
+This means that, for example, if the default \texttt{brick/edges} key is set to \texttt{red} and for a specific diagram the \texttt{brick/edges} key is set to \texttt{thick}, the resulting edge will be \verb`{red, thick}`. In short, this works in the default way that \texttt{tikz} handles multiple options, including repeated options, given to a \verb`\draw` command. Options are appended in the following order:
+\begin{enumerate}
+ \item Global default value,
+ \item Diagram value,
+ \item Brick value,
+ \item Edge value (if key is for an edge).
+\end{enumerate}
+The following keys cannot be changed using the \verb`\pmdSetDefault` command:
+\begin{itemize}
+ \item \texttt{brick} keys:
+ \begin{itemize}
+ \item \texttt{vertices options},
+ \item \texttt{labels bottom options},
+ \item \texttt{labels top options},
+ \item \texttt{no dots},
+ \item \texttt{brace}.
+ \end{itemize}
+ \item \texttt{NTedges} keys:
+ \begin{itemize}
+ \item \texttt{options}.
+ \end{itemize}
+ \item \texttt{Tedges} keys:
+ \begin{itemize}
+ \item \texttt{height},
+ \item \texttt{options}.
+ \end{itemize}
+ \item \texttt{brace} keys:
+ \begin{itemize}
+ \item \texttt{label},
+ \item \texttt{options}.
+ \end{itemize}
+ \item \texttt{diagram} keys:
+ \begin{itemize}
+ \item \texttt{dots options}.
+ \end{itemize}
+\end{itemize}
+Instead their default commands should be changed as a work around. For example, the key \texttt{labels bottom options} can be set to a different default value by finding the corresponding default command in the style file, \verb`\pmdraw at drawLabelBottomDefault` for this example, and redefining that command to the new default value sought.
+It should be noted that for some of these keys the above mentioned work around does not work. An example of this is for the \texttt{height} key as this is defined more complexly than just via a single command.
+
+Due to the use of the \texttt{xkeyval} package which only has the ability to save one value for a key, it is not possible to have more than one default option defined. A substantial rewrite of the package would be needed to have an arbitrary number of predefined styles that can quickly be used.
+
\DescribeMacro{\pmdSetToOriginalDefault}
sets the style of all diagrams to the default original style of the package. In effect it undoes any and all changes made with \verb`\pmdSetDefault`.
@@ -3978,7 +4002,7 @@
\item Add warning and error messages to log.
\item Allow all brick keys to work as diagram keys that apply to all bricks in a diagram. This will require setting up a flag for each key so that the diagram key sets the brick key but the brick key is not reset after drawing the first brick. This process also will need to be able to handle when a single brick has a custom special different key value and that this is reset to the digram key value and not the global default key value.
\item Allow appropriate diagram keys to work as brick keys. Notably the \texttt{grid} key.
- \item Have global settings so that all diagrams in a document have the specified options.
+ \item The creation of user profiles that allows for fast and efficient setting of default key values that are different to the package defaults. Hence within a diagram, there can be a number of different diagram styles that can be accessed with one command. That is, in the options for a diagram, have this profile key.
\item Allow for adjusting the horizontal spacing of vertices. Need to think about making that a simple scale factor so that integer interface for edge positions is the same but then hooks will have very messy coordinates or keep it as absolute coordinates with messy edges. Alternatively, do both, allowing the user to choose which option to do and somehow distinguish between the two in the background.
\item Create \texttt{pmdMirror} command that mirrors all upper non-transversals into lower non-transversals.
\item Create \texttt{invert} key for bricks, diagrams and product diagrams that inverts everything. Probably easiest done with a \texttt{scope} environment around everything and \texttt{yscale=-1}.
Modified: trunk/Master/texmf-dist/tex/latex/pmdraw/pmdraw.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/pmdraw/pmdraw.sty 2025-01-28 21:07:51 UTC (rev 73625)
+++ trunk/Master/texmf-dist/tex/latex/pmdraw/pmdraw.sty 2025-01-28 21:08:01 UTC (rev 73626)
@@ -1,8 +1,8 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{pmdraw}[2025-01-24 v1.6 pmdraw]
+\ProvidesPackage{pmdraw}[2025-01-28 v1.7 pmdraw]
% *------------------------------*
-% |1````````````````````````````1|
+% |2````````````````````````````1|
% |`````____````____`````````````|
% |````|MFMF\ /MFMF|````````````|
% |````|MF|MF\/MF|MF|````````````|
@@ -14,7 +14,7 @@
% |``````````````|MF|````````````|
% |``````````````|MF|````````````|
% |``````````````|MF|````````````|
-% |6````````````````````````````1|
+% |4````````````````````````````2|
% *------------------------------*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -41,15 +41,16 @@
\newcommand{\pmdraw at diagSep}{1}% Vertical separation between bottom row of top diagram and top row of bottom diagram in product diagram
\newcommand{\pmdraw at drawAedgesOptions}{}% Draw options for added edges in product diagram
+\newcommand{\pmdraw at drawAedgesOptionsDefault}{}% Default draw options for added edges in product diagram
\newcommand{\pmdraw at drawAedges}[2]{% Draws added edges in product diagram from #1 vertex to #2 vertex, assumes #1<#2
\@ifclassloaded{beamer}{% If in beamer
\uncover<\pmdraw at edgesAddedUncover>{% Uncovers added edges
\foreach \x in {#1,...,#2} {% For each vertex in range
\ifnum\value{pmdraw at ifEdgesAdded}=0% If drawing added edges
- \draw[dotted,thick,apply style/.expand once=\pmdraw at drawAedgesOptions] (\x,0) -- (\x,-\pmdraw at diagSep);% Draw concatenation edge
+ \draw[dotted,thick,apply style/.expand once=\pmdraw at drawAedgesOptionsDefault,apply style/.expand once=\pmdraw at drawAedgesOptions] (\x,0) -- (\x,-\pmdraw at diagSep);% Draw concatenation edge
\else% If hiding top vertices
\phantom{%
- \draw[dotted,thick,apply style/.expand once=\pmdraw at drawAedgesOptions] (\x,0) -- (\x,-\pmdraw at diagSep);% Draw concatenation edge
+ \draw[dotted,thick,apply style/.expand once=\pmdraw at drawAedgesOptionsDefault,apply style/.expand once=\pmdraw at drawAedgesOptions] (\x,0) -- (\x,-\pmdraw at diagSep);% Draw concatenation edge
}%
\fi%
}%
@@ -57,10 +58,10 @@
}{% If not in beamer
\foreach \x in {#1,...,#2} {% For each vertex in range
\ifnum\value{pmdraw at ifEdgesAdded}=0% If drawing added edges
- \draw[dotted,thick,apply style/.expand once=\pmdraw at drawAedgesOptions] (\x,0) -- (\x,-\pmdraw at diagSep);% Draw concatenation edge
+ \draw[dotted,thick,apply style/.expand once=\pmdraw at drawAedgesOptionsDefault,apply style/.expand once=\pmdraw at drawAedgesOptions] (\x,0) -- (\x,-\pmdraw at diagSep);% Draw concatenation edge
\else% If hiding top vertices
\phantom{%
- \draw[dotted,thick,apply style/.expand once=\pmdraw at drawAedgesOptions] (\x,0) -- (\x,-\pmdraw at diagSep);% Draw concatenation edge
+ \draw[dotted,thick,apply style/.expand once=\pmdraw at drawAedgesOptionsDefault,apply style/.expand once=\pmdraw at drawAedgesOptions] (\x,0) -- (\x,-\pmdraw at diagSep);% Draw concatenation edge
}%
\fi%
}%
@@ -123,10 +124,11 @@
\let\pmdraw at drawLabelTop\pmdraw at drawLabelTopDefault% For top row, draws the label #3 for a vertex at (#1,#2)
\newcommand{\pmdraw at drawLedgesDrawOptions}{}% Draw options for lower non-transversal edges
+\newcommand{\pmdraw at drawLedgesDrawOptionsDefault}{}% Default draw options for lower non-transversal edges
\newcommand{\pmdraw at drawLedgesDrawDefault}[2]{% Draws lower non-transversal edge from #1 vertex to #2 vertex, assumes #1<#2 - DEFAULT
- \draw[apply style/.expand once=\pmdraw at drawLedgesDrawOptions,apply style/.expand once=\pmdraw at drawEdgeDrawOptions] (#1,0) arc (180:90:\pmdraw{edgeHeight});% Draw left arch
- \draw[apply style/.expand once=\pmdraw at drawLedgesDrawOptions,apply style/.expand once=\pmdraw at drawEdgeDrawOptions] (#1+\pmdraw{edgeHeight},\pmdraw{edgeHeight}) -- (#2-\pmdraw{edgeHeight},\pmdraw{edgeHeight});% Draw straight line
- \draw[apply style/.expand once=\pmdraw at drawLedgesDrawOptions,apply style/.expand once=\pmdraw at drawEdgeDrawOptions] (#2-\pmdraw{edgeHeight},\pmdraw{edgeHeight}) arc (90:0:\pmdraw{edgeHeight});% Draw right arc
+ \draw[apply style/.expand once=\pmdraw at drawLedgesDrawOptionsDefault,apply style/.expand once=\pmdraw at drawLedgesDrawOptions,apply style/.expand once=\pmdraw at drawEdgeDrawOptions] (#1,0) arc (180:90:\pmdraw{edgeHeight});% Draw left arch
+ \draw[apply style/.expand once=\pmdraw at drawLedgesDrawOptionsDefault,apply style/.expand once=\pmdraw at drawLedgesDrawOptions,apply style/.expand once=\pmdraw at drawEdgeDrawOptions] (#1+\pmdraw{edgeHeight},\pmdraw{edgeHeight}) -- (#2-\pmdraw{edgeHeight},\pmdraw{edgeHeight});% Draw straight line
+ \draw[apply style/.expand once=\pmdraw at drawLedgesDrawOptionsDefault,apply style/.expand once=\pmdraw at drawLedgesDrawOptions,apply style/.expand once=\pmdraw at drawEdgeDrawOptions] (#2-\pmdraw{edgeHeight},\pmdraw{edgeHeight}) arc (90:0:\pmdraw{edgeHeight});% Draw right arc
\renewcommand{\pmdraw at drawEdgeDrawOptions}{}% Reset draw options for edge
}
\let\pmdraw at drawLedgesDraw\pmdraw at drawLedgesDrawDefault% Draws lower non-transversal edge from #1 vertex to #2 vertex, assumes #1<#2
@@ -170,18 +172,19 @@
\newcommand{\pmdraw at drawNoVertexTi}{-1}% 9th vertex to skip in top row
\newcommand{\pmdraw at drawTedgesDrawOptions}{}% Draw options for transversal edges
+\newcommand{\pmdraw at drawTedgesDrawOptionsDefault}{}% Default draw options for transversal edges
\newcommand{\pmdraw at drawTedgesDrawDefault}[2]{% Draws transversal edge from #1 vertex in top row to #2 vertex in bottom row - DEFAULT
\ifnum\pmdraw at ifTedgeHorizontal=0% If drawing a straight line edge
- \draw[apply style/.expand once=\pmdraw at drawTedgesDrawOptions,apply style/.expand once=\pmdraw at drawEdgeDrawOptions] (#1,\pmdraw at rowSep) -- (#2,0);% Draw straight line
+ \draw[apply style/.expand once=\pmdraw at drawTedgesDrawOptionsDefault,apply style/.expand once=\pmdraw at drawTedgesDrawOptions,apply style/.expand once=\pmdraw at drawEdgeDrawOptions] (#1,\pmdraw at rowSep) -- (#2,0);% Draw straight line
\else% If transversal edge is drawn horizontally
\ifnum#1>#2% If edge goes from top right to bottom left
- \draw[apply style/.expand once=\pmdraw at drawTedgesDrawOptions,apply style/.expand once=\pmdraw at drawEdgeDrawOptions] (#2,0) arc (180:90:\pmdraw{Tlevel});% Draw bottom arch
- \draw[apply style/.expand once=\pmdraw at drawTedgesDrawOptions,apply style/.expand once=\pmdraw at drawEdgeDrawOptions] (#2+\pmdraw{Tlevel},\pmdraw{Tlevel}) -- (#1-\pmdraw at rowSep+\pmdraw{Tlevel}, \pmdraw{Tlevel});% Draw straight line
- \draw[apply style/.expand once=\pmdraw at drawTedgesDrawOptions,apply style/.expand once=\pmdraw at drawEdgeDrawOptions] (#1-\pmdraw at rowSep+\pmdraw{Tlevel},\pmdraw{Tlevel}) arc (270:360:{\pmdraw at rowSep-\pmdraw{Tlevel}});% Draw top arc
+ \draw[apply style/.expand once=\pmdraw at drawTedgesDrawOptionsDefault,apply style/.expand once=\pmdraw at drawTedgesDrawOptions,apply style/.expand once=\pmdraw at drawEdgeDrawOptions] (#2,0) arc (180:90:\pmdraw{Tlevel});% Draw bottom arch
+ \draw[apply style/.expand once=\pmdraw at drawTedgesDrawOptionsDefault,apply style/.expand once=\pmdraw at drawTedgesDrawOptions,apply style/.expand once=\pmdraw at drawEdgeDrawOptions] (#2+\pmdraw{Tlevel},\pmdraw{Tlevel}) -- (#1-\pmdraw at rowSep+\pmdraw{Tlevel}, \pmdraw{Tlevel});% Draw straight line
+ \draw[apply style/.expand once=\pmdraw at drawTedgesDrawOptionsDefault,apply style/.expand once=\pmdraw at drawTedgesDrawOptions,apply style/.expand once=\pmdraw at drawEdgeDrawOptions] (#1-\pmdraw at rowSep+\pmdraw{Tlevel},\pmdraw{Tlevel}) arc (270:360:{\pmdraw at rowSep-\pmdraw{Tlevel}});% Draw top arc
\else% If edge goes from top left to bottom right
- \draw[apply style/.expand once=\pmdraw at drawTedgesDrawOptions,apply style/.expand once=\pmdraw at drawEdgeDrawOptions] (#2,0) arc (0:90:\pmdraw{Tlevel});% Draw bottom arch
- \draw[apply style/.expand once=\pmdraw at drawTedgesDrawOptions,apply style/.expand once=\pmdraw at drawEdgeDrawOptions] (#2-\pmdraw{Tlevel},\pmdraw{Tlevel}) -- (#1+\pmdraw at rowSep-\pmdraw{Tlevel}, \pmdraw{Tlevel});% Draw straight line
- \draw[apply style/.expand once=\pmdraw at drawTedgesDrawOptions,apply style/.expand once=\pmdraw at drawEdgeDrawOptions] (#1+\pmdraw at rowSep-\pmdraw{Tlevel},\pmdraw{Tlevel}) arc (270:180:{\pmdraw at rowSep-\pmdraw{Tlevel}});% Draw top arc
+ \draw[apply style/.expand once=\pmdraw at drawTedgesDrawOptionsDefault,apply style/.expand once=\pmdraw at drawTedgesDrawOptions,apply style/.expand once=\pmdraw at drawEdgeDrawOptions] (#2,0) arc (0:90:\pmdraw{Tlevel});% Draw bottom arch
+ \draw[apply style/.expand once=\pmdraw at drawTedgesDrawOptionsDefault,apply style/.expand once=\pmdraw at drawTedgesDrawOptions,apply style/.expand once=\pmdraw at drawEdgeDrawOptions] (#2-\pmdraw{Tlevel},\pmdraw{Tlevel}) -- (#1+\pmdraw at rowSep-\pmdraw{Tlevel}, \pmdraw{Tlevel});% Draw straight line
+ \draw[apply style/.expand once=\pmdraw at drawTedgesDrawOptionsDefault,apply style/.expand once=\pmdraw at drawTedgesDrawOptions,apply style/.expand once=\pmdraw at drawEdgeDrawOptions] (#1+\pmdraw at rowSep-\pmdraw{Tlevel},\pmdraw{Tlevel}) arc (270:180:{\pmdraw at rowSep-\pmdraw{Tlevel}});% Draw top arc
\fi%
\renewcommand{\pmdraw at ifTedgeHorizontal}{0}% Reset flag to default
\fi%
@@ -190,17 +193,19 @@
\let\pmdraw at drawTedgesDraw\pmdraw at drawTedgesDrawDefault% Draws transversal edge from #1 vertex in top row to #2 vertex in bottom row
\newcommand{\pmdraw at drawUedgesDrawOptions}{}% Draw options for upper non-transversal edges
+\newcommand{\pmdraw at drawUedgesDrawOptionsDefault}{}% Default draw options for upper non-transversal edges
\newcommand{\pmdraw at drawUedgesDrawDefault}[2]{% Draws upper non-transversal edge from #1 vertex to #2 vertex, assumes #1<#2 - DEFAULT
- \draw[apply style/.expand once=\pmdraw at drawUedgesDrawOptions,apply style/.expand once=\pmdraw at drawEdgeDrawOptions] (#1,\pmdraw at rowSep) arc (180:270:\pmdraw{edgeHeight});% Draw left arch
- \draw[apply style/.expand once=\pmdraw at drawUedgesDrawOptions,apply style/.expand once=\pmdraw at drawEdgeDrawOptions] (#1+\pmdraw{edgeHeight},\pmdraw at rowSep-\pmdraw{edgeHeight}) -- (#2-\pmdraw{edgeHeight},\pmdraw at rowSep-\pmdraw{edgeHeight});% Draw straight line
- \draw[apply style/.expand once=\pmdraw at drawUedgesDrawOptions,apply style/.expand once=\pmdraw at drawEdgeDrawOptions] (#2-\pmdraw{edgeHeight},\pmdraw at rowSep-\pmdraw{edgeHeight}) arc (270:360:\pmdraw{edgeHeight});% Draw right arc
+ \draw[apply style/.expand once=\pmdraw at drawUedgesDrawOptionsDefault,apply style/.expand once=\pmdraw at drawUedgesDrawOptions,apply style/.expand once=\pmdraw at drawEdgeDrawOptions] (#1,\pmdraw at rowSep) arc (180:270:\pmdraw{edgeHeight});% Draw left arch
+ \draw[apply style/.expand once=\pmdraw at drawUedgesDrawOptionsDefault,apply style/.expand once=\pmdraw at drawUedgesDrawOptions,apply style/.expand once=\pmdraw at drawEdgeDrawOptions] (#1+\pmdraw{edgeHeight},\pmdraw at rowSep-\pmdraw{edgeHeight}) -- (#2-\pmdraw{edgeHeight},\pmdraw at rowSep-\pmdraw{edgeHeight});% Draw straight line
+ \draw[apply style/.expand once=\pmdraw at drawUedgesDrawOptionsDefault,apply style/.expand once=\pmdraw at drawUedgesDrawOptions,apply style/.expand once=\pmdraw at drawEdgeDrawOptions] (#2-\pmdraw{edgeHeight},\pmdraw at rowSep-\pmdraw{edgeHeight}) arc (270:360:\pmdraw{edgeHeight});% Draw right arc
\renewcommand{\pmdraw at drawEdgeDrawOptions}{}% Reset draw options for edge
}
\let\pmdraw at drawUedgesDraw\pmdraw at drawUedgesDrawDefault% Draws upper non-transversal edge from #1 vertex to #2 vertex, assumes #1<#2
\newcommand{\pmdraw at drawVertexOptions}{}% Draw options for vertices
+\newcommand{\pmdraw at drawVertexOptionsDefault}{}% Default draw options for vertices
\newcommand{\pmdraw at drawVertexDefault}[2]{% Draws a vertex at (#1,#2) - Default
- \fill[apply style/.expand once=\pmdraw at drawVertexOptions] (#1,#2) circle (.17);%
+ \fill[apply style/.expand once=\pmdraw at drawVertexOptionsDefault,apply style/.expand once=\pmdraw at drawVertexOptions] (#1,#2) circle (.17);%
}
\let\pmdraw at drawVertex\pmdraw at drawVertexDefault% Draws a vertex at (#1,#2)
@@ -370,9 +375,12 @@
\define at key{pmdraw at brick}{vertices}{% Sets the draw options of vertices
\renewcommand{\pmdraw at drawVertexOptions}{#1}%
}
+\define at key{pmdraw at brick}{verticesDefault}{% Sets the default draw options of vertices
+ \renewcommand{\pmdraw at drawVertexOptionsDefault}{#1}%
+}
\define at key{pmdraw at brickDefault}{vertices}{% Sets the default draw options of vertices
\setkeys{pmdraw at brick}{%
- \savevalue{vertices}=#1%
+ \savevalue{verticesDefault}=#1%
}%
}
\define at key{pmdraw at brick}{no vertex bottom 1}{% Sets 1st vertex to skip in bottom row
@@ -895,9 +903,14 @@
\renewcommand{\pmdraw at drawLedgesDrawOptions}{#1}%
\renewcommand{\pmdraw at drawTedgesDrawOptions}{#1}%
}
+\define at key{pmdraw at brick}{edgesDefault}{% Sets the default draw options of all edges
+ \renewcommand{\pmdraw at drawUedgesDrawOptionsDefault}{#1}%
+ \renewcommand{\pmdraw at drawLedgesDrawOptionsDefault}{#1}%
+ \renewcommand{\pmdraw at drawTedgesDrawOptionsDefault}{#1}%
+}
\define at key{pmdraw at brickDefault}{edges}{% Sets the default draw options of all edges
\setkeys{pmdraw at brick}{%
- \savevalue{edges}=#1%
+ \savevalue{edgesDefault}=#1%
}%
}
\define at key{pmdraw at brick}{edges non-transversal}{% Sets the draw options of non-transversal edges
@@ -904,33 +917,46 @@
\renewcommand{\pmdraw at drawUedgesDrawOptions}{#1}%
\renewcommand{\pmdraw at drawLedgesDrawOptions}{#1}%
}
+\define at key{pmdraw at brick}{edges non-transversalDefault}{% Sets the default draw options of non-transversal edges
+ \renewcommand{\pmdraw at drawUedgesDrawOptionsDefault}{#1}%
+ \renewcommand{\pmdraw at drawLedgesDrawOptionsDefault}{#1}%
+}
\define at key{pmdraw at brickDefault}{edges non-transversal}{% Sets the default draw options of non-transversal edges
\setkeys{pmdraw at brick}{%
- \savevalue{edges non-transversal}=#1%
+ \savevalue{edges non-transversalDefault}=#1%
}%
}
\define at key{pmdraw at brick}{edges upper}{% Sets the draw options of upper non-transversal edges
\renewcommand{\pmdraw at drawUedgesDrawOptions}{#1}%
}
+\define at key{pmdraw at brick}{edges upperDefault}{% Sets the default draw options of upper non-transversal edges
+ \renewcommand{\pmdraw at drawUedgesDrawOptionsDefault}{#1}%
+}
\define at key{pmdraw at brickDefault}{edges upper}{% Sets the default draw options of upper non-transversal edges
\setkeys{pmdraw at brick}{%
- \savevalue{edges upper}=#1%
+ \savevalue{edges upperDefault}=#1%
}%
}
\define at key{pmdraw at brick}{edges lower}{% Sets the draw options of lower non-transversal edges
\renewcommand{\pmdraw at drawLedgesDrawOptions}{#1}%
}
+\define at key{pmdraw at brick}{edges lowerDefault}{% Sets the defaultdraw options of lower non-transversal edges
+ \renewcommand{\pmdraw at drawLedgesDrawOptionsDefault}{#1}%
+}
\define at key{pmdraw at brickDefault}{edges lower}{% Sets the default draw options of lower non-transversal edges
\setkeys{pmdraw at brick}{%
- \savevalue{edges lower}=#1%
+ \savevalue{edges lowerDefault}=#1%
}%
}
\define at key{pmdraw at brick}{edges transversal}{% Sets the draw options of transversal edges
\renewcommand{\pmdraw at drawTedgesDrawOptions}{#1}%
}
+\define at key{pmdraw at brick}{edges transversalDefault}{% Sets the default draw options of transversal edges
+ \renewcommand{\pmdraw at drawTedgesDrawOptionsDefault}{#1}%
+}
\define at key{pmdraw at brickDefault}{edges transversal}{% Sets the default draw options of transversal edges
\setkeys{pmdraw at brick}{%
- \savevalue{edges transversal}=#1%
+ \savevalue{edges transversalDefault}=#1%
}%
}
@@ -1237,9 +1263,12 @@
\define at key{pmdraw at diagram}{edges added}{% Sets the draw options for drawing of added edges in product diagram
\renewcommand{\pmdraw at drawAedgesOptions}{#1}%
}
+\define at key{pmdraw at diagram}{edges addedDefault}{% Sets the default draw options for drawing of added edges in product diagram
+ \renewcommand{\pmdraw at drawAedgesOptionsDefault}{#1}%
+}
\define at key{pmdraw at diagramDefault}{edges added}{% Sets the default draw options for drawing of added edges in product diagram
\setkeys{pmdraw at diagram}{%
- \savevalue{edges added}=#1%
+ \savevalue{edges addedDefault}=#1%
}%
}
\define at key{pmdraw at diagram}{edges added phantom}[1]{% Does not draw added edges
@@ -1312,7 +1341,6 @@
decorate after=\usevalue{decorate after},
diagram sep=\usevalue{diagram sep},
vertex sep=\usevalue{vertex sep},
- edges added=\usevalue{edges added},
edges added phantom=\usevalue{edges added phantom},
edges added uncover=\usevalue{edges added uncover}
}%
@@ -1366,7 +1394,6 @@
decorate after=\usevalue{decorate after},
diagram sep=\usevalue{diagram sep},
vertex sep=\usevalue{vertex sep},
- edges added=\usevalue{edges added},
edges added phantom=\usevalue{edges added phantom},
edges added uncover=\usevalue{edges added uncover}
}%
@@ -1450,7 +1477,6 @@
decorate after=\usevalue{decorate after},
diagram sep=\usevalue{diagram sep},
vertex sep=\usevalue{vertex sep},
- edges added=\usevalue{edges added},
edges added phantom=\usevalue{edges added phantom},
edges added uncover=\usevalue{edges added uncover}
}%
@@ -1552,7 +1578,6 @@
blank bottom=0,
blank top=0,
row sep=2,
- vertices={},
no vertex bottom 1=-1,
no vertex bottom 2=-1,
no vertex bottom 3=-1,
@@ -1611,11 +1636,6 @@
levels sep=(0.5*\pmdraw at rowSep)/2,
levels sep bottom=(0.5*\pmdraw at rowSep)/2,
levels sep top=(0.5*\pmdraw at rowSep)/2,
- edges={},
- edges non-transversal={},
- edges upper={},
- edges lower={},
- edges transversal={},
edges first=0,
transversals first=0,
edges phantom=0,
@@ -1658,11 +1678,15 @@
decorate after={},
diagram sep=1,
vertex sep=0,
- edges added={},
edges added phantom=0,
edges added uncover={1-}
}
}
+ \renewcommand{\pmdraw at drawVertexOptionsDefault}{}% Resets default draw options for vertices
+ \renewcommand{\pmdraw at drawLedgesDrawOptionsDefault}{}% Resets default draw options for lower non-transversal edges
+ \renewcommand{\pmdraw at drawUedgesDrawOptionsDefault}{}% Resets default draw options for upper non-transversal edges
+ \renewcommand{\pmdraw at drawTedgesDrawOptionsDefault}{}% Resets Default draw options for transversal edges
+ \renewcommand{\pmdraw at drawAedgesOptionsDefault}{}% Resets default draw options for added edges in product diagram
}
\pmdSetToOriginalDefault% Sets original default values
@@ -1802,7 +1826,6 @@
blank bottom=\usevalue{blank bottom},
blank top=\usevalue{blank top},
row sep=\usevalue{row sep},
- vertices=\usevalue{vertices},
no vertex bottom 1=\usevalue{no vertex bottom 1},
no vertex bottom 2=\usevalue{no vertex bottom 2},
no vertex bottom 3=\usevalue{no vertex bottom 3},
@@ -1861,11 +1884,6 @@
levels sep=\usevalue{levels sep},
levels sep bottom=\usevalue{levels sep bottom},
levels sep top=\usevalue{levels sep top},
- edges=\usevalue{edges},
- edges non-transversal=\usevalue{edges non-transversal},
- edges upper=\usevalue{edges upper},
- edges lower=\usevalue{edges lower},
- edges transversal=\usevalue{edges transversal},
edges first=\usevalue{edges first},
transversals first=\usevalue{transversals first},
edges phantom=\usevalue{edges phantom},
More information about the tex-live-commits
mailing list.