texlive[67146] Master/texmf-dist: dynkin-diagrams (18may23)

commits+karl at tug.org commits+karl at tug.org
Thu May 18 22:06:12 CEST 2023


Revision: 67146
          http://tug.org/svn/texlive?view=revision&revision=67146
Author:   karl
Date:     2023-05-18 22:06:11 +0200 (Thu, 18 May 2023)
Log Message:
-----------
dynkin-diagrams (18may23)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/dynkin-diagrams/README
    trunk/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.bib
    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	2023-05-18 20:06:03 UTC (rev 67145)
+++ trunk/Master/texmf-dist/doc/latex/dynkin-diagrams/README	2023-05-18 20:06:11 UTC (rev 67146)
@@ -1,6 +1,6 @@
 Dynkin diagrams               
-v3.1415926535897932
-04 April 2021
+v3.14159265358979323
+18 May 2023
 
 Authors: 
 Ben McKay

Modified: trunk/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.bib
===================================================================
--- trunk/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.bib	2023-05-18 20:06:03 UTC (rev 67145)
+++ trunk/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.bib	2023-05-18 20:06:11 UTC (rev 67146)
@@ -218,6 +218,21 @@
   Url                      = {https://doi.org/10.1090/gsm/034}
 }
 
+ at book {Humphreys:1978,
+    AUTHOR = {Humphreys, James E.},
+     TITLE = {Introduction to {L}ie algebras and representation theory},
+    SERIES = {Graduate Texts in Mathematics},
+    VOLUME = {9},
+      NOTE = {Second printing, revised},
+ PUBLISHER = {Springer-Verlag, New York-Berlin},
+      YEAR = {1978},
+     PAGES = {xii+171},
+      ISBN = {0-387-90053-5},
+   MRCLASS = {17Bxx},
+  MRNUMBER = {499562},
+MRREVIEWER = {I. P. Shestakov},
+}
+
 @Book{Humphreys:1990,
   Title                    = {Reflection groups and {C}oxeter groups},
   Author                   = {Humphreys, James E.},

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	2023-05-18 20:06:03 UTC (rev 67145)
+++ trunk/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.tex	2023-05-18 20:06:11 UTC (rev 67146)
@@ -1,7 +1,7 @@
 \documentclass{amsart}
 \title[The Dynkin diagrams package]%
 {The Dynkin diagrams package \\ 
-Version 3.141\,592\,653\,589\,793\,2}
+Version 3.141\,592\,653\,589\,793\,23}
 %% 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{4 April 2021}
+\date{18 May 2023}
 \usepackage[T1]{fontenc}
 \usepackage[utf8]{inputenx}
 \usepackage{etoolbox} 
@@ -33,6 +33,7 @@
 \usepackage{array}
 \usepackage{xstring}
 \usepackage{longtable}
+\usepackage[dvipsnames,table]{xcolor}
 \usepackage[listings]{tcolorbox} 
 \tcbuselibrary{breakable}
 \tcbuselibrary{skins}
