summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-12-11 22:20:01 +0000
committerKarl Berry <karl@freefriends.org>2018-12-11 22:20:01 +0000
commit510e3a373930edbe94719766db11184cdb43946b (patch)
treeeac4153a6961b127e7bdea151626433709e6a179 /Master
parentb235a62b87d72de3358674b4264d21726d7a2a9e (diff)
dynkin-diagrams (11dec18)
git-svn-id: svn://tug.org/texlive/trunk@49384 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/dynkin-diagrams/README9
-rw-r--r--Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.bib35
-rw-r--r--Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.pdfbin615986 -> 726843 bytes
-rw-r--r--Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.tex792
-rw-r--r--Master/texmf-dist/tex/latex/dynkin-diagrams/dynkin-diagrams.sty1665
5 files changed, 1562 insertions, 939 deletions
diff --git a/Master/texmf-dist/doc/latex/dynkin-diagrams/README b/Master/texmf-dist/doc/latex/dynkin-diagrams/README
index aec363034d8..c7eddc99ce4 100644
--- a/Master/texmf-dist/doc/latex/dynkin-diagrams/README
+++ b/Master/texmf-dist/doc/latex/dynkin-diagrams/README
@@ -2,9 +2,9 @@ ___________________________________
Dynkin diagrams
- v3.14
+ v3.141
- 24 July 2018
+ 11 December 2018
___________________________________
Authors : Ben McKay
@@ -15,5 +15,6 @@ Licence : Released under the LaTeX Project Public License v1.3c or
----------------------------------------------------------------------
-Draws Dynkin, Coxeter and Satake di­a­grams in LaTeX doc­u­ments, us­ing the TikZ pack­age.
-Version 3.14 simplifies drawing braces under several nodes.
+Draws Dynkin di­a­grams in LaTeX doc­u­ments, us­ing the TikZ pack­age.
+Version 3.141 allows lists of labels and lists of alternate labels (using TikZ for loop notation), improves the vertical alignment when Dynkin diagrams appear in text, provides backwards and upside down options, improves the alignment of text labels around the roots of a Dynkin diagram, and makes the Kac style look more like the style in Kac's book.
+
diff --git a/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.bib b/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.bib
index 7c3d1e98f82..949fd7f9189 100644
--- a/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.bib
+++ b/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.bib
@@ -1,5 +1,4 @@
-% This file was created with JabRef 2.10.
-% Encoding: ISO8859_1
+% Encoding: ISO-8859-1
@Book{Adams:1996,
@@ -272,6 +271,20 @@
Url = {https://doi.org/10.1143/PTP.95.503}
}
+@book {Langlands:1967,
+ AUTHOR = {Langlands, Robert P.},
+ TITLE = {Euler products},
+ NOTE = {A James K. Whittemore Lecture in Mathematics given at Yale
+ University, 1967,
+ Yale Mathematical Monographs, 1},
+ PUBLISHER = {Yale University Press, New Haven, Conn.-London},
+ YEAR = {1971},
+ PAGES = {v+53},
+ MRCLASS = {10D20 (22E55)},
+ MRNUMBER = {0419366},
+MRREVIEWER = {Stephen Gelbart},
+}
+
@Book{OnishchikVinberg:1990,
Title = {Lie groups and algebraic groups},
Author = {Onishchik, A. L. and Vinberg, {\`E}. B.},
@@ -432,3 +445,21 @@
Url = {https://doi.org/10.1007/978-3-662-03066-0}
}
+@Book{Fulton.Harris:1991,
+ title = {Representation theory},
+ publisher = {Springer-Verlag, New York},
+ year = {1991},
+ author = {Fulton, William and Harris, Joe},
+ volume = {129},
+ series = {Graduate Texts in Mathematics},
+ isbn = {0-387-97527-6; 0-387-97495-4},
+ note = {A first course, Readings in Mathematics},
+ doi = {10.1007/978-1-4612-0979-9},
+ mrclass = {20G05 (17B10 20G20 22E46)},
+ mrnumber = {1153249},
+ mrreviewer = {James E. Humphreys},
+ pages = {xvi+551},
+ url = {https://doi.org/10.1007/978-1-4612-0979-9},
+}
+
+@Comment{jabref-meta: databaseType:bibtex;}
diff --git a/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.pdf b/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.pdf
index db65efc4e9f..5e9a51052cb 100644
--- a/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.pdf
+++ b/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.tex b/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.tex
index b4978b6034b..b0206a9147e 100644
--- a/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.tex
+++ b/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.tex
@@ -1,8 +1,26 @@
\documentclass{amsart}
-\title{The Dynkin diagrams package \\ Version 3.14}
-\author{Ben McKay}
-\date{24 July 2018}
+\title{The Dynkin diagrams package \\ Version 3.141}
+
+\makeatletter
+\DeclareRobustCommand{\scotsMc}{\scotsMcx{c}}
+\DeclareRobustCommand{\scotsMC}{\scotsMcx{\textsc{c}}}
+\DeclareRobustCommand{\scotsMcx}[1]{%
+ M%
+ \raisebox{\dimexpr\fontcharht\font`M-\height}{%
+ \check@mathfonts\fontsize{\sf@size}{0}\selectfont
+ \kern.3ex\underline{\kern-.3ex #1\kern-.3ex}\kern.3ex
+ }%
+}
+\expandafter\def\expandafter\@uclclist\expandafter{%
+ \@uclclist\scotsMc\scotsMC
+}
+\makeatother
+
+\author{Ben \scotsMc{}Kay}
+\address{School of Mathematical Sciences, University College Cork, Cork, Ireland}
+\email{b.mckay@ucc.ie}
+\date{11 December 2018}
\usepackage{etex}
\usepackage[T1]{fontenc}
@@ -34,6 +52,7 @@
\newcommand{\TikZ}{Ti\textit{k}Z\xspace}
\usepackage{filecontents}
\usetikzlibrary{decorations.markings}
+\usetikzlibrary{decorations.pathmorphing}
\arrayrulecolor{white}
\makeatletter
\def\rulecolor#1#{\CT@arc{#1}}
@@ -51,9 +70,11 @@
\NewDocumentCommand\wdtE{}{6cm}
\NewDocumentCommand\wdtL{}{3cm}
\newcolumntype{A}{@{}>{\columncolor[gray]{.9}$}m{\wdtA}<{$}}
+\newcolumntype{B}{@{}>{\columncolor[gray]{.9}}m{\wdtA}}
\newcolumntype{D}{>{\columncolor[gray]{.9}}m{\wdtD}}
\newcolumntype{E}{>{\columncolor[gray]{.9}}m{\wdtE}}
\newcolumntype{L}{>{\columncolor[gray]{.9}}p{\wdtL}}
+\newcolumntype{M}{>{\columncolor[gray]{.9}}l}
\newcolumntype{P}{>{\columncolor[gray]{.9}}p{10cm}}
\NewDocumentCommand\textleftcurly{}{\texttt{\char'173}}%
\NewDocumentCommand\textrightcurly{}{\texttt{\char'175}}%
@@ -87,7 +108,7 @@
{%
\RenewDocumentCommand\wdtD{}{#2}
\RenewDocumentCommand\wdtL{}{#3}
-\begin{longtable}{ADL}
+\begin{longtable}{ADM}
\caption{#1}\\
\endfirsthead
\caption{\dots continued}\\
@@ -140,8 +161,8 @@ before upper={\widowpenalties=3 10000 10000 150}}
\setlength{\arrayrulewidth}{1.5pt}
-
\section{Quick introduction}
+See section~\ref{section:changes} for the latest changes to earlier versions.
\begin{tcolorbox}[title={Load the Dynkin diagram package (see options below)}]
\begin{verbatim}
\documentclass{amsart}
@@ -156,12 +177,20 @@ The Dynkin diagram of \(B_3\) is \dynkin{B}{3}.
\end{tcblisting}
\begin{tcblisting}{title={Inside a \TikZ statement}}
The Dynkin diagram of \(B_3\) is
-\tikz[baseline=-0.5ex] \dynkin{B}{3};
+\tikz \dynkin{B}{3};
\end{tcblisting}
-\begin{tcblisting}{title={Inside a \TikZ environment}}
+\begin{tcblisting}{title={Inside a Dynkin diagram environment}}
The Dynkin diagram of \(B_3\) is
-\begin{tikzpicture}[baseline=-0.5ex]
- \dynkin{B}{3}
+\begin{dynkinDiagram}{B}{3}
+\draw[very thick,red] (root 1) to [out=-45, in=-135] (root 3);
+\end{dynkinDiagram}
+\end{tcblisting}
+\begin{tcblisting}{title={Inside a \TikZ environment}}
+The baseline controls the vertical alignment:
+the Dynkin diagram of \(B_3\) is
+\begin{tikzpicture}[baseline=(origin.base)]
+\dynkin{B}{3}
+\draw[very thick,red] (root 1) to [out=-45, in=-135] (root 3);
\end{tikzpicture}
\end{tcblisting}
\begin{tcblisting}{title={Indefinite rank Dynkin diagrams}}
@@ -184,16 +213,16 @@ The Dynkin diagram of \(B_3\) is
\begin{tcolorbox}[title={Most options set globally \dots}]
\begin{verbatim}
-\pgfkeys{/Dynkin diagram,edgeLength=.5cm,foldradius=.5cm}
+\pgfkeys{/Dynkin diagram,edge length=.5cm,fold radius=.5cm}
\end{verbatim}
\end{tcolorbox}
-\begin{tcolorbox}[title={\dots or pass to the package}]
+\begin{tcolorbox}[title={\dots or pass global options to the package}]
\begin{verbatim}
\usepackage[
ordering=Kac,
edge/.style=blue,
mark=o,
- radius=.06cm]
+ root radius=.06cm]
{dynkin-diagrams}
\end{verbatim}
\end{tcolorbox}
@@ -263,76 +292,205 @@ We use a solid gray bar to denote the folding of a Dynkin diagram, rather than t
\dyn{G}{I}
\end{dynkinTable}
-\section{Labels for the roots}
+\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}]{E}{6}
+\invol{1}{6}\invol{3}{5}
+\end{dynkinDiagram}
+\end{tcblisting}
-\begin{tcblisting}{title={Label the roots by root number}}
-\dynkin[label]{B}{3}
+\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{2}{9}\invol{3}{8}\invol{4}{7}\invol{5}{6}
+\end{dynkinDiagram}
\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,}}
+\dynkin[ply=3,edge length=.75cm]{D}{4}
+\begin{dynkinDiagram}[ply=4]{D}[1]%
+{****.*****.*****}
+ \dynkinFold{1}{13}
+ \dynkinFold[bend right=65]{0}{14}
+\end{dynkinDiagram}
+\end{tcblisting}
+
+\begin{tcblisting}{title={\dots but you could try springs pulling roots together}}
+\tikzset{/Dynkin diagram/fold style/.style=
+{decorate,decoration={name=coil,aspect=0.5,
+segment length=1mm,amplitude=.6mm}}}
+\dynkin[ply=3,edge length=.75cm]{D}{4}
+\begin{dynkinDiagram}[ply=4]{D}[1]%
+{****.*****.*****}
+ \dynkinFold{1}{13}
+ \dynkinFold[bend right=65]{0}{14}
+\end{dynkinDiagram}
+\end{tcblisting}
+
+
+\section{Labels for the roots}
+
\begin{tcblisting}{title={Make a macro to assign labels to roots}}
-\dynkin[label,labelMacro/.code={\alpha_{#1}}]{D}{5}
+\dynkin[label,label macro/.code={\alpha_{#1}},edge length=.75cm]{D}{5}
+\end{tcblisting}
+\begin{tcblisting}{title={Labelling several roots}}
+\dynkin[labels={,2,...,5,,7},label macro/.code={\alpha_{#1}}]{A}{7}
+\end{tcblisting}
+\begin{tcblisting}{title={The \texttt{foreach} notation I}}
+\dynkin[labels={1,3,...,7},]{A}{9}
+\end{tcblisting}
+\begin{tcblisting}{title={The \texttt{foreach} notation II}}
+\dynkin[labels={,\alpha_2,\alpha_...,\alpha_7},]{A}{7}
+\end{tcblisting}
+\begin{tcblisting}{title={The \texttt{foreach} notation III}}
+\dynkin[label macro/.code={\beta_{#1}},labels={,2,...,7},]{A}{7}
+\end{tcblisting}
+\begin{tcblisting}{title={Label the roots individually by root number}}
+\dynkin[label]{B}{3}
\end{tcblisting}
\begin{tcblisting}{title={Label a single root}}
-\begin{tikzpicture}
- \dynkin{B}{3}
- \dynkinLabelRoot{2}{\alpha_2}
-\end{tikzpicture}
+\begin{dynkinDiagram}{B}{3}
+\dynkinLabelRoot{2}{\alpha_2}
+\end{dynkinDiagram}
\end{tcblisting}
\begin{tcblisting}{title={Use a text style}}
-\begin{tikzpicture}
- \dynkin[text/.style={scale=1.2}]{B}{3};
- \dynkinLabelRoot{2}{\alpha_2}
-\end{tikzpicture}
+\begin{dynkinDiagram}[text/.style={scale=1.2}]{B}{3};
+\dynkinLabelRoot{2}{\alpha_2}
+\end{dynkinDiagram}
\end{tcblisting}
\begin{tcblisting}{title={Access root labels via TikZ}}
-\begin{tikzpicture}
- \dynkin{B}{3};
- \node[below] at (root 2) {\(\alpha_2\)};
-\end{tikzpicture}
+\begin{dynkinDiagram}{B}{3}
+\node[below] at (root 2) {\(\alpha_2\)};
+\end{dynkinDiagram}
\end{tcblisting}
-\begin{tcblisting}{title={The labels have default locations}}
-\begin{tikzpicture}
- \dynkin{E}{8};
- \dynkinLabelRoot{1}{\alpha_1}
- \dynkinLabelRoot{2}{\alpha_2}
- \dynkinLabelRoot{3}{\alpha_3}
-\end{tikzpicture}
+\begin{tcblisting}{title={Commands to label several roots}}
+\begin{dynkinDiagram}{A}{7}
+\dynkinLabelRoots{,\alpha_2,\alpha_3,\alpha_4,\alpha_5,,\alpha_7}
+\end{dynkinDiagram}
\end{tcblisting}
-\begin{tcblisting}{title={The starred form flips labels to alternate locations}}
-\begin{tikzpicture}
- \dynkin{E}{8};
- \dynkinLabelRoot*{1}{\alpha_1}
- \dynkinLabelRoot*{2}{\alpha_2}
- \dynkinLabelRoot*{3}{\alpha_3}
-\end{tikzpicture}
+\begin{tcblisting}{title={The labels have default locations, mostly below roots}}
+\dynkin[edge length=.75cm,labels={1,2,3}]{E}{8}
+\end{tcblisting}
+\begin{tcblisting}{title={The starred form flips labels to alternate locations, mostly above roots}}
+\dynkin[edge length=.75cm,labels*={1,2,3}]{E}{8}
+\end{tcblisting}
+\begin{tcblisting}{title={Labelling several roots and alternates}}
+\dynkin[%
+label macro/.code={\alpha_{#1}},
+label macro*/.code={\gamma_{#1}},
+labels={,2,...,5,,7},
+labels*={1,3,4,5,6}]{A}{7}
+\end{tcblisting}
+\begin{tcblisting}{title={Commands to label several roots}}
+\begin{dynkinDiagram}{A}{7}
+\dynkinLabelRoots{,\alpha_2,\alpha_3,\alpha_4,\alpha_5,,\alpha_7}
+\dynkinLabelRoots*{a,b,c,d,e,f,g}
+\end{dynkinDiagram}
\end{tcblisting}
-\begin{tcblisting}{title={Labelling several roots}}
-\begin{tikzpicture}
-\dynkin{A}{*.*x*.*}
+
+\section{Bracing roots}
+\begin{tcblisting}{title={Bracing roots}}
+\begin{dynkinDiagram}{A}{*.*x*.*}
\dynkinBrace[p]{1}{2}
\dynkinBrace[q]{4}{5}
-\end{tikzpicture}
+\end{dynkinDiagram}
\end{tcblisting}
-
-\begin{tcblisting}{title={Labelling several roots, and a starred form}}
-\begin{tikzpicture}
-\dynkin{A}{10}
+\begin{tcblisting}{title={Bracing roots, and a starred form}}
+\begin{dynkinDiagram}{A}{10}
\dynkinBrace[\text{Roots 2 to 9}]{2}{9}
\dynkinBrace*[\text{Roots 3 to 8}]{3}{8}
-\end{tikzpicture}
-\end{tcblisting}
-
+\end{dynkinDiagram}
+\end{tcblisting}
+\begin{tcblisting}{title={Bracing roots}}
+\newcommand\circleRoot[1]{\draw (root #1) circle (3pt);}
+\begin{dynkinDiagram}{A}{**.***.***.***.***.**}
+\circleRoot{4}\circleRoot{7}\circleRoot{10}\circleRoot{13}
+\dynkinBrace[y-1]{1}{3}
+\dynkinBrace[z-1]{5}{6}
+\dynkinBrace[t-1]{11}{12}
+\dynkinBrace[x-1]{14}{16}
+\end{dynkinDiagram}
+\end{tcblisting}
+
+\begin{filecontents*}{EulerProducts.tex}
+\tikzset{/Dynkin diagram,ordering=Dynkin,label macro/.code={\alpha_{#1}}}
+\newcounter{EPNo}
+\setcounter{EPNo}{0}
+\NewDocumentCommand\EP{smmmm}%
+{%
+\stepcounter{EPNo}\roman{EPNo}. &
+\def\eL{.6cm}
+\IfStrEqCase{#2}%
+{%
+{D}{\gdef\eL{1cm}}%
+{E}{\gdef\eL{.75cm}}%
+{F}{\gdef\eL{.35cm}}%
+{G}{\gdef\eL{.35cm}}%
+}%
+\tikzset{/Dynkin diagram,edge length=\eL}
+\IfBooleanTF{#1}%
+{\dynkin[backwards,labels*={#4},labels={#5}]{#2}{#3}}
+{\dynkin[labels*={#4},labels={#5}]{#2}{#3}}
+\\
+}%
+\begin{longtable}{MM}
+\caption{Dynkin diagrams from Euler products \cite{Langlands:1967}}\\
+\endfirsthead
+\caption{\dots continued}\\
+\endhead
+\multicolumn{2}{c}{continued \dots}\\
+\endfoot
+\endlastfoot
+\EP{A}{***.**}{1,1,1,1,1}{,1,2,n-1,n}
+\EP{A}{***.**}{1,1,1,1,1}{1,2,n-1,n}
+\EP{A}{**.***.*}{1,1,1,1,1,1}{1,2,m-1,,m,n}
+\EP{B}{**.***}{2,2,2,2,1}{1,2,n-1,n}
+\EP*{B}{***.**}{2,2,2,2,1}{n,n-1,2,1,}
+\EP{C}{**.***}{1,1,1,1,2}{1,2,n-1,}
+\EP*{C}{***.**}{1,1,1,1,2}{n,n-1,2,1,}
+\EP{D}{**.****}{1,1,1,1,1,1}{1,2,n-2,n-1,n}
+\EP{D}{**.****}{1,1,1,1,1,1}{1,2,n-2,n-1,n}
+\EP{E}{6}{1,1,1,1,1,1}{1,...,5}
+\EP*{E}{7}{1,1,1,1,1,1,1}{6,...,1}
+\EP{E}{7}{1,1,1,1,1,1,1}{1,...,6}
+\EP*{E}{8}{1,1,1,1,1,1,1,1}{7,...,1}
+\EP{E}{8}{1,1,1,1,1,1,1,1}{1,...,7}
+\EP{G}{2}{1,3}{,1}
+\EP{G}{2}{1,3}{1}
+\EP{B}{**.*.**}{2,2,2,2,1}{,1,2,n-1,n}
+\EP{F}{4}{1,1,2,2}{,3,2,1}
+\EP{C}{3}{1,1,2}{,2,1}
+\EP{C}{**.***}{1,1,1,1,2}{,1,n-2,n-1,n}
+\EP*{B}{3}{2,2,1}{1,2}
+\EP{F}{4}{1,1,2,2}{1,2,3}
+\EP{D}{**.****}{1,1,1,1,1,1}{1,2,n-2,n-2,n,n}
+\EP{E}{6}{1,1,1,1,1,1}{1,2,3,4,,5}
+\EP{E}{6}{1,1,1,1,1,1}{1,2,3,5,,4}
+\EP*{E}{7}{1,1,1,1,1,1,1}{,5,...,1,6}
+\EP*{E}{7}{1,1,1,1,1,1,1}{,6,4,3,2,1,5}
+\EP*{E}{8}{1,1,1,1,1,1,1,1}{,6,...,1,7}
+\EP*{E}{8}{1,1,1,1,1,1,1,1}{,7,5,4,3,2,1,6}
+\EP*{E}{7}{1,1,1,1,1,1,1}{5,...,1,,6}
+\EP*{E}{7}{1,1,1,1,1,1,1}{1,...,5,,6}
+\EP*{E}{8}{1,1,1,1,1,1,1,1}{6,...,1,,7}
+\end{longtable}
+\end{filecontents*}
+{\input{EulerProducts}}\VerbatimInput{EulerProducts.tex}
\section{Style}
-
\begin{tcblisting}{title={Colours}}
\dynkin[
edge/.style={blue!50,thick},
*/.style=blue!50!red,
- arrowColor=red]{F}{4}
+ arrow color=red]{F}{4}
\end{tcblisting}
\begin{tcblisting}{title={Edge lengths}}
-\dynkin[edgeLength=1.2,parabolic=3]{A}{3}
+The Dynkin diagram of \(A_3\) is \dynkin[edge length=1.2,parabolic=3]{A}{3}
\end{tcblisting}
\begin{tcblisting}{title={Root marks}}
\dynkin{E}{8}
@@ -353,15 +511,14 @@ x & crossed root \\
X & thickly crossed root
\end{tabular}
\begin{tcblisting}{title={Mark styles}}
-\dynkin[parabolic=124,x/.style={brown,very thick}]{E}{8}
+The parabolic subgroup \(E_{8,124}\) is \dynkin[parabolic=124,x/.style={brown,very thick}]{E}{8}
\end{tcblisting}
\begin{tcblisting}{title={Sizes of root marks}}
-\dynkin[radius=.08cm,parabolic=3]{A}{3}
+\(A_{3,3}\) with big root marks is \dynkin[root radius=.08cm,parabolic=3]{A}{3}
\end{tcblisting}
\section{Suppress or reverse arrows}
-
\begin{tcblisting}{title={Some diagrams have double or triple edges}}
\dynkin{F}{4}
\dynkin{G}{2}
@@ -371,34 +528,59 @@ X & thickly crossed root
\dynkin[arrows=false]{G}{2}
\end{tcblisting}
\begin{tcblisting}{title={Reverse arrows}}
-\dynkin[reverseArrows]{F}{4}
-\dynkin[reverseArrows]{G}{2}
+\dynkin[reverse arrows]{F}{4}
+\dynkin[reverse arrows]{G}{2}
+\end{tcblisting}
+
+
+\section{Backwards and upside down}
+
+\begin{tcblisting}{title={Default}}
+\dynkin{E}{8}
+\dynkin{F}{4}
+\dynkin{G}{2}
+\end{tcblisting}
+\begin{tcblisting}{title={Backwards}}
+\dynkin[backwards]{E}{8}
+\dynkin[backwards]{F}{4}
+\dynkin[backwards]{G}{2}
+\end{tcblisting}
+\begin{tcblisting}{title={Reverse arrows}}
+\dynkin[reverse arrows]{F}{4}
+\dynkin[reverse arrows]{G}{2}
+\end{tcblisting}
+\begin{tcblisting}{title={Backwards, reverse arrows}}
+\dynkin[backwards,reverse arrows]{F}{4}
+\dynkin[backwards,reverse arrows]{G}{2}
+\end{tcblisting}
+\begin{tcblisting}{title={Backwards versus upside down}}
+\dynkin[label]{E}{8}
+\dynkin[label,backwards]{E}{8}
+\dynkin[label,upside down]{E}{8}
+\dynkin[label,backwards,upside down]{E}{8}
\end{tcblisting}
\section{Drawing on top of a Dynkin diagram}
\begin{tcblisting}{title={TikZ can access the roots themselves}}
-\begin{tikzpicture}
- \dynkin{A}{4};
+\begin{dynkinDiagram}{A}{4}
\fill[white,draw=black] (root 2) circle (.15cm);
\fill[white,draw=black] (root 2) circle (.1cm);
\draw[black] (root 2) circle (.05cm);
-\end{tikzpicture}
+\end{dynkinDiagram}
\end{tcblisting}
\begin{tcblisting}{title={Draw curves between the roots}}
-\begin{tikzpicture}
- \dynkin[label]{E}{8}
+\begin{dynkinDiagram}[label]{E}{8}
\draw[very thick, black!50,-latex]
(root 3.south) to [out=-45, in=-135] (root 6.south);
-\end{tikzpicture}
+\end{dynkinDiagram}
\end{tcblisting}
\begin{tcblisting}{title={Change marks}}
-\begin{tikzpicture}
- \dynkin[mark=o,label]{E}{8};
+\begin{dynkinDiagram}[mark=o,label]{E}{8}
\dynkinRootMark{*}{5}
\dynkinRootMark{*}{8}
-\end{tikzpicture}
+\end{dynkinDiagram}
\end{tcblisting}
@@ -420,28 +602,28 @@ If you need to repeat a mark, you can give a \emph{single digit} positive intege
\NewDocumentCommand\ClassicalLieSuperalgebras{om}%
{%
-\IfValueT{#1}{\tikzset{/Dynkin diagram,radius=#1}}
+\IfValueT{#1}{\tikzset{/Dynkin diagram,root radius=#1}}
\RenewDocumentCommand\wdtE{}{10cm}
\begin{dynkinTable}{Classical Lie superalgebras \cite{Frappat/Sciarrino/Sorba:1989}. #2}{3.5cm}{6.5cm}
\IfValueT{#1}{
-& & \texttt{\textbackslash{}tikzset\{/Dynkin diagram,radius=#1\}} \\
+& & \texttt{\textbackslash{}tikzset\{/Dynkin diagram,root radius=#1\}} \\
}
-A_{mn} & \dynk{A}{ooo.oto.oo}
-B_{mn} & \dynk{B}{ooo.oto.oo}
-B_{0n} & \dynk{B}{ooo.ooo.o*}
+A_{mn} & \dynk{A}{o3.oto.oo}
+B_{mn} & \dynk{B}{o3.oto.oo}
+B_{0n} & \dynk{B}{o3.o3.o*}
C_{n} & \dynk{C}{too.oto.oo}
-D_{mn} & \dynk{D}{ooo.oto.oooo}
+D_{mn} & \dynk{D}{o3.oto.o4}
D_{21\alpha} & \dynk{A}{oto}
F_4 & \dynk{F}{ooot}
-G_3 & \dynk[extended,affineMark=t,
-reverseArrows]{G}{2}
+G_3 & \dynk[extended,affine mark=t,
+reverse arrows]{G}{2}
\end{dynkinTable}
-\IfValueT{#1}{\tikzset{/Dynkin diagram,radius=.05cm}}
+\IfValueT{#1}{\tikzset{/Dynkin diagram,root radius=.05cm}}
}%
-\ClassicalLieSuperalgebras[.07cm]{We need a slightly larger radius parameter to distinguish the tensor product symbols from the solid dots.}
+\ClassicalLieSuperalgebras[.07cm]{We need a slightly larger root radius parameter to distinguish the tensor product symbols from the solid dots.}
-\ClassicalLieSuperalgebras{Here we see the problem with using the default radius parameter, which is too small for tensor product symbols.}
+\ClassicalLieSuperalgebras{Here we see the problem with using the default root radius parameter, which is too small for tensor product symbols.}
@@ -456,23 +638,23 @@ In between any two entries in a mark list, place a period to indicate an indefin
In certain diagrams, roots may have an edge between them even though they are not subsequent in the ordering.
For such rare situations, there is an option:
\begin{tcblisting}{title={Indefinite edge option}}
-\dynkin[makeIndefiniteEdge={3-5},label]{D}{5}
+\dynkin[make indefinite edge={3-5},label]{D}{5}
\end{tcblisting}
\begin{tcblisting}{title={Give a list of edges to become indefinite}}
-\dynkin[makeIndefiniteEdge/.list={1-2,3-5},label]{D}{5}
+\dynkin[make indefinite edge/.list={1-2,3-5},label]{D}{5}
\end{tcblisting}
\begin{tcblisting}{title={Indefinite edge style}}
-\dynkin[indefiniteEdge/.style={draw=black,fill=white,thin,densely dashed},%
- edgeLength=1cm,%
- makeIndefiniteEdge={3-5}]
+\dynkin[indefinite edge/.style={draw=black,fill=white,thin,densely dashed},%
+ edge length=1cm,%
+ make indefinite edge={3-5}]
{D}{5}
\end{tcblisting}
\begin{tcblisting}{title={The ratio of the lengths of indefinite edges to those of other edges}}
-\dynkin[edgeLength = .5cm,%
- indefiniteEdgeRatio=3,%
- makeIndefiniteEdge={3-5}]
+\dynkin[edge length = .5cm,%
+ indefinite edge ratio=3,%
+ make indefinite edge={3-5}]
{D}{5}
\end{tcblisting}
@@ -484,52 +666,47 @@ For such rare situations, there is an option:
% 1
A_n &
\multicolumn{2}{E}{
-\begin{tikzpicture}[baseline=0pt]
-\dynkin{A}{o.o*o.o*o.o}
+\begin{dynkinDiagram}{A}{o.o*o.o*o.o}
\dynkinLabelRoot{3}{d}
\dynkinLabelRoot{6}{n-d}
-\end{tikzpicture}
+\end{dynkinDiagram}
}
\\
% 2
A_n &
\multicolumn{2}{E}{
-\begin{tikzpicture}[baseline=0pt]
-\dynkin{A}{o.o*o.o*o.o*o.o*o.o}
+\begin{dynkinDiagram}{A}{o.o*o.o*o.o*o.o*o.o}
\dynkinLabelRoot{3}{d}
\dynkinLabelRoot{6}{rd}
\dynkinLabelRoot{9}{n-rd}
\dynkinLabelRoot{12}{n-d}
-\end{tikzpicture}
+\end{dynkinDiagram}
}
\\
% 3
B_n &
\multicolumn{2}{E}{
-\begin{tikzpicture}[baseline=0pt]
-\dynkin{B}{**.*.o.oo}
+\begin{dynkinDiagram}{B}{**.*.o.oo}
\dynkinLabelRoot{3}{r}
-\end{tikzpicture}
+\end{dynkinDiagram}
}
\\
% 4
C_n &
\multicolumn{2}{E}{
-\begin{tikzpicture}[baseline=0pt]
-\dynkin{C}{o.o*o.o*o.oo}
+\begin{dynkinDiagram}{C}{o.o*o.o*o.oo}
\dynkinLabelRoot{3}{d}
\dynkinLabelRoot{6}{rd}
-\end{tikzpicture}
+\end{dynkinDiagram}
}
\\
% 5
D_n &
\multicolumn{2}{E}{
-\begin{tikzpicture}[baseline=0pt]
-\dynkin{D}{o.o*o.o*o.ooo}
+\begin{dynkinDiagram}{D}{o.o*o.o*o.ooo}
\dynkinLabelRoot{3}{d}
\dynkinLabelRoot{6}{rd}
-\end{tikzpicture}
+\end{dynkinDiagram}
}
\\
% 6
@@ -624,6 +801,14 @@ the Dynkin diagram \dynkin[parabolic=3]{A}{3}.
\endgroup
\VerbatimInput{hermitian-symmetric-spaces.tex}
+\begin{tcblisting}{title={Folded parabolics look bad (zoom in on a root)}}
+\dynkin[fold,parabolic=3]{C}{2}
+\dynkin[fold,parabolic=3]{G}{2}
+\end{tcblisting}
+\begin{tcblisting}{title={Folded parabolics: you can try using thicker crosses}}
+\dynkin[fold,x/.style={very thick,line cap=round},parabolic=3]{C}{2}
+\dynkin[fold,x/.style={ultra thick,line cap=round},parabolic=3]{G}{2}
+\end{tcblisting}
\section{Extended Dynkin diagrams}
@@ -728,24 +913,25 @@ D^{(3)}_4=\dynkin{D}[3]{4}\)
\dyn[extended,Coxeter]{I}{1}
\end{dynkinTable}
-
-
-
-
\section{Kac style}
-
We include a style called \verb!Kac! which tries to imitate the style of \cite{Kac:1990}.
-
-\begin{tcblisting}{title={Kac style},colback=white}
+\begin{tcblisting}{title={Kac style}}
\dynkin[Kac]{F}{4}
\end{tcblisting}
-
-
-
\begingroup
\pgfkeys{/Dynkin diagram,Kac}
-\newcolumntype{D}{>{\columncolor[gray]{1}}m{\wdtD}}
-\begin{dynkinTable}{The Dynkin diagrams of the extended simple root systems in Kac style. At the moment, it only works on a white background.}{5cm}{4.5cm}
+\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{E}{6}
+\dyn{E}{7}
+\dyn{E}{8}
+\dyn{F}{4}
+\dyn{G}{2}
+\end{dynkinTable}
+\begin{dynkinTable}{The Dynkin diagrams of the extended simple root systems in Kac style}{5cm}{4.5cm}
\dyn[extended]{A}{1}
\dyn[extended]{A}{}
\dyn[extended]{B}{}
@@ -757,69 +943,60 @@ We include a style called \verb!Kac! which tries to imitate the style of \cite{K
\dyn[extended]{F}{4}
\dyn[extended]{G}{2}
\end{dynkinTable}
+\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}
+\end{dynkinTable}
\endgroup
-
-
-
\section{Folded Dynkin diagrams}
-
The Dynkin diagrams package has limited support for folding Dynkin diagrams.
-
\begin{tcblisting}{title={Folding}}
\dynkin[fold]{A}{13}
\end{tcblisting}
-
\begin{tcblisting}{title={Big fold radius}}
-\dynkin[fold,foldradius=1cm]{A}{13}
+\dynkin[fold,fold radius=1cm]{A}{13}
\end{tcblisting}
-
\begin{tcblisting}{title={Small fold radius}}
-\dynkin[fold,foldradius=.2cm]{A}{13}
+\dynkin[fold,fold radius=.2cm]{A}{13}
\end{tcblisting}
-
Some Dynkin diagrams have multiple foldings, which we attempt to distinguish (not entirely successfully) by their \emph{ply}: the maximum number of roots folded together.
Most diagrams can only allow a 2-ply folding, so \verb!fold! is a synonym for \verb!ply=2!.
-
\begin{tcblisting}{title={3-ply}}
\dynkin[ply=3]{D}{4}
-\dynkin[ply=3,foldright]{D}{4}
+\dynkin[ply=3,fold right]{D}{4}
\dynkin[ply=3]{D}[1]{4}
\end{tcblisting}
-
\begin{tcblisting}{title={4-ply}}
\dynkin[ply=4]{D}[1]{4}
\end{tcblisting}
-
The \(D^{(1)}_{\ell}\) diagrams can be folded on their left end and separately on their right end:
\begin{tcblisting}{title={Left, right and both}}
\dynkin{D}[1]{} \
-\dynkin[foldleft]{D}[1]{} \
-\dynkin[foldright]{D}[1]{} \
+\dynkin[fold left]{D}[1]{} \
+\dynkin[fold right]{D}[1]{} \
\dynkin[fold]{D}[1]{}
\end{tcblisting}
-
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}}
-\begin{tikzpicture}
- \dynkin[ply=4]{D}[1]{****.*****.*****}%
-\end{tikzpicture} \
-\begin{tikzpicture}
\dynkin[ply=4]{D}[1]{****.*****.*****}%
+ \
+\begin{dynkinDiagram}[ply=4]{D}[1]{****.*****.*****}%
\dynkinFold[bend right=65]{1}{13}%
\dynkinFold[bend right=65]{0}{14}%
-\end{tikzpicture} \
-\begin{tikzpicture}
- \dynkin[ply=4]{D}[1]{****.*****.*****}%
+\end{dynkinDiagram} \
+\begin{dynkinDiagram}[ply=4]{D}[1]{****.*****.*****}%
\dynkinFold{0}{1}%
\dynkinFold{1}{13}%
\dynkinFold{13}{14}%
-\end{tikzpicture}
+\end{dynkinDiagram}
\end{tcblisting}
-
-
-
\begingroup
+\RenewDocumentCommand\wdtA{}{.7cm}
\RenewDocumentCommand\wdtD{}{3.5cm}
\RenewDocumentCommand\wdtL{}{7cm}
\NewDocumentCommand\seriesName{mmm}%
@@ -835,15 +1012,13 @@ We have to be careful about the 4-ply foldings of \(D^{(1)}_{2\ell}\), for which
\end{tabular}%
\\ \hline
}%
-
-
\NewDocumentCommand\fold{smmmmmm}%
{%
\IfBooleanTF{#1}%
{%
\foldingTable%
{#2}{#3}{#4}{\dynk[fold]{#2}[#3]{#4}}%
- {#5}{#6}{#7}{\dynk[reverseArrows]{#5}[#6]{#7}}%
+ {#5}{#6}{#7}{\dynk[reverse arrows]{#5}[#6]{#7}}%
}%
{%
\foldingTable%
@@ -851,28 +1026,24 @@ We have to be careful about the 4-ply foldings of \(D^{(1)}_{2\ell}\), for which
{#5}{#6}{#7}{\dynk{#5}[#6]{#7}}%
}%
}%
-
\begin{filecontents*}{DoneTwoElBendy.tex}
-\begin{tikzpicture}[baseline=0pt]
- \dynkin[ply=4]{D}[1]{****.*****.*****}
+\begin{dynkinDiagram}[ply=4]{D}[1]%
+{****.*****.*****}
\dynkinFold[bend right=65]{1}{13}
\dynkinFold[bend right=65]{0}{14}
-\end{tikzpicture}
+\end{dynkinDiagram}
\end{filecontents*}
-
-
\begin{filecontents*}{DoneTwoElStraight.tex}
-\begin{tikzpicture}[baseline=0pt]
- \dynkin[ply=4]{D}[1]{****.*****.*****}
+\begin{dynkinDiagram}[ply=4]{D}[1]%
+{****.*****.*****}
\dynkinFold{0}{1}
\dynkinFold{1}{13}
\dynkinFold{13}{14}
-\end{tikzpicture}
+\end{dynkinDiagram}
\end{filecontents*}
-
-\pgfkeys{/Dynkin diagram,foldradius=.35cm}
+\pgfkeys{/Dynkin diagram,fold radius=.35cm}
\begin{longtable}{@{}p{15cm}@{}}
-\caption{Some foldings of Dynkin diagrams. For these diagrams, we want to compare a folding diagram with the diagram that results when we fold it, so it looks best to set \texttt{foldradius} and \texttt{edgeLength} to equal lengths.}\\
+\caption{Some foldings of Dynkin diagrams. For these diagrams, we want to compare a folding diagram with the diagram that results when we fold it, so it looks best to set \texttt{fold radius} and \texttt{edge length} to equal lengths.}\\
\endfirsthead
\caption{\dots continued}\\
\endhead
@@ -883,7 +1054,7 @@ We have to be careful about the 4-ply foldings of \(D^{(1)}_{2\ell}\), for which
\foldingTable{A}{0}{2\ell-1}{\dynk[fold]{A}{**.*****.**}}%
{C}{0}{\ell}{\dynk{C}{}}
\fold*{B}{0}{3}{G}{0}{2}
-\foldingTable{D}{0}{4}{\dynk[ply=3,foldright]{D}{4}}%
+\foldingTable{D}{0}{4}{\dynk[ply=3,fold right]{D}{4}}%
{G}{0}{2}{\dynk{G}{2}}
\foldingTable{D}{0}{\ell+1}{\dynk[fold]{D}{}}%
{B}{0}{\ell}{\dynk{B}{}}
@@ -904,7 +1075,7 @@ We have to be careful about the 4-ply foldings of \(D^{(1)}_{2\ell}\), for which
\foldingTable{D}{1}{\ell+1}{\dynk[fold]{D}[1]{}}%
{D}{2}{\ell}{\dynk{D}[2]{}}
\foldingTable{D}{1}{\ell+1}{%
-\dynk[foldright]{D}[1]{}}%
+\dynk[fold right]{D}[1]{}}%
{B}{1}{\ell}{\dynk{B}[1]{}}
\foldingTable{D}{1}{2\ell}{%
\input{DoneTwoElStraight.tex}
@@ -931,8 +1102,6 @@ We have to be careful about the 4-ply foldings of \(D^{(1)}_{2\ell}\), for which
{A}{2}{2}{\dynk{A}[2]{2}}
\end{longtable}
\endgroup
-
-
\begingroup
\RenewDocumentCommand\wdtA{}{.8cm}
\begin{dynkinTable}{Frobenius fixed point subgroups of finite simple groups of Lie type \cite{Carter:1995} p. 15}{3cm}{6cm}
@@ -955,13 +1124,7 @@ G_2 & \dynk{G}{2}
\end{dynkinTable}
\endgroup
-
-
-
-
-
\section{Root ordering}\label{section:order}
-
\begin{tcblisting}{title={Root ordering}}
\dynkin[label,ordering=Adams]{E}{6}
\dynkin[label,ordering=Bourbaki]{E}{6}
@@ -971,7 +1134,6 @@ G_2 & \dynk{G}{2}
\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.
-
\NewDocumentCommand\tablerow{mm}%
{%
#1_{#2}&
@@ -981,7 +1143,6 @@ Sources are Adams \cite{Adams:1996} p. 56--57, Bourbaki \cite{Bourbaki:2002} p.
\dynkin[label,ordering=Dynkin]{#1}{#2}&
\dynkin[label,ordering=Kac]{#1}{#2}\\
}%
-
\begin{center}
\RenewDocumentCommand\wdtA{}{.7cm}
\RenewDocumentCommand\wdtL{}{2.2cm}
@@ -999,64 +1160,44 @@ Sources are Adams \cite{Adams:1996} p. 56--57, Bourbaki \cite{Bourbaki:2002} p.
\tablerow{E}{6}\tablerow{E}{7}\tablerow{E}{8}\tablerow{F}{4}\tablerow{G}{2}
\end{longtable}
\end{center}
-
The marks are set down in order according to the current root ordering:
\begin{tcblisting}{}
-\begin{tikzpicture}
\dynkin[label]{E}{*otxXOt*}
-\end{tikzpicture}
-\end{tcblisting}
-
-\begin{tcblisting}{}
-\begin{tikzpicture}
\dynkin[label,ordering=Carter]{E}{*otxXOt*}
-\end{tikzpicture}
-\end{tcblisting}
-
-\begin{tcblisting}{}
-\begin{tikzpicture}
\dynkin[label,ordering=Kac]{E}{*otxXOt*}
-\end{tikzpicture}
\end{tcblisting}
-
-
-
-
\section{Connecting Dynkin diagrams}\label{section:name}
-
We can make some sophisticated folded diagrams by drawing multiple diagrams, each with a name:
\begin{tcblisting}{title={Name a diagram}}
\dynkin[name=Bob]{D}{6}
\end{tcblisting}
We can then connect the two with folding edges:
\begin{tcblisting}{title={Connect diagrams}}
-\begin{tikzpicture}
- \dynkin[name=upper]{A}{3}
+\begin{dynkinDiagram}[name=upper]{A}{3}
\node (current) at ($(upper root 1)+(0,-.3cm)$) {};
\dynkin[at=(current),name=lower]{A}{3}
\begin{scope}[on background layer]
\foreach \i in {1,...,3}%
{%
- \draw[/Dynkin diagram/foldStyle]
- ($(upper root \i)$) -- ($(lower root \i)$);%
+ \draw[/Dynkin diagram/fold style]
+ ($(upper root \i)$)
+ -- ($(lower root \i)$);%
}%
\end{scope}
-\end{tikzpicture}
+\end{dynkinDiagram}
\end{tcblisting}
-
The following diagrams arise in the Satake diagrams of the pseudo-Riemannian symmetric spaces \cite{Baba:2009}.
-
\begin{tcblisting}{}
-\pgfkeys{/Dynkin diagram,edgeLength=.5cm,foldradius=.5cm}
+\pgfkeys{/Dynkin diagram,edge length=.5cm,fold radius=.5cm}
\begin{tikzpicture}
\dynkin[name=1]{A}{IIIb}
- \node (a) at (.3,.4){};
+ \node (a) at (-.3,-.4){};
\dynkin[name=2,at=(a)]{A}{IIIb}
\begin{scope}[on background layer]
\foreach \i in {1,...,7}%
{%
- \draw[/Dynkin diagram/foldStyle]
+ \draw[/Dynkin diagram/fold style]
($(1 root \i)$)
--
($(2 root \i)$);%
@@ -1064,10 +1205,10 @@ The following diagrams arise in the Satake diagrams of the pseudo-Riemannian sym
\end{scope}
\end{tikzpicture}
\end{tcblisting}
-
\begin{tcblisting}{}
-\pgfkeys{/Dynkin diagram/edgeLength=.75cm,/Dynkin diagram/edge/.style={draw=example-color,double=black,very thick},
-}
+\pgfkeys{/Dynkin diagram,
+edge length=.75cm,
+edge/.style={draw=example-color,double=black,very thick}}
\begin{tikzpicture}
\foreach \d in {1,...,4}
{
@@ -1077,21 +1218,41 @@ The following diagrams arise in the Satake diagrams of the pseudo-Riemannian sym
\begin{scope}[on background layer]
\foreach \i in {1,...,6}%
{%
- \draw[/Dynkin diagram/foldStyle] ($(1 root \i)$) -- ($(2 root \i)$);%
- \draw[/Dynkin diagram/foldStyle] ($(2 root \i)$) -- ($(3 root \i)$);%
- \draw[/Dynkin diagram/foldStyle] ($(3 root \i)$) -- ($(4 root \i)$);%
+ \draw[/Dynkin diagram/fold style] ($(1 root \i)$) -- ($(2 root \i)$);%
+ \draw[/Dynkin diagram/fold style] ($(2 root \i)$) -- ($(3 root \i)$);%
+ \draw[/Dynkin diagram/fold style] ($(3 root \i)$) -- ($(4 root \i)$);%
}%
\end{scope}
\end{tikzpicture}
\end{tcblisting}
-
\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}}}
+\({}^1 D_4\) 4-ply tied straight:
+\begin{dynkinDiagram}[ply=4]{D}[1]%
+{****.*****.*****}
+ \dynkinFold{0}{1}
+ \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]%
+{****.*****.*****}
+ \dynkinFold[bend right=65]{1}{13}
+ \dynkinFold[bend right=65]{0}{14}
+\dynkinLabelRoots{0,...,14}
+\dynkinLabelRoots*{0,...,14}
+\end{dynkinDiagram}
+\end{filecontents*}
+\begingroup\input{d44}\endgroup
+\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}
\NewDocumentCommand\labls{m}%
{%
\ifcase#1%
@@ -1115,13 +1276,10 @@ Below we draw the Vogan diagrams of some affine Lie superalgebras \cite{Ransingh
2%
\fi%
}%
-
-
\begingroup
-\tikzset{/Dynkin diagram,labelMacro/.code=\labls{#1},label,radius=.06cm}
+\tikzset{/Dynkin diagram,label macro/.code=\labls{#1},label,root radius=.06cm}
\tcbset{text width=10cm}
\RenewDocumentCommand\wdtA{}{2cm}
-
\NewDocumentEnvironment{Category}{m}%
{%
\begin{tcolorbox}[title={\(#1\)},breakable]{}
@@ -1132,10 +1290,9 @@ Below we draw the Vogan diagrams of some affine Lie superalgebras \cite{Ransingh
\begin{Category}{\mathfrak{sl}\left(2m|2n\right)^{(2)}}
\begin{tcblisting}{}
-\begin{tikzpicture}
- \dynkin[ply=2,label]{B}[1]{oo.oto.oo}
+\begin{dynkinDiagram}[ply=2,label]{B}[1]{oo.oto.oo}
\dynkinLabelRoot*{7}{1}
-\end{tikzpicture}
+\end{dynkinDiagram}
\end{tcblisting}
\begin{tcblisting}{}
\dynkin[label]{B}[1]{oo.oto.oo}
@@ -1180,56 +1337,56 @@ Below we draw the Vogan diagrams of some affine Lie superalgebras \cite{Ransingh
\begin{Category}{\mathfrak{sl}\left(2|2n+1\right)^{(2)}}
\begin{tcblisting}{}
-\dynkin[ply=2,label,doubleEdges]{B}[1]{oo.Oto.Oo}
+\dynkin[ply=2,label,double edges]{B}[1]{oo.Oto.Oo}
\end{tcblisting}
\begin{tcblisting}{}
-\dynkin[ply=2,label,doubleFold]{B}[1]{oo.Oto.Oo}
+\dynkin[ply=2,label,double fold]{B}[1]{oo.Oto.Oo}
\end{tcblisting}
\begin{tcblisting}{}
-\dynkin[ply=2,label,doubleEdges]{B}[1]{oo.OtO.oo}
+\dynkin[ply=2,label,double edges]{B}[1]{oo.OtO.oo}
\end{tcblisting}
\begin{tcblisting}{}
-\dynkin[ply=2,label,doubleFold]{B}[1]{oo.OtO.oo}
+\dynkin[ply=2,label,double fold]{B}[1]{oo.OtO.oo}
\end{tcblisting}
\end{Category}
\begin{Category}{\mathfrak{sl}\left(2|2n\right)^{(2)}}
\begin{tcblisting}{}
-\dynkin[ply=2,label,doubleEdges]{D}[1]{oo.oto.ooo}
+\dynkin[ply=2,label,double edges]{D}[1]{oo.oto.ooo}
\end{tcblisting}
\begin{tcblisting}{}
-\dynkin[ply=2,label,doubleFoldLeft]{D}[1]{oo.oto.ooo}
+\dynkin[ply=2,label,double fold left]{D}[1]{oo.oto.ooo}
\end{tcblisting}
\end{Category}
\begin{Category}{\mathfrak{osp}\left(2m|2n\right)^{(2)}}
\begin{tcblisting}{}
-\dynkin[label,labelMacro/.code={1}]{D}[2]{o.oto.oo}
+\dynkin[label,label macro/.code={1}]{D}[2]{o.oto.oo}
\end{tcblisting}
\begin{tcblisting}{}
-\dynkin[label,labelMacro/.code={1}]{D}[2]{o.Oto.Oo}
+\dynkin[label,label macro/.code={1}]{D}[2]{o.Oto.Oo}
\end{tcblisting}
\end{Category}
\begin{Category}{\mathfrak{osp}\left(2|2n\right)^{(2)}}
\begin{tcblisting}{}
-\dynkin[label,labelMacro/.code=\lablIt{#1},
- affineMark=*]
+\dynkin[label,label macro/.code=\lablIt{#1},
+ affine mark=*]
{D}[2]{o.o.o.o*}
\end{tcblisting}
\begin{tcblisting}{}
-\dynkin[label,labelMacro/.code=\lablIt{#1},
- affineMark=*]
+\dynkin[label,label macro/.code=\lablIt{#1},
+ affine mark=*]
{D}[2]{o.O.o.o*}
\end{tcblisting}
\end{Category}
\begin{Category}{\mathfrak{sl}\left(1|2n+1\right)^{4}}
\begin{tcblisting}{}
-\dynkin[label,labelMacro/.code={1}]{D}[2]{o.o.o.o*}
+\dynkin[label,label macro/.code={1}]{D}[2]{o.o.o.o*}
\end{tcblisting}
\begin{tcblisting}{}
-\dynkin[label,labelMacro/.code={1}]{D}[2]{o.o.O.o*}
+\dynkin[label,label macro/.code={1}]{D}[2]{o.o.O.o*}
\end{tcblisting}
\end{Category}
@@ -1243,7 +1400,7 @@ Below we draw the Vogan diagrams of some affine Lie superalgebras \cite{Ransingh
\dynkin[at=(Dynkin current),name=lower]{A}{oo.t.oo}
\begin{scope}[on background layer]
\foreach \i in {1,...,5}{
- \draw[/Dynkin diagram/foldStyle]
+ \draw[/Dynkin diagram/fold style]
($(upper root \i)$) -- ($(lower root \i)$);
}
\end{scope}
@@ -1253,22 +1410,22 @@ Below we draw the Vogan diagrams of some affine Lie superalgebras \cite{Ransingh
\dynkin[fold]{A}[1]{oo.t.ooooo.t.oo}
\end{tcblisting}
\begin{tcblisting}{}
-\dynkin[fold,affineMark=t]{A}[1]{oo.o.ootoo.o.oo}
+\dynkin[fold,affine mark=t]{A}[1]{oo.o.ootoo.o.oo}
\end{tcblisting}
\begin{tcblisting}{}
-\dynkin[affineMark=t]{A}[1]{o*.t.*o}
+\dynkin[affine mark=t]{A}[1]{o*.t.*o}
\end{tcblisting}
\end{Category}
\begin{Category}{B^1}
\begin{tcblisting}{}
-\dynkin[affineMark=*]{A}[2]{o.oto.o*}
+\dynkin[affine mark=*]{A}[2]{o.oto.o*}
\end{tcblisting}
\begin{tcblisting}{}
-\dynkin[affineMark=*]{A}[2]{o.oto.o*}
+\dynkin[affine mark=*]{A}[2]{o.oto.o*}
\end{tcblisting}
\begin{tcblisting}{}
-\dynkin[affineMark=*]{A}[2]{o.ooo.oo}
+\dynkin[affine mark=*]{A}[2]{o.ooo.oo}
\end{tcblisting}
\begin{tcblisting}{}
\dynkin[odd]{A}[2]{oo.*to.*o}
@@ -1295,58 +1452,52 @@ Below we draw the Vogan diagrams of some affine Lie superalgebras \cite{Ransingh
\begin{Category}{C^1}
\begin{tcblisting}{}
-\dynkin[doubleEdges,fold,affineMark=t,odd]{A}[2]{to.o*}
+\dynkin[double edges,fold,affine mark=t,odd]{A}[2]{to.o*}
\end{tcblisting}
\begin{tcblisting}{}
-\dynkin[doubleEdges,fold,affineMark=t,odd]{A}[2]{t*.oo}
+\dynkin[double edges,fold,affine mark=t,odd]{A}[2]{t*.oo}
\end{tcblisting}
\end{Category}
\begin{Category}{F^1}
\begin{tcblisting}{}
-\begin{tikzpicture}%
- \dynkin{A}{oto*}%
+\begin{dynkinDiagram}{A}{oto*}%
\dynkinQuadrupleEdge{1}{2}%
\dynkinTripleEdge{4}{3}%
-\end{tikzpicture}%
+\end{dynkinDiagram}%
\end{tcblisting}
\begin{tcblisting}{}
-\begin{tikzpicture}%
- \dynkin{A}{*too}%
+\begin{dynkinDiagram}{A}{*too}%
\dynkinQuadrupleEdge{1}{2}%
\dynkinTripleEdge{4}{3}%
-\end{tikzpicture}%
+\end{dynkinDiagram}%
\end{tcblisting}
\end{Category}
\begin{Category}{G^1}
\begin{tcblisting}{}
-\begin{tikzpicture}%
- \dynkin{A}{ot*oo}%
+\begin{dynkinDiagram}{A}{ot*oo}%
\dynkinQuadrupleEdge{1}{2}%
\dynkinDefiniteDoubleEdge{4}{3}%
-\end{tikzpicture}%
+\end{dynkinDiagram}%
\end{tcblisting}
\begin{tcblisting}{}
-\begin{tikzpicture}%
- \dynkin{A}{oto*o}%
+\begin{dynkinDiagram}{A}{oto*o}%
\dynkinQuadrupleEdge{1}{2}%
\dynkinDefiniteDoubleEdge{4}{3}%
-\end{tikzpicture}%
+\end{dynkinDiagram}%
\end{tcblisting}
\begin{tcblisting}{}
-\begin{tikzpicture}%
- \dynkin{A}{*too*}%
+\begin{dynkinDiagram}{A}{*too*}%
\dynkinQuadrupleEdge{1}{2}%
\dynkinDefiniteDoubleEdge{4}{3}%
-\end{tikzpicture}%
+\end{dynkinDiagram}%
\end{tcblisting}
\begin{tcblisting}{}
-\begin{tikzpicture}%
- \dynkin{A}{*tooo}%
+\begin{dynkinDiagram}{A}{*tooo}%
\dynkinQuadrupleEdge{1}{2}%
\dynkinDefiniteDoubleEdge{4}{3}%
-\end{tikzpicture}%
+\end{dynkinDiagram}%
\end{tcblisting}
\end{Category}
\endgroup
@@ -1357,7 +1508,7 @@ Below we draw the Vogan diagrams of some affine Lie superalgebras \cite{Ransingh
{\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}{2.8}\nct{R}{3.7}\nct{S}{3}
+\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>}}}
\renewcommand*{\arraystretch}{1.5}
@@ -1365,19 +1516,19 @@ Below we draw the Vogan diagrams of some affine Lie superalgebras \cite{Ransingh
\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}{}&\W[\sum e_j]{n+1}&e_i-e_j&e_i-e_{i+1}\\
-B_n&\dynkin{B}{}&\W{n}& \pm e_i, \pm e_i \pm e_j, i\ne j&e_i-e_{i+1}, e_n\\
+A_n&\dynkin{A}{}&\frac{1}{r+1}\W[\sum e_j]{n+1}&e_i-e_j&e_i-e_{i+1}\\
+B_n&\dynkin{B}{}&\frac{1}{2}\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}{}&\W{n}& \pm e_i \pm e_j, i\ne j &
+D_n&\dynkin{D}{}&\frac{1}{2}\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{E}{8}&\W{8}&
+E_8&\dynkin{E}{8}&\frac{1}{2}\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{E}{7}&\W[e_1-e_2]{8}&\quo&\quo\\
-E_6&\dynkin{E}{6}&\W[e_1-e_2,e_2-e_3]{8}&\quo&\quo\\
+E_7&\dynkin{E}{7}&\frac{1}{2}\W[e_1-e_2]{8}&\quo&\quo\\
+E_6&\dynkin{E}{6}&\frac{1}{3}\W[e_1-e_2,e_2-e_3]{8}&\quo&\quo\\
F_4& \dynkin{F}{4}&\W{4}&
\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}&
@@ -1389,16 +1540,38 @@ G_2&\dynkin{G}{2}&\W[\sum e_j]{3}&
\begin{bunch}(-1,0,1),\\(2,-1,-1)\end{bunch}
\end{longtable}
\end{filecontents*}
-\newpage
\begingroup
\input{simple-lie-algebras.tex}
\endgroup
-\newpage
\VerbatimInput{simple-lie-algebras.tex}
+
+\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);}
+\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{0}{6}\catholic{1}{7}
+\protestant{7}{0}\protestant{6}{1}
+\end{dynkinDiagram}
+\end{filecontents*}
+\begingroup
+\begin{center}
+\input{borovoi.tex}
+\end{center}
+\endgroup
+\VerbatimInput{borovoi.tex}
\newpage
-\section{Syntax}
+\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:
\[
\renewcommand*{\arraystretch}{1}
@@ -1418,17 +1591,14 @@ blank to represent an indefinite rank or
\item
the name of a Satake diagram as in section~\ref{section:Satake}.
\end{enumerate}
-
-
+The environment syntax is \verb!\begin{dynkinDiagram}! followed by the same parameters as \verb!\dynkin!, then various Dynkin diagram and \TikZ{} commands, and then \verb!\end{dynkinDiagram}!.
\section{Options}
-
\newcommand*{\typ}[1]{\(\left<\texttt{#1}\right>\)}
\newcommand*{\optionLabel}[3]{%%
\multicolumn{2}{l}{\(\texttt{#1}=\texttt{#2}\),} \\
\multicolumn{2}{l}{\(\textrm{default}: \texttt{#3}\)} \\
}%%
-
\renewcommand*{\arraystretch}{1}
\par\noindent%
\begin{longtable}{p{1cm}p{10cm}}
@@ -1445,41 +1615,47 @@ the name of a Satake diagram as in section~\ref{section:Satake}.
\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. \\
-\optionLabel{radius}{\typ{number}cm}{.05cm}
+\optionLabel{root radius}{\typ{number}cm}{.05cm}
& size of the dots and of the crosses in the Dynkin diagram \\
-\optionLabel{edgeLength}{\typ{number}cm}{.35cm}
+\optionLabel{edge length}{\typ{number}cm}{.35cm}
& distance between nodes in the Dynkin diagram \\
\optionLabel{edge/.style}{TikZ style data}{thin}
& style of edges in the Dynkin diagram \\
\optionLabel{mark}{\typ{o,O,t,x,X,*}}{*}
& default root mark \\
-\optionLabel{affineMark}{o,O,t,x,X,*}{*}
+\optionLabel{affine mark}{o,O,t,x,X,*}{*}
& default root mark for root zero in an affine Dynkin diagram \\
\optionLabel{label}{true or false}{false}
& whether to label the roots according to the current labelling scheme. \\
-\optionLabel{labelMacro}{\typ{1-parameter \TeX{} macro}}{\texttt{\#1}}
-& the current labelling scheme. \\
-\optionLabel{makeIndefiniteEdge}{\typ{edge pair \(i\)-\(j\) or list of such}}{\{\}}
+\optionLabel{label macro}{\typ{1-parameter \TeX{} macro}}{\texttt{\#1}}
+& the current labelling scheme for roots. \\
+\optionLabel{label macro*}{\typ{1-parameter \TeX{} macro}}{\texttt{\#1}}
+& the current labelling scheme for alternate roots. \\
+\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. \\
-\optionLabel{indefiniteEdgeRatio}{\typ{float}}{1.6}
+\optionLabel{indefinite edge ratio}{\typ{float}}{1.6}
& ratio of indefinite edge lengths to other edge lengths. \\
-\optionLabel{indefiniteEdge/.style}{\typ{TikZ style data}}{draw=black,fill=white,thin,densely dotted}
+\optionLabel{indefinite edge/.style}{\typ{TikZ style data}}{draw=black,fill=white,thin,densely dotted}
& style of the dotted or dashed middle third of each indefinite edge. \\
+\optionLabel{backwards}{\typ{true or false}}{false}
+& whether to reverse right to left. \\
+\optionLabel{upside down}{\typ{true or false}}{false}
+& whether to reverse up to down. \\
\optionLabel{arrows}{\typ{true or false}}{true}
& whether to draw the arrows that arise along the edges. \\
-\optionLabel{reverseArrows}{\typ{true or false}}{true}
+\optionLabel{reverse arrows}{\typ{true or false}}{true}
& whether to reverse the direction of the arrows that arise along the edges. \\
\optionLabel{fold}{\typ{true or false}}{true}
& whether, when drawing Dynkin diagrams, to draw them 2-ply. \\
\optionLabel{ply}{\typ{0,1,2,3,4}}{0}
& how many roots get folded together, at most. \\
-\optionLabel{foldleft}{\typ{true or false}}{true}
+\optionLabel{fold left}{\typ{true or false}}{true}
& whether to fold the roots on the left side of a Dynkin diagram. \\
-\optionLabel{foldright}{\typ{true or false}}{true}
+\optionLabel{fold right}{\typ{true or false}}{true}
& whether to fold the roots on the right side of a Dynkin diagram. \\
-\optionLabel{foldradius}{\typ{length}}{.3cm}
+\optionLabel{fold radius}{\typ{length}}{.3cm}
& the radius of circular arcs used in curved edges of folded Dynkin diagrams. \\
-\optionLabel{foldStyle}{\typ{TikZ style data}}{draw=black!40,fill=none,line width=radius}
+\optionLabel{fold style}{\typ{TikZ style data}}{draw=black!40,fill=none,line width=radius}
& when drawing folded diagrams, style for the fold indicators. \\
\optionLabel{*/.style}{\typ{TikZ style data}}{draw=black,fill=black}
& style for roots like \dynkin{A}{*} \\
@@ -1489,30 +1665,30 @@ is computed as \(n=\sum 2^{i-1} a_i\), \(a_i=0\) or \(1\), to say that root \(i\
& style for roots like \dynkin{A}{O} \\
\optionLabel{t/.style}{\typ{TikZ style data}}{draw=black,fill=black}
& style for roots like \dynkin{A}{t} \\
-\optionLabel{x/.style}{\typ{TikZ style data}}{draw=black}
+\optionLabel{x/.style}{\typ{TikZ style data}}{draw=black,line cap=round}
& style for roots like \dynkin{A}{x} \\
-\optionLabel{X/.style}{\typ{TikZ style data}}{draw=black,thick}
+\optionLabel{X/.style}{\typ{TikZ style data}}{draw=black,thick,line cap=round}
& style for roots like \dynkin{A}{X} \\
-\optionLabel{leftFold/.style}{\typ{TikZ style data}}{}
+\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{rightFold/.style}{\typ{TikZ style data}}{}
+\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{doubleEdges}{\typ{}}{not set}
+\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). \\
-\optionLabel{doubleFold}{\typ{}}{not set}
+\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. \\
-\optionLabel{doubleLeft}{\typ{}}{not set}
+\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). \\
-\optionLabel{doubleFoldLeft}{\typ{}}{not set}
+\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. \\
-\optionLabel{doubleRight}{\typ{}}{not set}
+\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). \\
-\optionLabel{doubleFoldRight}{\typ{}}{not set}
+\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.
\\
-\optionLabel{arrowColor}{\typ{}}{black}
+\optionLabel{arrow color}{\typ{}}{black}
& set to override the default color for the arrows in nonsimply laced Dynkin diagrams. \\
\optionLabel{Coxeter}{\typ{true or false}}{false}
& whether to draw a Coxeter diagram, rather than a Dynkin diagram. \\
@@ -1521,6 +1697,34 @@ are indicated with double edges (like those of an \(F_4\) Dynkin diagram without
\end{longtable}
\par\noindent{}All other options are passed to TikZ.
+\section{Changes in the latest version}\label{section:changes}
+\begin{center}
+\begin{tabular}{@{}>{\ttfamily}r>{\ttfamily}l@{}}
+\textrm{was} & \textrm{is} \\ \midrule
+edgeLength&edge length\\
+radius&root radius\\
+affineMark&affine mark\\
+labelMacro&label macro\\
+makeIndefiniteEdge&make indefinite edge\\
+indefiniteEdgeRatio&indefinite edge ratio\\
+indefiniteEdge&indefinite edge\\
+reverseArrows&reverse arrows\\
+foldLeft&fold left\\
+foldRight&fold right\\
+foldradius&fold radius\\
+foldStyle&fold style\\
+leftFoldStyle&fold left style\\
+rightFoldStyle&fold right style\\
+doubleEdges&double edges\\
+doubleFold&double fold\\
+doubleLeft&double left\\
+doubleLeftFold&double fold left\\
+doubleRight&double right\\
+doubleRightFold&double fold right\\
+arrowColor&arrow color\\\
+\end{tabular}
+\end{center}
+
\nocite{*}
\bibliographystyle{amsplain}
diff --git a/Master/texmf-dist/tex/latex/dynkin-diagrams/dynkin-diagrams.sty b/Master/texmf-dist/tex/latex/dynkin-diagrams/dynkin-diagrams.sty
index 870e2c5842f..1335db12cc6 100644
--- a/Master/texmf-dist/tex/latex/dynkin-diagrams/dynkin-diagrams.sty
+++ b/Master/texmf-dist/tex/latex/dynkin-diagrams/dynkin-diagrams.sty
@@ -2,7 +2,7 @@
%
% The Dynkin Diagrams package.
%
-% Version 3.14
+% Version 3.141
%
%
% This package draws Dynkin diagrams in LaTeX documents, using the TikZ package.
@@ -18,7 +18,7 @@
%
%
\NeedsTeXFormat{LaTeX2e}[1994/06/01]
-\ProvidesPackage{dynkin-diagrams}[2018/07/24 Dynkin diagrams]
+\ProvidesPackage{dynkin-diagrams}[2018/11/29 Dynkin diagrams]
\RequirePackage{tikz}
\RequirePackage{xstring}
\RequirePackage{xparse}
@@ -26,166 +26,188 @@
\RequirePackage{expl3}
\RequirePackage{pgfkeys}
\RequirePackage{pgfopts}
-\usetikzlibrary{arrows,arrows.meta,backgrounds,calc,decorations.markings,fit,patterns,snakes}
+\RequirePackage{amsmath}
+\RequirePackage{amssymb}
+\usetikzlibrary{
+ arrows,
+ arrows.meta,
+ backgrounds,
+ calc,
+ decorations.markings,
+ decorations.pathreplacing,
+ decorations.pathmorphing,
+ fit,
+ patterns}
-%%
-%% Application programming interface:
-%% See dynkin-diagrams.tex file for examples of use.
-%%
+%%%
+%%% Application programming interface:
+%%% See dynkin-diagrams.tex file for examples of use.
+%%%
\NewDocumentCommand\dynkin{O{}mO{0}m}%
{%
\ifdefined\filldraw%
\@dynkin[#1]{#2}[#3]{#4}%
\else%
- \tikz[baseline=-0.5ex]{\@dynkin[#1]{#2}[#3]{#4}}%
+ \tikz[baseline=(origin.base)]{\@dynkin[#1]{#2}[#3]{#4}}%
\fi%
}%
+\NewDocumentEnvironment{dynkinDiagram}{O{}mO{0}m}%
+{%
+\begin{tikzpicture}[baseline=(origin.base)]%
+\dynkin[#1]{#2}[#3]{#4}%
+}%
+{%
+\end{tikzpicture}%
+}%
+
\NewDocumentCommand\dynkinRefreshRoots{}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\dynkin@draw@all@roots{}%
\ifdynkin@label@the@roots\dynkinPrintLabels{}\fi%
}%
+\xdef\dynkin@label@direction{}
+
+\NewDocumentCommand\dynkin@translate@direction{m}%
+{%
+ \xdef\Dir{#1}
+ \ifdynkin@is@backwards
+ \IfStrEqCase{\Dir}{%
+ {0}{\xdef\Dir{4}}%
+ {1}{\xdef\Dir{3}}%
+ {2}{\xdef\Dir{2}}%
+ {3}{\xdef\Dir{1}}%
+ {4}{\xdef\Dir{0}}%
+ {5}{\xdef\Dir{7}}%
+ {6}{\xdef\Dir{6}}%
+ {7}{\xdef\Dir{5}}%
+ }%
+ [\ClassError%
+ {Dynkin diagrams}%
+ {Unrecognized root label direction:
+ ``\temp'' in Dynkin diagram \dynkin@user@series{\dynkin@user@string}}%
+ {}]
+ \fi
+ \ifdynkin@is@upsidedown
+ \IfStrEqCase{\Dir}{%
+ {1}{\xdef\Dir{7}}%
+ {2}{\xdef\Dir{6}}%
+ {3}{\xdef\Dir{5}}%
+ {5}{\xdef\Dir{3}}%
+ {6}{\xdef\Dir{2}}%
+ {7}{\xdef\Dir{1}}%
+ }%
+ \fi
+ \IfStrEqCase{\Dir}{%
+ {0}{\xdef\dynkin@label@direction{right}}%
+ {1}{\xdef\dynkin@label@direction{above right}}%
+ {2}{\xdef\dynkin@label@direction{above}}%
+ {3}{\xdef\dynkin@label@direction{above left}}%
+ {4}{\xdef\dynkin@label@direction{left}}%
+ {5}{\xdef\dynkin@label@direction{below left}}%
+ {6}{\xdef\dynkin@label@direction{below}}%
+ {7}{\xdef\dynkin@label@direction{below right}}%
+ }%
+}%
+
+\newcount\rpo%
+
%% \dynkinLabelRoot{<r>}{<s>} or \dynkinLabelRoot*{<r>}{<s>}
%% Prints the label string <s> on the Dynkin diagram at root number <r>, in the current ordering convention.
-%% Starred form uses the opposite label location.
+%% Starred form uses the alternate label location.
\NewDocumentCommand\dynkinLabelRoot{smm}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\ifnum\dynkin@nodes<#2%
\ClassError{Dynkin diagrams}{Unrecognized root: ``#2'' found when labelling Dynkin diagram \dynkin@user@series{\dynkin@user@string}. Allowed values are up to \the\dynkin@nodes}{}%
\fi%
- \newcount\rpo%
- \rpo=#2%
- \advance\rpo by 1%
- \StrMid{\dynkin@label@directions}{\the\rpo}{\the\rpo}[\temp]%
- \IfBooleanTF{#1}%
+ \IfStrEq{#3}{}%
{%
- \IfStrEqCase{\temp}{%
- {l}{%
- \node[inner sep=\dynkin@root@radius,%
- label={%
- [/Dynkin diagram,/Dynkin diagram/text]%
- right:%
- \(\pgfkeys{/Dynkin diagram/labelMacro=#3}\)%
- }%
- ]%
- at (\dynkin@root@name #2){};%
- }%
- {r}{%
- \node[inner sep=\dynkin@root@radius,%
- label={%
- [/Dynkin diagram,/Dynkin diagram/text]%
- left:%
- \(\pgfkeys{/Dynkin diagram/labelMacro=#3}\)%
- }%
- ]%
- at (\dynkin@root@name #2){};%
- }%
- {a}{%
- \node[inner sep=\dynkin@root@radius,%
- label={%
- [/Dynkin diagram,/Dynkin diagram/text]%
- below:%
- \(\pgfkeys{/Dynkin diagram/labelMacro=#3}\)%
- }%
- ]%
- at (\dynkin@root@name #2){};%
- }%
- {b}{%
- \node[inner sep=\dynkin@root@radius,%
- label={%
- [/Dynkin diagram,/Dynkin diagram/text]%
- above:%
- \(\pgfkeys{/Dynkin diagram/labelMacro=#3}\)%
- }%
- ]%
- at (\dynkin@root@name #2){};%
- }%
- {d}{%
- \node[inner sep=\dynkin@root@radius,%
- label={%
- [/Dynkin diagram,/Dynkin diagram/text]%
- above right:%
- \(\pgfkeys{/Dynkin diagram/labelMacro=#3}\)%
- }%
- ]%
- at (\dynkin@root@name #2){};%
- }%
- }%
- [\ClassError%
- {Dynkin diagrams}%
- {Unrecognized root label direction:
- ``\temp'' in Dynkin diagram \dynkin@user@series{\dynkin@user@string} for root #2}%
- {}]
}%
{%
- \IfStrEqCase{\temp}{%
- {l}{%
- \node[inner sep=\dynkin@root@radius,%
- label={%
- [/Dynkin diagram,/Dynkin diagram/text]%
- left:%
- \(\pgfkeys{/Dynkin diagram/labelMacro=#3}\)%
- }%
- ]%
- at (\dynkin@root@name #2){};%
- }%
- {r}{%
- \node[inner sep=\dynkin@root@radius,%
- label={%
- [/Dynkin diagram,/Dynkin diagram/text]%
- right:%
- \(\pgfkeys{/Dynkin diagram/labelMacro=#3}\)%
- }%
- ]%
- at (\dynkin@root@name #2){};%
- }%
- {a}{%
- \node[inner sep=\dynkin@root@radius,%
- label={%
- [/Dynkin diagram,/Dynkin diagram/text]%
- above:%
- \(\pgfkeys{/Dynkin diagram/labelMacro=#3}\)%
- }%
- ]%
- at (\dynkin@root@name #2){};%
- }%
- {b}{ %
- \node[inner sep=\dynkin@root@radius,%
- label={%
- [/Dynkin diagram,/Dynkin diagram/text]%
- below:%
- \(\pgfkeys{/Dynkin diagram/labelMacro=#3}\)%
- }%
- ]%
- at (\dynkin@root@name #2){};%
- }%
- {d}{%
- \node[inner sep=\dynkin@root@radius,%
- label={%
- [/Dynkin diagram,/Dynkin diagram/text]%
- below right:%
- \(\pgfkeys{/Dynkin diagram/labelMacro=#3}\)%
- }%
- ]%
- at (\dynkin@root@name #2){};%
- }%
+ \rpo=#2%
+ \advance\rpo by 1%
+ \IfBooleanTF{#1}%
+ {%
+ \StrMid{\dynkin@label@directions@star}{\the\rpo}{\the\rpo}[\dynkin@direction@letter]%
+ }%
+ {%
+ \StrMid{\dynkin@label@directions}{\the\rpo}{\the\rpo}[\dynkin@direction@letter]%
+ }%
+ \dynkin@translate@direction{\dynkin@direction@letter}%
+ \IfBooleanTF{#1}%
+ {%
+ \node[inner sep=\dynkin@root@radius,%
+ label={%
+ [/Dynkin diagram/text]%
+ \dynkin@label@direction:%
+ \(\pgfkeys{/Dynkin diagram/label macro*=#3}\)%
+ }%
+ ]%
+ at (\dynkin@root@name #2){};%
+ }%
+ {%
+ \node[inner sep=\dynkin@root@radius,%
+ label={%
+ [/Dynkin diagram/text]%
+ \dynkin@label@direction:%
+ \(\pgfkeys{/Dynkin diagram/label macro=#3}\)%
+ }%
+ ]%
+ at (\dynkin@root@name #2){};%
}%
- [\ClassError%
- {Dynkin diagrams}%
- {Unrecognized root label direction:
- ``\temp'' in Dynkin diagram \dynkin@user@series{\dynkin@user@string} for root #2}%
- {}]
}%
}%
+\newcounter{dynkinRootNo}
+\NewDocumentCommand\@dynkinLabelThisRoot{m}%
+{%
+\stepcounter{dynkinRootNo}%
+\dynkinLabelRoot{\arabic{dynkinRootNo}}{#1}%
+}%
+\NewDocumentCommand\@dynkinLabelThisRootStar{m}%
+{%
+\stepcounter{dynkinRootNo}%
+\dynkinLabelRoot*{\arabic{dynkinRootNo}}{#1}%
+}%
+
+
+\NewDocumentCommand\dynkinLabelRoots{sm}%
+{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
+ \setcounter{dynkinRootNo}{0}%
+ \ifdynkin@is@extended%
+ \setcounter{dynkinRootNo}{-1}%
+ \else%
+ \ifdynkin@is@twisted%
+ \setcounter{dynkinRootNo}{-1}%
+ \else%
+ \setcounter{dynkinRootNo}{0}%
+ \fi%
+ \fi%
+ \edef\XXX{#2}%
+ \foreach \i in \XXX%
+ {%
+ \IfBooleanTF{#1}%
+ {%
+ \@dynkinLabelThisRootStar{\i}%
+ }%
+ {%
+ \@dynkinLabelThisRoot{\i}%
+ }%
+ }%
+}%
+
\NewDocumentCommand\dynkinBrace{somm}%[text]{start}{end}
{%
-\draw[decoration=
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
+\draw[
+decoration=
{
brace,
\IfBooleanF{#1}{mirror},
@@ -200,24 +222,56 @@
pos=0.5,
anchor=\IfBooleanTF{#1}{south}{north},
yshift=\IfBooleanTF{#1}{1mm}{-1mm},
- /Dynkin diagram/text
-]
+ /Dynkin diagram/text]
{\IfValueT{#2}{\(#2\)}};%
}
%% \dynkinPrintLabels
-%% Prints the default labels on the Dynkin diagram, in the given ordering.
+%% 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}%
{%
- \foreach \i in {1,...,\the\dynkin@nodes}{\dynkinLabelRoot{\i}{\i}}%
- \ifdynkin@is@extended%
- \dynkinLabelRoot{0}{0}%
- \else%
- \ifdynkin@is@twisted%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
+ \IfStrEq{\dynkin@label@list\dynkin@label@list@star}{}{%
+ \foreach \i in {1,...,\the\dynkin@nodes}{\dynkinLabelRoot{\i}{\i}}%
+ \ifdynkin@is@extended%
\dynkinLabelRoot{0}{0}%
+ \else%
+ \ifdynkin@is@twisted%
+ \dynkinLabelRoot{0}{0}%
+ \fi%
\fi%
- \fi%
+ }%
+ {%
+ \ifdynkin@is@extended%
+ \setcounter{dynkinRootNo}{-1}%
+ \else%
+ \ifdynkin@is@twisted%
+ \setcounter{dynkinRootNo}{-1}%
+ \else%
+ \setcounter{dynkinRootNo}{0}%
+ \fi%
+ \fi%
+ \edef\XXX{\dynkin@label@list}%
+ \foreach \i in \XXX%
+ {%
+ \@dynkinLabelThisRoot{\i}%
+ }%
+ \ifdynkin@is@extended%
+ \setcounter{dynkinRootNo}{-1}%
+ \else%
+ \ifdynkin@is@twisted%
+ \setcounter{dynkinRootNo}{-1}%
+ \else%
+ \setcounter{dynkinRootNo}{0}%
+ \fi%
+ \fi%
+ \edef\XXX{\dynkin@label@list@star}%
+ \foreach \i in \XXX%
+ {%
+ \@dynkinLabelThisRootStar{\i}%
+ }%
+ }%
}%
%% \dynkinCrossRootMark{<n>}
@@ -225,6 +279,7 @@
%% The starred form accepts <n> in the Bourbaki ordering.
\NewDocumentCommand\dynkinCrossRootMark{sO{}m}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootNumber{#3}%
@@ -232,11 +287,11 @@
{%
\RootNumber=#3%
}%
- \draw[/Dynkin diagram,/Dynkin diagram/x,#2]%
+ \draw[/Dynkin diagram,x,#2]%
($(\dynkin@root@name \the\RootNumber)+(\dynkin@root@radius,\dynkin@root@radius)$)%
--%
($(\dynkin@root@name \the\RootNumber)-(\dynkin@root@radius,\dynkin@root@radius)$);%
- \draw[/Dynkin diagram,/Dynkin diagram/x,#2]%
+ \draw[/Dynkin diagram,x,#2]%
($(\dynkin@root@name \the\RootNumber)+(-\dynkin@root@radius,\dynkin@root@radius)$)%
--%
($(\dynkin@root@name \the\RootNumber)+(\dynkin@root@radius,-\dynkin@root@radius)$);%
@@ -247,6 +302,7 @@
%% The starred form accepts <n> in the Bourbaki ordering.
\NewDocumentCommand\dynkinHeavyCrossRootMark{sO{}m}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootNumber{#3}%
@@ -254,11 +310,11 @@
{%
\RootNumber=#3%
}%
- \draw[/Dynkin diagram,/Dynkin diagram/X,#2]%
+ \draw[/Dynkin diagram,X,#2]%
($(\dynkin@root@name \the\RootNumber)+(\dynkin@root@radius,\dynkin@root@radius)$)%
--%
($(\dynkin@root@name \the\RootNumber)-(\dynkin@root@radius,\dynkin@root@radius)$);%
- \draw[/Dynkin diagram,/Dynkin diagram/X,#2]%
+ \draw[/Dynkin diagram,X,#2]%
($(\dynkin@root@name \the\RootNumber)+(-\dynkin@root@radius,\dynkin@root@radius)$)%
--%
($(\dynkin@root@name \the\RootNumber)+(\dynkin@root@radius,-\dynkin@root@radius)$);%
@@ -270,6 +326,7 @@
%% The starred form accepts <n> in the Bourbaki ordering.
\NewDocumentCommand\dynkinHollowRootMark{sO{}m}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootNumber{#3}%
@@ -277,7 +334,7 @@
{%
\RootNumber=#3%
}%
- \fill[/Dynkin diagram,/Dynkin diagram/o,#2] (\dynkin@root@name \the\RootNumber) circle (\dynkin@root@radius);%
+ \fill[/Dynkin diagram,o,#2] (\dynkin@root@name \the\RootNumber) circle (\dynkin@root@radius);%
}%
%% \dynkinDoubleHollowRootMark{<n>}
@@ -285,6 +342,7 @@
%% The starred form accepts <n> in the Bourbaki ordering.
\NewDocumentCommand\dynkinDoubleHollowRootMark{sO{}m}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootNumber{#3}%
@@ -292,8 +350,8 @@
{%
\RootNumber=#3%
}%
- \fill[/Dynkin diagram,/Dynkin diagram/o,#2] (\dynkin@root@name \the\RootNumber) circle (2*\dynkin@root@radius);%
- \fill[/Dynkin diagram,/Dynkin diagram/o,#2] (\dynkin@root@name \the\RootNumber) circle (\dynkin@root@radius);%
+ \fill[/Dynkin diagram,o,#2] (\dynkin@root@name \the\RootNumber) circle (2*\dynkin@root@radius);%
+ \fill[/Dynkin diagram,o,#2] (\dynkin@root@name \the\RootNumber) circle (\dynkin@root@radius);%
}%
%% \dynkinSolidRootMark{<n>}
@@ -301,6 +359,7 @@
%% The starred form accepts <n> in the Bourbaki ordering.
\NewDocumentCommand\dynkinSolidRootMark{sO{}m}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootNumber{#3}%
@@ -308,7 +367,7 @@
{%
\RootNumber=#3%
}%
- \fill[/Dynkin diagram,/Dynkin diagram/*,#2] (\dynkin@root@name \the\RootNumber) circle (\dynkin@root@radius);%
+ \fill[/Dynkin diagram,*,#2] (\dynkin@root@name \the\RootNumber) circle (\dynkin@root@radius);%
}%
%% \dynkinTensorRootMark{<n>}
@@ -316,6 +375,7 @@
%% The starred form accepts <n> in the Bourbaki ordering.
\NewDocumentCommand\dynkinTensorRootMark{sO{}m}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootNumber{#3}%
@@ -323,23 +383,24 @@
{%
\RootNumber=#3%
}%
- \fill[/Dynkin diagram,/Dynkin diagram/o,#2] (\dynkin@root@name \the\RootNumber) circle ({\dynkin@root@radius});%
- \draw[/Dynkin diagram,/Dynkin diagram/x,#2]%
+ \fill[/Dynkin diagram,o,#2] (\dynkin@root@name \the\RootNumber) circle ({\dynkin@root@radius});%
+ \draw[/Dynkin diagram,edge,#2]%
($(\dynkin@root@name \the\RootNumber)+({\dynkin@root@radius/sqrt(2)},{\dynkin@root@radius/sqrt(2)})$)%
--%
($(\dynkin@root@name \the\RootNumber)-({\dynkin@root@radius/sqrt(2)},{\dynkin@root@radius/sqrt(2)})$);%
- \draw[/Dynkin diagram,/Dynkin diagram/x,#2]%
+ \draw[/Dynkin diagram,edge,#2]%
($(\dynkin@root@name \the\RootNumber)+({-\dynkin@root@radius/sqrt(2)},{\dynkin@root@radius/sqrt(2)})$)%
--%
($(\dynkin@root@name \the\RootNumber)+({\dynkin@root@radius/sqrt(2)},{-\dynkin@root@radius/sqrt(2)})$);%
}%
-%% \dynkinRootMark{<s>}{<n>}
-%% Prints a dot at root <n> on the current Dynkin diagram using mark style <s>.
-%% Use <s> empty to get the default mark style.
-%% The starred form accepts <n> in the Bourbaki ordering.
+% \dynkinRootMark{<s>}{<n>}
+% Prints a dot at root <n> on the current Dynkin diagram using mark style <s>.
+% Use <s> empty to get the default mark style.
+% The starred form accepts <n> in the Bourbaki ordering.
\NewDocumentCommand\dynkinRootMark{smm}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\IfStrEqCase{#2}%
@@ -378,6 +439,7 @@
%% The starred form accepts <p> and <q> in the Bourbaki ordering.
\NewDocumentCommand\dynkinDefiniteSingleEdge{sO{}mm}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootPair{#3}{#4}%
@@ -400,6 +462,7 @@
%% The starred form accepts <p> and <q> in the Bourbaki ordering.
\NewDocumentCommand\dynkinIndefiniteSingleEdge{sO{}mm}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootPair{#3}{#4}%
@@ -413,11 +476,11 @@
($(\dynkin@root@name \the\@fromRoot)$)
--
(${(2/3)}*(\dynkin@root@name \the\@fromRoot)+{(1/3)}*(\dynkin@root@name \the\@toRoot)$);
- \draw[/Dynkin diagram,/Dynkin diagram/indefiniteEdge,#2]
+ \draw[/Dynkin diagram,indefinite edge,#2]
(${(2/3)}*(\dynkin@root@name \the\@fromRoot)+{(1/3)}*(\dynkin@root@name \the\@toRoot)$)
--
(${(1/3)}*(\dynkin@root@name \the\@fromRoot)+{(2/3)}*(\dynkin@root@name \the\@toRoot)$);
- \draw[/Dynkin diagram,/Dynkin diagram/edge,#2]
+ \draw[/Dynkin diagram,edge,#2]
(${(1/3)}*(\dynkin@root@name \the\@fromRoot)+{(2/3)}*(\dynkin@root@name \the\@toRoot)$)
--
($(\dynkin@root@name \the\@toRoot)$);
@@ -429,12 +492,13 @@
%%% The starred form accepts <p> and <q> in the Bourbaki ordering.
\NewDocumentCommand\dynkinRightFold{sO{}mm}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
- \dynkinFold*[/Dynkin diagram/rightFold,#2]{#3}{#4}%
+ \dynkinFold*[/Dynkin diagram,fold right style,#2]{#3}{#4}%
}%
{%
- \dynkinFold[/Dynkin diagram/rightFold,#2]{#3}{#4}%
+ \dynkinFold[/Dynkin diagram,fold right style,#2]{#3}{#4}%
}%
}%
@@ -443,12 +507,13 @@
%%% The starred form accepts <p> and <q> in the Bourbaki ordering.
\NewDocumentCommand\dynkinLeftFold{sO{}mm}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
- \dynkinFold*[/Dynkin diagram/leftFold,#2]{#3}{#4}%
+ \dynkinFold*[/Dynkin diagram,fold left style,#2]{#3}{#4}%
}%
{%
- \dynkinFold[/Dynkin diagram/leftFold,#2]{#3}{#4}%
+ \dynkinFold[/Dynkin diagram,fold left style,#2]{#3}{#4}%
}%
}%
@@ -457,6 +522,7 @@
%% The starred form accepts <p> and <q> in the Bourbaki ordering.
\NewDocumentCommand\dynkinFold{sO{}mm}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootPair{#3}{#4}%
@@ -467,8 +533,8 @@
}%
\convertRootPair{\@fromRoot}{\@toRoot}%
\begin{scope}[on background layer]
- \draw
- [/Dynkin diagram/foldStyle,#2]
+ \draw[/Dynkin diagram/fold style,#2,%/Dynkin diagram/fold left style
+ ]
($(\dynkin@root@name \the\@fromRoot)$)
to
($(\dynkin@root@name \the\@toRoot)$);
@@ -481,6 +547,7 @@
%% The starred form accepts <p> and <q> in the Bourbaki ordering.
\NewDocumentCommand\dynkinDefiniteRightDownArc{sO{}mm}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootPair{#3}{#4}%
@@ -490,7 +557,7 @@
\@toRoot=#4%
}%
\begin{scope}[on background layer]%
- \draw[/Dynkin diagram,/Dynkin diagram/edge,fill=none,#2]%
+ \draw[/Dynkin diagram,edge,fill=none,#2]%
($(\dynkin@root@name \the\@fromRoot)$)%
arc (90:0:\dynkin@fold@radius) -- ($(\dynkin@root@name \the\@toRoot)$);%
\end{scope}%
@@ -501,6 +568,7 @@
%% The starred form accepts <p> and <q> in the Bourbaki ordering.
\NewDocumentCommand\dynkinIndefiniteRightDownArc{sO{}mm}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootPair{#3}{#4}%
@@ -511,15 +579,15 @@
}%
\node (center) at ($(\dynkin@root@name \the\@fromRoot)-(0,\dynkin@fold@radius)$) {};%
\begin{scope}[on background layer]%
- \draw[/Dynkin diagram,/Dynkin diagram/edge,fill=none,#2]
+ \draw[/Dynkin diagram,edge,fill=none,#2]
(center)
++(90:\dynkin@fold@radius)
arc [start angle=90, end angle=60, radius=\dynkin@fold@radius];%
- \draw[/Dynkin diagram,/Dynkin diagram/indefiniteEdge,fill=none,#2]
+ \draw[/Dynkin diagram,indefinite edge,fill=none,#2]
(center)
++(60:\dynkin@fold@radius)
arc [start angle=60, end angle=30, radius=\dynkin@fold@radius];%
- \draw[/Dynkin diagram,/Dynkin diagram/edge,fill=none,#2]
+ \draw[/Dynkin diagram,edge,fill=none,#2]
(center)
++(30:\dynkin@fold@radius)
arc [start angle=30, end angle=0, radius=\dynkin@fold@radius];%
@@ -531,6 +599,7 @@
%% The starred form accepts <p> and <q> in the Bourbaki ordering.
\NewDocumentCommand\dynkinDefiniteRightUpArc{sO{}mm}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootPair{#3}{#4}%
@@ -540,7 +609,7 @@
\@toRoot=#4%
}%
\begin{scope}[on background layer]%
- \draw[/Dynkin diagram,/Dynkin diagram/edge,fill=none,#2]
+ \draw[/Dynkin diagram,edge,fill=none,#2]
($(\dynkin@root@name \the\@fromRoot)$)
arc (-90:0:\dynkin@fold@radius) -- ($(\dynkin@root@name \the\@toRoot)$);%
\end{scope}%
@@ -551,6 +620,7 @@
%% The starred form accepts <p> and <q> in the Bourbaki ordering.
\NewDocumentCommand\dynkinIndefiniteRightUpArc{sO{}mm}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootPair{#3}{#4}%
@@ -561,15 +631,15 @@
}%
\node (center) at ($(\dynkin@root@name \the\@fromRoot)+(0,\dynkin@fold@radius)$) {};%
\begin{scope}[on background layer]%
- \draw[/Dynkin diagram,/Dynkin diagram/edge,fill=none,#2]
+ \draw[/Dynkin diagram,edge,fill=none,#2]
(center)
++(-90:\dynkin@fold@radius)
arc [start angle=-90, end angle=-60, radius=\dynkin@fold@radius];%
- \draw[/Dynkin diagram,/Dynkin diagram/indefiniteEdge,fill=none,#2]
+ \draw[/Dynkin diagram,indefinite edge,fill=none,#2]
(center)
++(-60:\dynkin@fold@radius)
arc [start angle=-60, end angle=-30, radius=\dynkin@fold@radius];%
- \draw[/Dynkin diagram,/Dynkin diagram/edge,fill=none,#2]
+ \draw[/Dynkin diagram,edge,fill=none,#2]
(center)
++(-30:\dynkin@fold@radius)
arc [start angle=-30, end angle=0, radius=\dynkin@fold@radius] -- ($(\dynkin@root@name \the\@toRoot)$);%
@@ -582,6 +652,7 @@
%% The starred form accepts <p> and <q> in the Bourbaki ordering.
\NewDocumentCommand\dynkinDefiniteLeftDownArc{sO{}mm}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootPair{#3}{#4}%
@@ -591,7 +662,7 @@
\@toRoot=#4%
}%
\begin{scope}[on background layer]%
- \draw[/Dynkin diagram,/Dynkin diagram/edge,fill=none,#2]%
+ \draw[/Dynkin diagram,edge,fill=none,#2]%
($(\dynkin@root@name \the\@fromRoot)$)%
arc (90:180:\dynkin@fold@radius) -- ($(\dynkin@root@name \the\@toRoot)$);%
\end{scope}%
@@ -602,6 +673,7 @@
%% The starred form accepts <p> and <q> in the Bourbaki ordering.
\NewDocumentCommand\dynkinIndefiniteLeftDownArc{sO{}mm}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootPair{#3}{#4}%
@@ -612,15 +684,15 @@
}%
\node (center) at ($(\dynkin@root@name \the\@fromRoot)-(0,\dynkin@fold@radius)$) {};%
\begin{scope}[on background layer]%
- \draw[/Dynkin diagram,/Dynkin diagram/edge,fill=none,#2]
+ \draw[/Dynkin diagram,edge,fill=none,#2]
(center)
++(90:\dynkin@fold@radius)
arc [start angle=90, end angle=120, radius=\dynkin@fold@radius];%
- \draw[/Dynkin diagram,/Dynkin diagram/indefiniteEdge,fill=none,#2]
+ \draw[/Dynkin diagram,indefinite edge,fill=none,#2]
(center)
++(120:\dynkin@fold@radius)
arc [start angle=120, end angle=150, radius=\dynkin@fold@radius];%
- \draw[/Dynkin diagram,/Dynkin diagram/edge,fill=none,#2]
+ \draw[/Dynkin diagram,edge,fill=none,#2]
(center)
++(150:\dynkin@fold@radius)
arc [start angle=150, end angle=180, radius=\dynkin@fold@radius] -- ($(\dynkin@root@name \the\@toRoot)$);%
@@ -632,6 +704,7 @@
%% The starred form accepts <p> and <q> in the Bourbaki ordering.
\NewDocumentCommand\dynkinDefiniteLeftUpArc{sO{}mm}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootPair{#3}{#4}%
@@ -641,7 +714,7 @@
\@toRoot=#4%
}%
\begin{scope}[on background layer]%
- \draw[/Dynkin diagram,/Dynkin diagram/edge,fill=none,#2]
+ \draw[/Dynkin diagram,edge,fill=none,#2]
($(\dynkin@root@name \the\@fromRoot)$)
arc (-90:-180:\dynkin@fold@radius) -- ($(\dynkin@root@name \the\@toRoot)$);%
\end{scope}%
@@ -652,6 +725,7 @@
%% The starred form accepts <p> and <q> in the Bourbaki ordering.
\NewDocumentCommand\dynkinIndefiniteLeftUpArc{sO{}mm}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootPair{#3}{#4}%
@@ -662,15 +736,15 @@
}%
\node (center) at ($(\dynkin@root@name \the\@fromRoot)+(0,\dynkin@fold@radius)$) {};%
\begin{scope}[on background layer]%
- \draw[/Dynkin diagram,/Dynkin diagram/edge,fill=none,#2]
+ \draw[/Dynkin diagram,edge,fill=none,#2]
(center)
++(-90:\dynkin@fold@radius)
arc [start angle=-90, end angle=-120, radius=\dynkin@fold@radius];%
- \draw[/Dynkin diagram,/Dynkin diagram/indefiniteEdge,fill=none,#2]
+ \draw[/Dynkin diagram,indefinite edge,fill=none,#2]
(center)
++(-120:\dynkin@fold@radius)
arc [start angle=-120, end angle=-150, radius=\dynkin@fold@radius];%
- \draw[/Dynkin diagram,/Dynkin diagram/edge,fill=none,#2]
+ \draw[/Dynkin diagram,edge,fill=none,#2]
(center)
++(-150:\dynkin@fold@radius)
arc [start angle=-150, end angle=-180, radius=\dynkin@fold@radius] -- ($(\dynkin@root@name \the\@toRoot)$);%
@@ -683,6 +757,7 @@
%% The starred form accepts <p> and <q> in the Bourbaki ordering.
\NewDocumentCommand\dynkinDefiniteSemiCircle{sO{}mm}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootPair{#3}{#4}%
@@ -692,7 +767,7 @@
\@toRoot=#4%
}%
\begin{scope}[on background layer]%
- \draw[/Dynkin diagram,/Dynkin diagram/edge,fill=none,#2]
+ \draw[/Dynkin diagram,edge,fill=none,#2]
($(\dynkin@root@name \the\@fromRoot)$)
arc (90:-90:\dynkin@fold@radius)
-- ($(\dynkin@root@name \the\@toRoot)$);%
@@ -704,6 +779,7 @@
%% The starred form accepts <p> and <q> in the Bourbaki ordering.
\NewDocumentCommand\dynkinIndefiniteSemiCircle{sO{}mm}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootPair{#3}{#4}%
@@ -714,15 +790,15 @@
}%
\node (center) at ($(\dynkin@root@name \the\@fromRoot)-(0,\dynkin@fold@radius)$) {};%
\begin{scope}[on background layer]%
- \draw[/Dynkin diagram,/Dynkin diagram/edge,fill=none,#2]
+ \draw[/Dynkin diagram,edge,fill=none,#2]
(center)
++(90:\dynkin@fold@radius)
arc [start angle=90, end angle=30, radius=\dynkin@fold@radius];%
- \draw[/Dynkin diagram,/Dynkin diagram/indefiniteEdge,fill=none,#2]
+ \draw[/Dynkin diagram,indefinite edge,fill=none,#2]
(center)
++(30:\dynkin@fold@radius)
arc [start angle=30, end angle=-30, radius=\dynkin@fold@radius];%
- \draw[/Dynkin diagram,/Dynkin diagram/edge,fill=none,#2]
+ \draw[/Dynkin diagram,edge,fill=none,#2]
(center)
++(-30:\dynkin@fold@radius)
arc [start angle=-30, end angle=-90, radius=\dynkin@fold@radius] -- ($(\dynkin@root@name \the\@toRoot)$);%
@@ -735,6 +811,7 @@
%% The starred form accepts <p> and <q> in the Bourbaki ordering.
\NewDocumentCommand\dynkinDefiniteDoubleRightDownArc{sO{}mm}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootPair{#3}{#4}%
@@ -744,7 +821,7 @@
\@toRoot=#4%
}%
\begin{scope}[on background layer]%
- \draw[/Dynkin diagram,/Dynkin diagram/edge,double,fill=none,#2]%
+ \draw[/Dynkin diagram,edge,double,fill=none,#2]%
($(\dynkin@root@name \the\@fromRoot)$)%
arc (90:0:{\dynkin@fold@radius}) -- ($(\dynkin@root@name \the\@toRoot)$);%
\ifdynkin@arrows%
@@ -752,10 +829,7 @@
\path[-{Computer Modern Rightarrow[\dynkin@arrow@color]},
,tips]
($(\dynkin@root@name \the\@toRoot)$)%
- arc (45:90:{\dynkin@fold@radius});%
-% \path[/Dynkin diagram,edge,-<,tips]
-% ($(\dynkin@root@name \the\@fromRoot)$)%
-% arc (90:45:{\dynkin@fold@radius});%
+ arc (0:45:{\dynkin@fold@radius});%
\else%
\path[-{Computer Modern Rightarrow[\dynkin@arrow@color]},
,tips]
@@ -773,6 +847,7 @@
%% The starred form accepts <p> and <q> in the Bourbaki ordering.
\NewDocumentCommand\dynkinDefiniteDoubleUpRightArc{sO{}mm}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootPair{#3}{#4}%
@@ -782,7 +857,7 @@
\@toRoot=#4%
}%
\begin{scope}[on background layer]%
- \draw[/Dynkin diagram,/Dynkin diagram/edge,double,fill=none,#2]%
+ \draw[/Dynkin diagram,edge,double,fill=none,#2]%
($(\dynkin@root@name \the\@fromRoot)$)%
arc (180:90:{\dynkin@fold@radius}) -- ($(\dynkin@root@name \the\@toRoot)$);%
\ifdynkin@arrows%
@@ -793,7 +868,7 @@
($(\dynkin@root@name \the\@toRoot)$)%
arc (135:180:{\dynkin@fold@radius});%
\else%
- \path[
+ \path[/Dynkin diagram,edge,
-{Computer Modern Rightarrow[\dynkin@arrow@color]},
,tips]
($(\dynkin@root@name \the\@fromRoot)$)%
@@ -810,6 +885,7 @@
%% The starred form accepts <p> and <q> in the Bourbaki ordering.
\NewDocumentCommand\dynkinDefiniteDoubleUpLeftArc{sO{}mm}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootPair{#3}{#4}%
@@ -819,21 +895,20 @@
\@toRoot=#4%
}%
\begin{scope}[on background layer]%
- \draw[/Dynkin diagram,/Dynkin diagram/edge,double,fill=none,#2]%
+ \draw[/Dynkin diagram,edge,double,fill=none,#2]%
($(\dynkin@root@name \the\@fromRoot)$)%
- arc (-90:0:{\dynkin@fold@radius}) -- ($(\dynkin@root@name \the\@toRoot)$);%
+ arc (0:90:{\dynkin@fold@radius}) -- ($(\dynkin@root@name \the\@toRoot)$);%
\ifdynkin@arrows%
\ifdynkin@reverse@arrows%
- \path[/Dynkin diagram,edge,
- -{Computer Modern Rightarrow[\dynkin@arrow@color]},
+ \path[-{Computer Modern Rightarrow[\dynkin@arrow@color]},
,tips]
($(\dynkin@root@name \the\@toRoot)$)%
- arc (-45:-90:{\dynkin@fold@radius});%
+ arc (90:45:{\dynkin@fold@radius});%
\else%
\path[-{Computer Modern Rightarrow[\dynkin@arrow@color]},
,tips]
($(\dynkin@root@name \the\@fromRoot)$)%
- arc (-90:-45:{\dynkin@fold@radius});%
+ arc (0:45:{\dynkin@fold@radius});%
\fi%
\fi%
\end{scope}%
@@ -848,6 +923,7 @@
%% The starred form accepts <p> and <q> in the Bourbaki ordering.
\NewDocumentCommand\dynkinDefiniteDoubleDownRightArc{sO{}mm}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootPair{#3}{#4}%
@@ -857,24 +933,22 @@
\@toRoot=#4%
}%
\begin{scope}[on background layer]%
- \draw[/Dynkin diagram,/Dynkin diagram/edge,double,fill=none,#2]%
+ \draw[/Dynkin diagram,edge,double,fill=none,#2]%
($(\dynkin@root@name \the\@fromRoot)$)%
--
($(\dynkin@root@name \the\@toRoot)+(-\dynkin@fold@radius,\dynkin@fold@radius)$)%
arc (-180:-90:{\dynkin@fold@radius}) -- ($(\dynkin@root@name \the\@toRoot)$);%
\ifdynkin@arrows%
\ifdynkin@reverse@arrows%
- \path[
- -{Computer Modern Rightarrow[\dynkin@arrow@color]},
+ \path[-{Computer Modern Rightarrow[\dynkin@arrow@color]},
tips]
- ($(\dynkin@root@name \the\@fromRoot)+(-\dynkin@fold@radius,\dynkin@fold@radius)$)%
- arc (-135:-180:{\dynkin@fold@radius});%
+ ($(\dynkin@root@name \the\@toRoot)$)%
+ arc (-90:-135:{\dynkin@fold@radius});%
\else%
- \path[
- -{Computer Modern Rightarrow[\dynkin@arrow@color]},
+ \path[-{Computer Modern Rightarrow [\dynkin@arrow@color]},
,tips]
- ($(\dynkin@root@name \the\@toRoot)+(-\dynkin@fold@radius,\dynkin@fold@radius)$)%
- arc (-180:-135:{\dynkin@fold@radius});%
+ ($(\dynkin@root@name \the\@fromRoot)$)%
+ arc (180:225:{\dynkin@fold@radius});%
\fi%
\fi%
\end{scope}%
@@ -887,6 +961,7 @@
%% The starred form accepts <p> and <q> in the Bourbaki ordering.
\NewDocumentCommand\dynkinDefiniteDoubleRightUpArc{sO{}mm}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootPair{#3}{#4}%
@@ -896,15 +971,21 @@
\@toRoot=#4%
}%
\begin{scope}[on background layer]%
- \draw[/Dynkin diagram,/Dynkin diagram/edge,double,fill=none,#2]%
+ \draw[/Dynkin diagram,edge,double,fill=none,#2]%
($(\dynkin@root@name \the\@fromRoot)$)%
arc (270:360:{\dynkin@fold@radius}) -- ($(\dynkin@root@name \the\@toRoot)$);%
\ifdynkin@arrows%
- \path[
- -{Computer Modern Rightarrow[\dynkin@arrow@color]},
+ \ifdynkin@reverse@arrows%
+ \path[-{Computer Modern Rightarrow[\dynkin@arrow@color]},
+ ,tips]
+ ($(\dynkin@root@name \the\@toRoot)$)%
+ arc (0:-45:\dynkin@fold@radius);%
+ \else%
+ \path[-{Computer Modern Rightarrow[\dynkin@arrow@color]},
,tips]
($(\dynkin@root@name \the\@fromRoot)$)%
arc (270:315:\dynkin@fold@radius);%
+ \fi%
\fi%
\end{scope}%
}%
@@ -915,6 +996,7 @@
%% The starred form accepts <p> and <q> in the Bourbaki ordering.
\NewDocumentCommand\dynkinDefiniteDoubleLeftDownArc{sO{}mm}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootPair{#3}{#4}%
@@ -924,16 +1006,15 @@
\@toRoot=#4%
}%
\begin{scope}[on background layer]%
- \draw[/Dynkin diagram,/Dynkin diagram/edge,double,fill=none,#2]%
+ \draw[/Dynkin diagram,edge,double,fill=none,#2]%
($(\dynkin@root@name \the\@fromRoot)$)%
arc (90:180:{\dynkin@fold@radius}) -- ($(\dynkin@root@name \the\@toRoot)$);%
\ifdynkin@arrows%
\ifdynkin@reverse@arrows%
- \path[/Dynkin diagram,edge,
- -{Computer Modern Rightarrow[\dynkin@arrow@color]},
+ \path[-{Computer Modern Rightarrow[\dynkin@arrow@color]},
,tips]
($(\dynkin@root@name \the\@toRoot)$)%
- arc (135:90:{\dynkin@fold@radius});%
+ arc (180:{180-45}:{\dynkin@fold@radius});%
\else%
\path[
-{Computer Modern Rightarrow[\dynkin@arrow@color]},
@@ -952,6 +1033,7 @@
%% The starred form accepts <p> and <q> in the Bourbaki ordering.
\NewDocumentCommand\dynkinDefiniteDoubleDownLeftArc{sO{}mm}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootPair{#3}{#4}%
@@ -961,7 +1043,7 @@
\@toRoot=#4%
}%
\begin{scope}[on background layer]%
- \draw[/Dynkin diagram,/Dynkin diagram/edge,double,fill=none,#2]%
+ \draw[/Dynkin diagram,edge,double,fill=none,#2]%
($(\dynkin@root@name \the\@fromRoot)$)%
arc (360:270:{\dynkin@fold@radius}) -- ($(\dynkin@root@name \the\@toRoot)$);%
\ifdynkin@arrows%
@@ -970,7 +1052,7 @@
-{Computer Modern Rightarrow[\dynkin@arrow@color]},
,tips]
($(\dynkin@root@name \the\@toRoot)$)%
- arc (315:360:{\dynkin@fold@radius});%
+ arc (-90:-45:{\dynkin@fold@radius});%
\else%
\path[
-{Computer Modern Rightarrow[\dynkin@arrow@color]},
@@ -990,6 +1072,7 @@
%% The starred form accepts <p> and <q> in the Bourbaki ordering.
\NewDocumentCommand\dynkinDefiniteDoubleLeftUpArc{sO{}mm}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootPair{#3}{#4}%
@@ -999,16 +1082,15 @@
\@toRoot=#4%
}%
\begin{scope}[on background layer]%
- \draw[/Dynkin diagram,/Dynkin diagram/edge,double,fill=none,#2]%
+ \draw[/Dynkin diagram,edge,double,fill=none,#2]%
($(\dynkin@root@name \the\@fromRoot)$)%
arc (-90:-180:{\dynkin@fold@radius}) -- ($(\dynkin@root@name \the\@toRoot)$);%
\ifdynkin@arrows%
\ifdynkin@reverse@arrows%
- \path[/Dynkin diagram,edge
- -{Computer Modern Rightarrow[\dynkin@arrow@color]},
+ \path[-{Computer Modern Rightarrow[\dynkin@arrow@color]},
,tips]
($(\dynkin@root@name \the\@toRoot)$)%
- arc (-135:-90:\dynkin@fold@radius);%
+ arc (-180:-135:\dynkin@fold@radius);%
\else%
\path[,
-{Computer Modern Rightarrow[\dynkin@arrow@color]},
@@ -1027,6 +1109,7 @@
%% The starred form accepts <p> and <q> in the Bourbaki ordering.
\NewDocumentCommand\dynkinDefiniteDoubleDownRightSemiCircle{sO{}mm}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootPair{#3}{#4}%
@@ -1036,7 +1119,7 @@
\@toRoot=#4%
}%
\begin{scope}[on background layer]%
- \draw[/Dynkin diagram,/Dynkin diagram/edge,double,fill=none,#2]%
+ \draw[/Dynkin diagram,edge,double,fill=none,#2]%
($(\dynkin@root@name \the\@fromRoot)$)%
arc (90:-90:{\dynkin@fold@radius}) -- ($(\dynkin@root@name \the\@toRoot)$);%
\ifdynkin@arrows%
@@ -1045,7 +1128,7 @@
-{Computer Modern Rightarrow[\dynkin@arrow@color]},
,tips]
($(\dynkin@root@name \the\@toRoot)$)%
- arc (0:90:\dynkin@fold@radius);%
+ arc (-90:0:\dynkin@fold@radius);%
\else%
\path[
-{Computer Modern Rightarrow[\dynkin@arrow@color]},
@@ -1066,6 +1149,7 @@
%% The starred form accepts <p> and <q> in the Bourbaki ordering.
\NewDocumentCommand\dynkinDefiniteTripleDownRightSemiCircle{sO{}mm}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootPair{#3}{#4}%
@@ -1075,10 +1159,10 @@
\@toRoot=#4%
}%
\begin{scope}[on background layer]%
- \draw[/Dynkin diagram,/Dynkin diagram/edge,double,double distance=\dynkin@root@radius,fill=none,#2]%
+ \draw[/Dynkin diagram,edge,double,double distance=\dynkin@root@radius,fill=none,#2]%
($(\dynkin@root@name \the\@fromRoot)$)%
arc (90:-90:{\dynkin@fold@radius}) -- ($(\dynkin@root@name \the\@toRoot)$);%
- \draw[/Dynkin diagram,/Dynkin diagram/edge,fill=none,#2]%
+ \draw[/Dynkin diagram,edge,fill=none,#2]%
($(\dynkin@root@name \the\@fromRoot)$)%
arc (90:-90:{\dynkin@fold@radius}) -- ($(\dynkin@root@name \the\@toRoot)$);%
\ifdynkin@arrows%
@@ -1087,7 +1171,7 @@
-{Computer Modern Rightarrow[\dynkin@arrow@color]},
,tips]
($(\dynkin@root@name \the\@toRoot)$)%
- arc (0:90:\dynkin@fold@radius);%
+ arc (-90:0:\dynkin@fold@radius);%
\else%
\path[
-{Computer Modern Rightarrow[\dynkin@arrow@color]},
@@ -1108,6 +1192,7 @@
%% The starred form accepts <p> and <q> in the Bourbaki ordering.
\NewDocumentCommand\dynkinDefiniteDoubleUpRightSemiCircle{sO{}mm}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootPair{#3}{#4}%
@@ -1117,7 +1202,7 @@
\@toRoot=#4%
}%
\begin{scope}[on background layer]%
- \draw[/Dynkin diagram,/Dynkin diagram/edge,double,fill=none,#2]%
+ \draw[/Dynkin diagram,edge,double,fill=none,#2]%
($(\dynkin@root@name \the\@fromRoot)$)%
arc (-90:90:{\dynkin@fold@radius}) -- ($(\dynkin@root@name \the\@toRoot)$);%
\ifdynkin@arrows%
@@ -1126,7 +1211,7 @@
-{Computer Modern Rightarrow[\dynkin@arrow@color]},
,tips]
($(\dynkin@root@name \the\@toRoot)$)%
- arc (0:-90:\dynkin@fold@radius);%
+ arc (90:0:\dynkin@fold@radius);%
\else%
\path[
-{Computer Modern Rightarrow[\dynkin@arrow@color]},
@@ -1145,6 +1230,7 @@
%% The starred form accepts <p> and <q> in the Bourbaki ordering.
\NewDocumentCommand\dynkinEdge{sO{}mmm}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootPair{#4}{#5}%
@@ -1170,6 +1256,7 @@
%% The starred form accepts <p> and <q> in the Bourbaki ordering.
\NewDocumentCommand\dynkinEdgeArrow{sO{}mm}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\ifdynkin@arrows%
\IfBooleanTF{#1}%
{%
@@ -1199,11 +1286,51 @@
\fi%
}%
+\NewDocumentCommand\dynkinKacDoubleArrow{O{}mm}%
+{%
+ \draw[arrows = {-{Triangle Cap[length=.8mm,fill=white]}},%
+ /Dynkin diagram,edge, double=white,fill=white,double distance=1.8pt,#1]%
+ (\dynkin@root@name \the#2)--(\dynkin@root@name \the#3);%
+ \draw[arrows = {-{Classical TikZ Rightarrow[length=1mm]}},%
+ /Dynkin diagram,edge,double distance=1.8pt,#1]%
+ (\dynkin@root@name \the#2)--(\dynkin@root@name \the#3);%
+}%
+
+\NewDocumentCommand\dynkinKacTripleArrow{O{}mm}%
+{%
+ \draw[arrows = {-{Triangle Cap[length=.8mm,fill=white]}},%
+ /Dynkin diagram,edge,double=white,fill=white,double distance=1.8pt,#1]%
+ (\dynkin@root@name \the#2)--(\dynkin@root@name \the#3);%
+ \draw[arrows = {-{Classical TikZ Rightarrow[length=1mm]}},%
+ /Dynkin diagram,edge,double distance=1.8pt,#1]%
+ (\dynkin@root@name \the#2)--(\dynkin@root@name \the#3);%
+ \draw[/Dynkin diagram,edge,shorten >=1.1mm,#1]%
+ (\dynkin@root@name \the#2)--(\dynkin@root@name \the#3);%
+}%
+
+\NewDocumentCommand\dynkinKacQuadrupleArrow{O{}mm}%
+{%
+ \draw[arrows = {-{Triangle Cap[length=1.127mm,fill=white]}},%
+ /Dynkin diagram,edge,double=white,fill=white,shorten >=1mm,shorten <=1mm, double distance=3.6pt,#1]%
+ (\dynkin@root@name \the#2)--(\dynkin@root@name \the#3);%
+ \draw[arrows = {-{Classical TikZ Rightarrow[length=1.2mm]}},%
+ /Dynkin diagram,edge,double distance=3.6pt,shorten <=.83mm,#1]%
+ (\dynkin@root@name \the#2)--(\dynkin@root@name \the#3);%
+ \draw[arrows = {-{Classical TikZ Rightarrow[length=1.2mm]}},%
+ /Dynkin diagram,edge,double distance=1.2pt,shorten <= .83mm,
+ #1]%
+ (\dynkin@root@name \the#2)--(\dynkin@root@name \the#3);%
+}%
+
+\newcount\onesbit%
+\newcount\twosbit%
+
%% \dynkinDefiniteDoubleEdge{<p>}{<q>}
%% Draws an oriented double line from root <p> to root <q> on the current Dynkin diagram.
%% The starred form accepts <p> and <q> in the Bourbaki ordering.
\NewDocumentCommand\dynkinDefiniteDoubleEdge{sO{}mm}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootPair{#3}{#4}%
@@ -1212,8 +1339,6 @@
\@fromRoot=#3%
\@toRoot=#4%
}%
- \newcount\onesbit%
- \newcount\twosbit%
\StrChar{\dynkin@roots}{\the\@fromRoot}[\my@root@marker]%
\IfStrEq{\my@root@marker}{x}%
{%
@@ -1230,25 +1355,50 @@
{%
\global\twosbit=0%
}%
- \def\LL{.5*\dynkin@root@radius}
- \begin{scope}[on background layer]%
- \draw[/Dynkin diagram,/Dynkin diagram/edge,#2]%
- ($(\dynkin@root@name \the\@fromRoot)$)%
- --%
- +({\the\onesbit*\LL},{\LL})%
- --%
- ($(\dynkin@root@name \the\@toRoot)+(-\the\twosbit*\LL,\LL)$)%
- --%
- ($(\dynkin@root@name \the\@toRoot)$)%
- --%
- ($(\dynkin@root@name \the\@toRoot)-(\the\twosbit*\LL,\LL)$)%
- --%
- ($(\dynkin@root@name \the\@fromRoot)+(\the\onesbit*\LL,-\LL)$)%
- --%
- cycle;%
- \end{scope}%
- \ifdynkin@arrows%
- \dynkinEdgeArrow[#2]{\the\@fromRoot}{\the\@toRoot}%
+ \ifdynkin@Kac@arrows
+ \begin{scope}[on background layer]%
+ \ifdynkin@arrows%
+ \ifdynkin@reverse@arrows
+ \ifdynkin@is@backwards
+ \dynkinKacDoubleArrow[#2]{\@fromRoot}{\@toRoot}
+ \else%
+ \dynkinKacDoubleArrow[#2]{\@toRoot}{\@fromRoot}
+ \fi%
+ \else%
+ \ifdynkin@is@backwards
+ \dynkinKacDoubleArrow[#2]{\@toRoot}{\@fromRoot}
+ \else%
+ \dynkinKacDoubleArrow[#2]{\@fromRoot}{\@toRoot}
+ \fi%
+ \fi%
+ \else%
+ \draw[/Dynkin diagram,edge,double distance=3pt,#2]%
+ (\dynkin@root@name \the\@fromRoot)%
+ --%
+ (\dynkin@root@name \the\@toRoot);%
+ \fi%
+ \end{scope}%
+ \else
+ \def\LL{.5*\dynkin@root@radius}
+ \begin{scope}[on background layer]%
+ \draw[/Dynkin diagram,edge,#2]%
+ ($(\dynkin@root@name \the\@fromRoot)$)%
+ --%
+ +({\the\onesbit*\LL},{\LL})%
+ --%
+ ($(\dynkin@root@name \the\@toRoot)+(-\the\twosbit*\LL,\LL)$)%
+ --%
+ ($(\dynkin@root@name \the\@toRoot)$)%
+ --%
+ ($(\dynkin@root@name \the\@toRoot)-(\the\twosbit*\LL,\LL)$)%
+ --%
+ ($(\dynkin@root@name \the\@fromRoot)+(\the\onesbit*\LL,-\LL)$)%
+ --%
+ cycle;%
+ \end{scope}%
+ \ifdynkin@arrows%
+ \dynkinEdgeArrow[#2]{\the\@fromRoot}{\the\@toRoot}%
+ \fi%
\fi%
}%
@@ -1257,6 +1407,7 @@
%% The starred form accepts <p> and <q> in the Bourbaki ordering.
\NewDocumentCommand\dynkinTripleEdge{sO{}mm}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootPair{#3}{#4}%
@@ -1265,8 +1416,6 @@
\@fromRoot=#3%
\@toRoot=#4%
}%
- \newcount\onesbit
- \newcount\twosbit
\StrChar{\dynkin@roots}{\the\@fromRoot}[\my@root@marker]%
\IfStrEq{\my@root@marker}{x}%
{%
@@ -1283,28 +1432,57 @@
{%
\global\twosbit=0%
}%
- \begin{scope}[on background layer]%
- \draw[/Dynkin diagram,/Dynkin diagram/edge,#2]%
- ($(\dynkin@root@name \the\@fromRoot)$)%
- --%
- +({\the\onesbit*\dynkin@root@radius},{\dynkin@root@radius})%
- --%
- ($(\dynkin@root@name \the\@toRoot)+(-\twosbit*\dynkin@root@radius,\dynkin@root@radius)$)%
- --%
- ($(\dynkin@root@name \the\@toRoot)$)%
- --%
- ($(\dynkin@root@name \the\@toRoot)-(\twosbit*\dynkin@root@radius,\dynkin@root@radius)$)%
- --%
- ($(\dynkin@root@name \the\@fromRoot)+(\onesbit*\dynkin@root@radius,-\dynkin@root@radius)$)%
- --%
- cycle;%
- \draw[/Dynkin diagram,/Dynkin diagram/edge,#2]
- ($(\dynkin@root@name \the\@fromRoot)$)
- --
- ($(\dynkin@root@name \the\@toRoot)$);%
- \end{scope}%
- \ifdynkin@arrows%
- \dynkinEdgeArrow[#2]{\the\@fromRoot}{\the\@toRoot}%
+ \ifdynkin@Kac@arrows
+ \begin{scope}[on background layer]%
+ \ifdynkin@arrows%
+ \ifdynkin@reverse@arrows
+ \ifdynkin@is@backwards
+ \dynkinKacTripleArrow[#2]{\@fromRoot}{\@toRoot}
+ \else%
+ \dynkinKacTripleArrow[#2]{\@toRoot}{\@fromRoot}
+ \fi%
+ \else%
+ \ifdynkin@is@backwards
+ \dynkinKacTripleArrow[#2]{\@toRoot}{\@fromRoot}
+ \else%
+ \dynkinKacTripleArrow[#2]{\@fromRoot}{\@toRoot}
+ \fi%
+ \fi%
+ \else%
+ \draw[/Dynkin diagram,edge,double distance=3pt,#2]%
+ (\dynkin@root@name \the\@fromRoot)%
+ --%
+ (\dynkin@root@name \the\@toRoot);%
+ \draw[/Dynkin diagram,edge,#2]%
+ (\dynkin@root@name \the\@fromRoot)%
+ --%
+ (\dynkin@root@name \the\@toRoot);%
+ \fi%
+ \end{scope}%
+ \else
+ \begin{scope}[on background layer]%
+ \draw[/Dynkin diagram,edge,#2]%
+ ($(\dynkin@root@name \the\@fromRoot)$)%
+ --%
+ +({\the\onesbit*\dynkin@root@radius},{\dynkin@root@radius})%
+ --%
+ ($(\dynkin@root@name \the\@toRoot)+(-\twosbit*\dynkin@root@radius,\dynkin@root@radius)$)%
+ --%
+ ($(\dynkin@root@name \the\@toRoot)$)%
+ --%
+ ($(\dynkin@root@name \the\@toRoot)-(\twosbit*\dynkin@root@radius,\dynkin@root@radius)$)%
+ --%
+ ($(\dynkin@root@name \the\@fromRoot)+(\onesbit*\dynkin@root@radius,-\dynkin@root@radius)$)%
+ --%
+ cycle;%
+ \draw[/Dynkin diagram,edge,#2]
+ ($(\dynkin@root@name \the\@fromRoot)$)
+ --
+ ($(\dynkin@root@name \the\@toRoot)$);%
+ \end{scope}%
+ \ifdynkin@arrows%
+ \dynkinEdgeArrow[#2]{\the\@fromRoot}{\the\@toRoot}%
+ \fi%
\fi%
}%
@@ -1315,6 +1493,7 @@
%% The starred form accepts <p> and <q> in the Bourbaki ordering.
\NewDocumentCommand\dynkinQuadrupleEdge{sO{}mm}%
{%
+ \ifdefined\filldraw\else\dynkin@error@not@in@tikz\fi%
\IfBooleanTF{#1}%
{%
\convertRootPair{#3}{#4}%
@@ -1323,29 +1502,51 @@
\@fromRoot=#3%
\@toRoot=#4%
}%
- \begin{scope}[on background layer]%
- \draw[%
- /Dynkin diagram,
- /Dynkin diagram/edge,
- #2,
- ]%
- ($(\dynkin@root@name \the\@fromRoot)+(0,\dynkin@root@radius)$)--%
- ($(\dynkin@root@name \the\@toRoot)+(0,\dynkin@root@radius)$)--%
- ($(\dynkin@root@name \the\@toRoot)+(0,-\dynkin@root@radius)$)--%
- ($(\dynkin@root@name \the\@fromRoot)+(0,-\dynkin@root@radius)$)--%
- cycle;
- \draw[%
- /Dynkin diagram,/Dynkin diagram/edge,
- #2,
- ]%
- ($(\dynkin@root@name \the\@fromRoot)+(0,\dynkin@root@radius/3)$)--%
- ($(\dynkin@root@name \the\@toRoot)+(0,\dynkin@root@radius/3)$)--%
- ($(\dynkin@root@name \the\@toRoot)+(0,-\dynkin@root@radius/3)$)--%
- ($(\dynkin@root@name \the\@fromRoot)+(0,-\dynkin@root@radius/3)$)--%
- cycle;
- \end{scope}%
- \ifdynkin@arrows%
- \dynkinEdgeArrow[#2]{\the\@fromRoot}{\the\@toRoot}%
+ \ifdynkin@Kac@arrows
+ \begin{scope}[on background layer]%
+ \ifdynkin@arrows%
+ \ifdynkin@reverse@arrows
+ \ifdynkin@is@backwards
+ \dynkinKacQuadrupleArrow[#2]{\@fromRoot}{\@toRoot}
+ \else%
+ \dynkinKacQuadrupleArrow[#2]{\@toRoot}{\@fromRoot}
+ \fi%
+ \else%
+ \ifdynkin@is@backwards
+ \dynkinKacQuadrupleArrow[#2]{\@toRoot}{\@fromRoot}
+ \else%
+ \dynkinKacQuadrupleArrow[#2]{\@fromRoot}{\@toRoot}
+ \fi%
+ \fi%
+ \else%
+ \draw[/Dynkin diagram,edge,double distance=3pt,#2]%
+ (\dynkin@root@name \the\@fromRoot)%
+ --%
+ (\dynkin@root@name \the\@toRoot);%
+ \draw[/Dynkin diagram,edge,#2]%
+ (\dynkin@root@name \the\@fromRoot)%
+ --%
+ (\dynkin@root@name \the\@toRoot);%
+ \fi%
+ \end{scope}%
+ \else
+ \begin{scope}[on background layer]%
+ \draw[/Dynkin diagram,edge,#2]%
+ ($(\dynkin@root@name \the\@fromRoot)+(0,\dynkin@root@radius)$)--%
+ ($(\dynkin@root@name \the\@toRoot)+(0,\dynkin@root@radius)$)--%
+ ($(\dynkin@root@name \the\@toRoot)+(0,-\dynkin@root@radius)$)--%
+ ($(\dynkin@root@name \the\@fromRoot)+(0,-\dynkin@root@radius)$)--%
+ cycle;
+ \draw[/Dynkin diagram,edge,#2]%
+ ($(\dynkin@root@name \the\@fromRoot)+(0,\dynkin@root@radius/3)$)--%
+ ($(\dynkin@root@name \the\@toRoot)+(0,\dynkin@root@radius/3)$)--%
+ ($(\dynkin@root@name \the\@toRoot)+(0,-\dynkin@root@radius/3)$)--%
+ ($(\dynkin@root@name \the\@fromRoot)+(0,-\dynkin@root@radius/3)$)--%
+ cycle;
+ \end{scope}%
+ \ifdynkin@arrows%
+ \dynkinEdgeArrow[#2]{\the\@fromRoot}{\the\@toRoot}%
+ \fi%
\fi%
}%
@@ -1411,12 +1612,24 @@
\def\dynkin@series{A}
% Which series of root system: A,B,C,D,E,F,G
+\def\dynkin@label@list{}
+% List of labels for the roots.
+
+\def\dynkin@label@list@star{}
+% List of alternate labels for the roots.
+
\newcount\dynkin@rank
% Which rank of root system: 1,2,...
\newcount\dynkin@nodes
% How many nodes (besides the zero node for affine diagrams) are there?
+\newif\ifdynkin@is@backwards
+% Are we drawing this thing in a reverse direction?
+
+\newif\ifdynkin@is@upsidedown
+% Are we drawing this thing in a reverse direction?
+
\newif\ifdynkin@is@extended
% Is this an extended extended root system?
@@ -1444,6 +1657,9 @@
\newif\ifdynkin@Coxeter
% Should we draw Coxeter diagrams?
+\newif\ifdynkin@Kac@arrows
+% Should we draw arrows following Kac?
+
\newif\ifdynkin@odd
% For twisted A series diagrams, is the rank odd?
@@ -1454,7 +1670,10 @@
% Default maximum number of nodes arranged vertically in the folding of the Dynkin diagram
\def\dynkin@label@directions{}
-% List of directions in which to draw the labels attached to the roots: a=above, b=below, l=left, r=right.
+% List of directions in which to draw the labels attached to the roots.
+
+\def\dynkin@label@directions@star{}
+% List of directions in which to draw the labels attached to the roots, for alternate labels.
\def\dynkin@current@location{(0,0)}
@@ -1469,76 +1688,80 @@
name = anonymous,
mark/.estore in = \dynkin@root@mark,
mark = *,
- affineMark/.estore in = \dynkin@affine@root@mark,
- affineMark = o,
- edgeLength/.estore in = \dynkin@edge@length,
- edgeLength = .35cm,
+ affine mark/.estore in = \dynkin@affine@root@mark,
+ affine mark = o,
+ edge length/.estore in = \dynkin@edge@length,
+ edge length = .35cm,
edge/.style={draw=black,fill=white,thin},
- makeIndefiniteEdge/.code={\dynkin@set@edge@indefinite@pair{#1}},
- indefiniteEdgeRatio/.estore in = \dynkin@indefinite@edge@ratio,
- indefiniteEdgeRatio = 1.6,
- indefiniteEdge/.style={draw=black,fill=white,thin,densely dotted},
+ make indefinite edge/.code={\dynkin@set@edge@indefinite@pair{#1}},
+ indefinite edge ratio/.estore in = \dynkin@indefinite@edge@ratio,
+ indefinite edge ratio = 1.6,
+ indefinite edge/.style={draw=black,fill=white,thin,densely dotted},
+ backwards/.is if = dynkin@is@backwards,
+ backwards = false,
+ upside down/.is if = dynkin@is@upsidedown,
+ upside down = false,
arrows/.is if = dynkin@arrows,
arrows = true,
- reverseArrows/.is if = dynkin@reverse@arrows,
- reverseArrows = false,
- foldStyle/.style = {draw=black!40,fill=none,line width=\dynkin@root@radius},
- leftFold/.style = {},
- rightFold/.style = {},
- arrowColor/.estore in = \dynkin@arrow@color,
- arrowColor=black,
- doubleEdges/.style = {
- foldStyle/.style = {
+ reverse arrows/.is if = dynkin@reverse@arrows,
+ reverse arrows = false,
+ fold style/.style = {draw=black!40,fill=none,line width=\dynkin@root@radius},
+ fold left style/.style = {},
+ fold right style/.style = {},
+ arrow color/.estore in = \dynkin@arrow@color,
+ arrow color = black,
+ double edges/.style = {
+ fold style/.style = {
draw=black,
double=white,
fill=none,
double distance=\dynkin@root@radius,
line width=\defaultpgflinewidth}
},
- doubleFold/.style = {
- foldStyle/.style = {
+ double fold/.style = {
+ fold style/.style = {
draw=black,
double=black!40,
fill=none,
double distance=\dynkin@root@radius,
line width=\defaultpgflinewidth}
},
- doubleLeft/.style = {
- leftFold/.style = {
+ double left/.style = {
+ fold left style/.style = {
draw=black,
double=white,
fill=none,
double distance=\dynkin@root@radius,
line width=\defaultpgflinewidth}
},
- doubleFoldLeft/.style = {
- leftFold/.style = {
+ double fold left/.style = {
+ fold left style/.style = {
draw=black,
double=black!40,
fill=none,
double distance=\dynkin@root@radius,
line width=\defaultpgflinewidth}
},
- doubleRight/.style = {
- rightFold/.style = {
+ double right/.style = {
+ fold right style/.style = {
draw=black,
double=white,
fill=none,
double distance=\dynkin@root@radius,
line width=\defaultpgflinewidth}
},
- doubleFoldRight/.style = {
- rightFold/.style = {
+ double fold right/.style = {
+ fold right style/.style = {
draw=black,
double=black!40,
fill=none,
double distance=\dynkin@root@radius,
line width=\defaultpgflinewidth}
},
- radius/.estore in = \dynkin@root@radius,
- radius=.05cm,
- foldradius/.estore in = \dynkin@fold@radius,
- foldradius=.3cm,
+ root radius/.estore in = \dynkin@root@radius,
+ root radius=.05cm,
+ fold radius/.estore in = \dynkin@fold@radius,
+ fold radius=.3cm,
*/.style = {
draw=black,
fill=black,
@@ -1549,7 +1772,8 @@
},
X/.style = {
draw=black,
- thick
+ very thick,
+ line cap=round
},
o/.style = {
draw=black,
@@ -1560,36 +1784,39 @@
fill=white,
},
x/.style = {
+ thick,
draw=black,
+ line cap=round
},
Coxeter/.is if = dynkin@Coxeter,
Coxeter=false,
ordering/.store in = \dynkin@ordering,
ordering = Bourbaki,
text/.style={scale=.7},
- labelMacro/.code = {\regurgitate{#1}},
+ label macro/.code = {\regurgitate{#1}},
+ label macro*/.code = {\regurgitate{#1}},
+ labels/.store in = \dynkin@label@list,
+ labels*/.store in = \dynkin@label@list@star,
odd/.is if = dynkin@odd,
odd=false,
+ Kac arrows/.is if = dynkin@Kac@arrows,
+ Kac arrows=false,
Kac/.style={
+ Kac arrows=true,
ordering=Kac,
- radius=.05cm,
- edgeLength=.66cm,
- indefiniteEdgeRatio = 3,
- o/.style =
- {
- draw=black,
- fill=white,
- preaction={
- draw=white,
- line width=.9mm
- }
- },
+ root radius=.05cm,
+ edge length=.66cm,
+ indefinite edge ratio = 3,
+ edge/.style={draw=black,fill=white,thin,shorten <=1mm,shorten >=1mm},
+ fold style/.style = {draw=black!40,fill=none,line width=\dynkin@root@radius,shorten <=1mm,shorten >=1mm},
mark=o,
- indefiniteEdge/.style={draw=black,fill=white,thin,loosely dotted},
+ indefinite edge/.style={draw=black,fill=none,thin,loosely dotted},
},
default/.style = {
label/.is if = dynkin@label@the@roots,
label = false,
+ labels = {},
+ labels* = {},
at/.estore in = \dynkin@current@location,
at = {(0,0)},
parabolic/.estore in = \dynkin@parabolic,
@@ -1600,46 +1827,71 @@
extended = false,
twisted/.is if = dynkin@is@twisted,
twisted = false,
- twistedSeries/.estore in = \dynkin@twisted@series,
- twistedSeries = 0,
+ twisted series/.estore in = \dynkin@twisted@series,
+ twisted series = 0,
ply/.estore in = \dynkin@ply@value,
ply = 1,
fold/.style = {ply=2},
- foldleft/.is if = dynkin@left@fold,
- foldleft = false,
- foldright/.is if = dynkin@right@fold,
- foldright = false,
+ fold left/.is if = dynkin@left@fold,
+ fold left = false,
+ fold right/.is if = dynkin@right@fold,
+ fold right = false,
},
.search also={/tikz},
}
\ProcessPgfPackageOptions{/Dynkin diagram}\relax
-%% \dynkin@put@direction{<r>}{<d>}
-%% Assigns to \dynkin@label@directions the direction that the label of root <r> (in default ordering) should sit from the root node location, <d>=left, right, above, below or diagonal.
-\NewDocumentCommand\dynkin@put@direction{mm}%
+\newcount\drpo%
+\newcount\dynkin@where%
+
+%% \dynkin@put@direction{<r>}{<d>}{<d*>}
+%% Assigns to \dynkin@label@directions or \dynkin@label@directions@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@put@direction{smm}%
{%
- \newcount\drpo%
\drpo=\the\dynkin@nodes%
\advance\drpo by 1%
- \newcount\dynkin@where%
- \dynkin@where=#1%
- \StrMid{\dynkin@label@directions}{1}{\the\dynkin@where}[\dynkin@start]%
- \advance\dynkin@where by 2
- \StrMid{\dynkin@label@directions}{\the\dynkin@where}{\the\drpo}[\dynkin@end]%
- \IfStrEqCase{#2}{%
- {left}{\xdef\dynkin@label@directions{\dynkin@start l\dynkin@end}}%
- {right}{\xdef\dynkin@label@directions{\dynkin@start r\dynkin@end}}%
- {above}{\xdef\dynkin@label@directions{\dynkin@start a\dynkin@end}}%
- {below}{\xdef\dynkin@label@directions{\dynkin@start b\dynkin@end}}%
- {diagonal}{\xdef\dynkin@label@directions{\dynkin@start d\dynkin@end}}%
+ \dynkin@where=#2%
+ \IfBooleanTF{#1}%
+ {%
+ \StrMid{\dynkin@label@directions@star}{1}{\the\dynkin@where}[\dynkin@start]%
+ \advance\dynkin@where by 2
+ \StrMid{\dynkin@label@directions@star}{\the\dynkin@where}{\the\drpo}[\dynkin@end]%
+ \IfStrEqCase{#3}{%
+ {right}{\xdef\dynkin@label@directions@star{\dynkin@start 0\dynkin@end}}%
+ {above right}{\xdef\dynkin@label@directions@star{\dynkin@start 1\dynkin@end}}%
+ {above}{\xdef\dynkin@label@directions@star{\dynkin@start 2\dynkin@end}}%
+ {above left}{\xdef\dynkin@label@directions@star{\dynkin@start 3\dynkin@end}}%
+ {left}{\xdef\dynkin@label@directions@star{\dynkin@start 4\dynkin@end}}%
+ {below left}{\xdef\dynkin@label@directions@star{\dynkin@start 5\dynkin@end}}%
+ {below}{\xdef\dynkin@label@directions@star{\dynkin@start 6\dynkin@end}}%
+ {below right}{\xdef\dynkin@label@directions@star{\dynkin@start 7\dynkin@end}}%
+ }%
+ [\ClassError{Dynkin diagrams}%
+ {Unrecognized direction: ``#2'' in Dynkin diagram \dynkin@user@series{\dynkin@user@string}}{}]%
+ }%
+ {%
+ \StrMid{\dynkin@label@directions}{1}{\the\dynkin@where}[\dynkin@start]%
+ \advance\dynkin@where by 2
+ \StrMid{\dynkin@label@directions}{\the\dynkin@where}{\the\drpo}[\dynkin@end]%
+ \IfStrEqCase{#3}{%
+ {right}{\xdef\dynkin@label@directions{\dynkin@start 0\dynkin@end}}%
+ {above right}{\xdef\dynkin@label@directions{\dynkin@start 1\dynkin@end}}%
+ {above}{\xdef\dynkin@label@directions{\dynkin@start 2\dynkin@end}}%
+ {above left}{\xdef\dynkin@label@directions{\dynkin@start 3\dynkin@end}}%
+ {left}{\xdef\dynkin@label@directions{\dynkin@start 4\dynkin@end}}%
+ {below left}{\xdef\dynkin@label@directions{\dynkin@start 5\dynkin@end}}%
+ {below}{\xdef\dynkin@label@directions{\dynkin@start 6\dynkin@end}}%
+ {below right}{\xdef\dynkin@label@directions{\dynkin@start 7\dynkin@end}}%
+ }%
+ [\ClassError{Dynkin diagrams}%
+ {Unrecognized direction: ``#2'' in Dynkin diagram \dynkin@user@series{\dynkin@user@string}}{}]%
}%
- [\ClassError{Dynkin diagrams}{Unrecognized direction: ``#2'' in Dynkin diagram \dynkin@user@series{\dynkin@user@string}}{}]%
}%
-\xdef\replace@DR{}
-
+%\xdef\replace@DR{}
+%
% \expand@Dynkin@Roots@By@Char{<c>},
% for example if <c> is the letter x, expands out any expression like
% x7 in \dynkin@string into 7 copies of the letter x.
@@ -1735,12 +1987,14 @@
{%
\xdef\dynkin@indefinite@edge@list{}%
}%
+%
+
+\newcount\first%
+\newcount\second%
\NewDocumentCommand\dynkin@set@edge@indefinite{mm}%
{%
- \newcount\first%
\first=#1\relax%
- \newcount\second%
\second=#2\relax%
\ifnum\the\first<\the\second%
\listxadd\dynkin@indefinite@edge@list{\the\first,\the\second}%
@@ -1777,9 +2031,7 @@
\@toRoot=#3%
}%
% Next we sort the order, since edges are stored as undirected edges.
- \newcount\first%
\global\first=\@fromRoot\relax%
- \newcount\second%
\global\second=\@toRoot\relax%
\ifnum\the\second<\the\first%
\global\first=\@toRoot\relax%
@@ -1793,13 +2045,16 @@
\dolistloop{\dynkin@indefinite@edge@list}%
}%
+
+\newcount\rootnum
+\newcount\dynkin@string@length
+\newcount\rootnumpo%
+
% \dynkin@grok@indefinite@edges{} reads the input string <s> found when you write \dynkin{<c>}{<s>}, and
% interprets it to say which edges are indefinite edges.
\NewDocumentCommand\dynkin@grok@indefinite@edges{}%
{%
- \newcount\rootnum
\rootnum=1
- \newcount\dynkin@string@length
\StrLen{\dynkin@string}[\temp]%
\dynkin@string@length=\temp
\foreach \i in {2,...,\the\dynkin@string@length}%
@@ -1807,7 +2062,6 @@
\StrChar{\dynkin@string}{\i}[\c]%
\IfStrEq{\c}{.}%
{%
- \newcount\rootnumpo%
\rootnumpo=\rootnum%
\advance\rootnumpo by 1\relax%
\ifnum\the\rootnum<\the\dynkin@nodes%
@@ -1827,38 +2081,53 @@
\NewDocumentCommand\dynkin@clear@label@directions{}%
{%
\xdef\dynkin@label@directions{}%
+ \xdef\dynkin@label@directions@star{}%
}%
\NewDocumentCommand\dynkin@set@default@label@directions{}%
{%
- \newcount\drpo%
+% \newcount\drpo%
\drpo=\the\dynkin@nodes%
\advance\drpo by 1\relax%
\xdef\dynkin@label@directions{\repeatCharacter{\the\drpo}{?}}%
+ \xdef\dynkin@label@directions@star{\repeatCharacter{\the\drpo}{?}}%
}%
\newlength{\defaultpgflinewidth}%
-
-
-% \@dynkin[<s>]{<X>}[<sb>]{<Y>}
-% Draws a complete Dynkin diagram of
-% series <X> and
-% subseries <sb>,
-% described by the string <Y>
-% with TikZ options specified by <s>.
+%
+%
+%% \@dynkin[<s>]{<X>}[<sb>]{<Y>}
+%% Draws a complete Dynkin diagram of
+%% series <X> and
+%% subseries <sb>,
+%% described by the string <Y>
+%% with TikZ options specified by <s>.
\NewDocumentCommand\@dynkin{O{}mO{0}m}%
{%
+ \setcounter{dynkinRootNo}{0}%
\setlength{\defaultpgflinewidth}{\pgflinewidth}%
\global\defaultpgflinewidth=\defaultpgflinewidth\relax%
\dynkin@clear@indefinite@edge@list%
\xdef\dynkin@parabolic{0}%
\pgfkeys{/Dynkin diagram, default, #1}%
+ \ifdynkin@is@backwards%
+ \tikzset{xscale=-1}%
+ \fi%
+ \ifdynkin@is@upsidedown%
+ \tikzset{yscale=-1}%
+ \fi%
+ \IfStrEq{\dynkin@label@list\dynkin@label@list@star}{}%
+ {%
+ }%
+ {%
+ \global\dynkin@label@the@rootstrue%
+ }%
\xdef\dynkin@user@series{#2}%
\xdef\dynkin@twisted@series{#3}%
\xdef\dynkin@user@string{#4}%
\global\dynkin@ply=\dynkin@ply@value\relax%
-\xdef\dynkin@indefinite@edge@length{(\dynkin@edge@length*\dynkin@indefinite@edge@ratio)}\relax%
+ \xdef\dynkin@indefinite@edge@length{(\dynkin@edge@length*\dynkin@indefinite@edge@ratio)}\relax%
\xdef\dynkin@series{#2}%
\IfStrEq{\dynkin@diagram@name}{anonymous}%
{%
@@ -1891,7 +2160,9 @@
\dynkin@cross@out@parabolics{}%
\dynkin@set@default@label@directions{}%
\check@Dynkin@diagram{}%
- \node (Dynkin current) at \dynkin@current@location{};%
+ \node[anchor=base,inner sep=0pt,outer sep=0pt] (origin) at \dynkin@current@location {};
+% \node (Dynkin current) at (origin) {};%
+ \node (Dynkin current) at ($(origin)+(0,0.5ex)$){};
\ifdynkin@is@twisted%
\csname twisted\dynkin@series dynkin\endcsname%
\else%
@@ -1903,7 +2174,7 @@
\fi%
\dynkinRefreshRoots%
}%
-
+%
%% We know the number of nodes; lets find the rank.
\NewDocumentCommand\dynkin@find@rank{}%
{%
@@ -1940,11 +2211,12 @@
\fi%
}%
+\newcount\lenny
+
%% \dynkin@grok@series
%% Interprets the dynkin@series, to see if it is extended, twisted, and what twisted series it is.
\NewDocumentCommand\dynkin@grok@series{}%
{%
- \newcount\lenny
\StrLen{\dynkin@series}[\lenny]
\ifnum\lenny>1%
\dynkin@error@series%
@@ -1953,7 +2225,7 @@
\IfStrEqCase{\dynkin@twisted@series}%
{%
{0}{}%
- {1}{ \global\dynkin@is@extendedtrue}%
+ {1}{ \global\dynkin@is@extendedtrue}%
{2}{%
\IfSubStr{ADE}{\dynkin@series}%
{%
@@ -2150,6 +2422,15 @@
\fi%
}%
+\NewDocumentCommand\dynkin@error@not@in@tikz{}
+{%
+ \ClassError%
+ {Dynkin diagrams}%
+ {Dynkin diagram macros called outside of tikz environment}%
+ {}%
+}%
+
+
\NewDocumentCommand\dynkin@error@root@ordering{}
{%
\ClassError%
@@ -2281,10 +2562,10 @@
}%
-% A slight headache: all of the routines that draw Dynkin diagrams are written
-% in Bourbaki ordering. We store the roots in the current ordering.
-% So when we draw edges, we need to convert from the Bourbaki ordering each time.
-% We store the conversions here.
+%% A slight headache: all of the routines that draw Dynkin diagrams are written
+%% in Bourbaki ordering. We store the roots in the current ordering.
+%% So when we draw edges, we need to convert from the Bourbaki ordering each time.
+%% We store the conversions here.
\newcount\RootNumber
\newcount\@fromRoot
\newcount\@toRoot
@@ -2329,10 +2610,10 @@
{%
{TestOrder}%
{%
- \RootNumber=#1
- \advance\RootNumber by 1
+ \global\RootNumber=#1
+ \global\advance\RootNumber by 1
\ifnum\RootNumber>\the\dynkin@rank%
- \RootNumber=1%
+ \global\RootNumber=1%
\fi%
}%
}%
@@ -2344,7 +2625,16 @@
{%
{Adams}{\swapRootIfInLastTwoRoots{#1}}%
{Dynkin}{\swapRootIfInLastTwoRoots{#1}}%
- {Kac}{\swapRootIfInLastTwoRoots{#1}}%
+ {Kac}{%
+ \ifdynkin@is@twisted
+ \global\RootNumber=#1
+ \else
+ \ifdynkin@is@extended
+ \global\RootNumber=#1
+ \else
+ \swapRootIfInLastTwoRoots{#1}
+ \fi
+ \fi}%
}%
[\global\RootNumber=#1]%
}%
@@ -2415,9 +2705,9 @@
\NewDocumentCommand\convertRootPair{mm}
{%
\convertRootNumber{#1}%
- \@fromRoot=\RootNumber%
+ \global\@fromRoot=\RootNumber%
\convertRootNumber{#2}%
- \@toRoot=\RootNumber%
+ \global\@toRoot=\RootNumber%
}%
\ExplSyntaxOn
@@ -2484,14 +2774,16 @@
\node (Dynkin current) at (\dynkin@root@name \the\RootNumber){};%
}%
-%% \dynkinPlaceRootHere{<n>}{<L>}
-%% \dynkinPlaceRootHere*{<n>}{<L>}
+%% \dynkinPlaceRootHere{<n>}{<L>}{<L*>}
+%% \dynkinPlaceRootHere*{<n>}{<L>}{<L*>}
%% Tell TikZ to place node <n> for a root of a Dynkin diagram at the current
%% cursor location. Draws nothing.
-%% <L>=label positioning: above, below, left, right
+%% <L>=label positioning: above, below, left, right, above left, above right, below left, below right.
+%% <L*> similarly, the alternate label position.
%% Starred form converts <n> from Bourbaki ordering to default ordering.
-\NewDocumentCommand\dynkinPlaceRootHere{smm}%
+\NewDocumentCommand\dynkinPlaceRootHere{smmm}%
{%
+\xdef\yyyy{#2}
\IfBooleanTF{#1}%
{%
\convertRootNumber{#2}%
@@ -2501,21 +2793,28 @@
}%
\node (\dynkin@root@name \the\RootNumber) at (Dynkin current) {};%
\dynkin@put@direction{\the\RootNumber}{#3}%
+ \dynkin@put@direction*{\the\RootNumber}{#4}%
}%
-%% \dynkinPlaceRootRelativeTo{<p>}{<q>}{<d>}{<L>}
-%% \dynkinPlaceRootRelativeTo*{<p>}{<q>}{<d>}{<L>}
+
+\newif\ifdynkin@hex@grid
+\dynkin@hex@gridtrue
+
+%% \dynkinPlaceRootRelativeTo{<p>}{<q>}{<d>}{<L>}{<L*>}
+%% \dynkinPlaceRootRelativeTo*{<p>}{<q>}{<d>}{<L>}{<L*>}
%% Tell TikZ to place node <p> for a root of a Dynkin diagram at a location
%% in direction <d> from root <q>. Draws nothing.
-%% <L> is the label position: above, below, left, right.
+%% <L> is the label position: above, below, left, right, above left, above right, below left, below right.
+%% <L*> is the position of the alternate label similarly.
%% <d> is the direction from <q>:
%% west,east,south,north,
%% northeast,northwest,southeast,southwest,
%% southfold,northfold,
%% southeastfold,southwestfold,northeastfold,northwestfold.
%% Starred form is in Bourbaki root ordering; otherwise default ordering.
-\NewDocumentCommand\dynkinPlaceRootRelativeTo{smmmm}%
+\NewDocumentCommand\dynkinPlaceRootRelativeTo{smmmmm}%
{%
+\xdef\ssss{#2}
\IfBooleanTF{#1}%
{%
\convertRootPair{#3}{#2}%
@@ -2530,25 +2829,59 @@
\else
\xdef\dynkin@distance{\dynkin@edge@length}
\fi
- \IfStrEqCase{#4}%
- {%
- {west}{\xdef\x{-\dynkin@distance}\xdef\y{0}}%
- {east}{\xdef\x{\dynkin@distance}\xdef\y{0}}%
- {south}{\xdef\x{0}\xdef\y{-\dynkin@distance}}%
- {north}{\xdef\x{0}\xdef\y{\dynkin@distance}}%
- {southeast}{\xdef\x{cos(-60)*\dynkin@distance}\xdef\y{sin(-60)*\dynkin@distance}}%
- {southwest}{\xdef\x{cos(240)*\dynkin@distance}\xdef\y{sin(240)*\dynkin@distance}}%
- {northeast}{\xdef\x{cos(60)*\dynkin@distance}\xdef\y{sin(60)*\dynkin@distance}}%
- {northwest}{\xdef\x{cos(120)*\dynkin@distance}\xdef\y{sin(120)*\dynkin@distance}}%
- {southeastfold}{\xdef\x{\dynkin@fold@radius}\xdef\y{-\dynkin@fold@radius}}%
- {southwestfold}{\xdef\x{-\dynkin@fold@radius}\xdef\y{-\dynkin@fold@radius}}%
- {northeastfold}{\xdef\x{\dynkin@fold@radius}\xdef\y{\dynkin@fold@radius}}%
- {northwestfold}{\xdef\x{-\dynkin@fold@radius}\xdef\y{\dynkin@fold@radius}}%
- {northfold}{\xdef\x{0}\xdef\y{2*\dynkin@fold@radius}}%
- {southfold}{\xdef\x{0}\xdef\y{-2*\dynkin@fold@radius}}%
- }%
- \node (Dynkin current) at ($(\dynkin@root@name \the\@fromRoot)+({\x},{\y})$){};
- \dynkinPlaceRootHere{\@toRoot}{#5}%
+ \ifdynkin@hex@grid
+ \IfStrEqCase{#4}%
+ {%
+ {west}{\xdef\xd{-\dynkin@distance}\xdef\yd{0}}%
+ {east}{\xdef\xd{\dynkin@distance}\xdef\yd{0}}%
+ {south}{\xdef\xd{0}\xdef\yd{-\dynkin@distance}}%
+ {north}{\xdef\xd{0}\xdef\yd{\dynkin@distance}}%
+ {southeast}{\xdef\xd{cos(-60)*\dynkin@distance}\xdef\yd{sin(-60)*\dynkin@distance}}%
+ {southwest}{\xdef\xd{cos(240)*\dynkin@distance}\xdef\yd{sin(240)*\dynkin@distance}}%
+ {northeast}{\xdef\xd{cos(60)*\dynkin@distance}\xdef\yd{sin(60)*\dynkin@distance}}%
+ {northwest}{\xdef\xd{cos(120)*\dynkin@distance}\xdef\yd{sin(120)*\dynkin@distance}}%
+ {southeastfold}{\xdef\xd{\dynkin@fold@radius}\xdef\yd{-\dynkin@fold@radius}}%
+ {southwestfold}{\xdef\xd{-\dynkin@fold@radius}\xdef\yd{-\dynkin@fold@radius}}%
+ {northeastfold}{\xdef\xd{\dynkin@fold@radius}\xdef\yd{\dynkin@fold@radius}}%
+ {northwestfold}{\xdef\xd{-\dynkin@fold@radius}\xdef\yd{\dynkin@fold@radius}}%
+ {northfold}{\xdef\xd{0}\xdef\yd{2*\dynkin@fold@radius}}%
+ {southfold}{\xdef\xd{0}\xdef\yd{-2*\dynkin@fold@radius}}%
+ }%
+ \else%
+ \IfStrEqCase{#4}%
+ {%
+ {west}{\xdef\xd{-\dynkin@distance}\xdef\yd{0}}%
+ {east}{\xdef\xd{\dynkin@distance}\xdef\yd{0}}%
+ {south}{\xdef\xd{0}\xdef\yd{-\dynkin@distance}}%
+ {north}{\xdef\xd{0}\xdef\yd{\dynkin@distance}}%
+ {southeast}{\xdef\xd{cos(-45)*\dynkin@distance}\xdef\yd{sin(-45)*\dynkin@distance}}%
+ {southwest}{\xdef\xd{cos(225)*\dynkin@distance}\xdef\yd{sin(225)*\dynkin@distance}}%
+ {northeast}{\xdef\xd{cos(45)*\dynkin@distance}\xdef\yd{sin(45)*\dynkin@distance}}%
+ {northwest}{\xdef\xd{cos(135)*\dynkin@distance}\xdef\yd{sin(135)*\dynkin@distance}}%
+ {southeastfold}{\xdef\xd{\dynkin@fold@radius}\xdef\yd{-\dynkin@fold@radius}}%
+ {southwestfold}{\xdef\xd{-\dynkin@fold@radius}\xdef\yd{-\dynkin@fold@radius}}%
+ {northeastfold}{\xdef\xd{\dynkin@fold@radius}\xdef\yd{\dynkin@fold@radius}}%
+ {northwestfold}{\xdef\xd{-\dynkin@fold@radius}\xdef\yd{\dynkin@fold@radius}}%
+ {northfold}{\xdef\xd{0}\xdef\yd{2*\dynkin@fold@radius}}%
+ {southfold}{\xdef\xd{0}\xdef\yd{-2*\dynkin@fold@radius}}%
+ }%
+ \fi
+ \node (Dynkin current) at ($(\dynkin@root@name \the\@fromRoot)+({\xd},{\yd})$){};
+ \dynkinPlaceRootHere{\the\@toRoot}{#5}{#6}%
+}%
+
+% Jump the current location by a certain multiple of the fold radius.
+\NewDocumentCommand\dynkin@jump{m}%
+{%
+\xdef\yj{#1*\dynkin@fold@radius}%
+\node (Dynkin current) at ($(Dynkin current)+(0,{\yj})$){};%
+}%
+
+% Jump the current location by a certain multiple of the edge radius multiplied by sin(60).
+\NewDocumentCommand\dynkin@hop{m}%
+{%
+\xdef\yjj{#1*\dynkin@edge@length*sin(60)}%
+\node (Dynkin current) at ($(Dynkin current)+(0,{\yjj})$){};%
}%
%% \dynkinEast
@@ -2560,8 +2893,6 @@
\node (Dynkin current) at ($(Dynkin current)+({\distance},0)$) {};%
}%
-
-
%% \dynkinWest
%% Moves the TikZ cursor one edge to the left.
%% Starred form for an indefinite edge.
@@ -2677,7 +3008,6 @@
\fi%
}%
-
%% \dynkin@fold@arrow@if@oo{<p>}{<q>}
%% Inputs are roots (in Bourbaki ordering).
%% If we are working on a Satake diagram, and both roots are
@@ -2701,25 +3031,29 @@
\fi%
}%
-%% \dynkin@pipe{<f>}{<t>}{<D>}{<L>}
+\newcount\pipebmo
+\newcount\pipefpo
+\newcount\pipe@end
+\newcount\start@pipe
+
+
+%% \dynkin@pipe{<f>}{<t>}{<D>}{<L>}{<L*>}
%% Layout the roots (as TikZ nodes) <f>, <f>+1, \dots, <t> in the Bourbaki ordering, in a straight line,
%% starting at the current position (Dynkin current), moving in the direction <D>=east, west, north, south, with labels placed according to <L>=left,right,above,below.
%% Assumes that the root <f> is already created as a node in TikZ, but the others are not.
-\NewDocumentCommand\dynkin@pipe{mmmm}%
-{%
- \newcount\start@root
- \start@root=#1
- \ifnum\start@root<#2%
- \newcount\bmo
- \bmo=#1
- \newcount\fpo
- \fpo=#1
- \advance\fpo by 1
- \foreach \b in {\the\fpo,...,#2}%
+\NewDocumentCommand\dynkin@pipe{mmmmm}%
+{%
+ \start@pipe=#1
+ \pipe@end=#2
+ \ifnum\start@pipe<\the\pipe@end%
+ \global\pipebmo=\the\start@pipe
+ \global\pipefpo=\the\start@pipe
+ \global\advance\pipefpo by 1
+ \foreach \bpipe in {\the\pipefpo,...,\the\pipe@end}%
{%
- \dynkinPlaceRootRelativeTo*{\b}{\the\bmo}{#3}{#4}%
- \dynkinEdge*{SingleEdge}{\b}{\the\bmo}%
- \global\advance\bmo by 1%
+ \dynkinPlaceRootRelativeTo*{\bpipe}{\the\pipebmo}{#3}{#4}{#5}%
+ \dynkinEdge*{SingleEdge}{\bpipe}{\the\pipebmo}%
+ \global\advance\pipebmo by 1%
}%
\fi%
}%
@@ -2735,7 +3069,7 @@
\advance\h by #2%
\advance\h by -1%
\divide\h by 2%
- \dynkin@pipe{#1}{\the\h}{east}{above}
+ \dynkin@pipe{#1}{\the\h}{east}{above}{below right}
\newcount\hpo
\hpo=\the\h
\advance\hpo by 1
@@ -2747,15 +3081,15 @@
\advance\nrts by -#1
\ifodd\nrts%
\global\advance\afterfold by 1
- \dynkinPlaceRootRelativeTo*{\the\hpo}{\the\h}{southeastfold}{right}
+ \dynkinPlaceRootRelativeTo*{\the\hpo}{\the\h}{southeastfold}{right}{left}
\dynkinEdge*{RightDownArc}{\the\h}{\the\hpo}%
- \dynkinPlaceRootRelativeTo*{\the\afterfold}{\the\hpo}{southwestfold}{below}
+ \dynkinPlaceRootRelativeTo*{\the\afterfold}{\the\hpo}{southwestfold}{below}{above right}
\dynkinEdge*{RightUpArc}{\the\afterfold}{\the\hpo}%
\else
- \dynkinPlaceRootRelativeTo*{\the\afterfold}{\the\h}{southfold}{below}
+ \dynkinPlaceRootRelativeTo*{\the\afterfold}{\the\h}{southfold}{below}{above right}
\dynkinEdge*{SemiCircle}{\the\h}{\the\afterfold}%
\fi
- \dynkin@pipe{\the\afterfold}{#2}{west}{below}
+ \dynkin@pipe{\the\afterfold}{#2}{west}{below}{above right}
\ifdynkin@arrows%
\newcount\countdown%
\countdown=#2%
@@ -2776,20 +3110,23 @@
\fi%
% % Create the roots.
\ifnum\dynkin@ply>1%
- \dynkinPlaceRootHere*{1}{above}%
+ \ifnum\dynkin@ply=2%
+ \dynkin@jump{1}%
+ \fi%
+ \dynkinPlaceRootHere*{1}{above}{below right}%
\dynkin@fold{1}{\the\dynkin@rank}%
\else%
- \dynkinPlaceRootHere*{1}{below}%
+ \dynkinPlaceRootHere*{1}{below}{above}%
\ifnum\dynkin@rank>1%
- \dynkin@pipe{1}{\the\dynkin@rank}{east}{below}%
+ \dynkin@pipe{1}{\the\dynkin@rank}{east}{below}{above}%
\fi%
\fi%
}%
%% \Bdynkin
%% Draw a B series Dynkin diagram.
-\newcommand*{\Bdynkin}
-{
+\NewDocumentCommand\Bdynkin{}%
+{%
\ifnum\dynkin@rank<2
\Adynkin
\else
@@ -2804,31 +3141,34 @@
{\(4\)};
\else
% Create the roots.
- \ifnum\dynkin@ply>1%
+ \ifnum\dynkin@ply>1%
\ifnum\dynkin@rank>3%
- \dynkinPlaceRootHere*{1}{above}%
- \dynkinPlaceRootRelativeTo*{2}{1}{east}{above}%
+ \dynkin@jump{1}%
+ \dynkinPlaceRootHere*{1}{above}{below right}%
+ \dynkinPlaceRootRelativeTo*{2}{1}{east}{above}{below right}%
\dynkin@fold{2}{\the\drmo}%
- \dynkinPlaceRootRelativeTo*{\the\dynkin@rank}{\the\drmo}{west}{below}%
+ \dynkinPlaceRootRelativeTo*{\the\dynkin@rank}{\the\drmo}{west}{below}{above right}%
\dynkinEdge*{DoubleEdge}{\the\drmo}{\the\dynkin@rank}%
\dynkinEdge*{SingleEdge}{1}{2}%
\else%
\ifnum\dynkin@rank=2%
- \dynkinPlaceRootHere*{1}{left}%
- \dynkinPlaceRootRelativeTo*{2}{1}{southfold}{left}%
+ \dynkin@jump{1}%
+ \dynkinPlaceRootHere*{1}{above}{below right}%
+ \dynkinPlaceRootRelativeTo*{2}{1}{southfold}{below}{above right}%
\dynkinEdge*{DoubleDownRightSemiCircle}{1}{2}%
\else%
- \dynkinPlaceRootHere*{1}{left}%
- \dynkinPlaceRootRelativeTo*{2}{1}{southeastfold}{right}%
- \dynkinPlaceRootRelativeTo*{3}{2}{southwestfold}{left}%
+ \dynkin@jump{1}%
+ \dynkinPlaceRootHere*{1}{above}{below right}%
+ \dynkinPlaceRootRelativeTo*{2}{1}{southeastfold}{right}{left}%
+ \dynkinPlaceRootRelativeTo*{3}{2}{southwestfold}{below}{above right}%
\dynkinEdge*{RightDownArc}{1}{2}%
\dynkinEdge*{DoubleDownLeftArc}{2}{3}%
\fi%
\fi%
\else%
- \dynkinPlaceRootHere*{1}{below}
- \dynkin@pipe{1}{\the\drmo}{east}{below}
- \dynkinPlaceRootRelativeTo*{\the\dynkin@rank}{\the\drmo}{east}{below}
+ \dynkinPlaceRootHere*{1}{below}{above}
+ \dynkin@pipe{1}{\the\drmo}{east}{below}{above}
+ \dynkinPlaceRootRelativeTo*{\the\dynkin@rank}{\the\drmo}{east}{below}{above}
\dynkinEdge*{DoubleEdge}{\the\drmo}{\the\dynkin@rank}%
\fi%
\ifdynkin@arrows%
@@ -2865,35 +3205,47 @@
\ifdynkin@is@extended%
\ifnum\dynkin@ply>1%
\ifnum\dynkin@rank=4%
- \dynkinPlaceRootRelativeTo*{2}{0}{southeastfold}{right}%
+ \dynkinPlaceRootRelativeTo*{2}{0}{southeastfold}{left}{right}%
\else%
- \dynkinPlaceRootRelativeTo*{2}{0}{southeastfold}{below}%
+ \dynkinPlaceRootRelativeTo*{2}{0}{southeastfold}{below right}{above right}%
\fi%
- \dynkinPlaceRootRelativeTo*{1}{2}{southwestfold}{left}%
+ \dynkinPlaceRootRelativeTo*{1}{2}{southwestfold}{left}{above left}%
\else%
\ifdynkin@left@fold%
- \dynkinPlaceRootRelativeTo*{2}{0}{southeastfold}{below}%
- \dynkinPlaceRootRelativeTo*{1}{2}{southwestfold}{left}%
+ \ifnum\dynkin@rank=4%
+ \dynkinPlaceRootRelativeTo*{2}{0}{southeastfold}{left}{right}%
+ \else%
+ \dynkinPlaceRootRelativeTo*{2}{0}{southeastfold}{below right}{above right}%
+ \fi%
+ \dynkinPlaceRootRelativeTo*{1}{2}{southwestfold}{left}{above left}%
\else%
- \dynkinPlaceRootRelativeTo*{2}{0}{southeast}{left}%
- \dynkinPlaceRootRelativeTo*{1}{2}{southwest}{left}%
+ \ifnum\dynkin@rank=4%
+ \ifdynkin@right@fold%
+ \dynkinPlaceRootRelativeTo*{2}{0}{southeast}{left}{right}%
+ \else%
+ \dynkinPlaceRootRelativeTo*{2}{0}{southeast}{below}{above}%
+ \fi%
+ \else%
+ \dynkinPlaceRootRelativeTo*{2}{0}{southeast}{below right}{above right}%
+ \fi%
+ \dynkinPlaceRootRelativeTo*{1}{2}{southwest}{left}{above left}%
\fi%
\fi%
\dynkinMoveToRoot*{2}%
\else
- \dynkinPlaceRootHere*{1}{below}
+ \dynkinPlaceRootHere*{1}{below}{above}
\ifnum\dynkin@rank=4%
\ifdynkin@right@fold%
- \dynkinPlaceRootRelativeTo*{2}{1}{east}{below}%
+ \dynkinPlaceRootRelativeTo*{2}{1}{east}{below}{above}%
\else%
\ifnum\dynkin@ply>1%
- \dynkinPlaceRootRelativeTo*{2}{1}{east}{below}%
+ \dynkinPlaceRootRelativeTo*{2}{1}{east}{below left}{above left}%
\else%
- \dynkinPlaceRootRelativeTo*{2}{1}{east}{right}%
+ \dynkinPlaceRootRelativeTo*{2}{1}{east}{below left}{above left}%
\fi%
\fi%
\else%
- \dynkinPlaceRootRelativeTo*{2}{1}{east}{below}%
+ \dynkinPlaceRootRelativeTo*{2}{1}{east}{below}{above}%
\fi%
\fi
\newcount\rmo
@@ -2907,52 +3259,48 @@
\advance\rmth by -1
\ifnum\dynkin@rank>2
\ifnum\dynkin@rank>5%
- \dynkinPlaceRootRelativeTo*{3}{2}{east}{below}%
+ \dynkinPlaceRootRelativeTo*{3}{2}{east}{below}{above}%
\else%
\ifnum\dynkin@ply>1%
- \dynkinPlaceRootRelativeTo*{3}{2}{east}{below}%
+ \dynkinPlaceRootRelativeTo*{3}{2}{east}{below left}{above left}%
\else%
-% \ifdynkin@left@fold%
-% \dynkinPlaceRootRelativeTo*{3}{2}{east}{below}%
-% \else%
\ifnum\dynkin@rank=5%
\ifdynkin@right@fold%
- \dynkinPlaceRootRelativeTo*{3}{2}{east}{below}%
+ \dynkinPlaceRootRelativeTo*{3}{2}{east}{below left}{above left}%
\else%
- \dynkinPlaceRootRelativeTo*{3}{2}{east}{right}%
+ \dynkinPlaceRootRelativeTo*{3}{2}{east}{below left}{above left}%
\fi%
\else%
- \dynkinPlaceRootRelativeTo*{3}{2}{east}{right}%
+ \dynkinPlaceRootRelativeTo*{3}{2}{east}{below right}{above left}%
\fi%
-% \fi%
\fi%
\fi%
\ifnum\rmth>3%
- \dynkin@pipe{3}{\the\rmth}{east}{below}%
+ \dynkin@pipe{3}{\the\rmth}{east}{below}{above}%
\fi%
\ifnum\rmt>3%
\ifnum\dynkin@ply>1%
- \dynkinPlaceRootRelativeTo*{\rmt}{\rmth}{east}{below}%
+ \dynkinPlaceRootRelativeTo*{\rmt}{\rmth}{east}{below left}{above left}%
\else%
\ifdynkin@right@fold%
- \dynkinPlaceRootRelativeTo*{\rmt}{\rmth}{east}{below}%
+ \dynkinPlaceRootRelativeTo*{\rmt}{\rmth}{east}{below left}{above left}%
\else%
- \dynkinPlaceRootRelativeTo*{\rmt}{\rmth}{east}{right}%
+ \dynkinPlaceRootRelativeTo*{\rmt}{\rmth}{east}{below left}{above left}%
\fi%
\fi%
\dynkinEdge*{SingleEdge}{\rmt}{\rmth}%
\fi%
\ifnum\dynkin@ply=1%
\ifdynkin@right@fold%
- \dynkinPlaceRootRelativeTo*{\the\rmo}{\the\rmt}{northeastfold}{right}%
- \dynkinPlaceRootRelativeTo*{\the\dynkin@rank}{\the\rmt}{southeastfold}{right}%
+ \dynkinPlaceRootRelativeTo*{\the\rmo}{\the\rmt}{northeastfold}{right}{above right}%
+ \dynkinPlaceRootRelativeTo*{\the\dynkin@rank}{\the\rmt}{southeastfold}{right}{above right}%
\else%
- \dynkinPlaceRootRelativeTo*{\the\rmo}{\the\rmt}{northeast}{right}%
- \dynkinPlaceRootRelativeTo*{\the\dynkin@rank}{\the\rmt}{southeast}{right}%
+ \dynkinPlaceRootRelativeTo*{\the\rmo}{\the\rmt}{northeast}{right}{above right}%
+ \dynkinPlaceRootRelativeTo*{\the\dynkin@rank}{\the\rmt}{southeast}{right}{above right}%
\fi%
\else%
- \dynkinPlaceRootRelativeTo*{\the\rmo}{\the\rmt}{northeastfold}{right}%
- \dynkinPlaceRootRelativeTo*{\the\dynkin@rank}{\the\rmt}{southeastfold}{right}%
+ \dynkinPlaceRootRelativeTo*{\the\rmo}{\the\rmt}{northeastfold}{right}{above right}%
+ \dynkinPlaceRootRelativeTo*{\the\dynkin@rank}{\the\rmt}{southeastfold}{right}{above right}%
\fi%
\fi%
}%
@@ -3018,19 +3366,25 @@
\fi%
}%
+\def\centerarc[#1](#2)(#3:#4:#5);%
+%Syntax: [draw options] (center) (initial angle:final angle:radius)
+ {
+ \draw[#1]([shift=(#3:#5)]#2) arc (#3:#4:#5);
+ }
+
%% \DthreePly
%% Draws a D series Dynkin diagram of rank 4, folded over a G2.
\NewDocumentCommand\DthreePly{}%
{%
\ifdynkin@right@fold%
- \dynkinPlaceRootHere*{2}{right}%
+ \dynkinPlaceRootHere*{1}{below left}{above right}%
+ \dynkinPlaceRootRelativeTo*{3}{1}{east}{below left}{above right}%
\xdef\old@edge@length{\dynkin@edge@length}%
\pgfmathparse{1.5*\dynkin@edge@length}%
\xdef\dynkin@edge@length{\pgfmathresult pt}%
- \dynkinPlaceRootRelativeTo*{3}{2}{south}{right}%
- \dynkinPlaceRootRelativeTo*{4}{3}{south}{right}%
+ \dynkinPlaceRootRelativeTo*{2}{3}{north}{below left}{above right}%
+ \dynkinPlaceRootRelativeTo*{4}{3}{south}{below}{above right}%
\xdef\dynkin@edge@length{\old@edge@length}%
- \dynkinPlaceRootRelativeTo*{1}{3}{west}{left}%
\edef\old@fold@radius{\dynkin@fold@radius}%
\xdef\dynkin@fold@radius{\dynkin@edge@length}%
\dynkinEdge*{SingleEdge}{1}{3}%
@@ -3042,14 +3396,17 @@
\dynkin@fold@arrow@if@oo{3}{4}%
\fi%
\else%
- \global\dynkin@ply=1\relax%
- \Ddynkin{}%
+ \dynkinPlaceRootHere*{1}{left}{above right}%
+ \dynkinPlaceRootRelativeTo*{2}{1}{east}{below left}{above left}%
+ \dynkinPlaceRootRelativeTo*{3}{2}{northeast}{above right}{below}%
+ \dynkinPlaceRootRelativeTo*{4}{2}{southeast}{below right}{left}%
+ \dynkinEdge*{SingleEdge}{1}{2}%
+ \dynkinEdge*{SingleEdge}{2}{3}%
+ \dynkinEdge*{SingleEdge}{2}{4}%
\begin{scope}[on background layer]%
- \draw
- [/Dynkin diagram/foldStyle]
- ($(\dynkin@root@name 2)$)
- circle
- (\dynkin@edge@length);%
+ \centerarc[/Dynkin diagram/fold style](\dynkin@root@name 2)(-60:60:\dynkin@edge@length);
+ \centerarc[/Dynkin diagram/fold style](\dynkin@root@name 2)(60:180:\dynkin@edge@length);
+ \centerarc[/Dynkin diagram/fold style](\dynkin@root@name 2)(180:300:\dynkin@edge@length);
\end{scope}%
\fi%
}%
@@ -3081,6 +3438,7 @@
\fi%
\fi%
\fi%
+ \gdef\dynkin@series{D}%
\fi%
}%
@@ -3089,23 +3447,23 @@
\newcommand*{\Edynkin@unfolded}%
{
% Create the @roots.
- \dynkinPlaceRootHere*{1}{below}%
- \dynkinPlaceRootRelativeTo*{3}{1}{east}{below}%
- \dynkinPlaceRootRelativeTo*{4}{3}{east}{below}%
+ \dynkinPlaceRootHere*{1}{below}{above}%
+ \dynkinPlaceRootRelativeTo*{3}{1}{east}{below}{above}%
+ \dynkinPlaceRootRelativeTo*{4}{3}{east}{below}{above right}%
\ifdynkin@is@extended
\ifnum\dynkin@rank=6
- \dynkinPlaceRootRelativeTo*{2}{4}{north}{right}%
+ \dynkinPlaceRootRelativeTo*{2}{4}{north}{right}{above right}%
\else
- \dynkinPlaceRootRelativeTo*{2}{4}{north}{above}%
+ \dynkinPlaceRootRelativeTo*{2}{4}{north}{right}{above}%
\fi
\else
- \dynkinPlaceRootRelativeTo*{2}{4}{north}{above}%
+ \dynkinPlaceRootRelativeTo*{2}{4}{north}{right}{above}%
\fi
\newcount\bmo\relax%
\bmo=4\relax%
\foreach \b in {5,...,\dynkin@rank}%
{%
- \dynkinPlaceRootRelativeTo*{\b}{\the\bmo}{east}{below}%
+ \dynkinPlaceRootRelativeTo*{\b}{\the\bmo}{east}{below}{above}%
\dynkinEdge*{SingleEdge}{\the\bmo}{\b}%
\global\advance\bmo by 1%
}%
@@ -3115,14 +3473,14 @@
\dynkinEdge*{SingleEdge}{4}{2}
\ifdynkin@is@extended%
\ifnum\dynkin@rank=6%
- \dynkinPlaceRootRelativeTo*{0}{2}{north}{above}%
+ \dynkinPlaceRootRelativeTo*{0}{2}{north}{right}{above}%
\dynkinEdge*{SingleEdge}{0}{2}%
\else%
\ifnum\dynkin@rank=7%
- \dynkinPlaceRootRelativeTo*{0}{1}{west}{below}%
+ \dynkinPlaceRootRelativeTo*{0}{1}{west}{below}{above}%
\dynkinEdge*{SingleEdge}{0}{1}%
\else%
- \dynkinPlaceRootRelativeTo*{0}{8}{east}{below}%
+ \dynkinPlaceRootRelativeTo*{0}{8}{east}{below}{above}%
\dynkinEdge*{SingleEdge}{0}{8}%
\fi%
\fi%
@@ -3143,17 +3501,18 @@
\NewDocumentCommand\ESixTwoPly{}%
{%
- \dynkinPlaceRootHere*{1}{above}%
- \dynkinPlaceRootRelativeTo*{3}{1}{east}{above}%
- \dynkinPlaceRootRelativeTo*{4}{3}{southeastfold}{below}%
- \dynkinPlaceRootRelativeTo*{5}{4}{southwestfold}{below}%
- \dynkinPlaceRootRelativeTo*{6}{5}{west}{below}%
+ \dynkin@jump{1}%
+ \dynkinPlaceRootHere*{1}{above}{below right}%
+ \dynkinPlaceRootRelativeTo*{3}{1}{east}{above}{below right}%
+ \dynkinPlaceRootRelativeTo*{4}{3}{southeastfold}{below right}{above right}%
+ \dynkinPlaceRootRelativeTo*{5}{4}{southwestfold}{below}{above right}%
+ \dynkinPlaceRootRelativeTo*{6}{5}{west}{below}{above right}%
\ifdynkin@is@extended%
- \dynkinPlaceRootRelativeTo*{2}{4}{east}{below}%
- \dynkinPlaceRootRelativeTo*{0}{2}{east}{right}%
+ \dynkinPlaceRootRelativeTo*{2}{4}{east}{below}{above}%
+ \dynkinPlaceRootRelativeTo*{0}{2}{east}{below}{above}%
\dynkinEdge*{SingleEdge}{0}{2}%
\else%
- \dynkinPlaceRootRelativeTo*{2}{4}{east}{right}%
+ \dynkinPlaceRootRelativeTo*{2}{4}{east}{below}{above}%
\fi%
\dynkinEdge*{SingleEdge}{1}{3}%
\dynkinEdge*{SingleEdge}{2}{4}%
@@ -3169,19 +3528,21 @@
\NewDocumentCommand\ESixThreePly{}%
{%
- \dynkinPlaceRootHere*{3}{above}%
+ \dynkin@is@extendedtrue
+ \node (Dynkin current) at ($(Dynkin current)+(0,1.5*\dynkin@edge@length)$){};%
+ \dynkinPlaceRootHere*{3}{below left}{above}%
\edef\old@edge@length{\dynkin@edge@length}%
\pgfmathparse{1.5*\dynkin@edge@length}%
\xdef\dynkin@edge@length{\pgfmathresult pt}%
- \dynkinPlaceRootRelativeTo*{2}{3}{south}{diagonal}%
- \dynkinPlaceRootRelativeTo*{5}{2}{south}{below}%
+ \dynkinPlaceRootRelativeTo*{2}{3}{south}{below left}{above right}%
+ \dynkinPlaceRootRelativeTo*{5}{2}{south}{below}{above right}%
\xdef\dynkin@edge@length{\old@edge@length}%
- \dynkinPlaceRootRelativeTo*{1}{3}{west}{left}%
- \dynkinPlaceRootRelativeTo*{0}{2}{west}{left}%
- \dynkinPlaceRootRelativeTo*{6}{5}{west}{left}%
+ \dynkinPlaceRootRelativeTo*{1}{3}{west}{below left}{above right}%
+ \dynkinPlaceRootRelativeTo*{0}{2}{west}{below left}{above right}%
+ \dynkinPlaceRootRelativeTo*{6}{5}{west}{below}{above right}%
\edef\old@fold@radius{\dynkin@fold@radius}%
\xdef\dynkin@fold@radius{\dynkin@edge@length}%
- \dynkinPlaceRootRelativeTo*{4}{2}{east}{right}%
+ \dynkinPlaceRootRelativeTo*{4}{2}{east}{below left}{above right}%
\dynkinEdge*{SingleEdge}{4}{2}%
\dynkinEdge*{SingleEdge}{3}{1}%
\dynkinEdge*{SingleEdge}{2}{0}%
@@ -3199,14 +3560,15 @@
\NewDocumentCommand\extendedESevenFolded{}%
{%
- \dynkinPlaceRootHere*{0}{above}%
- \dynkinPlaceRootRelativeTo*{1}{0}{east}{above}%
- \dynkinPlaceRootRelativeTo*{3}{1}{east}{above}%
- \dynkinPlaceRootRelativeTo*{4}{3}{southeastfold}{left}%
- \dynkinPlaceRootRelativeTo*{5}{4}{southwestfold}{below}%
- \dynkinPlaceRootRelativeTo*{6}{5}{west}{below}%
- \dynkinPlaceRootRelativeTo*{7}{6}{west}{below}%
- \dynkinPlaceRootRelativeTo*{2}{4}{east}{below}%
+ \dynkin@jump{1}%
+ \dynkinPlaceRootHere*{0}{above}{below}%
+ \dynkinPlaceRootRelativeTo*{1}{0}{east}{above}{below}%
+ \dynkinPlaceRootRelativeTo*{3}{1}{east}{above}{below}%
+ \dynkinPlaceRootRelativeTo*{4}{3}{southeastfold}{left}{right}%
+ \dynkinPlaceRootRelativeTo*{5}{4}{southwestfold}{below}{above}%
+ \dynkinPlaceRootRelativeTo*{6}{5}{west}{below}{above}%
+ \dynkinPlaceRootRelativeTo*{7}{6}{west}{below}{above}%
+ \dynkinPlaceRootRelativeTo*{2}{4}{east}{below}{above}%
\dynkinEdge*{SingleEdge}{0}{1}%
\dynkinEdge*{SingleEdge}{1}{3}%
\dynkinEdge*{SingleEdge}{2}{4}%
@@ -3226,12 +3588,12 @@
%% Draws an E6 Dynkin diagram.
\NewDocumentCommand\Edynkin{}%
{%
- \ifnum\dynkin@ply>1%
+ \ifnum\dynkin@ply>1
\ifnum\dynkin@rank=6%
\Edynkin@folded%
\else%
- \ifnum\dynkin@rank=7%
- \ifdynkin@is@extended%
+ \ifnum\dynkin@rank=7
+ \ifdynkin@is@extended
\Edynkin@folded%
\else%
\ClassError{Dynkin diagrams}%
@@ -3248,10 +3610,10 @@
%% Draws an F series Dynkin diagram.
\newcommand*{\Fdynkin}%
{
- \dynkinPlaceRootHere*{1}{below}
- \dynkinPlaceRootRelativeTo*{2}{1}{east}{below}%
- \dynkinPlaceRootRelativeTo*{3}{2}{east}{below}%
- \dynkinPlaceRootRelativeTo*{4}{3}{east}{below}%
+ \dynkinPlaceRootHere*{1}{below}{above}%
+ \dynkinPlaceRootRelativeTo*{2}{1}{east}{below}{above}%
+ \dynkinPlaceRootRelativeTo*{3}{2}{east}{below}{above}%
+ \dynkinPlaceRootRelativeTo*{4}{3}{east}{below}{above}%
\ifdynkin@Coxeter
\dynkinEdge*{SingleEdge}{1}{2}
\dynkinEdge*{SingleEdge}{2}{3}
@@ -3275,15 +3637,16 @@
\Idynkin%
\else%
\ifnum\dynkin@ply>1%
- \dynkinPlaceRootHere*{1}{left}%
- \dynkinPlaceRootRelativeTo*{2}{1}{southfold}{left}%
+ \dynkin@jump{1}%
+ \dynkinPlaceRootHere*{1}{left}{above}%
+ \dynkinPlaceRootRelativeTo*{2}{1}{southfold}{left}{below}%
\dynkinEdge*{TripleDownRightSemiCircle}{1}{2}%
\ifdynkin@arrows%
\dynkinLeftFold*{1}{2}%
\fi%
\else%
- \dynkinPlaceRootHere*{1}{below}%
- \dynkinPlaceRootRelativeTo*{2}{1}{east}{below}%
+ \dynkinPlaceRootHere*{1}{below}{above}%
+ \dynkinPlaceRootRelativeTo*{2}{1}{east}{below}{above}%
\dynkinTripleEdge*{1}{2}%
\fi%
\fi%
@@ -3315,13 +3678,11 @@
\NewDocumentCommand\extendedAdynkin{}%
{%
\ifnum\dynkin@rank=1%
- \dynkinPlaceRootHere{0}{below}%
- \dynkinPlaceRootRelativeTo*{1}{0}{east}{below}%
+ \dynkinPlaceRootHere{0}{below}{above}%
+ \dynkinPlaceRootRelativeTo*{1}{0}{east}{below}{above}%
\convertRootNumber{1}%
\begin{scope}{on background layer}%
- \draw[%
- /Dynkin diagram/edge,
- double,
+ \draw[/Dynkin diagram/edge,double,
{Classical TikZ Rightarrow[length={2*\dynkin@root@radius}]}%
-{Classical TikZ Rightarrow[length={2*\dynkin@root@radius}]}%
]%
@@ -3331,10 +3692,11 @@
\end{scope}%
\else%
\ifnum\dynkin@ply=4%
- \dynkinPlaceRootHere*{0}{left}%
- \dynkinPlaceRootRelativeTo*{1}{0}{east}{right}%
- \dynkinPlaceRootRelativeTo*{2}{0}{south}{left}%
- \dynkinPlaceRootRelativeTo*{3}{1}{south}{right}%
+ \node (Dynkin current) at ($(Dynkin current)+(0,\dynkin@edge@length)$){};%
+ \dynkinPlaceRootHere*{0}{left}{above}%
+ \dynkinPlaceRootRelativeTo*{1}{0}{east}{right}{above}%
+ \dynkinPlaceRootRelativeTo*{2}{0}{south}{below}{left}%
+ \dynkinPlaceRootRelativeTo*{3}{1}{south}{below}{right}%
\dynkinEdge*{SingleEdge}{0}{1}%
\dynkinEdge*{SingleEdge}{1}{2}%
\dynkinEdge*{SingleEdge}{2}{3}%
@@ -3344,13 +3706,13 @@
\else%
\Adynkin{}%
\ifnum\dynkin@ply>1%
- \dynkinPlaceRootRelativeTo*{0}{1}{southwestfold}{right}%
+ \dynkinPlaceRootRelativeTo*{0}{1}{southwestfold}{left}{right}%
\dynkinEdge*{LeftDownArc}{1}{0}%
\dynkinEdge*{LeftUpArc}{\the\dynkin@rank}{0}%
\else%
\node (Dynkin current) at ($.5*(\dynkin@root@name 1)+.5*(\dynkin@root@name \the\dynkin@rank)$){};%
\dynkinNorth%
- \dynkinPlaceRootHere*{0}{above}%
+ \dynkinPlaceRootHere*{0}{below}{above}%
\dynkinEdge*{SingleEdge}{0}{1}%
\dynkinEdge*{SingleEdge}{0}{\the\dynkin@rank}%
\fi%
@@ -3361,16 +3723,16 @@
\NewDocumentCommand\extendedBthreePly{}%
{%
- \dynkinPlaceRootHere*{0}{right}%
- \edef\old@edge@length{\dynkin@edge@length}%
- \pgfmathparse{1.5*\dynkin@edge@length}%
- \xdef\dynkin@edge@length{\pgfmathresult pt}%
- \dynkinPlaceRootRelativeTo*{1}{0}{south}{right}%
- \dynkinPlaceRootRelativeTo*{3}{1}{south}{right}%
- \xdef\dynkin@edge@length{\old@edge@length}%
+ \ifnum\dynkin@rank=3
+ \else
+ \ClassError{Dynkin diagrams}{B series extended 3-ply diagrams must have rank 3, so cannot have rank \the\dynkin@rank}{}%
+ \fi
+ \dynkinPlaceRootHere*{1}{right}{above left}%
+ \dynkinPlaceRootRelativeTo*{0}{1}{north}{above}{below left}%
+ \dynkinPlaceRootRelativeTo*{3}{1}{south}{below}{above left}%
\edef\old@fold@radius{\dynkin@fold@radius}%
\xdef\dynkin@fold@radius{\dynkin@edge@length}%
- \dynkinPlaceRootRelativeTo*{2}{1}{west}{left}%
+ \dynkinPlaceRootRelativeTo*{2}{1}{west}{left}{above right}%
\dynkinEdge*{LeftDownArc}{0}{2}%
\dynkinFold*{0}{1}%
\dynkinFold*{1}{3}%
@@ -3387,9 +3749,9 @@
\extendedAdynkin%
\else%
\ifnum\the\dynkin@rank=2
- \dynkinPlaceRootHere*{0}{left}%
- \dynkinPlaceRootRelativeTo*{1}{0}{east}{below}%
- \dynkinPlaceRootRelativeTo*{2}{1}{east}{left}%
+ \dynkinPlaceRootHere*{0}{below}{above}%
+ \dynkinPlaceRootRelativeTo*{1}{0}{east}{below}{above}%
+ \dynkinPlaceRootRelativeTo*{2}{1}{east}{below}{above}%
\dynkinEdge*{SingleEdge}{0}{1}%
\dynkinEdge*{DoubleEdge}{1}{2}%
\else%
@@ -3397,16 +3759,18 @@
\extendedBthreePly%
\else%
\ifnum\dynkin@ply=2%
- \dynkinPlaceRootHere*{0}{left}%
- \dynkinPlaceRootRelativeTo*{2}{0}{southeastfold}{below}%
- \dynkinPlaceRootRelativeTo*{1}{2}{southwestfold}{left}%
+ \dynkin@jump{1}%
+ \dynkinPlaceRootHere*{0}{left}{above left}%
+ \dynkinPlaceRootRelativeTo*{2}{0}{southeastfold}{below right}{above right}%
+ \dynkinPlaceRootRelativeTo*{1}{2}{southwestfold}{left}{above left}%
\dynkinLeftFold*{0}{1}%
\dynkinEdge*{RightDownArc}{0}{2}%
\dynkinEdge*{RightUpArc}{1}{2}%
\else%
- \dynkinPlaceRootHere*{0}{left}%
- \dynkinPlaceRootRelativeTo*{2}{0}{southeast}{left}%
- \dynkinPlaceRootRelativeTo*{1}{2}{southwest}{left}%
+ \dynkin@hop{1}%
+ \dynkinPlaceRootHere*{0}{left}{above left}%
+ \dynkinPlaceRootRelativeTo*{2}{0}{southeast}{below right}{above right}%
+ \dynkinPlaceRootRelativeTo*{1}{2}{southwest}{left}{above left}%
\dynkinEdge*{SingleEdge}{0}{2}%
\dynkinEdge*{SingleEdge}{1}{2}%
\fi%
@@ -3418,13 +3782,13 @@
\ifnum\dynkin@rank>3%
\foreach \b in {3,...,\the\drmo}%
{%
- \dynkinPlaceRootRelativeTo*{\b}{\the\bmo}{east}{below}%
+ \dynkinPlaceRootRelativeTo*{\b}{\the\bmo}{east}{below}{above}%
\dynkinEdge*{SingleEdge}{\b}{\the\bmo}%
\global\advance\bmo by 1\relax%
}%
\fi%
\ifnum\dynkin@ply<3%
- \dynkinPlaceRootRelativeTo*{\the\dynkin@rank}{\the\drmo}{east}{below}%
+ \dynkinPlaceRootRelativeTo*{\the\dynkin@rank}{\the\drmo}{east}{below}{above}%
\fi%
\ifdynkin@Coxeter%
\dynkinEdge*{SingleEdge}{\the\drmo}{\the\dynkin@rank}%
@@ -3447,7 +3811,7 @@
%% Draws an C series affine Dynkin/Coxeter diagram.
\newcommand*{\extendedCdynkin}%
{%
- \dynkinPlaceRootHere*{0}{below}%
+ \dynkinPlaceRootHere*{0}{below}{above}%
\dynkinEast%
\Cdynkin{}%
\ifdynkin@Coxeter%
@@ -3464,13 +3828,14 @@
%% Draws a D^1_4 series affine Dynkin diagram folded about an A^2_2.
\NewDocumentCommand\DOneFourFourPly{}%
{%
- \dynkinPlaceRootHere*{0}{right}%
+ \dynkin@hop{2.25}%
+ \dynkinPlaceRootHere*{0}{right}{left}%
\edef\old@edge@length{\dynkin@edge@length}%
\pgfmathparse{1.5*\dynkin@edge@length}%
\xdef\dynkin@edge@length{\pgfmathresult pt}%
- \dynkinPlaceRootRelativeTo*{1}{0}{south}{right}%
- \dynkinPlaceRootRelativeTo*{3}{1}{south}{right}%
- \dynkinPlaceRootRelativeTo*{4}{3}{south}{right}%
+ \dynkinPlaceRootRelativeTo*{1}{0}{south}{right}{left}%
+ \dynkinPlaceRootRelativeTo*{3}{1}{south}{right}{left}%
+ \dynkinPlaceRootRelativeTo*{4}{3}{south}{right}{left}%
\xdef\dynkin@edge@length{\old@edge@length}%
\convertRootPair{0}{4}%
\node
@@ -3478,7 +3843,7 @@
at
($.5*(\dynkin@root@name \the\@fromRoot)+.5*(\dynkin@root@name \the\@toRoot)$){};%
\dynkinWest%
- \dynkinPlaceRootHere*{2}{left}%
+ \dynkinPlaceRootHere*{2}{right}{left}%
\dynkinEdge*{SingleEdge}{0}{2}%
\dynkinEdge*{SingleEdge}{1}{2}%
\dynkinEdge*{SingleEdge}{3}{2}%
@@ -3493,9 +3858,11 @@
%% Draws a D series affine Dynkin diagram folded about its middle.
\NewDocumentCommand\DfourPly{}%
{%
- \dynkinPlaceRootHere*{0}{left}%
- \dynkinPlaceRootRelativeTo*{2}{0}{southeastfold}{above}%
- \dynkinPlaceRootRelativeTo*{1}{2}{southwestfold}{left}%
+ \xdef\yfp{2*\dynkin@fold@radius+2*cos(60)*\dynkin@edge@length}%
+ \node (Dynkin current) at ($(Dynkin current)+(0,{\yfp})$){};%
+ \dynkinPlaceRootHere*{0}{left}{above left}%
+ \dynkinPlaceRootRelativeTo*{2}{0}{southeastfold}{above right}{below right}%
+ \dynkinPlaceRootRelativeTo*{1}{2}{southwestfold}{left}{above left}%
\dynkinMoveToRoot*{2}%
\newcount\drmo%
\drmo=\the\dynkin@rank%
@@ -3507,13 +3874,11 @@
\pgfmathparse{\dynkin@fold@radius+2*cos(60)*\dynkin@edge@length}%
\xdef\dynkin@fold@radius{\pgfmathresult pt}%
\dynkin@fold{2}{\the\drmt}%
+ % We place the root number rank-2 once again (it is already placed in the \dynkin@fold):
+ \dynkinPlaceRootHere*{\the\drmt}{below right}{above right}%
\xdef\dynkin@fold@radius{\old@fold}%
- \dynkinPlaceRootRelativeTo*{\the\drmo}{\the\drmt}{northwestfold}{left}%
- \dynkinPlaceRootRelativeTo*{\the\dynkin@rank}{\the\drmt}{southwestfold}{left}%
-% \ifdynkin@arrows%
-% \dynkinLeftFold*{0}{1}%
-% \dynkinLeftFold*{\the\drmo}{\the\dynkin@rank}%
-% \fi%
+ \dynkinPlaceRootRelativeTo*{\the\drmo}{\the\drmt}{northwestfold}{left}{above left}%
+ \dynkinPlaceRootRelativeTo*{\the\dynkin@rank}{\the\drmt}{southwestfold}{left}{above left}%
\dynkinEdge*{RightDownArc}{0}{2}%
\dynkinEdge*{RightUpArc}{1}{2}%
\dynkinEdge*{RightDownArc}{\the\drmo}{\the\drmt}%
@@ -3524,15 +3889,15 @@
%% Draws a D^1_4 series Dynkin diagram, folded over a B^1_3.
\NewDocumentCommand\extendedDthreePly{}%
{%
- \dynkinPlaceRootHere*{2}{right}%
+ \dynkinPlaceRootHere*{0}{below}{above}%
+ \dynkinPlaceRootRelativeTo*{1}{0}{east}{below left}{above right}%
+ \dynkinPlaceRootRelativeTo*{3}{1}{east}{below left}{above right}%
\edef\old@edge@length{\dynkin@edge@length}%
\pgfmathparse{1.5*\dynkin@edge@length}%
\xdef\dynkin@edge@length{\pgfmathresult pt}%
- \dynkinPlaceRootRelativeTo*{3}{2}{south}{right}%
- \dynkinPlaceRootRelativeTo*{4}{3}{south}{right}%
+ \dynkinPlaceRootRelativeTo*{2}{3}{north}{below left}{above right}%
+ \dynkinPlaceRootRelativeTo*{4}{3}{south}{below}{above right}%
\xdef\dynkin@edge@length{\old@edge@length}%
- \dynkinPlaceRootRelativeTo*{1}{3}{west}{diagonal}%
- \dynkinPlaceRootRelativeTo*{0}{1}{west}{left}%
\dynkinEdge*{SingleEdge}{1}{3}%
\edef\old@fold@radius{\dynkin@fold@radius}%
\xdef\dynkin@fold@radius{\dynkin@edge@length}%
@@ -3563,8 +3928,12 @@
\else%
\ifnum\the\dynkin@rank=1%
\extendedAdynkin%
- \else
- \dynkinPlaceRootHere*{0}{left}%
+ \else%
+ \ifnum\the\dynkin@rank=4%
+ \global\dynkin@hex@gridfalse
+ \fi
+ \dynkin@hop{1}%
+ \dynkinPlaceRootHere*{0}{left}{above left}%
\Ddynkin%
\ifnum\dynkin@ply=2%
\dynkinEdge*{RightDownArc}{0}{2}%
@@ -3575,6 +3944,9 @@
\dynkinEdge*{SingleEdge}{0}{2}%
\fi%
\fi%
+ \ifnum\the\dynkin@rank=4%
+ \global\dynkin@hex@gridtrue
+ \fi
\fi%
\fi%
\fi%
@@ -3592,19 +3964,20 @@
\newcommand*{\extendedFdynkin}%
{%
\ifnum\dynkin@ply=1%
- \dynkinPlaceRootHere*{0}{below}%
+ \dynkinPlaceRootHere*{0}{below}{above}%
\dynkinEast%
\Fdynkin%
\dynkinEdge*{SingleEdge}{0}{1}%
\else%
- \dynkinPlaceRootHere*{0}{above}%
- \dynkinPlaceRootRelativeTo*{1}{0}{east}{above}%
+ \dynkin@jump{1}%
+ \dynkinPlaceRootHere*{0}{above}{below}%
+ \dynkinPlaceRootRelativeTo*{1}{0}{east}{above}{below}%
\dynkinEdge*{SingleEdge}{0}{1}%
- \dynkinPlaceRootRelativeTo*{2}{1}{southeastfold}{right}%
+ \dynkinPlaceRootRelativeTo*{2}{1}{southeastfold}{right}{left}%
\dynkinDefiniteRightDownArc*{1}{2}%
- \dynkinPlaceRootRelativeTo*{3}{2}{southwestfold}{below}%
+ \dynkinPlaceRootRelativeTo*{3}{2}{southwestfold}{below}{above}%
\dynkinDefiniteDoubleDownLeftArc*{2}{3}%
- \dynkinPlaceRootRelativeTo*{4}{3}{west}{below}%
+ \dynkinPlaceRootRelativeTo*{4}{3}{west}{below}{above}%
\dynkinEdge*{SingleEdge}{3}{4}%
\ifdynkin@arrows%
\dynkinFold*{0}{4}%
@@ -3618,7 +3991,7 @@
\newcommand*{\extendedGdynkin}%
{%
\xdef\dynkin@gonality{6}%
- \dynkinPlaceRootHere*{0}{below}%
+ \dynkinPlaceRootHere*{0}{below}{above}%
\dynkinEast%
\Gdynkin%
\dynkinEdge*{SingleEdge}{0}{1}%
@@ -3628,7 +4001,7 @@
%% Draws an H series affine Coxeter diagram.
\newcommand*{\extendedHdynkin}%
{%
- \dynkinPlaceRootHere*{0}{below}%
+ \dynkinPlaceRootHere*{0}{below}{above}%
\dynkinEast%
\Adynkin%
\dynkinEdge*{SingleEdge}{0}{1}%
@@ -3648,7 +4021,7 @@
%% Draws an I series affine Coxeter diagram.
\newcommand*{\extendedIdynkin}%
{
- \dynkinPlaceRootHere*{0}{below}%
+ \dynkinPlaceRootHere*{0}{below}{above}%
\dynkinEast%
\dynkin@rank=1%
\Adynkin%
@@ -3669,51 +4042,64 @@
\ClassError{Dynkin diagrams}{A2 series twisted diagrams cannot have rank \the\dynkin@rank}{}%
\fi
\ifnum\dynkin@rank=2%
- \dynkinPlaceRootHere*{0}{below}%
- \dynkinPlaceRootRelativeTo*{1}{0}{east}{below}%
+ \dynkinPlaceRootHere*{0}{below}{above}%
+ \dynkinPlaceRootRelativeTo*{1}{0}{east}{below}{above}%
\dynkinQuadrupleEdge*{1}{0}%
\else%
\newcount\hmo%
\hmo=\the\dynkin@nodes%
\advance\hmo by -1%
\ifodd\dynkin@rank%
+\typeout{!!! odd dynkin rank}
\ifnum\dynkin@ply>1%
- \dynkinPlaceRootHere*{0}{above}%
- \dynkinPlaceRootRelativeTo*{2}{0}{southeastfold}{below}%
- \dynkinPlaceRootRelativeTo*{1}{2}{southwestfold}{below}%
+\typeout{!!! ply more than 1}
+ \dynkinPlaceRootHere*{2}{below right}{above right}%
+ \dynkinPlaceRootRelativeTo*{0}{2}{northwestfold}{left}{above left}%
+ \dynkinPlaceRootRelativeTo*{1}{2}{southwestfold}{left}{above left}%
\dynkinEdge*{RightDownArc}{0}{2}%
\dynkinEdge*{RightUpArc}{1}{2}%
\else%
- \dynkinPlaceRootHere*{0}{left}%
- \dynkinPlaceRootRelativeTo*{2}{0}{southeast}{left}%
- \dynkinPlaceRootRelativeTo*{1}{2}{southwest}{left}%
+ \dynkin@hop{1}%
+ \dynkinPlaceRootHere*{0}{left}{right}%
+ \dynkinPlaceRootRelativeTo*{2}{0}{southeast}{left}{right}%
+ \dynkinPlaceRootRelativeTo*{1}{2}{southwest}{left}{right}%
\dynkinEdge*{SingleEdge}{0}{2}%
\dynkinEdge*{SingleEdge}{1}{2}%
\fi%
\dynkinMoveToRoot*{2}%
- \dynkin@pipe{2}{\the\hmo}{east}{below}%
- \dynkinPlaceRootRelativeTo*{\the\dynkin@nodes}{\the\hmo}{east}{below}%
+ \dynkin@pipe{2}{\the\hmo}{east}{below}{above}%
+ \dynkinPlaceRootRelativeTo*{\the\dynkin@nodes}{\the\hmo}{east}{below}{above}%
\dynkinEdge*{DoubleEdge}{\the\dynkin@nodes}{\the\hmo}%
\ifnum\dynkin@ply>1%
\dynkinLeftFold*{0}{1}%
\fi%
\else%
- \dynkinPlaceRootHere*{0}{below}%
- \dynkinPlaceRootRelativeTo*{1}{0}{east}{below}%
- \dynkinEdge*{DoubleEdge}{1}{0}%
\ifnum\dynkin@nodes>1%
\ifnum\dynkin@ply>1%
\ifnum\hmo>1%
+ \dynkin@jump{1}%
+ \fi%
+ \dynkinPlaceRootHere*{0}{below}{above}%
+ \dynkinPlaceRootRelativeTo*{1}{0}{east}{below left}{above}%
+ \dynkinEdge*{DoubleEdge}{1}{0}%
+ \ifnum\hmo>1%
\dynkin@fold{1}{\the\hmo}%
\fi%
- \dynkinPlaceRootRelativeTo*{\the\dynkin@nodes}{\the\hmo}{west}{below}%
+ \dynkinPlaceRootRelativeTo*{\the\dynkin@nodes}{\the\hmo}{west}{below}{above}%
\else%
+ \dynkinPlaceRootHere*{0}{below}{above}%
+ \dynkinPlaceRootRelativeTo*{1}{0}{east}{below right}{above}%
+ \dynkinEdge*{DoubleEdge}{1}{0}%
\ifnum\hmo>1%
- \dynkin@pipe{1}{\the\hmo}{east}{below}%
+ \dynkin@pipe{1}{\the\hmo}{east}{below}{above}%
\fi%
- \dynkinPlaceRootRelativeTo*{\the\dynkin@nodes}{\the\hmo}{east}{below}%
+ \dynkinPlaceRootRelativeTo*{\the\dynkin@nodes}{\the\hmo}{east}{below}{above}%
\fi%
\dynkinEdge*{DoubleEdge}{\the\dynkin@nodes}{\the\hmo}%
+ \else%
+ \dynkinPlaceRootHere*{0}{below}{above}%
+ \dynkinPlaceRootRelativeTo*{1}{0}{east}{below right}{above}%
+ \dynkinEdge*{DoubleEdge}{1}{0}%
\fi%
\fi%
\fi%
@@ -3730,9 +4116,9 @@
{3}%
{%
\ifnum\dynkin@rank=4%
- \dynkinPlaceRootHere*{0}{below}%
- \dynkinPlaceRootRelativeTo*{1}{0}{east}{below}%
- \dynkinPlaceRootRelativeTo*{2}{1}{east}{below}%
+ \dynkinPlaceRootHere*{0}{below}{above}%
+ \dynkinPlaceRootRelativeTo*{1}{0}{east}{below}{above}%
+ \dynkinPlaceRootRelativeTo*{2}{1}{east}{below}{above}%
\dynkinEdge*{SingleEdge}{0}{1}%
\dynkinTripleEdge*{2}{1}%
\else%
@@ -3755,16 +4141,17 @@
\drmo=\the\dynkin@nodes%
\advance\drmo by -1%
\ifnum\dynkin@ply=1%
- \dynkinPlaceRootHere*{0}{below}%
- \dynkinPlaceRootRelativeTo*{1}{0}{east}{below}%
+ \dynkinPlaceRootHere*{0}{below}{above}%
+ \dynkinPlaceRootRelativeTo*{1}{0}{east}{below}{above}%
\else%
\ifnum\dynkin@rank=3%
- \dynkinPlaceRootHere*{0}{right}%
- \dynkinPlaceRootRelativeTo*{1}{0}{southwestfold}{left}%
- \dynkinPlaceRootRelativeTo*{2}{1}{southeastfold}{right}%
+ \dynkin@jump{1}%
+ \dynkinPlaceRootHere*{0}{above}{right}%
+ \dynkinPlaceRootRelativeTo*{1}{0}{southwestfold}{left}{right}%
+ \dynkinPlaceRootRelativeTo*{2}{1}{southeastfold}{below}{right}%
\else%
- \dynkinPlaceRootHere*{0}{above}%
- \dynkinPlaceRootRelativeTo*{1}{0}{east}{above}%
+ \dynkinPlaceRootHere*{0}{above}{below}%
+ \dynkinPlaceRootRelativeTo*{1}{0}{east}{above}{below}%
\fi%
\fi%
\ifnum\dynkin@ply=2%
@@ -3775,16 +4162,16 @@
\ifnum\dynkin@ply>1%
\ifnum\dynkin@rank>3%
\dynkin@fold{1}{\the\drmo}%
- \dynkinPlaceRootRelativeTo*{\the\dynkin@nodes}{\the\drmo}{west}{below}%
+ \dynkinPlaceRootRelativeTo*{\the\dynkin@nodes}{\the\drmo}{west}{below}{above}%
\dynkinFold*{0}{\the\dynkin@nodes}%
\else%
\dynkinFold*{0}{2}%
\fi%
\else%
\ifnum\dynkin@rank>2%
- \dynkin@pipe{1}{\the\drmo}{east}{below}%
+ \dynkin@pipe{1}{\the\drmo}{east}{below}{above}%
\fi%
- \dynkinPlaceRootRelativeTo*{\the\dynkin@nodes}{\the\drmo}{east}{below}%
+ \dynkinPlaceRootRelativeTo*{\the\dynkin@nodes}{\the\drmo}{east}{below}{above}%
\fi%
\ifnum\dynkin@ply=2%
\dynkinEdge*{DoubleDownRightArc}{\the\drmo}{\the\dynkin@nodes}%
@@ -3804,10 +4191,10 @@
{1}{\extendedEdynkin}%
{2}%
{%
- \dynkinPlaceRootHere*{0}{below}%
- \dynkin@pipe{0}{2}{east}{below}%
- \dynkinPlaceRootRelativeTo*{3}{2}{east}{below}%
- \dynkinPlaceRootRelativeTo*{4}{3}{east}{below}%
+ \dynkinPlaceRootHere*{0}{below}{above}%
+ \dynkin@pipe{0}{2}{east}{below}{above}%
+ \dynkinPlaceRootRelativeTo*{3}{2}{east}{below}{above}%
+ \dynkinPlaceRootRelativeTo*{4}{3}{east}{below}{above}%
\dynkinEdge*{SingleEdge}{3}{4}%
\dynkinEdge*{DoubleEdge}{3}{2}%
}%