texlive[54360] Master/texmf-dist: dynkin-diagrams (16mar20)

commits+karl at tug.org commits+karl at tug.org
Mon Mar 16 22:04:54 CET 2020


Revision: 54360
          http://tug.org/svn/texlive?view=revision&revision=54360
Author:   karl
Date:     2020-03-16 22:04:53 +0100 (Mon, 16 Mar 2020)
Log Message:
-----------
dynkin-diagrams (16mar20)

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

Modified: trunk/Master/texmf-dist/doc/latex/dynkin-diagrams/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/dynkin-diagrams/README	2020-03-16 21:04:03 UTC (rev 54359)
+++ trunk/Master/texmf-dist/doc/latex/dynkin-diagrams/README	2020-03-16 21:04:53 UTC (rev 54360)
@@ -1,13 +1,20 @@
 Dynkin diagrams               
-v3.14159265358
-18 February 2020
+v3.141592653589
+16 March 2020
 
-Authors   : Ben McKay
-Maintainer: Ben McKay
-E-mail    : b.mckay at ucc.ie
-Licence   : Released under the LaTeX Project Public License v1.3c or
-            later, see http://www.latex-project.org/lppl.txt
+Authors: 
+Ben McKay
 
-Draws Dynkin, Coxeter, and Satake diagrams in LaTeX documents, using 
-the TikZ package. 
+Maintainer: 
+Ben McKay
 
+E-mail: 
+b.mckay at ucc.ie
+
+Licence: 
+Released under the LaTeX Project Public License v1.3c or later.
+See http://www.latex-project.org/lppl.txt
+
+Draws Dynkin, Coxeter, and Satake diagrams in LaTeX documents, 
+using the TikZ package. 
+

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

Modified: trunk/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.tex	2020-03-16 21:04:03 UTC (rev 54359)
+++ trunk/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.tex	2020-03-16 21:04:53 UTC (rev 54360)
@@ -1,7 +1,7 @@
 \documentclass{amsart}
 \title[The Dynkin diagrams package]%
 {The Dynkin diagrams package \\ 
-Version 3.14159265358}
+Version 3.141592653589}
 %% My name:
 \makeatletter
 \DeclareRobustCommand{\scotsMc}{\scotsMcx{c}}
@@ -20,7 +20,7 @@
 \author{Ben \scotsMc{}Kay}
 \address{School of Mathematical Sciences,  University College Cork, Cork, Ireland}
 \email{b.mckay at ucc.ie}
-\date{18 February 2020}
+\date{16 March 2020}
 \usepackage{etex}
 \usepackage[T1]{fontenc}
 \usepackage[utf8]{inputenx}
@@ -218,26 +218,22 @@
 \dynkin B{}
 \end{tcblisting}
 