@@ -230,6 +231,7 @@
 \newpage 
 
 \renewcommand\do[1]{\dyn#1}
+\renewcommand{\wdtA}{3cm}
 \begin{dynkinTable}{The Dynkin diagrams of the reduced simple root systems \cite{Bourbaki:2002} pp. 265--290, plates I--IX}{2.25cm}{2.5cm}
 \docsvlist{A{},B{},C{},D{},E6,E7,E8,F4,G2}
 \end{dynkinTable}
@@ -264,13 +266,48 @@
 \end{Verbatim}
 \end{tcolorbox}
 
+\section{Disconnected Dynkin diagrams}
+Disconnected Dynkin diagrams that represent a product of simple Lie groups (or a sum of Lie algebras, or a product of Coxeter systems, \dots) have a different syntax (to ensure back compatibility):
+\begin{tcblisting}{title={Command}}
+The Dynkin diagram of \(B_3 \times A_2\) is \dynkins{B3|A2}.
+\end{tcblisting}
+\begin{tcblisting}{title={Environment}}
+The Dynkin diagram of \(B_3 \times A_2\) is 
+\begin{DynkinDiagrams}{B3|A2}\end{DynkinDiagrams}
+\end{tcblisting}
+Each factor can have its own options.
+\begin{tcblisting}{title={Environment}}
+The Dynkin diagram of \(B_3 \times A_2\) is 
+\[
+\begin{DynkinDiagrams}{[name=Bob]B3|[name=Alice]A2}
+\draw[very thick,blue] (Bob root 1) 
+  to [out=-45, in=-135] (Alice root 2);
+\end{DynkinDiagrams}
+\]
+\end{tcblisting}
+They are spaced out by the length of one edge between successive diagrams; change this with \texttt{separator length}.
+\begin{longtable}{@{}>{\columncolor[gray]{.9}$}m{1.5cm}<{$}%
+@{}>{\columncolor[gray]{.9}$}m{1cm}<{$}%
+@{}>{\columncolor[gray]{.9}$}m{3cm}<{$}}
+\caption{The Dynkin diagrams of the rank $2$ root systems}\\
+\endfirsthead
+\caption{\dots continued}\\
+\endhead
+\multicolumn{2}{c}{continued \dots}\\
+\endfoot
+\endlastfoot
+A_1\times A_1&\dynkins{A1|A1}&\texttt{\detokenize{\dynkins}\{A1|A1\}}\\
+A_2&\dynkins{A2}&\texttt{\detokenize{\dynkins}\{A2\}}\\
+B_2&\dynkins{B2}&\texttt{\detokenize{\dynkins}\{B2\}}\\
+C_2&\dynkins{C2}&\texttt{\detokenize{\dynkins}\{C2\}}\\
+D_2&\dynkins{D2}&\texttt{\detokenize{\dynkins}\{D2\}}\\
+G_2&\dynkins{G2}&\texttt{\detokenize{\dynkins}\{G2\}}\\
+\end{longtable}
 
-
-
 \section{Coxeter diagrams}
 
 \begin{tcblisting}{title={Coxeter diagram option}}
-\dynkin[Coxeter]{F}{4}
+\dynkin[Coxeter]F4
 \end{tcblisting}
 
 \begin{tcblisting}{title={gonality option for \(G_2\) and \(I_n\) Coxeter diagrams}}
@@ -310,15 +347,14 @@
 
 \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}\)}}
-\dynkin[%
-    edge length=.75cm,
-    labels*={1,...,6},
-    involutions={16;35}]E6
+\dynkin[edge length=.75cm,
+        labels*={1,...,6},
+        involutions={16;35}]E6
 \end{tcblisting}
 
 \begin{tcblisting}{title={The double arrows for \(A_{IIIa}\) are big}}
 \dynkin[edge length=.75cm,
-    involutions={1{10};29;38;47;56}]{A}{oo.o**.**o.oo}
+        involutions={1{10};29;38;47;56}]{A}{oo.o**.**o.oo}
 \end{tcblisting}
 
 \newpage
@@ -335,18 +371,16 @@
 \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}
+\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}
 
 \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}
+\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={Arrow angles}}
@@ -382,11 +416,10 @@
 
 \begin{tcblisting}{title={Make a list of labels for the roots.
 Optionally, you can add label directions to say where to put each label relative to its root.}}
