texlive[73577] Master/texmf-dist: pmdraw (24jan25)
commits+karl at tug.org
commits+karl at tug.org
Fri Jan 24 22:05:21 CET 2025
Revision: 73577
https://tug.org/svn/texlive?view=revision&revision=73577
Author: karl
Date: 2025-01-24 22:05:21 +0100 (Fri, 24 Jan 2025)
Log Message:
-----------
pmdraw (24jan25)
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-24 21:05:08 UTC (rev 73576)
+++ trunk/Master/texmf-dist/doc/latex/pmdraw/README.md 2025-01-24 21:05:21 UTC (rev 73577)
@@ -1,12 +1,12 @@
pmdraw
======
-*README V1.5 2024-10-07*
+*README V1.6 2025-01-24*
<!--
*------------------------------*
-|4````````````````````````````1|
+|1````````````````````````````7|
|`````____````____`````````````|
|````|MFMF\ /MFMF|````````````|
|````|MF|MF\/MF|MF|````````````|
@@ -18,7 +18,7 @@
|``````````````|MF|````````````|
|``````````````|MF|````````````|
|``````````````|MF|````````````|
-|5````````````````````````````7|
+|1````````````````````````````8|
*------------------------------*
-->
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-24 21:05:08 UTC (rev 73576)
+++ trunk/Master/texmf-dist/doc/latex/pmdraw/pmdraw.tex 2025-01-24 21:05:21 UTC (rev 73577)
@@ -1,7 +1,7 @@
\documentclass{ltxdoc}
% *------------------------------*
-% |2````````````````````````````3|
+% |6````````````````````````````1|
% |`````____````____`````````````|
% |````|MFMF\ /MFMF|````````````|
% |````|MF|MF\/MF|MF|````````````|
@@ -13,7 +13,7 @@
% |``````````````|MF|````````````|
% |``````````````|MF|````````````|
% |``````````````|MF|````````````|
-% |6````````````````````````````2|
+% |0````````````````````````````0|
% *------------------------------*
\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.5, 2024-10-07.}}
+ corresponds to \textsf{pmdraw}~v1.6, 2025-01-24.}}
\author{Matthias Fresacher \\ \texttt{matthias.ypg37 at slmail.me}}
\maketitle
@@ -784,6 +784,8 @@
}
\end{center}
+\section{Options}
+
\subsection{Brick options} \label{sec: brick/options}
The following are all of the keys that are available for bricks.
@@ -994,7 +996,7 @@
\DescribeMacro{no vertex top 1}
\DescribeMacro{ \vdots}
\DescribeMacro{no vertex top 9}
-specifies a vertex that is not drawn. Any of the nine available keys can be used in any order. It can be used to draw single vertices that are different to the others. If more than nine vertices need to be excluded, simply draw multiple bricks next to each other. The default is no argument.
+specifies a vertex that is not drawn. Any of the nine available keys can be used in any order. It can be used to draw single vertices that are different to the others. If more than nine vertices need to be excluded, simply draw multiple bricks next to each other. The default is -1.
\begin{center}
\begin{minipage}{\dimexpr0.85\textwidth-2\fboxrule-2\fboxsep\relax}
\begin{minipage}[c]{0.4\linewidth}
@@ -1185,7 +1187,7 @@
\DescribeMacro{no labels top 1}
\DescribeMacro{ \vdots}
\DescribeMacro{no labels top 9}
-specifies a vertex for which no label is drawn. Any of the nine available keys can be used in any order. It can be used to insert single unique labels that are different to the others. If more than nine labels need to be excluded, simply draw multiple bricks next to each other. The default is no argument.
+specifies a vertex for which no label is drawn. Any of the nine available keys can be used in any order. It can be used to insert single unique labels that are different to the others. If more than nine labels need to be excluded, simply draw multiple bricks next to each other. The default is -1.
\begin{center}
\begin{minipage}{\dimexpr0.85\textwidth-2\fboxrule-2\fboxsep\relax}
\begin{minipage}[c]{0.4\linewidth}
@@ -1406,7 +1408,7 @@
}{ % Brick 2
[ % Options
degree=1,
- no dots
+ % no dots
]{ % Upper non-transversal edges
\pmdEmpty
}{ % Lower non-transversal edges
@@ -3854,6 +3856,116 @@
}
\end{center}
+\subsection{Global options}
+
+The following are all of the commands that change all diagrams after the command is given.
+
+\DescribeMacro{\pmdSetDefault}
+sets the default style of all diagrams and has the syntax \verb`\pmdSetDefault{<keys>}`, where the input keys are one of the following:
+\begin{itemize}
+ \item \texttt{brick} -- see Section~\ref{sec: brick/options},
+ \item \texttt{NTedges} -- non-transversal edges, see Section~\ref{sec: NT edge/options},
+ \item \texttt{Tedges} -- transversal edges, see Section~\ref{sec: T edge/options},
+ \item \texttt{brace} -- see Section~\ref{sec: brace},
+ \item \texttt{diagram} -- see Section~\ref{sec: diagram/options}.
+\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}
+ \begin{minipage}[c]{0.4\linewidth}
+\begin{verbatim}
+\pmdSetDefault{% Set default keys
+ brick={% Brick keys
+ degree=5,
+ vertices=blue
+ },
+ Tedges={% Transversal edge keys
+ edge draw=red
+ }
+}
+
+\pmdBrick[ % Options
+ % degree=5% Not needed anymore
+]{ % Upper non-transversal edges
+ {1}{2}
+ {2}{5}
+}{ % Lower non-transversal edges
+ {1}{2}
+ {3}{4}
+}{ % Transversal edges
+ {1}{1}
+ {3}{4}
+}
+\end{verbatim}
+ \end{minipage}
+ \hfill
+ \begin{minipage}[c]{0.4\linewidth}
+\pmdSetDefault{% Set default keys
+ brick={% Brick keys
+ degree=5,
+ vertices=blue
+ },
+ Tedges={% Transversal edge keys
+ edge draw=red
+ }
+}
+
+\pmdBrick[ % Options
+ % degree=5% Not needed anymore
+]{ % Upper non-transversal edges
+ {1}{2}
+ {2}{5}
+}{ % Lower non-transversal edges
+ {1}{2}
+ {3}{4}
+}{ % Transversal edges
+ {1}{1}
+ {3}{4}
+}
+ \end{minipage}
+ \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.
+
+\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`.
+
\section{Future features/work}
I have attempted to make most use cases easy to use with dedicated functionality that does not require significant \LaTeX\ knowledge whilst at the same time provide more advanced interfaces to allow for hopefully almost complete customisability for those who put in the effort.
@@ -3866,7 +3978,6 @@
\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 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 Have global settings so that all diagrams in a document have the specified options.
\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.
Modified: trunk/Master/texmf-dist/tex/latex/pmdraw/pmdraw.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/pmdraw/pmdraw.sty 2025-01-24 21:05:08 UTC (rev 73576)
+++ trunk/Master/texmf-dist/tex/latex/pmdraw/pmdraw.sty 2025-01-24 21:05:21 UTC (rev 73577)
@@ -1,8 +1,8 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{pmdraw}[2024-10-07 v1.5 pmdraw]
+\ProvidesPackage{pmdraw}[2025-01-24 v1.6 pmdraw]
% *------------------------------*
-% |9````````````````````````````5|
+% |1````````````````````````````1|
% |`````____````____`````````````|
% |````|MFMF\ /MFMF|````````````|
% |````|MF|MF\/MF|MF|````````````|
@@ -14,7 +14,7 @@
% |``````````````|MF|````````````|
% |``````````````|MF|````````````|
% |``````````````|MF|````````````|
-% |3````````````````````````````1|
+% |6````````````````````````````1|
% *------------------------------*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -24,7 +24,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \RequirePackage{datetime}
-\RequirePackage{keyval}
+\RequirePackage{xkeyval}
\RequirePackage{tikz}
\usetikzlibrary{math,decorations.pathreplacing,calligraphy,backgrounds}
@@ -199,9 +199,10 @@
\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 drawVertex}[2]{% Draws a vertex at (#1,#2)
+\newcommand{\pmdraw at drawVertexDefault}[2]{% Draws a vertex at (#1,#2) - Default
\fill[apply style/.expand once=\pmdraw at drawVertexOptions] (#1,#2) circle (.17);%
}
+\let\pmdraw at drawVertex\pmdraw at drawVertexDefault% Draws a vertex at (#1,#2)
\newcommand{\pmdraw at edgeUncover}{1-}% Sets the uncover options of edge
\newcommand{\pmdraw at edgesAddedUncover}{1-}% Sets the uncover options of added edges
@@ -315,175 +316,453 @@
\setcounter{pmdraw at degreeB}{#1}% Sets degree (number of vertices per row) for bottom row
\setcounter{pmdraw at degreeT}{#1}% Sets degree (number of vertices per row) for top row
}
+\define at key{pmdraw at brickDefault}{degree}{% Sets default degree (number of vertices per row) of diagram
+ \setkeys{pmdraw at brick}{%
+ \savevalue{degree bottom}=#1%
+ }%
+ \setkeys{pmdraw at brick}{%
+ \savevalue{degree top}=#1%
+ }%
+}
\define at key{pmdraw at brick}{degree bottom}{% Sets degree (number of vertices per row) for bottom row
\setcounter{pmdraw at degreeB}{#1}%
}
+\define at key{pmdraw at brickDefault}{degree bottom}{% Sets default degree (number of vertices per row) for bottom row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{degree bottom}=#1%
+ }%
+}
\define at key{pmdraw at brick}{degree top}{% Sets degree (number of vertices per row) for top row
\setcounter{pmdraw at degreeT}{#1}%
}
+\define at key{pmdraw at brickDefault}{degree top}{% Sets default degree (number of vertices per row) for top row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{degree top}=#1%
+ }%
+}
\define at key{pmdraw at brick}{blank bottom}{% Sets the number of blank vertices on left of bottom row
\setcounter{pmdraw at blankB}{#1}%
}
+\define at key{pmdraw at brickDefault}{blank bottom}{% Sets the default number of blank vertices on left of bottom row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{blank bottom}=#1%
+ }%
+}
\define at key{pmdraw at brick}{blank top}{% Sets the number of blank vertices on left of top row
\setcounter{pmdraw at blankT}{#1}%
}
+\define at key{pmdraw at brickDefault}{blank top}{% Sets the default number of blank vertices on left of top row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{blank top}=#1%
+ }%
+}
\define at key{pmdraw at brick}{row sep}{% Sets vertical separation between rows of vertices in brick
\renewcommand{\pmdraw at rowSep}{#1}%
}
+\define at key{pmdraw at brickDefault}{row sep}{% Sets default vertical separation between rows of vertices in brick
+ \setkeys{pmdraw at brick}{%
+ \savevalue{row sep}=#1%
+ }%
+}
\define at key{pmdraw at brick}{vertices}{% Sets the draw options of vertices
\renewcommand{\pmdraw at drawVertexOptions}{#1}%
}
+\define at key{pmdraw at brickDefault}{vertices}{% Sets the default draw options of vertices
+ \setkeys{pmdraw at brick}{%
+ \savevalue{vertices}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no vertex bottom 1}{% Sets 1st vertex to skip in bottom row
\renewcommand{\pmdraw at drawNoVertexBa}{#1}%
}
+\define at key{pmdraw at brickDefault}{no vertex bottom 1}{% Sets default 1st vertex to skip in bottom row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no vertex bottom 1}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no vertex bottom 2}{% Sets 2nd vertex to skip in bottom row
\renewcommand{\pmdraw at drawNoVertexBb}{#1}%
}
+\define at key{pmdraw at brickDefault}{no vertex bottom 2}{% Sets default 2nd vertex to skip in bottom row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no vertex bottom 2}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no vertex bottom 3}{% Sets 3rd vertex to skip in bottom row
\renewcommand{\pmdraw at drawNoVertexBc}{#1}%
}
+\define at key{pmdraw at brickDefault}{no vertex bottom 3}{% Sets default 3rd vertex to skip in bottom row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no vertex bottom 3}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no vertex bottom 4}{% Sets 4th vertex to skip in bottom row
\renewcommand{\pmdraw at drawNoVertexBd}{#1}%
}
+\define at key{pmdraw at brickDefault}{no vertex bottom 4}{% Sets default 4th vertex to skip in bottom row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no vertex bottom 4}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no vertex bottom 5}{% Sets 5th vertex to skip in bottom row
\renewcommand{\pmdraw at drawNoVertexBe}{#1}%
}
+\define at key{pmdraw at brickDefault}{no vertex bottom 5}{% Sets default 5th vertex to skip in bottom row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no vertex bottom 5}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no vertex bottom 6}{% Sets 6th vertex to skip in bottom row
\renewcommand{\pmdraw at drawNoVertexBf}{#1}%
}
+\define at key{pmdraw at brickDefault}{no vertex bottom 6}{% Sets default 6th vertex to skip in bottom row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no vertex bottom 6}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no vertex bottom 7}{% Sets 7th vertex to skip in bottom row
\renewcommand{\pmdraw at drawNoVertexBg}{#1}%
}
+\define at key{pmdraw at brickDefault}{no vertex bottom 7}{% Sets default 7th vertex to skip in bottom row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no vertex bottom 7}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no vertex bottom 8}{% Sets 8th vertex to skip in bottom row
\renewcommand{\pmdraw at drawNoVertexBh}{#1}%
}
+\define at key{pmdraw at brickDefault}{no vertex bottom 8}{% Sets default 8th vertex to skip in bottom row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no vertex bottom 8}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no vertex bottom 9}{% Sets 9th vertex to skip in bottom row
\renewcommand{\pmdraw at drawNoVertexBi}{#1}%
}
+\define at key{pmdraw at brickDefault}{no vertex bottom 9}{% Sets default 9th vertex to skip in bottom row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no vertex bottom 9}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no vertex top 1}{% Sets 1st vertex to skip in top row
\renewcommand{\pmdraw at drawNoVertexTa}{#1}%
}
+\define at key{pmdraw at brickDefault}{no vertex top 1}{% Sets default 1st vertex to skip in top row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no vertex top 1}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no vertex top 2}{% Sets 2nd vertex to skip in top row
\renewcommand{\pmdraw at drawNoVertexTb}{#1}%
}
+\define at key{pmdraw at brickDefault}{no vertex top 2}{% Sets default 2nd vertex to skip in top row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no vertex top 2}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no vertex top 3}{% Sets 3rd vertex to skip in top row
\renewcommand{\pmdraw at drawNoVertexTc}{#1}%
}
+\define at key{pmdraw at brickDefault}{no vertex top 3}{% Sets default 3rd vertex to skip in top row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no vertex top 3}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no vertex top 4}{% Sets 4th vertex to skip in top row
\renewcommand{\pmdraw at drawNoVertexTd}{#1}%
}
+\define at key{pmdraw at brickDefault}{no vertex top 4}{% Sets default 4th vertex to skip in top row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no vertex top 4}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no vertex top 5}{% Sets 5th vertex to skip in top row
\renewcommand{\pmdraw at drawNoVertexTe}{#1}%
}
+\define at key{pmdraw at brickDefault}{no vertex top 5}{% Sets default 5th vertex to skip in top row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no vertex top 5}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no vertex top 6}{% Sets 6th vertex to skip in top row
\renewcommand{\pmdraw at drawNoVertexTf}{#1}%
}
+\define at key{pmdraw at brickDefault}{no vertex top 6}{% Sets default 6th vertex to skip in top row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no vertex top 6}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no vertex top 7}{% Sets 7th vertex to skip in top row
\renewcommand{\pmdraw at drawNoVertexTg}{#1}%
}
+\define at key{pmdraw at brickDefault}{no vertex top 7}{% Sets default 7th vertex to skip in top row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no vertex top 7}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no vertex top 8}{% Sets 8th vertex to skip in top row
\renewcommand{\pmdraw at drawNoVertexTh}{#1}%
}
+\define at key{pmdraw at brickDefault}{no vertex top 8}{% Sets default 8th vertex to skip in top row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no vertex top 8}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no vertex top 9}{% Sets 9th vertex to skip in top row
\renewcommand{\pmdraw at drawNoVertexTi}{#1}%
}
+\define at key{pmdraw at brickDefault}{no vertex top 9}{% Sets default 9th vertex to skip in top row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no vertex top 9}=#1%
+ }%
+}
\define at key{pmdraw at brick}{vertices options}{% Sets the draw command of vertices
\renewcommand{\pmdraw at drawVertex}[2]{#1}%
}
-\define at key{pmdraw at brick}{labels}[]{% Draws labels for vertices
- \renewcommand{\pmdraw at ifLabelsB}{1}%
- \renewcommand{\pmdraw at ifLabelsT}{1}%
+\define at key{pmdraw at brick}{labels}[1]{% Draws labels for vertices
+ \renewcommand{\pmdraw at ifLabelsB}{#1}%
+ \renewcommand{\pmdraw at ifLabelsT}{#1}%
}
-\define at key{pmdraw at brick}{labels bottom}[]{% Draws labels for bottom vertices
- \renewcommand{\pmdraw at ifLabelsB}{1}%
+\define at key{pmdraw at brickDefault}{labels}[1]{% Sets the default drawing labels for vertices
+ \setkeys{pmdraw at brick}{%
+ \savevalue{labels}=#1%
+ }%
}
-\define at key{pmdraw at brick}{labels top}[]{% Draws labels for top vertices
- \renewcommand{\pmdraw at ifLabelsT}{1}%
+\define at key{pmdraw at brick}{labels bottom}[1]{% Draws labels for bottom vertices
+ \renewcommand{\pmdraw at ifLabelsB}{#1}%
}
+\define at key{pmdraw at brickDefault}{labels bottom}[1]{% Sets the default drawing labels for bottom vertices
+ \setkeys{pmdraw at brick}{%
+ \savevalue{labels bottom}=#1%
+ }%
+}
+\define at key{pmdraw at brick}{labels top}[1]{% Draws labels for top vertices
+ \renewcommand{\pmdraw at ifLabelsT}{#1}%
+}
+\define at key{pmdraw at brickDefault}{labels top}[1]{% Sets the default drawing labels for top vertices
+ \setkeys{pmdraw at brick}{%
+ \savevalue{labels top}=#1%
+ }%
+}
\define at key{pmdraw at brick}{labels start}{% Sets starting number for vertex labels
\setcounter{pmdraw at labelStartT}{#1}%
\setcounter{pmdraw at labelStartB}{#1}%
}
+\define at key{pmdraw at brickDefault}{labels start}{% Sets the default starting number for vertex labels
+ \setkeys{pmdraw at brick}{%
+ \savevalue{labels start}=#1%
+ }%
+}
\define at key{pmdraw at brick}{labels bottom start}{% Sets starting number for bottom vertex labels
\setcounter{pmdraw at labelStartB}{#1}%
}
+\define at key{pmdraw at brickDefault}{labels bottom start}{% Sets the default starting number for bottom vertex labels
+ \setkeys{pmdraw at brick}{%
+ \savevalue{labels bottom start}=#1%
+ }%
+}
\define at key{pmdraw at brick}{labels top start}{% Sets starting number for top vertex labels
\setcounter{pmdraw at labelStartT}{#1}%
}
+\define at key{pmdraw at brickDefault}{labels top start}{% Sets the default starting number for top vertex labels
+ \setkeys{pmdraw at brick}{%
+ \savevalue{labels top start}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no label bottom 1}{% Sets 1st label to skip in bottom row
\renewcommand{\pmdraw at drawNoLabelBa}{#1}%
}
+\define at key{pmdraw at brickDefault}{no label bottom 1}{% Sets the default 1st label to skip in bottom row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no label bottom 1}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no label bottom 2}{% Sets 2nd label to skip in bottom row
\renewcommand{\pmdraw at drawNoLabelBb}{#1}%
}
+\define at key{pmdraw at brickDefault}{no label bottom 2}{% Sets the default 2nd label to skip in bottom row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no label bottom 2}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no label bottom 3}{% Sets 3rd label to skip in bottom row
\renewcommand{\pmdraw at drawNoLabelBc}{#1}%
}
+\define at key{pmdraw at brickDefault}{no label bottom 3}{% Sets the default 3rd label to skip in bottom row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no label bottom 3}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no label bottom 4}{% Sets 4th label to skip in bottom row
\renewcommand{\pmdraw at drawNoLabelBd}{#1}%
}
+\define at key{pmdraw at brickDefault}{no label bottom 4}{% Sets the default 4th label to skip in bottom row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no label bottom 4}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no label bottom 5}{% Sets 5th label to skip in bottom row
\renewcommand{\pmdraw at drawNoLabelBe}{#1}%
}
+\define at key{pmdraw at brickDefault}{no label bottom 5}{% Sets the default 5th label to skip in bottom row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no label bottom 5}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no label bottom 6}{% Sets 6th label to skip in bottom row
\renewcommand{\pmdraw at drawNoLabelBf}{#1}%
}
+\define at key{pmdraw at brickDefault}{no label bottom 6}{% Sets the default 6th label to skip in bottom row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no label bottom 6}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no label bottom 7}{% Sets 7th label to skip in bottom row
\renewcommand{\pmdraw at drawNoLabelBg}{#1}%
}
+\define at key{pmdraw at brickDefault}{no label bottom 7}{% Sets the default 7th label to skip in bottom row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no label bottom 7}=#1%
+ }%
+}
+\define at key{pmdraw at brickDefault}{no label bottom 8}{% Sets the default 8th label to skip in bottom row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no label bottom 8}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no label bottom 8}{% Sets 8th label to skip in bottom row
\renewcommand{\pmdraw at drawNoLabelBh}{#1}%
}
+\define at key{pmdraw at brickDefault}{no label bottom 8}{% Sets the default 8th label to skip in bottom row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no label bottom 8}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no label bottom 9}{% Sets 9th label to skip in bottom row
\renewcommand{\pmdraw at drawNoLabelBi}{#1}%
}
+\define at key{pmdraw at brickDefault}{no label bottom 9}{% Sets the default 9th label to skip in bottom row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no label bottom 9}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no label top 1}{% Sets 1st label to skip in top row
\renewcommand{\pmdraw at drawNoLabelTa}{#1}%
}
+\define at key{pmdraw at brickDefault}{no label top 1}{% Sets the default 1st label to skip in top row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no label top 1}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no label top 2}{% Sets 2nd label to skip in top row
\renewcommand{\pmdraw at drawNoLabelTb}{#1}%
}
+\define at key{pmdraw at brickDefault}{no label top 2}{% Sets the default 2nd label to skip in top row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no label top 2}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no label top 3}{% Sets 3rd label to skip in top row
\renewcommand{\pmdraw at drawNoLabelTc}{#1}%
}
+\define at key{pmdraw at brickDefault}{no label top 3}{% Sets the default 3rd label to skip in top row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no label top 3}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no label top 4}{% Sets 4th label to skip in top row
\renewcommand{\pmdraw at drawNoLabelTd}{#1}%
}
+\define at key{pmdraw at brickDefault}{no label top 4}{% Sets the default 4th label to skip in top row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no label top 4}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no label top 5}{% Sets 5th label to skip in top row
\renewcommand{\pmdraw at drawNoLabelTe}{#1}%
}
+\define at key{pmdraw at brickDefault}{no label top 5}{% Sets the default 5th label to skip in top row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no label top 5}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no label top 6}{% Sets 6th label to skip in top row
\renewcommand{\pmdraw at drawNoLabelTf}{#1}%
}
+\define at key{pmdraw at brickDefault}{no label top 6}{% Sets the default 6th label to skip in top row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no label top 6}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no label top 7}{% Sets 7th label to skip in top row
\renewcommand{\pmdraw at drawNoLabelTg}{#1}%
}
+\define at key{pmdraw at brickDefault}{no label top 7}{% Sets the default 7th label to skip in top row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no label top 7}=#1%
+ }%
+}
+\define at key{pmdraw at brickDefault}{no label top 8}{% Sets the default 8th label to skip in top row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no label top 8}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no label top 8}{% Sets 8th label to skip in top row
\renewcommand{\pmdraw at drawNoLabelTh}{#1}%
}
+\define at key{pmdraw at brickDefault}{no label top 8}{% Sets the default 8th label to skip in top row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no label top 8}=#1%
+ }%
+}
\define at key{pmdraw at brick}{no label top 9}{% Sets 9th label to skip in top row
\renewcommand{\pmdraw at drawNoLabelTi}{#1}%
}
+\define at key{pmdraw at brickDefault}{no label top 9}{% Sets the default 9th label to skip in top row
+ \setkeys{pmdraw at brick}{%
+ \savevalue{no label top 9}=#1%
+ }%
+}
\define at key{pmdraw at brick}{labels bottom draw}{% Sets the draw options for labels of bottom vertices
\renewcommand{\pmdraw at drawLabelBDrawOptions}{#1}%
}
+\define at key{pmdraw at brickDefault}{labels bottom draw}{% Sets the default draw options for labels of bottom vertices
+ \setkeys{pmdraw at brick}{%
+ \savevalue{labels bottom draw}=#1%
+ }%
+}
\define at key{pmdraw at brick}{labels bottom node}{% Sets the node options for labels of bottom vertices
\renewcommand{\pmdraw at drawLabelBNodeOptions}{#1}%
}
+\define at key{pmdraw at brickDefault}{labels bottom node}{% Sets the default node options for labels of bottom vertices
+ \setkeys{pmdraw at brick}{%
+ \savevalue{labels bottom node}=#1%
+ }%
+}
\define at key{pmdraw at brick}{labels top draw}{% Sets the draw options for labels of top vertices
\renewcommand{\pmdraw at drawLabelTDrawOptions}{#1}%
}
+\define at key{pmdraw at brickDefault}{labels top draw}{% Sets the default draw options for labels of top vertices
+ \setkeys{pmdraw at brick}{%
+ \savevalue{labels top draw}=#1%
+ }%
+}
\define at key{pmdraw at brick}{labels top node}{% Sets the node options for labels of top vertices
\renewcommand{\pmdraw at drawLabelTNodeOptions}{#1}%
}
+\define at key{pmdraw at brickDefault}{labels top node}{% Sets the default node options for labels of top vertices
+ \setkeys{pmdraw at brick}{%
+ \savevalue{labels top node}=#1%
+ }%
+}
\define at key{pmdraw at brick}{labels bottom options}{% Sets the draw command of labels of bottom vertices
\renewcommand{\pmdraw at drawLabelBottom}[3]{#1}%
@@ -492,30 +771,60 @@
\renewcommand{\pmdraw at drawLabelTop}[3]{#1}%
}
-\define at key{pmdraw at brick}{no dots}[]{% Does not draw dots in bricks
- \setcounter{pmdraw at ifDiagWDotsFirst}{1}%
+\define at key{pmdraw at brick}{no dots}[1]{% Does not draw dots in bricks
+ \setcounter{pmdraw at ifDiagWDotsFirst}{#1}%
}
\define at key{pmdraw at brick}{dots draw}{% Sets the draw options for drawing of dots
\renewcommand{\pmdraw at drawDotsDrawOptions}{#1}%
}
+\define at key{pmdraw at brickDefault}{dots draw}{% Sets the default draw options for drawing of dots
+ \setkeys{pmdraw at brick}{%
+ \savevalue{dots draw}=#1%
+ }%
+}
\define at key{pmdraw at brick}{dots node}{% Sets the node options for drawing of dots
\renewcommand{\pmdraw at drawDotsNodeOptions}{#1}%
}
+\define at key{pmdraw at brickDefault}{dots node}{% Sets the default node options for drawing of dots
+ \setkeys{pmdraw at brick}{%
+ \savevalue{dots node}=#1%
+ }%
+}
-\define at key{pmdraw at brick}{vertices bottom phantom}[]{% Does not draw bottom vertices
- \setcounter{pmdraw at ifVerticesBottom}{1}%
+\define at key{pmdraw at brick}{vertices bottom phantom}[1]{% Does not draw bottom vertices
+ \setcounter{pmdraw at ifVerticesBottom}{#1}%
}
-\define at key{pmdraw at brick}{vertices top phantom}[]{% Does not draw top vertices
- \setcounter{pmdraw at ifVerticesTop}{1}%
+\define at key{pmdraw at brickDefault}{vertices bottom phantom}{% Sets the default to not draw bottom vertices
+ \setkeys{pmdraw at brick}{%
+ \savevalue{vertices bottom phantom}=#1%
+ }%
}
+\define at key{pmdraw at brick}{vertices top phantom}[1]{% Does not draw top vertices
+ \setcounter{pmdraw at ifVerticesTop}{#1}%
+}
+\define at key{pmdraw at brickDefault}{vertices top phantom}{% Sets the default to not draw top vertices
+ \setkeys{pmdraw at brick}{%
+ \savevalue{vertices top phantom}=#1%
+ }%
+}
\define at key{pmdraw at brick}{vertices bottom uncover}{% Sets the uncover options of bottom vertices
\renewcommand{\pmdraw at verticesBottomUncover}{#1}%
}
+\define at key{pmdraw at brickDefault}{vertices bottom uncover}{% Sets the default uncover options of bottom vertices
+ \setkeys{pmdraw at brick}{%
+ \savevalue{vertices bottom uncover}=#1%
+ }%
+}
\define at key{pmdraw at brick}{vertices top uncover}{% Sets the uncover options of top vertices
\renewcommand{\pmdraw at verticesTopUncover}{#1}%
}
+\define at key{pmdraw at brickDefault}{vertices top uncover}{% Sets the default uncover options of top vertices
+ \setkeys{pmdraw at brick}{%
+ \savevalue{vertices top uncover}=#1%
+ }%
+}
\define at key{pmdraw at brick}{levels}[1]{% Sets number of horizontal levels for non-transversal edges and evenly spaces them
\tikzmath{%
@@ -523,16 +832,31 @@
\pmdraw{edgeSepL} = \pmdraw{edgeSepU};% Calculates vertical separation between each edge
}%
}
+\define at key{pmdraw at brickDefault}{levels}{% Sets the default number of horizontal levels for non-transversal edges and evenly spaces them
+ \setkeys{pmdraw at brick}{%
+ \savevalue{levels}=#1%
+ }%
+}
\define at key{pmdraw at brick}{levels bottom}{% Sets number of horizontal levels for lower non-transversal edges and evenly spaces them
\tikzmath{%
\pmdraw{edgeSepL} = (0.5*\pmdraw at rowSep)/(#1 + 1);% Calculates vertical separation between each edge
}%
}
+\define at key{pmdraw at brickDefault}{levels bottom}{% Sets the default number of horizontal levels for lower non-transversal edges and evenly spaces them
+ \setkeys{pmdraw at brick}{%
+ \savevalue{levels bottom}=#1%
+ }%
+}
\define at key{pmdraw at brick}{levels top}{% Sets number of horizontal levels for upper non-transversal edges and evenly spaces them
\tikzmath{%
\pmdraw{edgeSepU} = (0.5*\pmdraw at rowSep)/(#1 + 1);% Calculates vertical separation between each edge
}%
}
+\define at key{pmdraw at brickDefault}{levels top}{% Sets the default number of horizontal levels for upper non-transversal edges and evenly spaces them
+ \setkeys{pmdraw at brick}{%
+ \savevalue{levels top}=#1%
+ }%
+}
\define at key{pmdraw at brick}{levels sep}{% Sets vertical separation of horizontal levels for non-transversal edges
\tikzmath{%
@@ -540,16 +864,31 @@
\pmdraw{edgeSepL} = \pmdraw{edgeSepU};%
}%
}
+\define at key{pmdraw at brickDefault}{levels sep}{% Sets the default vertical separation of horizontal levels for non-transversal edges
+ \setkeys{pmdraw at brick}{%
+ \savevalue{levels sep}=#1%
+ }%
+}
\define at key{pmdraw at brick}{levels sep bottom}{% Sets vertical separation of lower horizontal levels for non-transversal edges
\tikzmath{%
\pmdraw{edgeSepL} = #1;%
}%
}
+\define at key{pmdraw at brickDefault}{levels sep bottom}{% Sets the default vertical separation of lower horizontal levels for non-transversal edges
+ \setkeys{pmdraw at brick}{%
+ \savevalue{levels sep bottom}=#1%
+ }%
+}
\define at key{pmdraw at brick}{levels sep top}{% Sets vertical separation of upper horizontal levels for non-transversal edges
\tikzmath{%
\pmdraw{edgeSepU} = #1;%
}%
}
+\define at key{pmdraw at brickDefault}{levels sep top}{% Sets the default vertical separation of upper horizontal levels for non-transversal edges
+ \setkeys{pmdraw at brick}{%
+ \savevalue{levels sep top}=#1%
+ }%
+}
\define at key{pmdraw at brick}{edges}{% Sets the draw options of all edges
\renewcommand{\pmdraw at drawUedgesDrawOptions}{#1}%
@@ -556,54 +895,129 @@
\renewcommand{\pmdraw at drawLedgesDrawOptions}{#1}%
\renewcommand{\pmdraw at drawTedgesDrawOptions}{#1}%
}
+\define at key{pmdraw at brickDefault}{edges}{% Sets the default draw options of all edges
+ \setkeys{pmdraw at brick}{%
+ \savevalue{edges}=#1%
+ }%
+}
\define at key{pmdraw at brick}{edges non-transversal}{% Sets the draw options of non-transversal edges
\renewcommand{\pmdraw at drawUedgesDrawOptions}{#1}%
\renewcommand{\pmdraw at drawLedgesDrawOptions}{#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%
+ }%
+}
\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 brickDefault}{edges upper}{% Sets the default draw options of upper non-transversal edges
+ \setkeys{pmdraw at brick}{%
+ \savevalue{edges upper}=#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 brickDefault}{edges lower}{% Sets the default draw options of lower non-transversal edges
+ \setkeys{pmdraw at brick}{%
+ \savevalue{edges lower}=#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 brickDefault}{edges transversal}{% Sets the default draw options of transversal edges
+ \setkeys{pmdraw at brick}{%
+ \savevalue{edges transversal}=#1%
+ }%
+}
-\define at key{pmdraw at brick}{edges first}[]{% Draws edges before vertices
- \renewcommand{\pmdraw at ifEdgesFirst}{1}%
+\define at key{pmdraw at brick}{edges first}[1]{% Draws edges before vertices
+ \renewcommand{\pmdraw at ifEdgesFirst}{#1}%
}
-\define at key{pmdraw at brick}{transversals first}[]{% Draws transversal edges before non-transversal edges
- \renewcommand{\pmdraw at ifTedgesFirst}{1}%
+\define at key{pmdraw at brickDefault}{edges first}{% Sets the default to draw edges before vertices
+ \setkeys{pmdraw at brick}{%
+ \savevalue{edges first}=#1%
+ }%
}
+\define at key{pmdraw at brick}{transversals first}[1]{% Draws transversal edges before non-transversal edges
+ \renewcommand{\pmdraw at ifTedgesFirst}{#1}%
+}
+\define at key{pmdraw at brickDefault}{transversals first}{% Sets the default to draw transversal edges before non-transversal edges
+ \setkeys{pmdraw at brick}{%
+ \savevalue{transversals first}=#1%
+ }%
+}
-\define at key{pmdraw at brick}{edges phantom}[]{% Does not draw edges
- \setcounter{pmdraw at ifEdges}{1}%
+\define at key{pmdraw at brick}{edges phantom}[1]{% Does not draw edges
+ \setcounter{pmdraw at ifEdges}{#1}%
}
+\define at key{pmdraw at brickDefault}{edges phantom}{% Sets the default to not draw edge
+ \setkeys{pmdraw at brick}{%
+ \savevalue{edges phantom}=#1%
+ }%
+}
\define at key{pmdraw at brick}{edges uncover}{% Sets the uncover options of edges
\renewcommand{\pmdraw at edgesUncover}{#1}%
}
+\define at key{pmdraw at brickDefault}{edges uncover}{% Sets the default uncover options of edges
+ \setkeys{pmdraw at brick}{%
+ \savevalue{edges uncover}=#1%
+ }%
+}
\define at key{pmdraw at brick}{brace}{% Draws a brace
+ \setkeys{pmdraw at brace}{% Sets default keys for brace
+ left=\usevalue{left},
+ right=\usevalue{right},
+ above=\usevalue{above}
+ }%
\setkeys{pmdraw at brace}{#1}% Processes details of brace
\pmdraw at drawBrace{\value{pmdraw at braceL}}{\value{pmdraw at braceR}}{\pmdraw at braceLabel}% Draws brace
\let\pmdraw at drawBrace\pmdraw at drawBraceDefault% Resets brace options if changed
}
+\define at key{pmdraw at brickDefault}{brace}{% Sets the default brace
+ \setkeys{pmdraw at brick}{%
+ \savevalue{brace}=#1%
+ }%
+}
\define at key{pmdraw at brick}{brace draw}{% Sets the draw options for drawing of brace
\renewcommand{\pmdraw at drawBraceDrawOptions}{#1}%
}
+\define at key{pmdraw at brickDefault}{brace draw}{% Sets the default draw options for drawing of brace
+ \setkeys{pmdraw at brick}{%
+ \savevalue{brace draw}=#1%
+ }%
+}
\define at key{pmdraw at brick}{brace node}{% Sets the node options for drawing of brace
\renewcommand{\pmdraw at drawBraceNodeOptions}{#1}%
}
+\define at key{pmdraw at brickDefault}{brace node}{% Sets the default node options for drawing of brace
+ \setkeys{pmdraw at brick}{%
+ \savevalue{brace node}=#1%
+ }%
+}
\define at key{pmdraw at brick}{decorate before}{% Hook for decorations before brick is drawn
\renewcommand{\pmdraw at hookBeforeBrick}{#1}%
}
+\define at key{pmdraw at brickDefault}{decorate before}{% Sets the default hook for decorations before brick is drawn
+ \setkeys{pmdraw at brick}{%
+ \savevalue{decorate before}=#1%
+ }%
+}
\define at key{pmdraw at brick}{decorate after}{% Hook for decorations after brick is drawn
\renewcommand{\pmdraw at hookAfterBrick}{#1}%
}
+\define at key{pmdraw at brickDefault}{decorate after}{% Sets the default hook for decorations after brick is drawn
+ \setkeys{pmdraw at brick}{%
+ \savevalue{decorate after}=#1%
+ }%
+}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
@@ -615,22 +1029,53 @@
\define at key{pmdraw at NTedges}{level}{% Sets level of non-transversal edge
\setcounter{pmdraw at NTlevel}{#1}%
}
+\define at key{pmdraw at NTedgesDefault}{level}{% Sets the default level of non-transversal edge
+ \setkeys{pmdraw at NTedges}{%
+ \savevalue{level}=#1%
+ }%
+}
+
\define at key{pmdraw at NTedges}{height}{% Sets manual height of non-transversal edge
\renewcommand{\pmdraw at NTedgesHeight}{#1}%
}
+\define at key{pmdraw at NTedgesDefault}{height}{% Sets the default manual height of non-transversal edge
+ \setkeys{pmdraw at NTedges}{%
+ \savevalue{height}=#1%
+ }%
+}
+
\define at key{pmdraw at NTedges}{edge draw}{% Sets the draw options for drawing of edge
\renewcommand{\pmdraw at drawEdgeDrawOptions}{#1}%
}
+\define at key{pmdraw at NTedgesDefault}{edge draw}{% Sets the default draw options for drawing of edge
+ \setkeys{pmdraw at NTedges}{%
+ \savevalue{edge draw}=#1%
+ }%
+}
+
\define at key{pmdraw at NTedges}{options}{% Sets the draw command of non-transversal edge
\renewcommand{\pmdraw at drawUedgesDraw}[2]{#1}%
\renewcommand{\pmdraw at drawLedgesDraw}[2]{#1}%
}
-\define at key{pmdraw at NTedges}{phantom}[]{% Does not draw edge
- \setcounter{pmdraw at ifEdge}{1}%
+
+\define at key{pmdraw at NTedges}{phantom}[1]{% Does not draw edge
+ \setcounter{pmdraw at ifEdge}{#1}%
}
+\define at key{pmdraw at NTedgesDefault}{phantom}{% Sets the default to not draw edge
+ \setkeys{pmdraw at NTedges}{%
+ \savevalue{phantom}=#1%
+ }%
+}
+
\define at key{pmdraw at NTedges}{uncover}{% Sets the uncover options of edge
\renewcommand{\pmdraw at edgeUncover}{#1}%
}
+\define at key{pmdraw at NTedgesDefault}{uncover}{% Sets the default uncover options of edge
+ \setkeys{pmdraw at NTedges}{%
+ \savevalue{uncover}=#1%
+ }%
+}
+
\define at key{pmdraw at Tedges}{height}{% Sets manual height of transversal edge
\tikzmath{%
\pmdraw{Tlevel} = #1;%
@@ -637,18 +1082,42 @@
}%
\renewcommand{\pmdraw at ifTedgeHorizontal}{1}% Flags manual height
}
+\define at key{pmdraw at TedgesDefault}{height}{% Sets the default manual height of transversal edge
+ \setkeys{pmdraw at Tedges}{%
+ \savevalue{height}=#1%
+ }%
+}
+
\define at key{pmdraw at Tedges}{edge draw}{% Sets the draw options for drawing of edge
\renewcommand{\pmdraw at drawEdgeDrawOptions}{#1}%
}
+\define at key{pmdraw at TedgesDefault}{edge draw}{% Sets the default draw options for drawing of edge
+ \setkeys{pmdraw at Tedges}{%
+ \savevalue{edge draw}=#1%
+ }%
+}
+
\define at key{pmdraw at Tedges}{options}{% Sets the draw command of transversal edge
\renewcommand{\pmdraw at drawTedgesDraw}[2]{#1}%
}
-\define at key{pmdraw at Tedges}{phantom}[]{% Does not draw edge
- \setcounter{pmdraw at ifEdge}{1}%
+
+\define at key{pmdraw at Tedges}{phantom}[1]{% Does not draw edge
+ \setcounter{pmdraw at ifEdge}{#1}%
}
+\define at key{pmdraw at TedgesDefault}{phantom}{% Sets the default to not draw edge
+ \setkeys{pmdraw at Tedges}{%
+ \savevalue{phantom}=#1%
+ }%
+}
+
\define at key{pmdraw at Tedges}{uncover}{% Sets the uncover options of edge
\renewcommand{\pmdraw at edgeUncover}{#1}%
}
+\define at key{pmdraw at TedgesDefault}{uncover}{% Sets the default uncover options of edge
+ \setkeys{pmdraw at Tedges}{%
+ \savevalue{uncover}=#1%
+ }%
+}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
@@ -660,15 +1129,34 @@
\define at key{pmdraw at brace}{left}{% Sets starting position of brace
\setcounter{pmdraw at braceL}{#1}%
}
+\define at key{pmdraw at braceDefault}{left}{% Sets the default starting position of brace
+ \setkeys{pmdraw at brace}{%
+ \savevalue{left}=#1%
+ }%
+}
+
\define at key{pmdraw at brace}{right}{% Sets terminating position of brace
\setcounter{pmdraw at braceR}{#1}%
}
+\define at key{pmdraw at braceDefault}{right}{% Sets the default terminating position of brace
+ \setkeys{pmdraw at brace}{%
+ \savevalue{right}=#1%
+ }%
+}
+
\define at key{pmdraw at brace}{label}{% Sets label of brace
\renewcommand{\pmdraw at braceLabel}{#1}%
}
-\define at key{pmdraw at brace}{above}[]{% Set flag to draw brace above diagram
- \renewcommand{\pmdraw at ifProdDiag}{1}%
+
+\define at key{pmdraw at brace}{above}[1]{% Set flag to draw brace above diagram
+ \renewcommand{\pmdraw at ifProdDiag}{#1}%
}
+\define at key{pmdraw at braceDefault}{above}{% Sets the default flag to draw brace above diagram
+ \setkeys{pmdraw at brace}{%
+ \savevalue{above}=#1%
+ }%
+}
+
\define at key{pmdraw at brace}{options}{% Sets the draw command of brace
\renewcommand{\pmdraw at drawBrace}[3]{#1}%
}
@@ -683,40 +1171,123 @@
\define at key{pmdraw at diagram}{row sep}{% Sets vertical separation between rows of vertices in diagram
\renewcommand{\pmdraw at rowSep}{#1}%
}
+\define at key{pmdraw at diagramDefault}{row sep}{% Sets the default vertical separation between rows of vertices in diagram
+ \setkeys{pmdraw at diagram}{%
+ \savevalue{row sep}=#1%
+ }%
+}
+
\define at key{pmdraw at diagram}{tikz}{% Sets the tikz options
\renewcommand{\pmdraw at tikz}{#1}%
}
+\define at key{pmdraw at diagramDefault}{tikz}{% Sets the default tikz options
+ \setkeys{pmdraw at diagram}{%
+ \savevalue{tikz}=#1%
+ }%
+}
+
\define at key{pmdraw at diagram}{dots options}{% Sets the draw command of dots between bricks
\renewcommand{\pmdraw at drawDots}[2]{#1}%
}
-\define at key{pmdraw at diagram}{grid}[]{% Flag for drawing coordinate grid
- \renewcommand{\pmdraw at ifGrid}{1}%
+
+
+\define at key{pmdraw at diagram}{grid}[1]{% Flag for drawing coordinate grid
+ \renewcommand{\pmdraw at ifGrid}{#1}%
}
+\define at key{pmdraw at diagramDefault}{grid}{% Sets the default flag for drawing coordinate grid
+ \setkeys{pmdraw at diagram}{%
+ \savevalue{grid}=#1%
+ }%
+}
+
\define at key{pmdraw at diagram}{decorate before}{% Hook before drawing diagrams
\renewcommand{\pmdraw at hookBeforeDiagram}{#1}%
}
+\define at key{pmdraw at diagramDefault}{decorate before}{% Sets the default hook before drawing diagrams
+ \setkeys{pmdraw at diagram}{%
+ \savevalue{decorate before}=#1%
+ }%
+}
\define at key{pmdraw at diagram}{decorate after}{% Hook after drawing diagrams
\renewcommand{\pmdraw at hookAfterDiagram}{#1}%
}
+\define at key{pmdraw at diagramDefault}{decorate after}{% Sets the default hook after drawing diagrams
+ \setkeys{pmdraw at diagram}{%
+ \savevalue{decorate after}=#1%
+ }%
+}
\define at key{pmdraw at diagram}{diagram sep}{% Sets vertical separation between bottom row of top diagram and top row of bottom diagram in product diagram
\renewcommand{\pmdraw at diagSep}{#1}%
}
+\define at key{pmdraw at diagramDefault}{diagram sep}{% Sets the default vertical separation between bottom row of top diagram and top row of bottom diagram in product diagram
+ \setkeys{pmdraw at diagram}{%
+ \savevalue{diagram sep}=#1%
+ }%
+}
\define at key{pmdraw at diagram}{vertex sep}{% Sets vertical separation between bottom row of top diagram and top row of bottom diagram in product diagram not for added edges
\renewcommand{\pmdraw at vertexSep}{#1}%
}
+\define at key{pmdraw at diagramDefault}{vertex sep}{% Sets the default vertical separation between bottom row of top diagram and top row of bottom diagram in product diagram not for added edges
+ \setkeys{pmdraw at diagram}{%
+ \savevalue{vertex sep}=#1%
+ }%
+}
+
\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 added phantom}[]{% Does not draw added edges
- \setcounter{pmdraw at ifEdgesAdded}{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%
+ }%
}
+\define at key{pmdraw at diagram}{edges added phantom}[1]{% Does not draw added edges
+ \setcounter{pmdraw at ifEdgesAdded}{#1}%
+}
+\define at key{pmdraw at diagramDefault}{edges added phantom}{% Sets the default to not draw added edges
+ \setkeys{pmdraw at diagram}{%
+ \savevalue{edges added phantom}=#1%
+ }%
+}
\define at key{pmdraw at diagram}{edges added uncover}{% Sets the uncover options of added edges
\renewcommand{\pmdraw at edgesAddedUncover}{#1}%
}
+\define at key{pmdraw at diagramDefault}{edges added uncover}{% Sets the default uncover options of added edges
+ \setkeys{pmdraw at diagram}{%
+ \savevalue{edges added uncover}=#1%
+ }%
+}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
+% Keys for default key settings %
+% - ordered as per manual %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\define at key{pmdraw at default}{brick}{% Sets the default key options of brick keys
+ \setkeys{pmdraw at brickDefault}{#1}%
+}
+
+\define at key{pmdraw at default}{NTedges}{% Sets the default key options of non-transversal edge keys
+ \setkeys{pmdraw at NTedgesDefault}{#1}%
+}
+
+\define at key{pmdraw at default}{Tedges}{% Sets the default key options of transversal edge keys
+ \setkeys{pmdraw at TedgesDefault}{#1}%
+}
+
+\define at key{pmdraw at default}{brace}{% Sets the default key options of brace keys
+ \setkeys{pmdraw at braceDefault}{#1}%
+}
+
+\define at key{pmdraw at default}{diagram}{% Sets the default key options of diagram keys
+ \setkeys{pmdraw at diagramDefault}{#1}%
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
% User commands %
% - loosely ordered alphabetically %
% %
@@ -733,6 +1304,18 @@
\newcommand{\pmdDiagram}[2][]{% Draws diagram
% #1 Options
% #2 List of bricks
+ \setkeys{pmdraw at diagram}{% Sets default key values for diagrams
+ row sep=\usevalue{row sep},
+ tikz=\usevalue{tikz},
+ grid=\usevalue{grid},
+ decorate before=\usevalue{decorate before},
+ 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}
+ }%
\setkeys{pmdraw at diagram}{#1}% Processes options
\renewcommand{\pmdraw at ifDiagWDots}{1}% Flags that diagram has dots
\setcounter{pmdraw at brickShift}{0}% Reset shifting of individual bricks
@@ -775,6 +1358,18 @@
% #2 List of added edges
% #3 Top diagram as list of bricks
% #4 Bottom diagram as list of bricks
+ \setkeys{pmdraw at diagram}{% Sets default key values for diagrams
+ row sep=\usevalue{row sep},
+ tikz=\usevalue{tikz},
+ grid=\usevalue{grid},
+ decorate before=\usevalue{decorate before},
+ 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}
+ }%
\setkeys{pmdraw at diagram}{#1}% Processes options
\ifmmode% If drawing diagram in a maths equation
\,% Add space
@@ -847,6 +1442,18 @@
% #4 Top diagram as list of bricks
% #5 Middle diagram as list of bricks
% #6 Bottom diagram as list of bricks
+ \setkeys{pmdraw at diagram}{% Sets default key values for diagrams
+ row sep=\usevalue{row sep},
+ tikz=\usevalue{tikz},
+ grid=\usevalue{grid},
+ decorate before=\usevalue{decorate before},
+ 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}
+ }%
\setkeys{pmdraw at diagram}{#1}% Processes options
\ifmmode% If drawing diagram in a maths equation
\,% Add space
@@ -932,6 +1539,133 @@
\pmdraw at reset% Resets user keys and other flags to default values
}
+\newcommand{\pmdSetDefault}[1]{% Sets the entered styles as the default
+ \setkeys{pmdraw at default}{#1}%
+}
+
+\newcommand{\pmdSetToOriginalDefault}{% Sets the styles as the default of the package
+ \setkeys{pmdraw at default}{% Saves values
+ brick={% Sets default for brick keys
+ degree=0,
+ degree bottom=0,
+ degree top=0,
+ 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,
+ no vertex bottom 4=-1,
+ no vertex bottom 5=-1,
+ no vertex bottom 6=-1,
+ no vertex bottom 7=-1,
+ no vertex bottom 8=-1,
+ no vertex bottom 9=-1,
+ no vertex top 1=-1,
+ no vertex top 2=-1,
+ no vertex top 3=-1,
+ no vertex top 4=-1,
+ no vertex top 5=-1,
+ no vertex top 6=-1,
+ no vertex top 7=-1,
+ no vertex top 8=-1,
+ no vertex top 9=-1,
+ labels=0,
+ labels bottom=0,
+ labels top=0,
+ labels start=1,
+ labels bottom start=1,
+ labels top start=1,
+ no label bottom 1=-1,
+ no label bottom 2=-1,
+ no label bottom 3=-1,
+ no label bottom 4=-1,
+ no label bottom 5=-1,
+ no label bottom 6=-1,
+ no label bottom 7=-1,
+ no label bottom 8=-1,
+ no label bottom 9=-1,
+ no label top 1=-1,
+ no label top 2=-1,
+ no label top 3=-1,
+ no label top 4=-1,
+ no label top 5=-1,
+ no label top 6=-1,
+ no label top 7=-1,
+ no label top 8=-1,
+ no label top 9=-1,
+ labels bottom draw={},
+ labels bottom node={},
+ labels top draw={},
+ labels top node={},
+ dots draw={},
+ dots node={},
+ vertices bottom phantom=0,
+ vertices top phantom=0,
+ vertices bottom uncover={1-},
+ vertices top uncover={1-},
+ levels=1,
+ levels bottom=1,
+ levels top=1,
+ 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,
+ edges uncover={1-},
+ brace draw={},
+ brace node={},
+ decorate before={},
+ decorate after={}
+ }
+ }
+ \setkeys{pmdraw at default}{% Saves values
+ NTedges={% Sets default for non-transversal edge keys
+ level=1,
+ height=-1000,
+ edge draw={},
+ phantom=0,
+ uncover={1-}
+ }
+ }
+ \setkeys{pmdraw at default}{% Saves values
+ Tedges={% Sets default for transversal edge keys
+ edge draw={},
+ phantom=0,
+ uncover={1-}
+ }
+ }
+ \setkeys{pmdraw at default}{% Saves values
+ brace={% Sets default for brace keys
+ left=0,
+ right=0,
+ above=0
+ }
+ }
+ \setkeys{pmdraw at default}{% Saves values
+ diagram={% Sets default for diagram keys
+ row sep=2,
+ tikz={},
+ grid=0,
+ decorate before={},
+ decorate after={},
+ diagram sep=1,
+ vertex sep=0,
+ edges added={},
+ edges added phantom=0,
+ edges added uncover={1-}
+ }
+ }
+}
+\pmdSetToOriginalDefault% Sets original default values
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% For loop commands %
@@ -1062,6 +1796,85 @@
% #2 Upper non-transversal edges, as list [<options>]{<left vertex>}{<right vertex>}, eg [level=1]{2}{3}
% #3 Lower non-transversal edges, as list [<options>]{<left vertex>}{<right vertex>}, eg [level=1]{2}{3}
% #4 Transversals, as list [<options>]{<upper vertex>}{<lower vertex>}, eg [level=1]{2}{3}
+ \setkeys{pmdraw at brick}{% Set default values for brick keys
+ degree bottom=\usevalue{degree bottom},
+ degree top=\usevalue{degree top},
+ 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},
+ no vertex bottom 4=\usevalue{no vertex bottom 4},
+ no vertex bottom 5=\usevalue{no vertex bottom 5},
+ no vertex bottom 6=\usevalue{no vertex bottom 6},
+ no vertex bottom 7=\usevalue{no vertex bottom 7},
+ no vertex bottom 8=\usevalue{no vertex bottom 8},
+ no vertex bottom 9=\usevalue{no vertex bottom 9},
+ no vertex top 1=\usevalue{no vertex top 1},
+ no vertex top 2=\usevalue{no vertex top 2},
+ no vertex top 3=\usevalue{no vertex top 3},
+ no vertex top 4=\usevalue{no vertex top 4},
+ no vertex top 5=\usevalue{no vertex top 5},
+ no vertex top 6=\usevalue{no vertex top 6},
+ no vertex top 7=\usevalue{no vertex top 7},
+ no vertex top 8=\usevalue{no vertex top 8},
+ no vertex top 9=\usevalue{no vertex top 9},
+ labels=\usevalue{labels},
+ labels bottom=\usevalue{labels bottom},
+ labels top=\usevalue{labels top},
+ labels start=\usevalue{labels start},
+ labels bottom start=\usevalue{labels bottom start},
+ labels top start=\usevalue{labels top start},
+ no label bottom 1=\usevalue{no label bottom 1},
+ no label bottom 2=\usevalue{no label bottom 2},
+ no label bottom 3=\usevalue{no label bottom 3},
+ no label bottom 4=\usevalue{no label bottom 4},
+ no label bottom 5=\usevalue{no label bottom 5},
+ no label bottom 6=\usevalue{no label bottom 6},
+ no label bottom 7=\usevalue{no label bottom 7},
+ no label bottom 8=\usevalue{no label bottom 8},
+ no label bottom 9=\usevalue{no label bottom 9},
+ no label top 1=\usevalue{no label top 1},
+ no label top 2=\usevalue{no label top 2},
+ no label top 3=\usevalue{no label top 3},
+ no label top 4=\usevalue{no label top 4},
+ no label top 5=\usevalue{no label top 5},
+ no label top 6=\usevalue{no label top 6},
+ no label top 7=\usevalue{no label top 7},
+ no label top 8=\usevalue{no label top 8},
+ no label top 9=\usevalue{no label top 9},
+ labels bottom draw=\usevalue{labels bottom draw},
+ labels bottom node=\usevalue{labels bottom node},
+ labels top draw=\usevalue{labels top draw},
+ labels top node=\usevalue{labels top node},
+ dots draw=\usevalue{dots draw},
+ dots node=\usevalue{dots node},
+ vertices bottom phantom=\usevalue{vertices bottom phantom},
+ vertices top phantom=\usevalue{vertices top phantom},
+ vertices bottom uncover=\usevalue{vertices bottom uncover},
+ vertices top uncover=\usevalue{vertices top uncover},
+ levels=\usevalue{levels},
+ levels bottom=\usevalue{levels bottom},
+ levels top=\usevalue{levels top},
+ 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},
+ edges uncover=\usevalue{edges uncover},
+ brace draw=\usevalue{brace draw},
+ brace node=\usevalue{brace node},
+ decorate before=\usevalue{decorate before},
+ decorate after=\usevalue{decorate after}
+ }%
\setkeys{pmdraw at brick}{levels,#1}% Processes options and set default levels
\pmdraw at hookBeforeBrick% Hook before drawing brick
\ifnum\pmdraw at ifEdgesFirst=0% If drawing vertices first
@@ -1391,6 +2204,7 @@
\let\pmdraw at drawLabelBottom\pmdraw at drawLabelBottomDefault%
\let\pmdraw at drawLabelTop\pmdraw at drawLabelTopDefault%
\let\pmdraw at drawLabelBottom\pmdraw at drawLabelBottomDefault%
+ \let\pmdraw at drawVertex\pmdraw at drawVertexDefault%
\setcounter{pmdraw at blankB}{0}%
\setcounter{pmdraw at blankT}{0}%
\setcounter{pmdraw at labelStartB}{1}%
@@ -1401,6 +2215,13 @@
}
\newcommand{\pmdraw at drawLedges}[3][]{% Draws lower non-transversal edge, #1 options, #2 L vertex, #3 R vertex
\setcounter{pmdraw at NTlevel}{1}% Store default level of edge
+ \setkeys{pmdraw at NTedges}{% Sets default non-transversal edge keys
+ level=\usevalue{level},
+ height=\usevalue{height},
+ edge draw=\usevalue{edge draw},
+ phantom=\usevalue{phantom},
+ uncover=\usevalue{uncover}
+ }%
\setkeys{pmdraw at NTedges}{#1}% Processes options
\ifdim\pmdraw at NTedgesHeight pt=-1000pt% If using default heights
\tikzmath{%
@@ -1438,6 +2259,11 @@
\pmdraw at LedgesLoop% Restart for loop
}
\newcommand{\pmdraw at drawTedges}[3][]{% Draws transversal edge, #1 options, #2 upper vertex, #3 lower vertex
+ \setkeys{pmdraw at Tedges}{% Sets default key values for transversal edges
+ edge draw=\usevalue{edge draw},
+ phantom=\usevalue{phantom},
+ uncover=\usevalue{uncover}
+ }%
\setkeys{pmdraw at Tedges}{#1}% Processes options
\@ifclassloaded{beamer}{% If in beamer
\uncover<\pmdraw at edgeUncover>{% Uncovers edge
@@ -1513,6 +2339,13 @@
}
\newcommand{\pmdraw at drawUedges}[3][]{% Draws upper non-transversal edge, #1 options, #2 L vertex, #3 R vertex
\setcounter{pmdraw at NTlevel}{1}% Store default level of edge
+ \setkeys{pmdraw at NTedges}{% Sets default non-transversal edge keys
+ level=\usevalue{level},
+ height=\usevalue{height},
+ edge draw=\usevalue{edge draw},
+ phantom=\usevalue{phantom},
+ uncover=\usevalue{uncover}
+ }%
\setkeys{pmdraw at NTedges}{#1}% Processes options
\ifdim\pmdraw at NTedgesHeight pt=-1000pt% If using default heights
\tikzmath{%
More information about the tex-live-commits
mailing list.