+
+\renewcommand\do[1]{\dyn#1}
 \begin{dynkinTable}{The Dynkin diagrams of the reduced simple root systems \cite{Bourbaki:2002} pp. 265--290, plates I--IX}{2.25cm}{2.5cm}
-\dyn A{}
-\dyn C{}
-\dyn D{}
-\dyn E6
-\dyn E7
-\dyn E8
-\dyn F4
-\dyn G2
+\docsvlist{A{},C{},D{},E6,E7,E8,F4,G2}
 \end{dynkinTable}
 
 
-
 \section{Set options globally}
 
 \begin{tcolorbox}[title={Most options set globally \dots}]
 \begin{verbatim}
-\pgfkeys{/Dynkin diagram,edge length=.5cm,fold radius=.5cm,
-indefinite edge/.style={
-    draw=black,fill=white,thin,densely dashed}}
+\pgfkeys{/Dynkin diagram,
+	edge length=.5cm,
+	fold radius=.5cm,
+	indefinite edge/.style={
+    	draw=black,fill=white,thin,densely dashed}}
 \end{verbatim}
 \end{tcolorbox}
 You can also pass options to the package in \verb!\usepackage!.
@@ -247,8 +243,8 @@
 \usepackage[
      ordering=Kac,
      edge/.style=blue,
-	indefinite-edge={draw=green,fill=white,densely dashed},
-	indefinite-edge-ratio=5,
+	 indefinite-edge={draw=green,fill=white,densely dashed},
+	 indefinite-edge-ratio=5,
      mark=o,
      root-radius=.06cm]
      {dynkin-diagrams}
@@ -269,22 +265,23 @@
 \(I_n=\dynkin[Coxeter,gonality=n]I{}\)
 \end{tcblisting}
 
+\renewcommand\do[1]{\dyn#1}
 \begin{dynkinTable}{The Coxeter diagrams of the simple reflection groups}{2.25cm}{6cm}
-\dyn[Coxeter]A{}
-\dyn[Coxeter]B{}
-\dyn[Coxeter]C{}
-\dyn[Coxeter]E6
-\dyn[Coxeter]E7
-\dyn[Coxeter]E8
-\dyn[Coxeter]F4
-\dyn[Coxeter,gonality=n]G2
-\dyn[Coxeter]H3
-\dyn[Coxeter]H4
-\dyn[Coxeter,gonality=n]I{}
+\forDynkinSemicolonsvlist{\do}{
+[Coxeter]A{};
+[Coxeter]B{};
+[Coxeter]C{};
+[Coxeter]E6;
+[Coxeter]E7;
+[Coxeter]E8;
+[Coxeter]F4;
+[Coxeter,gonality=n]G2;
+[Coxeter]H3;
+[Coxeter]H4;
+[Coxeter,gonality=n]I{}}
 \end{dynkinTable}
 
 \section{Satake diagrams}\label{section:Satake}
-
 \begin{tcblisting}{title={Satake diagrams use the standard name instead of a rank}}
 \(A_{IIIb}=\dynkin A{IIIb}\)
 \end{tcblisting}
@@ -291,53 +288,61 @@
 
 We use a solid gray bar to denote the folding of a Dynkin diagram, rather than the usual double arrow, since the diagrams turn out simpler and easier to read.
 
+\renewcommand\do[1]{\dyn#1}
 \begin{dynkinTable}{The Satake diagrams of the real simple Lie algebras \cite{Helgason:2001} p. 532--534}{2.75cm}{3cm}
-\dyn A{I}
-\dyn A{II}
-\dyn A{IIIa}
-\dyn A{IIIb}
-\dyn A{IV}
-\dyn B{I}
-\dyn B{II}
-\dyn C{I}
-\dyn C{IIa}
-\dyn C{IIb}
-\dyn D{Ia}
-\dyn D{Ib}
-\dyn D{Ic}
-\dyn D{II}
-\dyn D{IIIa}
-\dyn D{IIIb}
-\dyn E{I}
-\dyn E{II}
-\dyn E{III}
-\dyn E{IV}
-\dyn E{V}
-\dyn E{VI}
-\dyn E{VII}
-\dyn E{VIII}
-\dyn E{IX}
-\dyn F{I}
-\dyn F{II}
-\dyn GI
+\docsvlist{A{I},A{II},A{IIIa},A{IIIb},A{IV},B{I},B{II},C{I},C{IIa},C{IIb},
+D{Ia},D{Ib},D{Ic},D{II},D{IIIa},D{IIIb},
+E{I},E{II},E{III},E{IV},E{V},E{VI},E{VII},E{VIII},E{IX},F{I},F{II},GI}
 \end{dynkinTable}
 
 \section{How to fold}
 \begin{tcblisting}{title={If you don't like the solid gray ``folding bar'', most people use arrows. Here is \(E_{II}\)}}
-\newcommand{\invol}[2]{\draw[latex-latex] (root #1) to 
-[out=-60,in=-120] node[midway,below]{$\sigma$} (root #2);}
-\begin{dynkinDiagram}[edge length=.75cm,labels*={1,...,6}]E6
-\invol 16\invol 35
-\end{dynkinDiagram}
+\dynkin[%
+    edge length=.75cm,
+    labels*={1,...,6},
+    involutions={16;35}]E6
 \end{tcblisting}
+
+\newpage
+
 \begin{tcblisting}{title={The double arrows for \(A_{IIIa}\) are big}}
-\newcommand{\invol}[2]{\draw[latex-latex] (root #1) to 
-[out=-60,in=-120] node[midway,below]{$\sigma$} (root #2);}
-\begin{dynkinDiagram}[edge length=.75cm]{A}{oo.o**.**o.oo}
-\invol 1{10}\invol 29\invol 38\invol 47\invol 56
-\end{dynkinDiagram}
+\dynkin[edge length=.75cm,
+    involutions={1{10};29;38;47;56}]{A}{oo.o**.**o.oo}
 \end{tcblisting}
 
+\begin{tcblisting}{title={We can add labels}}
+\dynkin[edge length=.75cm,
+    involutions={
+        1<below>[\sigma]{10};
+        2<below>[\sigma]9;
+        3<below>[\sigma]8;
+        4<below>[\sigma]7;
+        5<below>[\sigma]6}
+]{A}{oo.o**.**o.oo}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Style options}}
+\dynkin[%
+    edge length=.75cm,
+	involution/.style={blue!50,stealth-stealth,thick},
+    involutions={1{10};29;38;47;56}
+    ]{A}{oo.o**.**o.oo}
+\end{tcblisting}
+
+\newpage
+
+\begin{tcblisting}{title={Arrow angles}}
+\dynkin[%
+    edge length=.75cm,
+    involutions={[in=-120,out=-60,relative]1{10};29;38;47;56}
+    ]{A}{oo.o**.**o.oo}
+\end{tcblisting}
+
+\begin{tcblisting}{title={Control over arrow angles}}
+\dynkin[involutions={16;60;01}]E[1]{6}
+\dynkin[involutions={[out=-80,in=-100,relative]16;60;01}]E[1]{6}
+\end{tcblisting}
+
 \begin{tcblisting}{title={If you don't like the solid gray ``folding bar'', most people use arrows \dots}}
 \tikzset{/Dynkin diagram/fold style/.style={stealth-stealth,thick,
 shorten <=1mm,shorten >=1mm,}}
@@ -380,21 +385,11 @@
 \begin{tcblisting}{title={Label the roots individually by root number}}
 \dynkin[label]B3
 \end{tcblisting}
-\begin{tcblisting}{title={Label a single root}}
-\begin{dynkinDiagram}B3
-\dynkinLabelRoot 2{\alpha_{\drlap{2}}}
-\end{dynkinDiagram}
-\end{tcblisting}
 \begin{tcblisting}{title={Access root labels via TikZ}}
 \begin{dynkinDiagram}B3
 \node[below] at (root 2) {\(\alpha_{\drlap{2}}\)};
 \end{dynkinDiagram}
 \end{tcblisting}
-\begin{tcblisting}{title={Commands to label several roots}}
-\begin{dynkinDiagram}A7
-\dynkinLabelRoots{,\alpha_2,\alpha_3,\alpha_4,\alpha_5,,\alpha_7}
-\end{dynkinDiagram}
-\end{tcblisting}
 \begin{tcblisting}{title={The labels have default locations, mostly below roots}}
 \dynkin[edge length=.75cm,labels={1,2,3}]E8
 \end{tcblisting}
@@ -401,6 +396,7 @@
 \begin{tcblisting}{title={The starred form flips labels to alternate locations, mostly above roots}}
 \dynkin[edge length=.75cm,labels*={1,2,3}]E8
 \end{tcblisting}
+\newpage
 \begin{tcblisting}{title={Labelling several roots and alternates}}
 \dynkin[%
 label macro/.code={\alpha_{\drlap{#1}}},
@@ -408,12 +404,6 @@
 labels={,2,...,5,,7},
 labels*={1,3,4,5,6}]A7
 \end{tcblisting}
-\begin{tcblisting}{title={Commands to label several roots}}
-\begin{dynkinDiagram}A7
-\dynkinLabelRoots{,\alpha_2,\alpha_3,\alpha_4,\alpha_5,,\alpha_7}
-\dynkinLabelRoots*{a,b,c,d,e,f,g}
-\end{dynkinDiagram}
-\end{tcblisting}
 
 \section{Label subscripts}
 Note the slight improvement that \verb!\drlap! makes: the labels are centered on the middle of the letter \(\alpha\), ignoring the space taken up by the subscripts, using the \verb!mathtools! command \verb!\mathrlap!, but only for labels which are \emph{not} placed to the left or right of a root.
@@ -424,6 +414,7 @@
 \dynkin[label,label macro/.code={\alpha_{\drlap{#1}}},
 	edge length=.75cm]D{15}
 \end{tcblisting}
+\newpage
 \begin{tcblisting}{title={Label subscript spacing}}
 \dynkin[label,label macro/.code={\alpha_{#1}},
 	edge length=.75cm]E8
@@ -502,6 +493,32 @@
 \end{dynkinDiagram}
 \end{tcblisting}
 
+\newpage
+\section{Label placement}
+Take a \(D_8\):
+\begin{tcblisting}{}
+\dynkin[label,edge length=.75cm]D8
+\end{tcblisting}
+\noindent{}If you want to fold this diagram,
+\begin{tcblisting}{}
+\dynkin[fold right=true,label,edge length=.75cm]D8
+\end{tcblisting}
+\noindent{}you will be glad that the \(6\) sits where it does, under and to the left.
+If you don't want to fold, you might prefer instead to put the \(6\) on the right side.
+\begin{tcblisting}{}
+\dynkin[label,edge length=.75cm,label directions={,,,,,right,,}]D8
+\end{tcblisting}
+\noindent{}The default locations are overridden by the \verb!label directions!.
+For extended diagrams, this list starts at \(0\)-offset.
+\begin{tcblisting}{}
+\dynkin[%
+    label,
+    label directions={above,,,,,,},
+    involutions={[out=-60,in=-120,relative]16;60;01}
+    ]E[1]{6}
+\end{tcblisting}
+
+
 \begin{filecontents*}{EulerProducts.tex}
 \tikzset{/Dynkin diagram,ordering=Dynkin,label macro/.code={\alpha_{\drlap{#1}}}}
 \newcounter{EPNo}
@@ -568,12 +585,14 @@
 \end{filecontents*}
 {\input{EulerProducts}}\VerbatimInput{EulerProducts.tex}
 
+\newpage
+
 \section{Style}
 \begin{tcblisting}{title={Colours}}
 \dynkin[
 	edge/.style={blue!50,thick},
 	*/.style=blue!50!red,
-	arrow style=red]{F}{4}
+	arrow style={red,width=2mm,line width=1pt}]{F}{4}
 \end{tcblisting}
 \begin{tcblisting}{title={Arrow shapes}}
 \dynkin[arrow shape/.style={-{Stealth[blue,width=3mm]}}] F4
@@ -581,7 +600,6 @@
 \begin{tcblisting}{title={Edge lengths}}
 The Dynkin diagram of \(A_3\) is \dynkin[edge length=1.2]A3
 \end{tcblisting}
-\newpage
 \begin{tcblisting}{title={Root marks}}
 \dynkin E8
 \dynkin[mark=*]E8
@@ -616,6 +634,7 @@
 \dynkin[arrows=false]F4
 \dynkin[arrows=false]G2
 \end{tcblisting}
+\newpage
 \begin{tcblisting}{title={Reverse arrows}}
 \dynkin[reverse arrows]F4
 \dynkin[reverse arrows]G2
@@ -655,7 +674,6 @@
 	\draw[black] (root 2) circle (.05cm);
 \end{dynkinDiagram}
 \end{tcblisting}
-\newpage
 \begin{tcblisting}{title={Draw curves between the roots}}
 \begin{dynkinDiagram}[label]E8
 	\draw[very thick, black!50,-latex]  
@@ -706,6 +724,8 @@
 
 \ClassicalLieSuperalgebras[.07cm]{We need a slightly larger root radius parameter to distinguish the tensor product symbols from the solid dots.}
 
+\newpage
+
 \ClassicalLieSuperalgebras{Here we see the problem with using the default root radius parameter, which is too small for tensor product symbols.}
 
 
@@ -855,6 +875,7 @@
 \end{tcblisting}
 Default is Bourbaki.
 Sources are Adams \cite{Adams:1996} p. 56--57, Bourbaki \cite{Bourbaki:2002} p. pp. 265--290 plates I-IX, Carter \cite{Carter:2005} p. 540--609, Dynkin \cite{Dynkin:1952}, Kac \cite{Kac:1990} p. 43. 
+\newpage
 \NewDocumentCommand\tablerow{mm}%
 {%
 #1_{#2}&
@@ -936,19 +957,19 @@
 \begin{tcblisting}{title={Extended Dynkin diagrams}}
 \dynkin A[1]7
 \end{tcblisting}
+\renewcommand{\do}[1]{\dyn[extended]#1}
 \renewcommand*{\arraystretch}{1.5}
 \begin{dynkinTable}{The Dynkin diagrams of the extended simple root systems}{3cm}{5cm}
-\dyn[extended]A{1}
-\dyn[extended]A{}
-\dyn[extended]B{}
-\dyn[extended]C{}
-\dyn[extended]D{}
-\dyn[extended]E6
-\dyn[extended]E7
-\dyn[extended]E8
-\dyn[extended]F4
-\dyn[extended]G2
+\docsvlist{A{1},A{},B{},C{},D{},E6,E7,E8,F4,G2}
 \end{dynkinTable}
+\begin{tcblisting}{title={Directed edges}}
+\dynkin[%
+    edge length=.75cm, 
+    edge/.style={-{stealth[sep=2pt]}},
+    labels={,1,2,\ell-1,\ell},
+    labels*={0}]
+A[1]{}
+\end{tcblisting}
 
 \newpage
 
@@ -959,52 +980,24 @@
 E^{(2)}_6=\dynkin E[2]6, \ 
 D^{(3)}_4=\dynkin D[3]4\)
 \end{tcblisting}
+\renewcommand{\do}[1]{\dyn#1}
 \begin{dynkinTable}{The affine Dynkin diagrams}{3cm}{3.75cm}
-\dyn A[1]1
-\dyn A[1]{}
-\dyn B[1]{}
-\dyn C[1]{}
-\dyn D[1]{}
-\dyn E[1]6
-\dyn E[1]7
-\dyn E[1]8
-\dyn F[1]4
-\dyn G[1]2
-\dyn A[2]2
-\dyn A[2]{even}
-\dyn A[2]{odd}
-\dyn D[2]{}
-\dyn E[2]6
-\dyn D[3]4
+\docsvlist{A[1]1,A[1]{},B[1]{},C[1]{},D[1]{},E[1]6,E[1]7,E[1]8,F[1]4,G[1]2,
+A[2]2,A[2]{even},A[2]{odd},D[2]{},E[2]6,D[3]4}
 \end{dynkinTable}
 
+\newpage
+
 \begin{dynkinTable}{Some more affine Dynkin diagrams}{3cm}{3.25cm}
-\dyn A[2]4
-\dyn A[2]5
-\dyn A[2]6
-\dyn A[2]7
-\dyn A[2]8
-\dyn D[2]3
-\dyn D[2]4
-\dyn D[2]5
-\dyn D[2]6
-\dyn D[2]7
-\dyn D[2]8
-\dyn D[3]4
-\dyn E[2]6
+\docsvlist{A[2]4,A[2]5,A[2]6,A[2]7,A[2]8,D[2]3,D[2]4,D[2]5,D[2]6,D[2]7,D[2]8,
+D[3]4,E[2]6}
 \end{dynkinTable}
 
+\renewcommand{\do}[1]{\dyn[ordering=Kac,label]#1}
 \begin{dynkinTable}{Some more Kac--Moody Dynkin diagrams, only allowed in Kac ordering}{3cm}{3.25cm}
-\dyn[ordering=Kac,label]E6
-\dyn[ordering=Kac,label]E7
-\dyn[ordering=Kac,label]E8
-\dyn[ordering=Kac,label]E9
-\dyn[ordering=Kac,label]E{10}
-\dyn[ordering=Kac,label]E{11}
+\docsvlist{E6,E7,E8,E9,E{10},E{11}}
 \end{dynkinTable}
 
-
-
 \section{Extended Coxeter diagrams}
 
 \begin{tcblisting}{title={Extended and Coxeter options together}}
@@ -1011,20 +1004,9 @@
 \dynkin[extended,Coxeter]F4
 \end{tcblisting}
 
-
+\renewcommand{\do}[1]{\dyn[extended,Coxeter]#1}
 \begin{dynkinTable}{The extended (affine) Coxeter diagrams}{3cm}{6cm}
-\dyn[extended,Coxeter]A{}
-\dyn[extended,Coxeter]B{}
-\dyn[extended,Coxeter]C{}
-\dyn[extended,Coxeter]D{}
-\dyn[extended,Coxeter]E6
-\dyn[extended,Coxeter]E7
-\dyn[extended,Coxeter]E8
-\dyn[extended,Coxeter]F4
-\dyn[extended,Coxeter]G2
-\dyn[extended,Coxeter]H3
-\dyn[extended,Coxeter]H4
-\dyn[extended,Coxeter]I1
+\docsvlist{A{},B{},C{},D{},E6,E7,E8,F4,G2,H3,H4,I1}
 \end{dynkinTable}
 
 \section{Kac style}
@@ -1032,39 +1014,19 @@
 \begin{tcblisting}{title={Kac style}}
 \dynkin[Kac]F4
 \end{tcblisting}
+\newpage
 \begingroup
 \pgfkeys{/Dynkin diagram,Kac}
+\renewcommand{\do}[1]{\dyn#1}
 \begin{dynkinTable}{The Dynkin diagrams of the simple root systems in Kac style}{5cm}{4.5cm}
-\dyn A{}
-\dyn B{}
-\dyn C{}
-\dyn D{}
-\dyn E6
-\dyn E7
-\dyn E8
-\dyn F4
-\dyn G2
+\docsvlist{A{},B{},C{},D{},E6,E7,E8,F4,G2}
 \end{dynkinTable}
+\renewcommand{\do}[1]{\dyn[extended]#1}
 \begin{dynkinTable}{The Dynkin diagrams of the extended simple root systems in Kac style}{5cm}{4.5cm}
-\dyn[extended]A1
-\dyn[extended]A{}
-\dyn[extended]B{}
-\dyn[extended]C{}
-\dyn[extended]D{}
-\dyn[extended]E6
-\dyn[extended]E7
-\dyn[extended]E8
-\dyn[extended]F4
-\dyn[extended]G2
+\docsvlist{A1,A{},B{},C{},D{},E6,E7,E8,F4,G2}
 \end{dynkinTable}
-\newpage
 \begin{dynkinTable}{The Dynkin diagrams of the twisted simple root systems in Kac style}{6cm}{4.5cm}
-\dyn A[2]2
-\dyn A[2]{even}
-\dyn A[2]{odd}
-\dyn D[2]{}
-\dyn E[2]6
-\dyn D[3]4
+\docsvlist{A[2]2,A[2]{even},A[2]{odd},D[2]{},E[2]6,D[3]4}
 \end{dynkinTable}
 \endgroup
 \section{Ceref style}
@@ -1074,37 +1036,17 @@
 \dynkin[ceref]F4
 \end{tcblisting}
 \begingroup
+\renewcommand{\do}[1]{\dyn#1}
 \pgfkeys{/Dynkin diagram,ceref}
 \begin{dynkinTable}{The Dynkin diagrams of the simple root systems in ceref style}{5cm}{4.5cm}
-\dyn A{}
-\dyn B{}
-\dyn C{}
-\dyn D{}
-\dyn E6
-\dyn E7
-\dyn E8
-\dyn F4
-\dyn G2
+\docsvlist{A{},B{},C{},D{},E6,E7,E8,F4,G2}
 \end{dynkinTable}
+\renewcommand{\do}[1]{\dyn[extended]#1}
 \begin{dynkinTable}{The Dynkin diagrams of the extended simple root systems in ceref style}{5cm}{4.5cm}
-\dyn[extended]A1
-\dyn[extended]A{}
-\dyn[extended]B{}
-\dyn[extended]C{}
-\dyn[extended]D{}
-\dyn[extended]E6
-\dyn[extended]E7
-\dyn[extended]E8
-\dyn[extended]F4
-\dyn[extended]G2
+\docsvlist{A1,A{},B{},C{},D{},E6,E7,E8,F4,G2}
 \end{dynkinTable}
 \begin{dynkinTable}{The Dynkin diagrams of the twisted simple root systems in ceref style}{6cm}{4.5cm}
-\dyn A[2]2
-\dyn A[2]{even}
-\dyn A[2]{odd}
-\dyn D[2]{}
-\dyn E[2]6
-\dyn D[3]4
+\docsvlist{A[2]2,A[2]{even},A[2]{odd},D[2]{},E[2]6,D[3]4}
 \end{dynkinTable}
 \endgroup
 
@@ -1127,6 +1069,7 @@
 \dynkin[ply=3,fold right]D4
 \dynkin[ply=3]D[1]4
 \end{tcblisting}
+\newpage
 \begin{tcblisting}{title={4-ply}}
 \dynkin[ply=4]D[1]4
 \end{tcblisting}
@@ -1352,8 +1295,13 @@
 
 \section{Other examples}
 \begin{filecontents*}{d44.tex}
-\tikzset{/Dynkin diagram,edge length=1cm,fold radius=1cm}
-\tikzset{/Dynkin diagram,label macro/.code={\alpha_{#1}},label macro*/.code={\beta_{#1}}}
+\tikzset{/Dynkin diagram,
+	edge length=1cm,
+	fold radius=1cm,
+	label,
+	label*=true,
+	label macro/.code={\alpha_{#1}},
+	label macro*/.code={\beta_{#1}}}
 \({}^1 D_4\) 4-ply tied straight:
 \begin{dynkinDiagram}[ply=4]D[1]%
 {****.*****.*****}
@@ -1360,16 +1308,12 @@
  \dynkinFold 01
  \dynkinFold 1{13}
  \dynkinFold{13}{14}
-\dynkinLabelRoots{0,...,14}
-\dynkinLabelRoots*{0,...,14}
 \end{dynkinDiagram}
 \({}^1 D_4\) 4-ply tied bending:
-\begin{dynkinDiagram}[ply=4]D[1]%
+\begin{dynkinDiagram}[ply=4,label]D[1]%
 {****.*****.*****}
 \dynkinFold1{13}
 \dynkinFold[bend right=65]0{14}
-\dynkinLabelRoots{0,...,14}
-\dynkinLabelRoots*{0,...,14}
 \end{dynkinDiagram}
 \end{filecontents*}
 \begingroup\input{d44}\endgroup
@@ -1376,8 +1320,13 @@
 \VerbatimInput{d44.tex}
 Below we draw the Vogan diagrams of some affine Lie superalgebras \cite{Ransingh:2013,Ransingh:unpub}.
 \begingroup
-\tikzset{/Dynkin diagram,edge length=.35cm,fold radius=.3cm}
-\tikzset{/Dynkin diagram,label macro/.code=\labls{#1},label,root radius=.06cm}
+\tikzset{/Dynkin diagram,
+	edge length=.35cm,
+	fold radius=.3cm,
+	label macro/.code=\labls{#1},
+	label,
+	label*=false,
+	root radius=.06cm}
 \tcbset{text width=10cm}
 \NewDocumentCommand\labls{m}%
 {%
@@ -1632,39 +1581,125 @@
 \section{Example: the complex simple Lie algebras}
 \begin{filecontents*}{simple-lie-algebras.tex}
 \NewDocumentEnvironment{bunch}{}%
-{\renewcommand*{\arraystretch}{1}\begin{array}{@{}ll@{}}\\ \midrule}{\\ \midrule\end{array}}
+{
+	\renewcommand*{\arraystretch}{1}
+	\begin{array}{@{}ll@{}}
+	\\ \midrule
+}{
+	\\ \midrule\end{array}
+}
 \small
-\NewDocumentCommand\nct{mm}{\newcolumntype{#1}{>{\columncolor[gray]{.9}}>{$}m{#2cm}<{$}}}
-\nct{G}{.3}\nct{D}{2.1}\nct{W}{3}\nct{R}{3.7}\nct{S}{3}
+\NewDocumentCommand\nct{mm}
+{
+	\newcolumntype{#1}{>{\columncolor[gray]{.9}}>{$}m{#2cm}<{$}}
+}
+\nct{G}{.3}
+\nct{D}{2.1}
+\nct{W}{3}
+\nct{R}{3.7}
+\nct{S}{3}
 \NewDocumentCommand\LieG{}{\mathfrak{g}}
-\NewDocumentCommand\W{om}{\ensuremath{\mathbb{Z}^{#2}\IfValueT{#1}{/\left<#1\right>}}}
+\NewDocumentCommand\W{om}
+{
+	\ensuremath{
+		\mathbb{Z}^{#2}
+		\IfValueT{#1}{/\left<#1\right>}
+	}
+}
 \renewcommand*{\arraystretch}{1.5}
 \NewDocumentCommand\quo{}{\text{quotient of } E_8}
 \begin{longtable}{@{}GDWRS@{}}
-\LieG&\text{Diagram}&\text{Weights}&\text{Roots}&\text{Simple roots}\\ \midrule\endfirsthead
-\LieG&\text{Diagram}&\text{Weights}&\text{Roots}&\text{Simple roots}\\ \midrule\endhead
-A_n&\dynkin A{}&\frac1{n+1}\W[\sum e_j]{n+1}&e_i-e_j&e_i-e_{i+1}\\
-B_n&\dynkin B{}&\frac12\W n& \pm e_i, \pm e_i \pm e_j, i\ne j&e_i-e_{i+1}, e_n\\
-C_n&\dynkin C{}&\W n& \pm 2 e_i, \pm e_i \pm e_j, i\ne j&e_i-e_{i+1}, 2e_n\\
-D_n&\dynkin D{}&\frac12\W n& \pm e_i \pm e_j, i\ne j &
-\begin{bunch}e_i-e_{i+1},&i\le n-1\\e_{n-1}+e_n\end{bunch}\\
-E_8&\dynkin E8&\frac12\W 8&
-\begin{bunch}\pm2e_i\pm2e_j,&i\ne j,\\ \sum_i(-1)^{m_i}e_i,&\sum m_i \text{ even}\end{bunch}&
-\begin{bunch}
-2e_1-2e_2,\\2e_2-2e_3,\\2e_3-2e_4,\\2e_4-2e_5,\\2e_5-2e_6,\\2e_6+2e_7,\\
--\sum e_j,\\2e_6-2e_7
+\LieG&
+    \text{Diagram}&
+    \text{Weights}&
+    \text{Roots}&
+    \text{Simple roots}\\ 
+\midrule\endfirsthead
+\LieG&
+    \text{Diagram}&
+    \text{Weights}&
+    \text{Roots}&
+    \text{Simple roots}\\ 
+\midrule\endhead
+A_n&
+    \dynkin A{}&
+    \frac1{n+1}\W[\sum e_j]{n+1}&
+    e_i-e_j&
+    e_i-e_{i+1}\\
+B_n&
+    \dynkin B{}&
+    \frac12\W n&
+    \pm e_i, \pm e_i \pm e_j, i\ne j&
+    e_i-e_{i+1}, e_n\\
+C_n&
+    \dynkin C{}&
+    \W n&
+    \pm 2 e_i, \pm e_i \pm e_j, i\ne j&
+    e_i-e_{i+1}, 2e_n\\
+D_n&
+    \dynkin D{}&
+    \frac12\W n&
+    \pm e_i \pm e_j, i\ne j &
+    \begin{bunch}
+        e_i-e_{i+1},&i\le n-1\\
+        e_{n-1}+e_n
+    \end{bunch}\\
+E_8&
+    \dynkin E8&
+    \frac12\W 8&
+    \begin{bunch}
+        \pm2e_i\pm2e_j,&i\ne j,\\ 
+        \sum_i(-1)^{m_i}e_i,&\sum m_i \text{ even}
+    \end{bunch}&
+    \begin{bunch}
+        2e_1-2e_2,\\
+        2e_2-2e_3,\\
+        2e_3-2e_4,\\
+        2e_4-2e_5,\\
+        2e_5-2e_6,\\
+        2e_6+2e_7,\\
+        -\sum e_j,\\2e_6-2e_7
 \end{bunch}\\
-E_7&\dynkin E7&\frac12\W[e_1-e_2]8&\quo&\quo\\
-E_6&\dynkin E6&\frac13\W[e_1-e_2,e_2-e_3]8&\quo&\quo\\
-F_4& \dynkin F4&\W4&
-\begin{bunch}\pm 2e_i,\\ \pm 2e_i \pm 2e_j, \quad i \ne j,\\ \pm e_1 \pm e_2 \pm e_3 \pm e_4
-\end{bunch}&
-\begin{bunch}2e_2-2e_3,\\2e_3-2e_4,\\2e_4,\\e_1-e_2-e_3-e_4\end{bunch}\\
-G_2&\dynkin G2&\W[\sum e_j]3&
-\begin{bunch}
-\pm(1,-1,0),\\ \pm(-1,0,1),\\ \pm(0,-1,1),\\ \pm(2,-1,-1),\\ \pm(1,-2,1),\\ \pm(-1,-1,2)
-\end{bunch}&
-\begin{bunch}(-1,0,1),\\(2,-1,-1)\end{bunch}
+E_7&
+    \dynkin E7&
+    \frac12\W[e_1-e_2]8&
+    \quo&
+    \quo\\
+E_6&
+    \dynkin E6&
+    \frac13\W[e_1-e_2,e_2-e_3]8&
+    \quo&
+    \quo\\
+F_4& 
+    \dynkin F4&
+    \W4&
+    \begin{bunch}
+        \pm 2e_i,\\ 
+        \pm 2e_i \pm 2e_j, \quad i \ne j,\\ 
+        \pm e_1 \pm e_2 \pm e_3 \pm e_4
+    \end{bunch}&
+    \begin{bunch}
+        2e_2-2e_3,\\
+        2e_3-2e_4,\\
+        2e_4,\\
+        e_1-e_2-e_3-e_4
+    \end{bunch}\\
+G_2&
+    \dynkin G2&
+    \W[\sum e_j]3&
+    \begin{bunch}
+        \pm(1,-1,0),\\ 
+        \pm(-1,0,1),\\ 
+        \pm(0,-1,1),\\ 
+        \pm(2,-1,-1),\\ 
+        \pm(1,-2,1),\\ 
+        \pm(-1,-1,2)
+    \end{bunch}
+&
+    \begin{bunch}
+        (-1,0,1),\\
+        (2,-1,-1)
+    \end{bunch}
 \end{longtable}
 \end{filecontents*}
 \begingroup
@@ -1674,20 +1709,32 @@
 
 \section{An example of Mikhail Borovoi}
 \begin{filecontents*}{borovoi.tex}
-\tikzset{big arrow/.style={
--Stealth,line cap=round,line width=1mm,
-shorten <=1mm,shorten >=1mm}}
-\newcommand\catholic[2]{\draw[big arrow,green!25!white] 
-(root #1) to (root #2);}
+\tikzset{
+    big arrow/.style={
+        -Stealth,
+        line cap=round,
+        line width=1mm,
+        shorten <=1mm,
+        shorten >=1mm}
+}
+\newcommand\catholic[2]{
+    \draw[big arrow,green!25!white] (root #1) to (root #2);
+}
 \newcommand\protestant[2]{
-\begin{scope}[transparency group, opacity=.25]
-\draw[big arrow,orange] (root #1) to (root #2);
-\end{scope}}
-\begin{dynkinDiagram}[edge length=1.2cm,
-indefinite edge/.style={thick,loosely dotted},
-labels*={0,1,2,3,\ell-3,\ell-2,\ell-1,\ell}]D[1]{}
-\catholic 06\catholic 17
-\protestant 70\protestant 61
+    \begin{scope}[transparency group, opacity=.25]
+        \draw[big arrow,orange] (root #1) to (root #2);
+    \end{scope}
+}
+\begin{dynkinDiagram}[%
+    edge length=1.2cm,
+    indefinite edge/.style={
+        thick,
+        loosely dotted
+    },
+    labels*={0,1,2,3,\ell-3,\ell-2,\ell-1,\ell}]
+    D[1]{}
+    \catholic 06\catholic 17
+    \protestant 70\protestant 61
 \end{dynkinDiagram}
 \end{filecontents*}
 \begingroup
@@ -1749,32 +1796,31 @@
 \optionLabel{affine mark}{o,O,t,x,X,*}{*}
 &      default root mark for root zero in an affine Dynkin diagram \\
 \optionLabel{arrow shape/.style}{TikZ style data}{-\{Computer Modern Rightarrow[black]\}}
-&      shape of arrow heads for most Dynkin diagrams that have arrows.\\
+&      shape of arrow heads for most Dynkin diagrams that have arrows\\
 \optionLabel{arrow style}{TikZ style data}{black}
 & set to override the default style for the arrows in nonsimply laced Dynkin diagrams, including length, width, line width and color  \\
 \optionLabel{arrows}{\typ{true or false}}{true}
-& whether to draw the arrows that arise along the edges. \\
+& whether to draw the arrows that arise along the edges \\
 \optionLabel{backwards}{\typ{true or false}}{false}
-& whether to reverse right to left. \\
+& whether to reverse right to left \\
 \optionLabel{ceref}{\typ{true or false}}{false}
-&      whether to draw roots in a ``ceref'' style. \\
+&      whether to draw roots in a ``ceref'' style \\
 \optionLabel{Coxeter}{\typ{true or false}}{false}
-& whether to draw a Coxeter diagram, rather than a Dynkin diagram. \\
+& whether to draw a Coxeter diagram, rather than a Dynkin diagram \\
 \optionLabel{double edges}{\typ{}}{not set}
 & set to override the \texttt{fold} style when folding roots together in a Dynkin diagram, so that the foldings
-are indicated with double edges (like those of an \(F_4\) Dynkin diagram without arrows). \\
+are indicated with double edges (like those of an \(F_4\) Dynkin diagram without arrows) \\
 \optionLabel{double fold}{\typ{}}{not set}
 & set to override the \texttt{fold} style when folding roots together in a Dynkin diagram, so that the foldings
-are indicated with double edges (like those of an \(F_4\) Dynkin diagram without arrows), but filled in solidly. \\
+are indicated with double edges (like those of an \(F_4\) Dynkin diagram without arrows), but filled in solidly \\
 \optionLabel{double left}{\typ{}}{not set}
-& set to override the \texttt{fold} style when folding roots together at the left side of a Dynkin diagram, so that the foldings are indicated with double edges (like those of an \(F_4\) Dynkin diagram without arrows). \\
+& set to override the \texttt{fold} style when folding roots together at the left side of a Dynkin diagram, so that the foldings are indicated with double edges (like those of an \(F_4\) Dynkin diagram without arrows) \\
 \optionLabel{double fold left}{\typ{}}{not set}
-& set to override the \texttt{fold} style when folding roots together  at the left side of a Dynkin diagram, so that the foldings are indicated with double edges (like those of an \(F_4\) Dynkin diagram without arrows), but filled in solidly. \\
+& set to override the \texttt{fold} style when folding roots together  at the left side of a Dynkin diagram, so that the foldings are indicated with double edges (like those of an \(F_4\) Dynkin diagram without arrows), but filled in solidly \\
 \optionLabel{double right}{\typ{}}{not set}
-& set to override the \texttt{fold} style when folding roots together at the right side of a Dynkin diagram, so that the foldings are indicated with double edges (like those of an \(F_4\) Dynkin diagram without arrows). \\
+& set to override the \texttt{fold} style when folding roots together at the right side of a Dynkin diagram, so that the foldings are indicated with double edges (like those of an \(F_4\) Dynkin diagram without arrows) \\
 \optionLabel{double fold right}{\typ{}}{not set}
-& set to override the \texttt{fold} style when folding roots together  at the right side of a Dynkin diagram, so that the foldings are indicated with double edges (like those of an \(F_4\) Dynkin diagram without arrows), but filled in solidly.
-\\
+& set to override the \texttt{fold} style when folding roots together  at the right side of a Dynkin diagram, so that the foldings are indicated with double edges (like those of an \(F_4\) Dynkin diagram without arrows), but filled in solidly\\
 \optionLabel{edge label/.style}{TikZ style data}{text height=0,text depth=0,label distance=-2pt}
 &      style of edge labels in the Dynkin diagram, as found, for example, on some Coxeter diagrams \\
 \optionLabel{edge length}{\typ{number}cm}{.35cm}
@@ -1782,56 +1828,60 @@
 \optionLabel{edge/.style}{TikZ style data}{solid,draw=black,fill=white,thin}
 &      style of edges in the Dynkin diagram \\
 \optionLabel{fold}{\typ{true or false}}{true}
-& whether, when drawing Dynkin diagrams, to draw them 2-ply. \\
+& whether, when drawing Dynkin diagrams, to draw them 2-ply\\
 \optionLabel{fold left}{\typ{true or false}}{true}
-& whether to fold the roots on the left side of a Dynkin diagram. \\
+& whether to fold the roots on the left side of a Dynkin diagram\\
 \optionLabel{fold radius}{\typ{length}}{.3cm}
-& the radius of circular arcs used in curved edges of folded Dynkin diagrams. \\
+& the radius of circular arcs used in curved edges of folded Dynkin diagrams\\
 \optionLabel{fold right}{\typ{true or false}}{true}
-& whether to fold the roots on the right side of a Dynkin diagram. \\
+& whether to fold the roots on the right side of a Dynkin diagram\\
 \optionLabel{fold left style/.style}{\typ{TikZ style data}}{}
 & style to override the \texttt{fold} style when folding roots together on the left half of a Dynkin diagram \\
 \optionLabel{fold right style/.style}{\typ{TikZ style data}}{}
 & style to override the \texttt{fold} style when folding roots together on the right half of a Dynkin diagram \\
 \optionLabel{fold style/.style}{\typ{TikZ style data}}{solid,draw=black!40,fill=none,line width=radius}
-& when drawing folded diagrams, style for the fold indicators. \\
+& when drawing folded diagrams, style for the fold indicators\\
 \optionLabel{indefinite edge ratio}{\typ{float}}{1.6}
-& ratio of indefinite edge lengths to other edge lengths. \\
+& ratio of indefinite edge lengths to other edge lengths\\
 \optionLabel{indefinite edge/.style}{\typ{TikZ style data}}{solid,draw=black,fill=white,thin,densely dotted}
-& style of the dotted or dashed middle third of each indefinite edge. \\
+& style of the dotted or dashed middle third of each indefinite edge\\
+\optionLabel{involutions}{\typ{semicolon separated list of pairs}}
+{} & involution double arrows to draw\\
 \optionLabel{Kac}{\typ{true or false}}{false}
 & whether to draw in the style of \cite{Kac:1990} \\
 \optionLabel{label}{true or false}{false}
-& whether to label the roots according to the current labelling scheme. \\
+& whether to label the roots according to the current labelling scheme\\
+\optionLabel{label*}{\typ{true or false}}{false}
+& whether to label the roots at alterative label locations according to the current labelling scheme\\
 \optionLabel{label macro}{\typ{1-parameter \TeX{} macro}}{\texttt{\#1}}
-& the current labelling scheme for roots. \\
+& the current labelling scheme for roots\\
 \optionLabel{label macro*}{\typ{1-parameter \TeX{} macro}}{\texttt{\#1}}
-& the current labelling scheme for alternate roots. \\
+& the current labelling scheme for alternate roots\\
 \optionLabel{label height}{\typ{1-parameter \TeX{} macro}}{b}
-& the current maximal height of text labels for the roots, set by giving mathematics text of that height. \\
+& the current maximal height of text labels for the roots, set by giving mathematics text of that height\\
 \optionLabel{label depth}{\typ{1-parameter \TeX{} macro}}{g}
-& the current maximal depth of text labels for the roots, set by giving mathematics text of that depth. \\
+& the current maximal depth of text labels for the roots, set by giving mathematics text of that depth\\
 \optionLabel{make indefinite edge}{\typ{edge pair \(i\)-\(j\) or list of such}}{\{\}}
-& edge pair or list of edge pairs to treat as having indefinitely many roots on them. \\
+& edge pair or list of edge pairs to treat as having indefinitely many roots on them\\
 \optionLabel{mark}{\typ{o,O,t,x,X,*}}{*}
 &      default root mark \\
 \optionLabel{name}{\typ{string}}{anonymous}
-& A name for the Dynkin diagram, with \texttt{anonymous} treated as a blank; see section~\ref{section:name}. \\
+& A name for the Dynkin diagram, with \texttt{anonymous} treated as a blank; see section~\ref{section:name}\\
 \optionLabel{ordering}{\typ{Adams, Bourbaki, Carter, Dynkin, Kac}}{Bourbaki}
-& which ordering of the roots to use in exceptional root systems as in section~\ref{section:order}. \\
+& which ordering of the roots to use in exceptional root systems as in section~\ref{section:order}\\
 \optionLabel{parabolic}{\typ{integer}}{0} 
 & A parabolic subgroup with specified integer, where the integer
-is computed as \(n=\sum 2^{i-1} a_i\), \(a_i=0\) or \(1\), to say that root \(i\) is crossed, i.e. a noncompact root. \\
+is computed as \(n=\sum 2^{i-1} a_i\), \(a_i=0\) or \(1\), to say that root \(i\) is crossed, i.e. a noncompact root\\
 \optionLabel{ply}{\typ{0,1,2,3,4}}{0}
-& how many roots get folded together, at most. \\
+& how many roots get folded together, at most\\
 \optionLabel{reverse arrows}{\typ{true or false}}{true}
-& whether to reverse the direction of the arrows that arise along the edges. \\
+& whether to reverse the direction of the arrows that arise along the edges\\
 \optionLabel{root radius}{\typ{number}cm}{.05cm}
 &      size of the dots and of the crosses in the Dynkin diagram \\
 \optionLabel{text style}{\typ{TikZ style data}}{scale=.7}
-& Style for any labels on the roots. \\
+& Style for any labels on the roots\\
 \optionLabel{upside down}{\typ{true or false}}{false}
-& whether to reverse up to down. \\
+& whether to reverse up to down\\
 \end{longtable}
 \par\noindent{}All other options are passed to TikZ.
 

Modified: trunk/Master/texmf-dist/tex/latex/dynkin-diagrams/dynkin-diagrams.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/dynkin-diagrams/dynkin-diagrams.sty	2020-03-16 21:04:03 UTC (rev 54359)
+++ trunk/Master/texmf-dist/tex/latex/dynkin-diagrams/dynkin-diagrams.sty	2020-03-16 21:04:53 UTC (rev 54360)
@@ -1,6 +1,6 @@
 % The Dynkin Diagrams package.
 %
-% Version 3.14159265358
+% Version 3.141592653589
 %
 % This package draws Dynkin diagrams in LaTeX 
 % documents, using the TikZ package.
@@ -13,7 +13,7 @@
 % Released under the LaTeX Project Public License v1.3c or later, see 
 % http://www.latex-project.org/lppl.txt
 \NeedsTeXFormat{LaTeX2e}[1994/06/01]
-\ProvidesPackage{dynkin-diagrams}[2020/02/18 Dynkin diagrams]
+\ProvidesPackage{dynkin-diagrams}[2020/03/16 Dynkin diagrams]
 \RequirePackage{etex}
 \RequirePackage{tikz}
 \RequirePackage{xstring}
@@ -48,6 +48,7 @@
 \newif\ifold at dynkin@is at upsidedown
 \newif\ifold at dynkin@is at extended
 \newif\ifold at dynkin@label at the@roots
+\newif\ifold at dynkin@label at star@the at roots
 \NewDocumentCommand\dynkin at save{}%
 {%
 \xdef\dynkin at ply@value{1}%
@@ -56,6 +57,7 @@
 \ifdynkin at is@extended\global\old at dynkin@is at extendedtrue\else\global\old at dynkin@is at extendedfalse\fi%
 {\global\dynkin at is@twistedfalse}%
 \ifdynkin at label@the at roots\global\old at dynkin@label at the@rootstrue\else\global\old at dynkin@label at the@rootsfalse\fi%
+\ifdynkin at label@star at the@roots\global\old at dynkin@label at star@the at rootstrue\else\global\old at dynkin@label at star@the at rootsfalse\fi%
 }%
 \NewDocumentCommand\dynkin at restore{}%
 {%
@@ -63,6 +65,7 @@
 \ifold at dynkin@is at upsidedown\global\dynkin at is@upsidedowntrue\else\global\dynkin at is@upsidedownfalse\fi%
 \ifold at dynkin@is at extended\global\dynkin at is@extendedtrue\else\global\dynkin at is@extendedfalse\fi%
 \ifold at dynkin@label at the@roots\global\dynkin at label@the at rootstrue\else\global\dynkin at label@the at rootsfalse\fi%
+\ifold at dynkin@label at star@the at roots\global\dynkin at label@star at the@rootstrue\else\global\dynkin at label@star at the@rootsfalse\fi%
 }%
 \NewDocumentEnvironment{dynkinDiagram}{O{}mO{0}m}%
 {%
@@ -168,11 +171,36 @@
 	\dynkin at ordering%
 }%
 
+\newcount\dynkinOverrideRoot
+\NewDocumentCommand\dynkin at override@label at directions{}%
+{%
+	\dynkinOverrideRoot1\relax%
+	\ifdynkin at is@extended%
+		\global\dynkinOverrideRoot0\relax%
+	\fi%
+	\foreach \overRide in \dynkin at label@directions at override
+	{%
+		\IfStrEq{\overRide}{}%
+		{%
+		}%
+		{%
+			\dynkinPutLabelInDirection{\the\dynkinOverrideRoot}{\overRide}%
+		}%
+		\global\advance\dynkinOverrideRoot by 1\relax%
+	}%
+}%
+
 \NewDocumentCommand\dynkinRefreshRoots{}%
 {%
 	\ifdefined\filldraw\else\dynkin at error@not at in@tikz\fi%
+	\dynkin at override@label at directions{}%
 	\dynkin at draw@all at roots{}%
-	\ifdynkin at label@the at roots\dynkinPrintLabels{}\fi%
+	\ifdynkin at label@the at roots%
+		\dynkinPrintLabels{}%
+	\fi%
+	\ifdynkin at label@star at the@roots%
+		\dynkinPrintLabelsStar{}%
+	\fi%
 }%
 
 
@@ -298,34 +326,6 @@
 \stepcounter{dynkinRootNo}%
 \dynkinLabelRoot*{\arabic{dynkinRootNo}}{#1}%
 }%
-\NewDocumentCommand\dynkinLabelRoots{sm}%
-{%
-	\ifdefined\filldraw\else\dynkin at error@not at in@tikz\fi%
-	\setcounter{dynkinRootNo}{0}%
-	\ifdynkin at is@extended%
-		\setcounter{dynkinRootNo}{-1}%	
-	\else%
-		\ifdynkin at is@twisted%
-			\setcounter{dynkinRootNo}{-1}%	
-		\else%
-			\setcounter{dynkinRootNo}{0}%	
-		\fi%
-	\fi%
-	\edef\dynkin at labelies{#2}%
-	\IfBooleanTF{#1}%
-	{%
-		\foreach \i in \dynkin at labelies%
-		{%
-			\@dynkinLabelThisRootStar{\i}%
-		}%
-	}%
-	{%
-		\foreach \i in \dynkin at labelies%
-		{%
-			\@dynkinLabelThisRoot{\i}%
-		}%
-	}%
-}%
 
 \NewDocumentCommand\dynkinBrace{somm}%[text]{start}{end}
 {%
@@ -366,13 +366,84 @@
 			{\IfValueT{#2}{\(#2\)}};%
 }%
 
+\NewDocumentCommand\dynkin at involution{somD<>{}om}%
+{%
+	\begin{pgfonlayer}{Dynkin behind}%
+	\IfValueTF{#2}%
+	{%
+		\IfValueTF{#5}%
+		{%
+			\draw[/Dynkin diagram/involution,#2] 
+				(root #3) to 
+				node[%
+					midway,
+					/Dynkin diagram/text style,
+					#4]
+				{$#5$} 
+				(root #6);%
+		}%
+		{%
+			\draw[/Dynkin diagram/involution,#2] 
+				(root #3) to (root #6);%
+		}%		
+	}%
+	{%
+		\IfBooleanTF{#1}
+		{%
+			\IfValueTF{#5}%
+			{%
+				\draw[/Dynkin diagram/involution] 
+					(root #3)
+					to
+					node[%
+						midway,
+						/Dynkin diagram/text style,
+						#4]
+					{$#5$}
+					(root #6);%
+			}%
+			{%
+				\draw[/Dynkin diagram/involution] 
+					(root #3) to[bend left] (root #6);%
+			}%
+		}%
+		{%
+			\IfValueTF{#5}%
+			{%
+				\draw[/Dynkin diagram/involution] 
+					(root #3) 
+					to[bend right] 
+					node[%
+						midway,
+						/Dynkin diagram/text style,
+						#4]
+					{$#5$}
+					(root #6);%
+			}%
+			{%
+				\draw[/Dynkin diagram/involution]
+					(root #3) to[bend right] (root #6);%
+			}%
+		}%
+	}%
+	\end{pgfonlayer}%
+}%
 
+\DeclareListParser*{\forDynkinSemicolonsvlist}{;}
+\def\dynkin at involution@input at splitter#1{\dynkin at involution#1}
+\NewDocumentCommand\dynkin at draw@involutions{}%
+{%
+	\expandafter\forDynkinSemicolonsvlist%
+		\expandafter\dynkin at involution@input at splitter%
+		\expandafter{\dynkin at involution@list}%
+}%
+
 %% \dynkinPrintLabels
 %% Prints the labels on the Dynkin diagram,in the given ordering. Uses the default labels if ``label'' is set without a list of ``labels'' being set.
 \newcommand{\dynkinPrintLabels}%
 {%
 	\ifdefined\filldraw\else\dynkin at error@not at in@tikz\fi%
-	\IfStrEq{\dynkin at label@list\dynkin at label@list at star}{}{%
+	\IfStrEq{\dynkin at label@list}{}{%
 		\foreach \i in {1,...,\the\dynkin at nodes}{\dynkinLabelRoot{\i}{\i}}%
 		\ifdynkin at is@extended%
 			\dynkinLabelRoot{0}{0}%
@@ -406,11 +477,47 @@
 				\setcounter{dynkinRootNo}{0}%	
 			\fi%
 		\fi%
+	}%
+}%
+
+% Print alternate location labels.
+\newcommand{\dynkinPrintLabelsStar}%
+{%
+	\ifdefined\filldraw\else\dynkin at error@not at in@tikz\fi%
+	\IfStrEq{\dynkin at label@list at star}{}{%
+		\foreach \i in {1,...,\the\dynkin at nodes}{\dynkinLabelRoot*{\i}{\i}}%
+		\ifdynkin at is@extended%
+			\dynkinLabelRoot*{0}{0}%
+		\else%
+			\ifdynkin at is@twisted%
+				\dynkinLabelRoot*{0}{0}%
+			\fi%
+		\fi%
+	}%
+	{%
+		\ifdynkin at is@extended%
+			\setcounter{dynkinRootNo}{-1}%	
+		\else%
+			\ifdynkin at is@twisted%
+				\setcounter{dynkinRootNo}{-1}%	
+			\else%
+				\setcounter{dynkinRootNo}{0}%	
+			\fi%
+		\fi%
 		\edef\XXX{\dynkin at label@list at star}%
 		\foreach \i in \XXX%
 		{%
 			\@dynkinLabelThisRootStar{\i}%
 		}%
+		\ifdynkin at is@extended%
+			\setcounter{dynkinRootNo}{-1}%	
+		\else%
+			\ifdynkin at is@twisted%
+				\setcounter{dynkinRootNo}{-1}%	
+			\else%
+				\setcounter{dynkinRootNo}{0}%	
+			\fi%
+		\fi%
 	}%
 }%
 
@@ -1837,16 +1944,12 @@
 
 \def\dynkin at diagram@name{anonymous}
 % Default diagram name
-
 \def\dynkin at root@mark{*} 	
 % Default mark
-
 \def\dynkin at affine@root at mark{o}
 % Default affine root mark
-
 \def\dynkin at roots{}
 % List of marks for each root.
-
 \def\dynkin at user@series{}
 % Series string passed from user. 
 % For example: 
@@ -1863,6 +1966,8 @@
 % \dynkin at user@string{} with some modifications to it to expand it out.
 \def\dynkin at series{A}
 % Which series of root system: A,B,C,D,E,F,G
+\def\dynkin at involution@list{}
+% List of involutions among roots to draw.
 \def\dynkin at label@list{}
 % List of labels for the roots.
 \def\dynkin at label@list at star{}
@@ -1886,6 +1991,8 @@
 % Which Kac series? 0=finite, 1,2,3->infinite
 \newif\ifdynkin at label@the at roots
 % Should we label the roots by the current root ordering convention?
+\newif\ifdynkin at label@star at the@roots
+% Should we label the roots by the current root ordering convention?
 \newif\ifdynkin at reverse@arrows
 % Should we reverse the directions of all arrows?
 \newif\ifdynkin at arrows
@@ -1906,6 +2013,8 @@
 % Default maximum number of nodes arranged vertically in the folding of the Dynkin diagram
 \def\dynkin at label@directions{}
 % List of directions in which to draw the labels attached to the roots.
+\def\dynkin at label@directions at override{}
+% List of directions in which to draw the labels attached to the roots, as overridden by the user.
 \def\dynkin at label@directions at star{}
 % List of directions in which to draw the labels attached to the roots, for alternate labels.
 \def\dynkin at current@location{(0,0)}
@@ -2055,6 +2164,9 @@
 	},
 	indefinite-edge/.forward to=/Dynkin diagram/indefinite edge/.style,
 	indefiniteedge/.forward to=/Dynkin diagram/indefinite edge/.style,
+	involution/.style={latex-latex,black},
+	involutions/.default = {},
+ 	involutions/.store in = \dynkin at involution@list,
 	Kac arrows/.is if = dynkin at Kac@arrows,
 	Kac-arrows/.forward to = /Dynkin diagram/Kac arrows,
 	Kacarrows/.forward to = /Dynkin diagram/Kac arrows,
@@ -2092,6 +2204,9 @@
 	},
 	label/.is if = dynkin at label@the at roots,
 	label = false,
+	label*/.is if = dynkin at label@star at the@roots,
+	label*/.default=false,
+	label*=false,
 	label depth/.style={
 		/tikz/every label/.append style={
 			text depth={depth("#1"}
@@ -2101,13 +2216,15 @@
 	label depth,
 	label-depth/.forward to = /Dynkin diagram/label depth,
 	labeldepth/.forward to = /Dynkin diagram/label depth, 
+	label directions/.default = {},
+	label directions/.store in = \dynkin at label@directions at override,
+	label* directions/.default = {},
+	label* directions/.store in = \dynkin at label@star at directions@override,
 	label height/.style={/tikz/every label/.append style={text height={height("#1"}}},
 	label height/.default=b,
 	label height,
 	label-height/.forward to = /Dynkin diagram/label height,
 	labelheight/.forward to = /Dynkin diagram/label height,
-	labels/.default = {},
-	labels*/.default = {},
 	label macro/.code = {\regurgitate{#1}},
 	label-macro/.forward to=/Dynkin diagram/label macro,
 	labelmacro/.forward to=/Dynkin diagram/label macro,
@@ -2114,7 +2231,9 @@
 	label macro*/.code = {\regurgitate{#1}},
 	label-macro*/.forward to=/Dynkin diagram/label macro*,
 	labelmacro*/.forward to=/Dynkin diagram/label macro*,
+	labels/.default = {},
  	labels/.store in = \dynkin at label@list,
+	labels*/.default = {},
  	labels*/.store in = \dynkin at label@list at star,
 	make indefinite edge/.code={\dynkin at set@edge at indefinite@pair{#1}},
 	make-indefinite-edge/.forward to=/Dynkin diagram/make indefinite edge,
@@ -2142,7 +2261,7 @@
 	rootradius/.forward to=/Dynkin diagram/root radius,
 	root radius=.05cm,
 	text style/.style={#1},
-	text style/.default={scale=.7},
+	text style/.default={black,scale=.7},
 	text-style/.forward to=text style/.style,
 	textstyle/.forward to=text style/.style,
 	twisted/.is if = dynkin at is@twisted,
@@ -2268,9 +2387,9 @@
 \ProcessPgfPackageOptions{/Dynkin diagram}\relax
 \newcount\dynkin at drpo%
 \newcount\dynkin at where%
-%% \dynkin at put@direction{<r>}{<d>}{<d*>}
+%% \dynkinPutLabelInDirection{<r>}{<d>}
 %% Assigns to \dynkin at label@directions or \dynkin at label@directions at star the direction that the label of root <r> (in default ordering) should sit from the root node location, <d>=0,1,2,3,4,5,6,7 to indicate direction in multiples of 45 degrees
-\NewDocumentCommand\dynkin at put@direction{smm}%
+\NewDocumentCommand\dynkinPutLabelInDirection{smm}%
 {%
 	\dynkin at drpo=\the\dynkin at nodes\relax%
 	\advance\dynkin at drpo by 1\relax%
@@ -2587,12 +2706,18 @@
 	\ifdynkin at is@upsidedown%
 		\tikzset{yscale=-1}%
 	\fi%
-	\IfStrEq{\dynkin at label@list\dynkin at label@list at star}{}%
+	\IfStrEq{\dynkin at label@list}{}%
 	{%
 	}%
 	{%
 		\global\dynkin at label@the at rootstrue%
 	}%
+	\IfStrEq{\dynkin at label@list at star}{}%
+	{%
+	}%
+	{%
+		\global\dynkin at label@star at the@rootstrue%
+	}%
 	\xdef\dynkin at user@series{#2}%
 	\xdef\dynkin at twisted@series{#3}%
 	\xdef\dynkin at user@string{#4}%
@@ -2653,6 +2778,7 @@
 			\csname\dynkin at series dynkin\endcsname%
 		\fi%
 	\fi%
+	\dynkin at draw@involutions%
 	\dynkinRefreshRoots%
 }%
 %
@@ -3724,8 +3850,8 @@
 		\global\dynkin at Root@Number=#2\relax%
 	}%
 	\node (\dynkin at root@name \the\dynkin at Root@Number) at (Dynkin current) {};%
-	\dynkin at put@direction{\the\dynkin at Root@Number}{#3}%
-	\dynkin at put@direction*{\the\dynkin at Root@Number}{#4}%
+	\dynkinPutLabelInDirection{\the\dynkin at Root@Number}{#3}%
+	\dynkinPutLabelInDirection*{\the\dynkin at Root@Number}{#4}%
 }%
 \newif\ifdynkin at hex@grid
 \dynkin at hex@gridtrue
@@ -4052,7 +4178,7 @@
 		\foreach \bpipe in {\the\pipefpo,...,\the\pipe at end}%
 		{%
 			\dynkinPlaceRootRelativeTo*{\bpipe}{\the\pipebmo}{#3}{#4}{#5}%
-			\dynkinEdge*{SingleEdge}{\bpipe}{\the\pipebmo}%
+			\dynkinEdge*{SingleEdge}{\the\pipebmo}{\bpipe}%
 			\global\advance\pipebmo by 1\relax%
 		}%
 	\fi%
@@ -4876,7 +5002,7 @@
 				\dynkinNorth%
 				\dynkinPlaceRootHere*{0}{below}{above}%
 				\dynkinEdge*{SingleEdge}{0}{1}%
-				\dynkinEdge*{SingleEdge}{0}{\the\dynkin at rank}%
+				\dynkinEdge*{SingleEdge}{\the\dynkin at rank}{0}%
 			\fi%
 			\dynkinRootMark*{}{0}%
 		\fi%



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