-\dynkin[%
-	labels={m\cosh\theta,1,2,3,,n-2,n-1,n,n+1},
-	label directions={,,left,,,,right,,},
-	scale=1.8,
-	extended] D{*ooo...oooo}
+\dynkin[labels={m\cosh\theta,1,2,3,,n-2,n-1,n,n+1},
+	    label directions={,,left,,,,right,,},
+	    scale=1.8,
+	    extended] D{*ooo...oooo}
 \end{tcblisting}
 \begin{tcblisting}{title={Make a macro to assign labels to roots}}
 \dynkin[label,label macro/.code={\alpha_{\drlap{#1}}},edge length=.75cm]D5
@@ -422,11 +455,10 @@
 \newpage
 
 \begin{tcblisting}{title={Labelling several roots and alternates}}
-\dynkin[%
-label macro/.code={\alpha_{\drlap{#1}}},
-label macro*/.code={\gamma_{\drlap{#1}}},
-labels={,2,...,5,,7},
-labels*={1,3,4,5,6}]A7
+\dynkin[label macro/.code={\alpha_{\drlap{#1}}},
+        label macro*/.code={\gamma_{\drlap{#1}}},
+        labels={,2,...,5,,7},
+        labels*={1,3,4,5,6}]A7
 \end{tcblisting}
 
 \section{Label subscripts}
@@ -433,27 +465,27 @@
 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.
 \begin{tcblisting}{title={Label subscript spacing}}
 \dynkin[label,label macro/.code={\alpha_{#1}},
-	edge length=.75cm]D{15}
+        edge length=.75cm]D{15}
 \par\noindent{}%
 \dynkin[label,label macro/.code={\alpha_{\drlap{#1}}},
-	edge length=.75cm]D{15}
+        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
+        edge length=.75cm]E8
 \dynkin[label,label macro/.code={\alpha_{#1}},backwards,
-	edge length=.75cm]E8
+        edge length=.75cm]E8
 \par\noindent{}%
 \dynkin[label,label macro/.code={\alpha_{\mathrlap{#1}}},
-	edge length=.75cm]E8
+        edge length=.75cm]E8
 \dynkin[label,label macro/.code={\alpha_{\mathrlap{#1}}},backwards,
-	edge length=.75cm]E8
+        edge length=.75cm]E8
 \par\noindent{}%
 \dynkin[label,label macro/.code={\alpha_{\drlap{#1}}},
-	edge length=.75cm]E8
+        edge length=.75cm]E8
 \dynkin[label,label macro/.code={\alpha_{\drlap{#1}}},backwards,
-	edge length=.75cm]E8
+        edge length=.75cm]E8
 \end{tcblisting}
 
 \newpage
@@ -463,13 +495,12 @@
 \begin{tcblisting}{title={Change height and depth of characters}}
 \dynkin[labels={a,b,c,d},label height=d,label depth=d]F4
 \dynkin[labels*={a,b,c,d},label height=d,label depth=d]F4
-\dynkin[%
-label macro/.code={\alpha_{\drlap{#1}}},
-label macro*/.code={\gamma_{\drlap{#1}}},
-label height=$\alpha_1$,
-label depth=$\alpha_1$,
-labels={,2,...,5,,7},
-labels*={1,3,4,5,6}]A7
+\dynkin[label macro/.code={\alpha_{\drlap{#1}}},
+        label macro*/.code={\gamma_{\drlap{#1}}},
+        label height=$\alpha_1$,
+        label depth=$\alpha_1$,
+        labels={,2,...,5,,7},
+        labels*={1,3,4,5,6}]A7
 \dynkin[labels={A,B,C,D},label height=$A$,label depth=$A$]F4
 \dynkin[labels={a^1,b^2,c^3,d^4},label height=$X^X$]F4
 \end{tcblisting}
@@ -477,9 +508,9 @@
 \section{Text style for the labels}
 \begin{tcblisting}{title={Use a text style: big and blue}}
 \begin{dynkinDiagram}[text style/.style={scale=1.2,blue},
-edge length=1cm,
-labels={1,2,n-1,n},
-label macro/.code={\alpha_{\drlap{#1}}}
+    edge length=1cm,
+    labels={1,2,n-1,n},
+    label macro/.code={\alpha_{\drlap{#1}}}
 ]A{}
 \end{dynkinDiagram}
 \end{tcblisting}
@@ -488,9 +519,9 @@
 
 \begin{tcblisting}{title={Use a text style; font selection is in the label macro}}
 \begin{dynkinDiagram}[text style/.style={scale=1.2,blue},
-edge length=1cm,
-labels={1,2,n-1,n},
-label macro/.code={\mathbb{A}_{\drlap{#1}}}]A{}
+    edge length=1cm,
+    labels={1,2,n-1,n},
+    label macro/.code={\mathbb{A}_{\drlap{#1}}}]A{}
 \end{dynkinDiagram}
 \end{tcblisting}
 
@@ -499,14 +530,14 @@
 \section{Bracing roots}
 \begin{tcblisting}{title={Bracing roots}}
 \begin{dynkinDiagram}A{*.*x*.*} 
-\dynkinBrace[p]12
-\dynkinBrace[q]45
+    \dynkinBrace[p]12
+    \dynkinBrace[q]45
 \end{dynkinDiagram}
 \end{tcblisting}
 \begin{tcblisting}{title={Bracing roots, and a starred form}}
 \begin{dynkinDiagram}A{10}
-\dynkinBrace[\text{Roots 2 to 9}]29
-\dynkinBrace*[\text{Roots 3 to 8}]38
+    \dynkinBrace[\text{Roots 2 to 9}]29
+    \dynkinBrace*[\text{Roots 3 to 8}]38
 \end{dynkinDiagram}
 \end{tcblisting}
 
@@ -513,13 +544,15 @@
 \newpage
 
 \begin{tcblisting}{title={Bracing roots}}
-\newcommand\circleRoot[1]{\draw (root #1) circle (3pt);}
+\newcommand\circleRoot[1]{
+\draw[fill=white] (root #1) circle (3pt);
+\fill[black] (root #1) circle (1.5pt);}
 \begin{dynkinDiagram}A{**.***.***.***.***.**}
-\circleRoot 4\circleRoot 7\circleRoot 10\circleRoot 13
-\dynkinBrace[y-1]13
-\dynkinBrace[z-1]56
-\dynkinBrace[t-1]{11}{12}
-\dynkinBrace[x-1]{14}{16}
+	\foreach\r in {4,7,10,13} {\circleRoot \r}
+    \dynkinBrace[y-1]13
+    \dynkinBrace[z-1]56
+    \dynkinBrace[t-1]{11}{12}
+    \dynkinBrace[x-1]{14}{16}
 \end{dynkinDiagram}
 \end{tcblisting}
 
@@ -540,11 +573,10 @@
 \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}
+\dynkin[label,
+        label directions={above,,,,,,},
+        involutions={[out=-60,in=-120,relative]16;60;01}
+       ]E[1]{6}
 \end{tcblisting}
 
 
@@ -552,30 +584,22 @@
 \tikzset{/Dynkin diagram,ordering=Dynkin,label macro/.code={\alpha_{\drlap{#1}}}}
 \newcounter{EPNo}
 \setcounter{EPNo}{0}
-\NewDocumentCommand\EP{smmmm}%
-{%
-    \stepcounter{EPNo}\roman{EPNo}. &%
-    \def\eL{.6cm}%
-    \IfStrEqCase{#2}%
-    {%
-        D{%
-            \gdef\eL{1cm}%
-            \tikzset{/Dynkin diagram/label directions={,,,right,,}}%
-        }%
-        E{\gdef\eL{.75cm}}%
-        F{\gdef\eL{.35cm}}%
-        G{\gdef\eL{.35cm}}%
-    }%
-    \IfBooleanTF{#1}%
-    {%
+\NewDocumentCommand\EP{smmmm}{
+    \stepcounter{EPNo}\roman{EPNo}. &
+    \def\eL{.6cm}
+    \IfStrEqCase{#2}{
+        D{
+            \gdef\eL{1cm}
+            \tikzset{/Dynkin diagram/label directions={,,,right,,}}}
+        E{\gdef\eL{.75cm}}
+        F{\gdef\eL{.35cm}}
+        G{\gdef\eL{.35cm}}}
+    \IfBooleanTF{#1}{
         \dynkin[edge length=\eL,backwards,labels*={#4},labels={#5}]{#2}{#3}
-    }%
-    {%
-        \dynkin[edge length=\eL,labels*={#4},labels={#5}]{#2}{#3}
-    }%
-    \tikzset{/Dynkin diagram/label directions={}}%
-    \\%
-}%
+    }{
+        \dynkin[edge length=\eL,labels*={#4},labels={#5}]{#2}{#3}}
+    \tikzset{/Dynkin diagram/label directions={}}
+    \\}
 \renewcommand*\do[1]{\EP#1}%
 \begin{longtable}{MM}
     \caption{Dynkin diagrams from Euler products \cite{Langlands:1967}}\\
@@ -617,8 +641,7 @@
         *E8{1,1,1,1,1,1,1,1}{,7,5,4,3,2,1,6},
         *E7{1,1,1,1,1,1,1}{5,...,1,,6},
         *E7{1,1,1,1,1,1,1}{1,...,5,,6},
-        *E8{1,1,1,1,1,1,1,1}{6,...,1,,7}%
-        }
+        *E8{1,1,1,1,1,1,1,1}{6,...,1,,7}}
 \end{longtable}
 \end{filecontents*}
 {\input{EulerProducts}}\VerbatimInput{EulerProducts.tex}
@@ -636,11 +659,13 @@
 \begingroup
 \tikzset{/Dynkin diagram,edge length=1cm,root radius=1mm,edge/.style=thick}
 \begin{tcblisting}{title={Popular arrow shapes. These mess with nonwhite backgrounds, but are prettier than the default shape.}}
+\begin{tcolorbox}[colback=white,colframe=white]
 \begin{tabular}{rcc}
  default&\dynkin G2               &\dynkin F4\\
 Bourbaki&\dynkin[Bourbaki arrow]G2&\dynkin[Bourbaki arrow]F4\\
     bird&\dynkin[bird arrow]G2    &\dynkin[bird arrow]F4
 \end{tabular}
+\end{tcolorbox}
 \end{tcblisting}
 \endgroup
 Use \verb!\tikzset{/Dynkin diagram,Bourbaki arrow}! to force all arrows to have Bourbaki style throughout your document.
@@ -1030,12 +1055,10 @@
 \end{dynkinTable}
 \newpage
 \begin{tcblisting}{title={Directed edges}}
-\dynkin[%
-    edge length=.75cm, 
-    edge/.style={-{stealth[sep=2pt]}},
-    labels={,1,2,\ell-1,\ell},
-    labels*={0}]
-A[1]{}
+\dynkin[edge length=.75cm, 
+        edge/.style={-{stealth[sep=2pt]}},
+        labels={,1,2,\ell-1,\ell},
+        labels*={0}]A[1]{}
 \end{tcblisting}
 
 \section{Affine twisted and untwisted Dynkin diagrams}
@@ -1146,16 +1169,15 @@
 \newpage
 We have to be careful about the 4-ply foldings of \(D^{(1)}_{2\ell}\), for which we can have two different patterns, so by default, the package only draws as much as it can without distinguishing the two:
 \begin{tcblisting}{title={Default \(D^{(1)}_{2\ell}\) and the two ways to finish it}}
-	\dynkin[ply=4]D[1]{****.*****.*****}%
- \ 
-\begin{dynkinDiagram}[ply=4]{D}[1]{****.*****.*****}%
-	\dynkinFold[bend right=90]1{13}%
-	\dynkinFold[bend right=90]0{14}%
+\dynkin[ply=4]D[1]{****.*****.*****} \ 
+\begin{dynkinDiagram}[ply=4]{D}[1]{****.*****.*****}
+	\dynkinFold[bend right=90]1{13}
+	\dynkinFold[bend right=90]0{14}
 \end{dynkinDiagram} \ 
-\begin{dynkinDiagram}[ply=4]{D}[1]{****.*****.*****}%
-	\dynkinFold01%
-	\dynkinFold1{13}%
-	\dynkinFold{13}{14}%
+\begin{dynkinDiagram}[ply=4]{D}[1]{****.*****.*****}
+	\dynkinFold01
+	\dynkinFold1{13}
+	\dynkinFold{13}{14}
 \end{dynkinDiagram}
 \end{tcblisting}
 \begingroup
@@ -1320,6 +1342,46 @@
 	\end{pgfonlayer}
 \end{dynkinDiagram}
 \end{tcblisting}
+\begin{tcblisting}{title={The nonsplit Freudenthal--Tits magic square}}
+\newcommand\clrK{\rowcolor{BurntOrange!80}}
+\newcommand\clrL{\rowcolor{SeaGreen}}
+\newcommand\clrH{\rowcolor{RoyalBlue!50}}
+\newcommand\clrO{\rowcolor{OrangeRed!70}}
+\newcommand\clrOO{\cellcolor{Red}}
+\NewDocumentCommand\hd{om}{
+\cellcolor{gray!30}$\IfNoValueF{#1}{\mathbb{#1}\setminus}\mathbb{#2}$}
+\tikzset{/Dynkin diagram/fold style/.style={blue!22,ultra thick}}
+\begin{tcolorbox}[colback=white,colframe=white]
+\begin{tabular}{|c|c|c|c|c|}\hline
+\hd[A]{B}&\hd{K}&\hd{L}&\hd{H}&\hd{O}\\ \hline
+\clrK\hd{K}& \dynkin A1  & \dynkin A{*o} & \dynkin C{o*o} & \dynkin F{*ooo} \\ \hline
+\clrL\hd{L}& \dynkin A{**} & 
+\begin{dynkinDiagram}[name=upper]A2
+\node (current) at ($(upper root 1)+(0,-.35cm)$) {};
+\dynkin[at=(current),name=lower]A2
+\begin{pgfonlayer}{Dynkin behind}
+\foreach \i in {1,2}{%
+\draw[/Dynkin diagram/fold style] ($(upper root \i)$) -- ($(lower root \i)$);}
+\end{pgfonlayer}
+\end{dynkinDiagram}& 
+\dynkin A{*ooo*} & 
+\dynkin E{*oooo*} \\ \hline
+\clrH\hd{H} &
+\dynkin C{***} &
+\dynkin[fold] A{*****} &
+\dynkin D{*oo*o*} &
+\dynkin E{*oooo**}\\ \hline
+\clrO\hd{O} & 
+\dynkin F{****} &
+\dynkin[o/.style = {
+		solid,
+		draw=black,
+		fill=black}] E{II} & 
+\dynkin[backwards] E{*o**oo*o} & 
+\clrOO \dynkin E{*oooo***}\\ \hline
+\end{tabular}
+\end{tcolorbox}
+\end{tcblisting}
 \newpage
 The following diagrams arise in the Satake diagrams of the pseudo-Riemannian symmetric spaces \cite{Baba:2009}.
 \begin{tcblisting}{}
@@ -1635,7 +1697,6 @@
 \end{tcblisting}
 \end{Category}
 \endgroup
-\tikzset{/Dynkin diagram,label macro/.code={},label=false}
 
 \section{Example: the complex simple Lie algebras}
 \begin{filecontents*}{simple-lie-algebras.tex}
@@ -1751,6 +1812,7 @@
 \end{longtable}
 \end{filecontents*}
 \begingroup
+\tikzset{/Dynkin diagram,label macro/.code={},label=false,root radius=.04cm}
 \input{simple-lie-algebras.tex}
 \endgroup
 \VerbatimInput{simple-lie-algebras.tex}
@@ -1788,6 +1850,63 @@
 \endgroup
 \VerbatimInput{borovoi.tex}
 
+There are many undocumented features, which are not usually very useful; here is a taste, from \cite{Humphreys:1978} p. 61.
+
+\begin{filecontents*}{humphreys.tex}
+\begin{center}
+\makeatletter
+\newcommand{\extraNode}[6]%
+{%
+\dynkinPlaceRootRelativeTo{#1}{#2}{#3}{#4}{#5}
+\dynkinDefiniteSingleEdge{#1}{#2}
+\dynkinRootMark{o}{#1}
+\advance\dynkin at nodes by 1
+\dynkinLabelRoot{#1}{#6} 
+}%
+\newcommand{\extraDotNode}[6]%
+{%
+\dynkinPlaceRootRelativeTo{#1}{#2}{#3}{#4}{#5}
+\dynkinIndefiniteSingleEdge{#1}{#2}
+\dynkinRootMark{o}{#1}
+\advance\dynkin at nodes by 1
+\dynkinLabelRoot{#1}{#6} 
+}%
+\makeatother
+\tikzset{/Dynkin diagram,mark=o,edge length=.5cm}
+\begin{tabular}{>{\columncolor[gray]{.9}}c}
+\dynkin A{}
+\\ \midrule
+\begin{dynkinDiagram}A{ooo.o}
+\dynkinLabelRoot{1}{\varepsilon_1}
+\dynkinLabelRoot{2}{\varepsilon_2}
+\dynkinLabelRoot{3}{\varepsilon_3}
+\dynkinLabelRoot{4}{\varepsilon_p}
+\dynkin[at=(root 4),arrows=false]B2
+\dynkin[at=(root 2),labels={\eta_q,\eta_{q-1},\eta_2,\eta_1}]A{oo.oo}
+\end{dynkinDiagram}
+\\ \midrule
+\dynkin[arrows=false] G{2}
+\\ \midrule
+\begin{dynkinDiagram}[%
+labels={\varepsilon_{p-1},\psi,\zeta_{r-1},\eta_{q-1}},
+mark=o,edge length=.75cm]D4
+\extraDotNode{5}{3}{northeast}{right}{left}{\zeta_2}
+\extraDotNode{6}{4}{southeast}{right}{left}{\eta_2}
+\extraDotNode{7}{1}{west}{below}{above}{\varepsilon_2}
+\extraNode{8}{5}{northeast}{right}{left}{\zeta_1}
+\extraNode{9}{6}{southeast}{right}{left}{\eta_1}
+\extraNode{10}{7}{west}{below}{above}{\varepsilon_1}
+\end{dynkinDiagram}
+\end{tabular}
+\end{center}
+\end{filecontents*}
+\begingroup
+\tikzset{/Dynkin diagram,label=false,label*=false}
+\input{humphreys.tex}
+\endgroup
+\VerbatimInput[commentchar=!]{humphreys.tex}
+
+
 \section{Syntax}
 The syntax is \verb!\dynkin[<options>]{<letter>}[<twisted rank>]{<rank>}! where \verb!<letter>! is \verb!A!, \verb!B!, \verb!C!, \verb!D!, \verb!E!, \verb!F! or \verb!G!, the family of root system for the Dynkin diagram, \verb!<twisted rank>! is \verb!0!, \verb!1!, \verb!2!, \verb!3! (default is \verb!0!) representing:
 \[
@@ -1946,6 +2065,8 @@
 & 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{separator length}{length}{.35cm}
+&      distance between successive components of a disconnected Dynkin diagram \\
 \optionLabel{text style}{\TikZstyle}{scale=.7}
 & Style for any labels on the roots\\
 \optionLabel{upside down}{\truefalse}{false}

Modified: trunk/Master/texmf-dist/tex/latex/dynkin-diagrams/dynkin-diagrams.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/dynkin-diagrams/dynkin-diagrams.sty	2023-05-18 20:06:03 UTC (rev 67145)
+++ trunk/Master/texmf-dist/tex/latex/dynkin-diagrams/dynkin-diagrams.sty	2023-05-18 20:06:11 UTC (rev 67146)
@@ -1,6 +1,6 @@
 % The Dynkin Diagrams package.
 %
-% Version 3.141 592 653 589 793 2
+% Version 3.141 592 653 589 793 23
 %
 % 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}[2021/04/04 Dynkin diagrams]
+\ProvidesPackage{dynkin-diagrams}[2023/05/18 Dynkin diagrams]
 \RequirePackage{tikz}
 \RequirePackage{xstring}
 \RequirePackage{xparse}
@@ -535,18 +535,30 @@
 
 %% \dynkinEdgeLabel{<n1>}{<n2>}{<s>}
 %% Prints <s> between root <n1> and <n2> on the current Dynkin diagram in the current root ordering.
-\NewDocumentCommand\dynkinEdgeLabel{mmm}%
+\NewDocumentCommand\dynkinEdgeLabel{smmm}%
 {%
-	\convertRootPair{#1}{#2}%
-	\node[inner sep=\dynkin at root@radius,%
-		label={%
-			[/Dynkin diagram/text style,/Dynkin diagram/edge label]%
-			above:
-			\(\pgfkeys{/Dynkin diagram/label macro*=#3}\)%
-			}%
-		]
-		at ($.5*(\dynkin at root@name \the\@dynkin at from@root)+.5*(\dynkin at root@name \the\@dynkin at to@root)$) 
-		{};
+	\convertRootPair{#2}{#3}%
+	\IfBooleanTF{#1}%
+	{%
+		\draw[draw=none] 
+		(\dynkin at root@name \the\@dynkin at from@root) to 
+		node[auto,%
+		swap,%
+		inner sep=\dynkin at root@radius,%
+		/Dynkin diagram/text style,%
+		/Dynkin diagram/edge label]
+		{\(\pgfkeys{/Dynkin diagram/label macro*=#4}\)}%
+		(\dynkin at root@name \the\@dynkin at to@root);%
+	}%
+	{%
+		\draw[draw=none] (\dynkin at root@name \the\@dynkin at from@root) to 
+		node[auto,%
+		inner sep=\dynkin at root@radius,%
+		/Dynkin diagram/text style,%
+		/Dynkin diagram/edge label] 
+		{\(\pgfkeys{/Dynkin diagram/label macro*=#4}\)}%
+		(\dynkin at root@name \the\@dynkin at to@root);%
+	}%
 }%
 
 
@@ -2141,7 +2153,11 @@
 	 	},
 	double-fold-right/.forward to=/Dynkin diagram/double fold right/.style,
 	doublefoldright/.forward to=/Dynkin diagram/double fold right/.style,
-	edge label/.style={text height=0,text depth=0,label distance=-4pt},
+	edge label/.style={
+		text height=1.5ex,
+		text depth=.25ex,
+		label distance=4pt
+	},
 	edgelabel/.forward to=/Dynkin diagram/edge label/.style,
 	edge length/.estore in = \dynkin at edge@length,
 	edge-length/.forward to=/Dynkin diagram/edge length,
@@ -2291,6 +2307,10 @@
 	root-radius/.forward to=/Dynkin diagram/root radius,
 	rootradius/.forward to=/Dynkin diagram/root radius,
 	root radius=.05cm,
+	separator length/.estore in = \dynkin at separator@length,
+	separator-length/.forward to=/Dynkin diagram/separator length,
+	separatorlength/.forward to=/Dynkin diagram/separator length,
+	separator length = .35cm,
 	text style/.style={#1},
 	text style/.default={black,scale=.7},
 	text-style/.forward to=text style/.style,
@@ -2647,8 +2667,9 @@
 \newif\ifdynkin at is@indefinite at edge%
 \NewDocumentCommand\dynkin at typeout@indefinite at edge@list{}%
 {%
-	\renewcommand*{\do}[1]{\typeout{##1}}%
-	\typeout{Indefinite edges: [}\dolistloop{\dynkin at indefinite@edge at list}\typeout{]}%
+\providecommand\do{}%
+\renewcommand*{\do}[1]{\typeout{##1}}%
+\typeout{Indefinite edges: [}\dolistloop{\dynkin at indefinite@edge at list}\typeout{]}%
 }%
 
 
@@ -2673,8 +2694,9 @@
 		\global\dynkin at second@root at no=\@dynkin at from@root\relax%
 	\fi%
 	\global\dynkin at is@indefinite at edgefalse\relax%
-	\renewcommand*{\do}[1]{%
-	\IfStrEq{##1}{\the\dynkin at first@root at no,\the\dynkin at second@root at no}%
+\providecommand\do{}%
+\renewcommand*{\do}[1]{%
+\IfStrEq{##1}{\the\dynkin at first@root at no,\the\dynkin at second@root at no}%
 		{\global\dynkin at is@indefinite at edgetrue\listbreak}%
 		{}}%
 	\dolistloop{\dynkin at indefinite@edge at list}%
@@ -4258,6 +4280,12 @@
 	\fi
 	\dynkin at pipe{\the\dynkin at afterfold}%
 		{#2}{west}{below}{above right}
+	\ifodd\dynkin at nrts%
+		\dynkinMoveToRoot{\the\dynkin at hpo}%
+	\else%
+		\dynkinMoveToRoot{\the\dynkin at h}%
+		\dynkinSouthEastFold{}%
+	\fi%
 	\ifdynkin at arrows%
 		\dynkin at countdown=#2\relax%
 		\foreach \dynkin at b in {#1,...,\the\dynkin at h}%
@@ -4703,6 +4731,11 @@
 			\Ddynkin at roots%
 			\Ddynkin at edges%
 		\fi%
+		\dynkinMoveToRoot{\the\dynkin at rank@minus at two}%
+		\ifnum\dynkin at ply>1\relax%
+			\dynkinMoveToRoot{\the\dynkin at rank@minus at two}%
+			\dynkinEast%
+		\fi%
 	\else%
 		\gdef\dynkin at series{A}%
 		\Adynkin%
@@ -4781,6 +4814,7 @@
 			\fi%
 		\fi%
 	\fi%
+	\dynkinMoveToRoot{\the\dynkin at rank}%
 }%
 %% \Edynkin at unfolded
 %% Draws an E series Dynkin diagram not folded.
@@ -5032,6 +5066,7 @@
 			\dynkinRootMark*{}{0}%
 		\fi%
 	\fi%
+	\dynkinMoveToRoot{\the\dynkin at rank}%
 }%
 
 \NewDocumentCommand\extendedBthreePly{}%
@@ -5633,4 +5668,53 @@
 defaults = { length = 1.25*\dynkin at root@radius }
 }
 
+
+%% Here are the changes I made in May 2023 to accommodate Dynkin diagrams of products of Lie algebras:
+
+\newcommand{\dynkinSkip}
+{
+\node (current) at ($(Dynkin current)+(\dynkin at separator@length,0)$) {};
+}
+\NewDocumentCommand\next at dynkin{O{}mO{0}m}%
+{%
+\dynkinSkip
+\dynkin[at=(current),#1]{#2}[#3]{#4}
+}%
+\newcount\dynkin at diagram@list at item@number
+\providecommand\do at dynkin@diagram at list@item{}
+\renewcommand*{\do at dynkin@diagram at list@item}[1]{
+	\ifnum\dynkin at diagram@list at item@number<2\relax%
+		{\dynkin #1}%
+	\else%
+		{\next at dynkin #1}%
+	\fi%
+	\advance\dynkin at diagram@list at item@number by 1\relax%
+}
+\DeclareListParser*{\for at dynkin@diagram at list}{|}%
+\NewDocumentCommand\dynkin at diagram@reducible{m}%
+{%
+\dynkin at diagram@list at item@number1\relax%
+\for at dynkin@diagram at list{\do at dynkin@diagram at list@item}{#1}%
+}%
+\NewDocumentEnvironment{DynkinDiagrams}{m}%
+{%
+\dynkin at save{}%
+\begin{tikzpicture}
+\dynkin at diagram@reducible{#1}%
+}%
+{%
+\end{tikzpicture}%
+\dynkin at restore{}%
+}%
+\NewDocumentCommand\dynkins{m}%
+{%
+%\dynkin at save{}%
+\ifdefined\filldraw\relax%
+\dynkin at diagram@reducible{#1}%
+\else%
+\tikz[anchor=base]{\dynkin at diagram@reducible{#1}}%
+\fi%
+%\dynkin at restore{}%
+}%
+
 \endinput



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