diff options
author | Karl Berry <karl@freefriends.org> | 2020-03-22 20:54:16 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-03-22 20:54:16 +0000 |
commit | 3f1df8b51d890e28493fa9b3c9e2f008e8df425a (patch) | |
tree | c0aed6782cd4eb2858c255cd3d4df63fb2471a6c | |
parent | 018200cd12e7a1d9079db82123c56ec5a87d199a (diff) |
dynkin-diagrams (22mar20)
git-svn-id: svn://tug.org/texlive/trunk@54489 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/latex/dynkin-diagrams/README | 4 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.pdf | bin | 769277 -> 798375 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.tex | 348 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/dynkin-diagrams/dynkin-diagrams.sty | 55 |
4 files changed, 238 insertions, 169 deletions
diff --git a/Master/texmf-dist/doc/latex/dynkin-diagrams/README b/Master/texmf-dist/doc/latex/dynkin-diagrams/README index b039749108c..5a65bc52ba4 100644 --- a/Master/texmf-dist/doc/latex/dynkin-diagrams/README +++ b/Master/texmf-dist/doc/latex/dynkin-diagrams/README @@ -1,6 +1,6 @@ Dynkin diagrams -v3.141592653589 -16 March 2020 +v3.1415926535897 +19 March 2020 Authors: Ben McKay diff --git a/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.pdf b/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.pdf Binary files differindex 52ab511acf9..00d2966d722 100644 --- a/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.pdf +++ b/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.pdf 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 ea2a02553e3..1c1dacd82ff 100644 --- a/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.tex +++ b/Master/texmf-dist/doc/latex/dynkin-diagrams/dynkin-diagrams.tex @@ -1,7 +1,7 @@ \documentclass{amsart} \title[The Dynkin diagrams package]% {The Dynkin diagrams package \\ -Version 3.141592653589} +Version 3.1415926535897} %% My name: \makeatletter \DeclareRobustCommand{\scotsMc}{\scotsMcx{c}} @@ -20,7 +20,7 @@ Version 3.141592653589} \author{Ben \scotsMc{}Kay} \address{School of Mathematical Sciences, University College Cork, Cork, Ireland} \email{b.mckay@ucc.ie} -\date{16 March 2020} +\date{19 March 2020} \usepackage{etex} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenx} @@ -164,7 +164,7 @@ before upper={\widowpenalties=3 10000 10000 150}} \fi} \makeatother -\fvset{fontsize=\small} +\fvset{fontsize=\small,tabsize=4} \begin{document} \maketitle @@ -178,17 +178,20 @@ before upper={\widowpenalties=3 10000 10000 150}} \section{Quick introduction} \begin{tcolorbox}[title={Load the Dynkin diagram package (see options below)}] -\begin{verbatim} +\begin{Verbatim} \documentclass{amsart} \usepackage{dynkin-diagrams} \begin{document} The Dynkin diagram of \(B_3\) is \dynkin B3. \end{document} -\end{verbatim} +\end{Verbatim} \end{tcolorbox} \begin{tcblisting}{title={Invoke it}} The Dynkin diagram of \(B_3\) is \dynkin B3. \end{tcblisting} +\begin{tcblisting}{title={Indefinite rank Dynkin diagrams}} +\dynkin B{} +\end{tcblisting} \begin{tcblisting}{title={Inside a \TikZ statement}} The Dynkin diagram of \(B_3\) is \tikz \dynkin B3; @@ -199,25 +202,33 @@ The Dynkin diagram of \(B_3\) is \draw[very thick,red] (root 1) to [out=-45, in=-135] (root 3); \end{dynkinDiagram} \end{tcblisting} +\newpage +\section{Interaction with \TikZ} +Inside a \TikZ environment, default behaviour is to draw from the origin, so you can draw around the diagram: +\begin{tcblisting}{title={Inside a \TikZ environment}} +\begin{tikzpicture} +\draw (0,0) -- (.5,1) -- (1,0); +\dynkin[edge length=1cm]G2 +\end{tikzpicture} +\end{tcblisting} +But it looks bad in the middle of text: \begin{tcblisting}{title={Inside a \TikZ environment}} -Baseline controls vertical alignment: -the Dynkin diagram of \(B_3\) is -\begin{tikzpicture}[baseline=(origin.base)] +The Dynkin diagram of \(B_3\) is +\begin{tikzpicture}[baseline] \dynkin B3 \draw[very thick,red] (root 1) to [out=-45, in=-135] (root 3); \end{tikzpicture} \end{tcblisting} -In a TikZ picture, you might need to kill the default vertical shift (needed to allow inline Dynkin diagrams): -\begin{tcblisting}{title={Inside TikZ pictures}} -\begin{tikzpicture} -\draw (0,0) -- (.5,1) -- (1,0); -\dynkin[vertical shift=0,edge length=1cm]G2 +A vertical shift realigns the diagram to ambient text: +\begin{tcblisting}{title={Inside a \TikZ environment}} +The Dynkin diagram of \(B_3\) is +\begin{tikzpicture}[baseline] +\dynkin[vertical shift] B3 +\draw[very thick,red] (root 1) to [out=-45, in=-135] (root 3); \end{tikzpicture} \end{tcblisting} -\begin{tcblisting}{title={Indefinite rank Dynkin diagrams}} -\dynkin B{} -\end{tcblisting} +\newpage \renewcommand\do[1]{\dyn#1} \begin{dynkinTable}{The Dynkin diagrams of the reduced simple root systems \cite{Bourbaki:2002} pp. 265--290, plates I--IX}{2.25cm}{2.5cm} @@ -228,18 +239,21 @@ In a TikZ picture, you might need to kill the default vertical shift (needed to \section{Set options globally} \begin{tcolorbox}[title={Most options set globally \dots}] -\begin{verbatim} +\begin{Verbatim} \pgfkeys{/Dynkin diagram, edge length=.5cm, fold radius=.5cm, indefinite edge/.style={ - draw=black,fill=white,thin,densely dashed}} -\end{verbatim} + draw=black, + fill=white, + thin, + densely dashed}} +\end{Verbatim} \end{tcolorbox} You can also pass options to the package in \verb!\usepackage!. \emph{Danger:} spaces in option names are replaced with hyphens: \texttt{edge length=1cm} is \texttt{edge-length=1cm} as a global option; moreover you should drop the extension \verb!/.style! on any option with spaces in its name (but not otherwise). For example, \begin{tcolorbox}[title={\dots or pass global options to the package}] -\begin{verbatim} +\begin{Verbatim} \usepackage[ ordering=Kac, edge/.style=blue, @@ -248,7 +262,7 @@ You can also pass options to the package in \verb!\usepackage!. mark=o, root-radius=.06cm] {dynkin-diagrams} -\end{verbatim} +\end{Verbatim} \end{tcolorbox} @@ -338,7 +352,7 @@ E{I},E{II},E{III},E{IV},E{V},E{VI},E{VII},E{VIII},E{IX},F{I},F{II},GI} ]{A}{oo.o**.**o.oo} \end{tcblisting} -\begin{tcblisting}{title={Control over arrow angles}} +\begin{tcblisting}{title={Arrow angles}} \dynkin[involutions={16;60;01}]E[1]{6} \dynkin[involutions={[out=-80,in=-100,relative]16;60;01}]E[1]{6} \end{tcblisting} @@ -374,13 +388,13 @@ segment length=1mm,amplitude=.6mm}}} \dynkin[labels={,2,...,5,,7},label macro/.code={\alpha_{\drlap#1}}]A7 \end{tcblisting} \begin{tcblisting}{title={The \texttt{foreach} notation I}} -\dynkin[labels={1,3,...,7},]A9 +\dynkin[labels={1,3,...,7}]A9 \end{tcblisting} \begin{tcblisting}{title={The \texttt{foreach} notation II}} -\dynkin[labels={,\alpha_2,\alpha_...,\alpha_7},]A7 +\dynkin[labels={,\alpha_2,\alpha_...,\alpha_7}]A7 \end{tcblisting} \begin{tcblisting}{title={The \texttt{foreach} notation III}} -\dynkin[label macro/.code={\beta_{\drlap{#1}}},labels={,2,...,7},]A7 +\dynkin[label macro/.code={\beta_{\drlap{#1}}},labels={,2,...,7}]A7 \end{tcblisting} \begin{tcblisting}{title={Label the roots individually by root number}} \dynkin[label]B3 @@ -391,10 +405,10 @@ segment length=1mm,amplitude=.6mm}}} \end{dynkinDiagram} \end{tcblisting} \begin{tcblisting}{title={The labels have default locations, mostly below roots}} -\dynkin[edge length=.75cm,labels={1,2,3}]E8 +\dynkin[labels={1,2,3}]E8 \end{tcblisting} \begin{tcblisting}{title={The starred form flips labels to alternate locations, mostly above roots}} -\dynkin[edge length=.75cm,labels*={1,2,3}]E8 +\dynkin[labels*={1,2,3}]E8 \end{tcblisting} \newpage \begin{tcblisting}{title={Labelling several roots and alternates}} @@ -501,7 +515,7 @@ Take a \(D_8\): \end{tcblisting} \noindent{}If you want to fold this diagram, \begin{tcblisting}{} -\dynkin[fold right=true,label,edge length=.75cm]D8 +\dynkin[fold right,label,edge length=.75cm]D8 \end{tcblisting} \noindent{}you will be glad that the \(6\) sits where it does, under and to the left. If you don't want to fold, you might prefer instead to put the \(6\) on the right side. @@ -525,62 +539,71 @@ For extended diagrams, this list starts at \(0\)-offset. \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}}% -}% -\IfBooleanTF{#1}% -{\dynkin[edge length=\eL,backwards,labels*={#4},labels={#5}]{#2}{#3}} -{\dynkin[edge length=\eL,labels*={#4},labels={#5}]{#2}{#3}} -\\ + \stepcounter{EPNo}\roman{EPNo}. &% + \def\eL{.6cm}% + \IfStrEqCase{#2}% + {% + D{% + \gdef\eL{1cm}% + \tikzset{/Dynkin diagram/label directions={,,,right,,}}% + }% + E{\gdef\eL{.75cm}}% + F{\gdef\eL{.35cm}}% + G{\gdef\eL{.35cm}}% + }% + \IfBooleanTF{#1}% + {% + \dynkin[edge length=\eL,backwards,labels*={#4},labels={#5}]{#2}{#3} + }% + {% + \dynkin[edge length=\eL,labels*={#4},labels={#5}]{#2}{#3} + }% + \tikzset{/Dynkin diagram/label directions={}}% + \\% }% \renewcommand*\do[1]{\EP#1}% \begin{longtable}{MM} -\caption{Dynkin diagrams from Euler products \cite{Langlands:1967}}\\ -\endfirsthead -\caption{\dots continued}\\ -\endhead -\multicolumn{2}{c}{continued \dots}\\ -\endfoot -\endlastfoot -\docsvlist{ -A{***.**}{1,1,1,1,1}{,1,2,n-1,n}, -A{***.**}{1,1,1,1,1}{1,2,n-1,n}, -A{**.***.*}{1,1,1,1,1,1}{1,2,m-1,,m,n}, -B{**.***}{2,2,2,2,1}{1,2,n-1,n}, -*B{***.**}{2,2,2,2,1}{n,n-1,2,1,}, -C{**.***}{1,1,1,1,2}{1,2,n-1,}, -*C{***.**}{1,1,1,1,2}{n,n-1,2,1,}, -D{**.****}{1,1,1,1,1,1}{1,2,n-2,n-1,n}, -D{**.****}{1,1,1,1,1,1}{1,2,n-2,n-1,n}, -E6{1,1,1,1,1,1}{1,...,5}, -*E7{1,1,1,1,1,1,1}{6,...,1}, -E7{1,1,1,1,1,1,1}{1,...,6}, -*E8{1,1,1,1,1,1,1,1}{7,...,1}, -E8{1,1,1,1,1,1,1,1}{1,...,7}, -G2{1,3}{,1}, -G2{1,3}{1}, -B{**.*.**}{2,2,2,2,1}{,1,2,n-1,n}, -F4{1,1,2,2}{,3,2,1}, -C3{1,1,2}{,2,1}, -C{**.***}{1,1,1,1,2}{,1,n-2,n-1,n}, -*B3{2,2,1}{1,2}, -F4{1,1,2,2}{1,2,3}, -D{**.****}{1,1,1,1,1,1}{1,2,n-2,n-2,n,n}, -E6{1,1,1,1,1,1}{1,2,3,4,,5}, -E6{1,1,1,1,1,1}{1,2,3,5,,4}, -*E7{1,1,1,1,1,1,1}{,5,...,1,6}, -*E7{1,1,1,1,1,1,1}{,6,4,3,2,1,5}, -*E8{1,1,1,1,1,1,1,1}{,6,...,1,7}, -*E8{1,1,1,1,1,1,1,1}{,7,5,4,3,2,1,6}, -*E7{1,1,1,1,1,1,1}{5,...,1,,6}, -*E7{1,1,1,1,1,1,1}{1,...,5,,6}, -*E8{1,1,1,1,1,1,1,1}{6,...,1,,7}} + \caption{Dynkin diagrams from Euler products \cite{Langlands:1967}}\\ + \endfirsthead + \caption{\dots continued}\\ + \endhead + \multicolumn{2}{c}{continued \dots}\\ + \endfoot + \endlastfoot + \docsvlist{ + A{***.**}{1,1,1,1,1}{,1,2,n-1,n}, + A{***.**}{1,1,1,1,1}{1,2,n-1,n}, + A{**.***.*}{1,1,1,1,1,1}{1,2,m-1,,m,n}, + B{**.***}{2,2,2,2,1}{1,2,n-1,n}, + *B{***.**}{2,2,2,2,1}{n,n-1,2,1,}, + C{**.***}{1,1,1,1,2}{1,2,n-1,}, + *C{***.**}{1,1,1,1,2}{n,n-1,2,1,}, + D{**.****}{1,1,1,1,1,1}{1,2,n-2,n-1,n}, + D{**.****}{1,1,1,1,1,1}{1,2,n-2,n-1,n}, + E6{1,1,1,1,1,1}{1,...,5}, + *E7{1,1,1,1,1,1,1}{6,...,1}, + E7{1,1,1,1,1,1,1}{1,...,6}, + *E8{1,1,1,1,1,1,1,1}{7,...,1}, + E8{1,1,1,1,1,1,1,1}{1,...,7}, + G2{1,3}{,1}, + G2{1,3}{1}, + B{**.*.**}{2,2,2,2,1}{,1,2,n-1,n}, + F4{1,1,2,2}{,3,2,1}, + C3{1,1,2}{,2,1}, + C{**.***}{1,1,1,1,2}{,1,n-2,n-1,n}, + *B3{2,2,1}{1,2}, + F4{1,1,2,2}{1,2,3}, + D{**.****}{1,1,1,1,1,1}{1,2,n-2,n-2,n,n}, + E6{1,1,1,1,1,1}{1,2,3,4,,5}, + E6{1,1,1,1,1,1}{1,2,3,5,,4}, + *E7{1,1,1,1,1,1,1}{,5,...,1,6}, + *E7{1,1,1,1,1,1,1}{,6,4,3,2,1,5}, + *E8{1,1,1,1,1,1,1,1}{,6,...,1,7}, + *E8{1,1,1,1,1,1,1,1}{,7,5,4,3,2,1,6}, + *E7{1,1,1,1,1,1,1}{5,...,1,,6}, + *E7{1,1,1,1,1,1,1}{1,...,5,,6}, + *E8{1,1,1,1,1,1,1,1}{6,...,1,,7}% + } \end{longtable} \end{filecontents*} {\input{EulerProducts}}\VerbatimInput{EulerProducts.tex} @@ -590,12 +613,16 @@ E6{1,1,1,1,1,1}{1,2,3,5,,4}, \section{Style} \begin{tcblisting}{title={Colours}} \dynkin[ - edge/.style={blue!50,thick}, */.style=blue!50!red, + edge length=.75cm, + edge/.style={blue!50,thick}, + arrow width=2mm, arrow style={red,width=2mm,line width=1pt}]{F}{4} \end{tcblisting} \begin{tcblisting}{title={Arrow shapes}} -\dynkin[arrow shape/.style={-{Stealth[blue,width=3mm]}}] F4 +\dynkin[edge length=.5cm, + arrow width=2mm, + arrow shape/.style={-{Stealth[blue,width=2mm]}}]F4 \end{tcblisting} \begin{tcblisting}{title={Edge lengths}} The Dynkin diagram of \(A_3\) is \dynkin[edge length=1.2]A3 @@ -953,7 +980,7 @@ the Dynkin diagram \dynkin[parabolic=3]A3. \begin{tcblisting}{title={Extended Dynkin diagrams}} \dynkin[extended]A7 \end{tcblisting} -The extended Dynkin diagrams are also described in the notation of Kac \cite{Kac:1990} p. 55 as affine untwisted Dynkin diagrams: we extend \verb!\dynkin{A}{7}! to become \verb!\dynkin A[1]7!: +The extended Dynkin diagrams are also described in the notation of Kac \cite{Kac:1990} p. 55 as affine untwisted Dynkin diagrams: we extend \verb!\dynkin A7! to become \verb!\dynkin A[1]7!: \begin{tcblisting}{title={Extended Dynkin diagrams}} \dynkin A[1]7 \end{tcblisting} @@ -1230,7 +1257,7 @@ It is perhaps only useful when automatically generating a large collection of Dy \dynkinName[label,extended]B7 \dynkinName A[2]{even} \dynkinName[Coxeter]B7 -\dynkinName[label,extended]B* +\dynkinName[label,extended]B{} \dynkinName D[3]4 \end{tcblisting} @@ -1296,24 +1323,24 @@ edge/.style={draw=example-color,double=black,very thick}} \section{Other examples} \begin{filecontents*}{d44.tex} \tikzset{/Dynkin diagram, - edge length=1cm, - fold radius=1cm, - label, - label*=true, - label macro/.code={\alpha_{#1}}, - label macro*/.code={\beta_{#1}}} + edge length=1cm, + fold radius=1cm, + label, + label*=true, + label macro/.code={\alpha_{#1}}, + label macro*/.code={\beta_{#1}}} \({}^1 D_4\) 4-ply tied straight: \begin{dynkinDiagram}[ply=4]D[1]% {****.*****.*****} - \dynkinFold 01 - \dynkinFold 1{13} - \dynkinFold{13}{14} + \dynkinFold 01 + \dynkinFold 1{13} + \dynkinFold{13}{14} \end{dynkinDiagram} \({}^1 D_4\) 4-ply tied bending: \begin{dynkinDiagram}[ply=4,label]D[1]% {****.*****.*****} -\dynkinFold1{13} -\dynkinFold[bend right=65]0{14} + \dynkinFold1{13} + \dynkinFold[bend right=65]0{14} \end{dynkinDiagram} \end{filecontents*} \begingroup\input{d44}\endgroup @@ -1582,16 +1609,16 @@ Below we draw the Vogan diagrams of some affine Lie superalgebras \cite{Ransingh \begin{filecontents*}{simple-lie-algebras.tex} \NewDocumentEnvironment{bunch}{}% { - \renewcommand*{\arraystretch}{1} - \begin{array}{@{}ll@{}} - \\ \midrule + \renewcommand*{\arraystretch}{1} + \begin{array}{@{}ll@{}} + \\ \midrule }{ - \\ \midrule\end{array} + \\ \midrule\end{array} } \small \NewDocumentCommand\nct{mm} { - \newcolumntype{#1}{>{\columncolor[gray]{.9}}>{$}m{#2cm}<{$}} + \newcolumntype{#1}{>{\columncolor[gray]{.9}}>{$}m{#2cm}<{$}} } \nct{G}{.3} \nct{D}{2.1} @@ -1601,10 +1628,10 @@ Below we draw the Vogan diagrams of some affine Lie superalgebras \cite{Ransingh \NewDocumentCommand\LieG{}{\mathfrak{g}} \NewDocumentCommand\W{om} { - \ensuremath{ - \mathbb{Z}^{#2} - \IfValueT{#1}{/\left<#1\right>} - } + \ensuremath{ + \mathbb{Z}^{#2} + \IfValueT{#1}{/\left<#1\right>} + } } \renewcommand*{\arraystretch}{1.5} \NewDocumentCommand\quo{}{\text{quotient of } E_8} @@ -1768,8 +1795,12 @@ The environment syntax is \verb!\begin{dynkinDiagram}! followed by the same para \section{Options} \newcommand*{\typ}[1]{\(\left<\texttt{#1}\right>\)} +\newcommand{\TikZstyle}{\TikZ style data} +\newcommand{\truefalse}{{\texttt{true}}\ or {\texttt{false}}} +\newcommand{\notset}{\textrm{not set}} + \newcommand*{\optionLabel}[3]{%% -\multicolumn{2}{l}{\(\texttt{#1}=\texttt{#2}\),} \\ +\multicolumn{2}{l}{\(\texttt{#1}=\textrm{#2}\),} \\ \multicolumn{2}{l}{\(\textrm{default}: \texttt{#3}\)} \\ }%% \renewcommand*{\arraystretch}{1} @@ -1781,86 +1812,102 @@ The environment syntax is \verb!\begin{dynkinDiagram}! followed by the same para \multicolumn{2}{c}{continued \dots}\\ \endfoot \endlastfoot -\optionLabel{*/.style}{\typ{TikZ style data}}{solid,draw=black,fill=black} +\optionLabel{*/.style}{\TikZstyle}{solid,draw=black,fill=black} & style for roots like \dynkin{A}{*} \\ -\optionLabel{o/.style}{\typ{TikZ style data}}{solid,draw=black,fill=white} +\optionLabel{o/.style}{\TikZstyle}{solid,draw=black,fill=white} & style for roots like \dynkin{A}{o} \\ -\optionLabel{O/.style}{\typ{TikZ style data}}{solid,draw=black,fill=white} +\optionLabel{O/.style}{\TikZstyle}{solid,draw=black,fill=white} & style for roots like \dynkin{A}{O} \\ -\optionLabel{t/.style}{\typ{TikZ style data}}{solid,draw=black,fill=black} +\optionLabel{t/.style}{\TikZstyle}{solid,draw=black,fill=black} & style for roots like \dynkin{A}{t} \\ -\optionLabel{x/.style}{\typ{TikZ style data}}{solid,draw=black,line cap=round} +\optionLabel{x/.style}{\TikZstyle}{solid,draw=black,line cap=round} & style for roots like \dynkin{A}{x} \\ -\optionLabel{X/.style}{\typ{TikZ style data}}{solid,draw=black,thick,line cap=round} +\optionLabel{X/.style}{\TikZstyle}{solid,draw=black,thick,line cap=round} & style for roots like \dynkin{A}{X} \\ \optionLabel{affine mark}{o,O,t,x,X,*}{*} & default root mark for root zero in an affine Dynkin diagram \\ -\optionLabel{arrow shape/.style}{TikZ style data}{-\{Computer Modern Rightarrow[black]\}} +\optionLabel{arrow shape/.style}{\TikZstyle}{-\{Computer Modern Rightarrow[black]\}} & shape of arrow heads for most Dynkin diagrams that have arrows\\ -\optionLabel{arrow style}{TikZ style data}{black} +\optionLabel{arrow style}{\TikZstyle}{black} & set to override the default style for the arrows in nonsimply laced Dynkin diagrams, including length, width, line width and color \\ -\optionLabel{arrows}{\typ{true or false}}{true} +\optionLabel{arrow width}{length}{1.5(root radius)} +& if you change arrow style or shape, use \texttt{arrow width} to say how wide your arrows will be \\ +\optionLabel{arrows}{\truefalse}{true} & whether to draw the arrows that arise along the edges \\ -\optionLabel{backwards}{\typ{true or false}}{false} +\optionLabel{backwards}{\truefalse}{false} & whether to reverse right to left \\ -\optionLabel{ceref}{\typ{true or false}}{false} +\optionLabel{ceref}{\truefalse}{false} & whether to draw roots in a ``ceref'' style \\ -\optionLabel{Coxeter}{\typ{true or false}}{false} +\optionLabel{Coxeter}{\truefalse}{false} & whether to draw a Coxeter diagram, rather than a Dynkin diagram \\ -\optionLabel{double edges}{\typ{}}{not set} +\optionLabel{double edges}{\TikZstyle}{\notset} & 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{double fold}{\typ{}}{not set} +\optionLabel{double fold}{\TikZstyle}{\notset} & 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{double left}{\typ{}}{not set} +\optionLabel{double left}{\TikZstyle}{\notset} & set to override the \texttt{fold} style when folding roots together at the left side of a Dynkin diagram, so that the foldings are indicated with double edges (like those of an \(F_4\) Dynkin diagram without arrows) \\ -\optionLabel{double fold left}{\typ{}}{not set} -& set to override the \texttt{fold} style when folding roots together at the left side of a Dynkin diagram, so that the foldings are indicated with double edges (like those of an \(F_4\) Dynkin diagram without arrows), but filled in solidly \\ -\optionLabel{double right}{\typ{}}{not set} +\optionLabel{double fold left}{\TikZstyle}{\notset} +& set to override the \texttt{fold} style when folding roots together at the left side of a Dynkin diagram, so that the foldings are indicated with double edges (like those of an \(F_4\) Dynkin diagram without arrows), but filled in solidly \\ +\optionLabel{double right}{\TikZstyle}{\notset} & set to override the \texttt{fold} style when folding roots together at the right side of a Dynkin diagram, so that the foldings are indicated with double edges (like those of an \(F_4\) Dynkin diagram without arrows) \\ -\optionLabel{double fold right}{\typ{}}{not set} +\optionLabel{double fold right}{\TikZstyle}{\notset} & set to override the \texttt{fold} style when folding roots together at the right side of a Dynkin diagram, so that the foldings are indicated with double edges (like those of an \(F_4\) Dynkin diagram without arrows), but filled in solidly\\ -\optionLabel{edge label/.style}{TikZ style data}{text height=0,text depth=0,label distance=-2pt} +\optionLabel{edge label/.style}{\TikZstyle}{text height=0,text depth=0,label distance=-2pt} & style of edge labels in the Dynkin diagram, as found, for example, on some Coxeter diagrams \\ -\optionLabel{edge length}{\typ{number}cm}{.35cm} +\optionLabel{edge length}{length}{.35cm} & distance between nodes in the Dynkin diagram \\ -\optionLabel{edge/.style}{TikZ style data}{solid,draw=black,fill=white,thin} +\optionLabel{edge/.style}{\TikZstyle}{solid,draw=black,fill=white,thin} & style of edges in the Dynkin diagram \\ -\optionLabel{fold}{\typ{true or false}}{true} +\optionLabel{extended}{\truefalse}{false} +& Is this an extended Dynkin diagram? \\ +\optionLabel{fold}{\truefalse}{true} & whether, when drawing Dynkin diagrams, to draw them 2-ply\\ -\optionLabel{fold left}{\typ{true or false}}{true} +\optionLabel{fold left}{\truefalse}{true} & whether to fold the roots on the left side of a Dynkin diagram\\ -\optionLabel{fold radius}{\typ{length}}{.3cm} +\optionLabel{fold radius}{length}{.3cm} & the radius of circular arcs used in curved edges of folded Dynkin diagrams\\ -\optionLabel{fold right}{\typ{true or false}}{true} +\optionLabel{fold right}{\truefalse}{true} & whether to fold the roots on the right side of a Dynkin diagram\\ -\optionLabel{fold left style/.style}{\typ{TikZ style data}}{} +\optionLabel{fold left style/.style}{\TikZstyle}{} & style to override the \texttt{fold} style when folding roots together on the left half of a Dynkin diagram \\ -\optionLabel{fold right style/.style}{\typ{TikZ style data}}{} +\optionLabel{fold right style/.style}{\TikZstyle}{} & style to override the \texttt{fold} style when folding roots together on the right half of a Dynkin diagram \\ -\optionLabel{fold style/.style}{\typ{TikZ style data}}{solid,draw=black!40,fill=none,line width=radius} +\optionLabel{fold style/.style}{\TikZstyle}{solid,draw=black!40,fill=none,line width=radius} & when drawing folded diagrams, style for the fold indicators\\ -\optionLabel{indefinite edge ratio}{\typ{float}}{1.6} +\optionLabel{gonality}{math}{0} +& the gonality of a \(G\) or \(I\) Coxeter diagram \\ +\optionLabel{horizontal shift}{length}{0} +& the gonality of a \(G\) or \(I\) Coxeter diagram \\ +\optionLabel{indefinite edge ratio}{float}{1.6} & ratio of indefinite edge lengths to other edge lengths\\ -\optionLabel{indefinite edge/.style}{\typ{TikZ style data}}{solid,draw=black,fill=white,thin,densely dotted} +\optionLabel{indefinite edge/.style}{\TikZstyle}{solid,draw=black,fill=white,thin,densely dotted} & style of the dotted or dashed middle third of each indefinite edge\\ -\optionLabel{involutions}{\typ{semicolon separated list of pairs}} +\optionLabel{involution/.style}{\TikZstyle} +{latex-latex,black} & style of involution arrows\\ +\optionLabel{involutions}{semicolon separated list of pairs} {} & involution double arrows to draw\\ -\optionLabel{Kac}{\typ{true or false}}{false} +\optionLabel{Kac}{\truefalse}{false} & whether to draw in the style of \cite{Kac:1990} \\ -\optionLabel{label}{true or false}{false} +\optionLabel{Kac arrows}{\truefalse}{false} +& whether to draw arrows in the style of \cite{Kac:1990} \\ +\optionLabel{label}{\truefalse}{false} & whether to label the roots according to the current labelling scheme\\ -\optionLabel{label*}{\typ{true or false}}{false} +\optionLabel{label*}{\truefalse}{false} & whether to label the roots at alterative label locations according to the current labelling scheme\\ -\optionLabel{label macro}{\typ{1-parameter \TeX{} macro}}{\texttt{\#1}} +\optionLabel{label depth}{1-parameter \TeX{} macro}{g} +& the current maximal depth of text labels for the roots, set by giving mathematics text of that depth\\ +\optionLabel{label directions}{comma separated list}{} +& list of directions to place root labels: above, below, right, left, below right, and so on. \\ +\optionLabel{label* directions}{comma separated list}{} +& list of directions to place alternate root labels: above, below, right, left, below right, and so on. \\ +\optionLabel{label height}{\typ{1-parameter \TeX{} macro}}{b} +& the current maximal height of text labels for the roots, set by giving mathematics text of that height\\ +\optionLabel{label macro}{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{label height}{\typ{1-parameter \TeX{} macro}}{b} -& the current maximal height of text labels for the roots, set by giving mathematics text of that height\\ -\optionLabel{label depth}{\typ{1-parameter \TeX{} macro}}{g} -& the current maximal depth of text labels for the roots, set by giving mathematics text of that depth\\ \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{mark}{\typ{o,O,t,x,X,*}}{*} @@ -1874,17 +1921,20 @@ are indicated with double edges (like those of an \(F_4\) Dynkin diagram without is computed as \(n=\sum 2^{i-1} a_i\), \(a_i=0\) or \(1\), to say that root \(i\) is crossed, i.e. a noncompact root\\ \optionLabel{ply}{\typ{0,1,2,3,4}}{0} & how many roots get folded together, at most\\ -\optionLabel{reverse arrows}{\typ{true or false}}{true} +\optionLabel{reverse arrows}{\truefalse}{true} & whether to reverse the direction of the arrows that arise along the edges\\ \optionLabel{root radius}{\typ{number}cm}{.05cm} & size of the dots and of the crosses in the Dynkin diagram \\ -\optionLabel{text style}{\typ{TikZ style data}}{scale=.7} +\optionLabel{text style}{\TikZstyle}{scale=.7} & Style for any labels on the roots\\ -\optionLabel{upside down}{\typ{true or false}}{false} +\optionLabel{upside down}{\truefalse}{false} & whether to reverse up to down\\ +\optionLabel{vertical shift}{\typ{length}}{.5ex} +& amount to shift up the Dynkin diagram, from the origin of \TikZ coordinates.\\ \end{longtable} \par\noindent{}All other options are passed to TikZ. + \nocite{*} \bibliographystyle{amsplain} \bibliography{dynkin-diagrams} 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 19b873760de..7cb271cf539 100644 --- a/Master/texmf-dist/tex/latex/dynkin-diagrams/dynkin-diagrams.sty +++ b/Master/texmf-dist/tex/latex/dynkin-diagrams/dynkin-diagrams.sty @@ -1,6 +1,6 @@ % The Dynkin Diagrams package. % -% Version 3.141592653589 +% Version 3.1415926535897 % % This package draws Dynkin diagrams in LaTeX % documents, using the TikZ package. @@ -13,7 +13,7 @@ % Released under the LaTeX Project Public License v1.3c or later, see % http://www.latex-project.org/lppl.txt \NeedsTeXFormat{LaTeX2e}[1994/06/01] -\ProvidesPackage{dynkin-diagrams}[2020/03/16 Dynkin diagrams] +\ProvidesPackage{dynkin-diagrams}[2020/03/19 Dynkin diagrams] \RequirePackage{etex} \RequirePackage{tikz} \RequirePackage{xstring} @@ -24,6 +24,7 @@ \RequirePackage{pgfopts} \RequirePackage{amsmath} \RequirePackage{amssymb} +\RequirePackage{mathtools} \usetikzlibrary{ arrows, arrows.meta, @@ -49,6 +50,11 @@ \newif\ifold@dynkin@is@extended \newif\ifold@dynkin@label@the@roots \newif\ifold@dynkin@label@star@the@roots +\newif\ifold@dynkin@is@twisted +\newif\ifold@dynkin@reverse@arrows +\newif\ifold@dynkin@left@fold +\newif\ifold@dynkin@right@fold +\newif\ifold@dynkin@odd \NewDocumentCommand\dynkin@save{}% {% \xdef\dynkin@ply@value{1}% @@ -58,6 +64,11 @@ {\global\dynkin@is@twistedfalse}% \ifdynkin@label@the@roots\global\old@dynkin@label@the@rootstrue\else\global\old@dynkin@label@the@rootsfalse\fi% \ifdynkin@label@star@the@roots\global\old@dynkin@label@star@the@rootstrue\else\global\old@dynkin@label@star@the@rootsfalse\fi% +\ifdynkin@is@twisted\global\old@dynkin@is@twistedtrue\else\global\old@dynkin@is@twistedfalse\fi% +\ifdynkin@reverse@arrows\global\old@dynkin@reverse@arrowstrue\else\global\old@dynkin@reverse@arrowsfalse\fi% +\ifdynkin@left@fold\global\old@dynkin@left@foldtrue\else\global\old@dynkin@left@foldfalse\fi% +\ifdynkin@left@fold\global\old@dynkin@right@foldtrue\else\global\old@dynkin@right@foldfalse\fi% +\ifdynkin@odd\global\old@dynkin@oddtrue\else\global\old@dynkin@oddfalse\fi% }% \NewDocumentCommand\dynkin@restore{}% {% @@ -66,6 +77,11 @@ \ifold@dynkin@is@extended\global\dynkin@is@extendedtrue\else\global\dynkin@is@extendedfalse\fi% \ifold@dynkin@label@the@roots\global\dynkin@label@the@rootstrue\else\global\dynkin@label@the@rootsfalse\fi% \ifold@dynkin@label@star@the@roots\global\dynkin@label@star@the@rootstrue\else\global\dynkin@label@star@the@rootsfalse\fi% +\ifold@dynkin@is@twisted\global\dynkin@is@twistedtrue\else\global\dynkin@is@twistedfalse\fi% +\ifold@dynkin@reverse@arrows\global\dynkin@reverse@arrowstrue\else\global\dynkin@reverse@arrowsfalse\fi% +\ifold@dynkin@left@fold\global\dynkin@left@foldtrue\else\global\dynkin@left@foldfalse\fi% +\ifold@dynkin@left@fold\global\dynkin@right@foldtrue\else\global\dynkin@right@foldfalse\fi% +\ifold@dynkin@odd\global\dynkin@oddtrue\else\global\dynkin@oddfalse\fi% }% \NewDocumentEnvironment{dynkinDiagram}{O{}mO{0}m}% {% @@ -82,7 +98,7 @@ {% \dynkin@save{}% \ifdefined\filldraw% -\@dynkin[#1]{#2}[#3]{#4}% +\@dynkin[vertical shift=0,#1]{#2}[#3]{#4}% \else% \tikz[baseline=(origin.base)]{\@dynkin[#1]{#2}[#3]{#4}}% \fi% @@ -1565,16 +1581,18 @@ tips] ($(\dynkin@root@name \the\@dynkin@to@root)$) -- - ($.3*(\dynkin@root@name \the\@dynkin@to@root)% - +.7*(\dynkin@root@name \the\@dynkin@from@root)$);% + ($.5*(\dynkin@root@name \the\@dynkin@to@root)% + +.5*(\dynkin@root@name \the\@dynkin@from@root) + -(.5*\dynkin@arrow@width,0)$);% \else% \path[ /Dynkin diagram/arrow shape, tips] ($(\dynkin@root@name \the\@dynkin@from@root)$) -- - ($.3*(\dynkin@root@name \the\@dynkin@from@root)+% - .7*(\dynkin@root@name \the\@dynkin@to@root)$);% + ($.5*(\dynkin@root@name \the\@dynkin@from@root)+% + .5*(\dynkin@root@name \the\@dynkin@to@root) + +(.5*\dynkin@arrow@width,0)$);% \fi% \end{pgfonlayer}%% \fi% @@ -2018,7 +2036,8 @@ \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)} -\def\dynkin@arrow@style{length=1.5*\dynkin@root@radius} +\def\dynkin@arrow@width{1.5*\dynkin@root@radius} +\def\dynkin@arrow@style{length=\dynkin@arrow@width} \def\dynkin@horizontal@shift{0pt} \def\dynkin@vertical@shift{.5ex} % Shift applied to all Dynkin diagrams @@ -2037,6 +2056,7 @@ arrow style/.estore in = \dynkin@arrow@style, arrow-style/.forward to=/Dynkin diagram/arrow style, arrowstyle/.forward to=/Dynkin diagram/arrow style, + arrow width/.estore in = \dynkin@arrow@width, arrows/.is if = dynkin@arrows, arrows = true, at/.estore in = \dynkin@current@location, @@ -2117,9 +2137,7 @@ fold left/.is if = dynkin@left@fold, fold-left/.forward to = /Dynkin diagram/fold left, foldleft/.forward to = /Dynkin diagram/fold left, - fold left/.default = false, - ply/.estore in = \dynkin@ply@value, - ply/.default = 1, + fold left = false, fold/.style={/Dynkin diagram/ply=2,fold style}, fold style/.style = { /Dynkin diagram/ply=2, @@ -2141,7 +2159,7 @@ fold right/.is if = dynkin@right@fold, fold-right/.forward to = fold right, foldright/.forward to = fold right, - fold right/.default = false, + fold right = false, fold right style/.style = {}, fold-right-style/.forward to=/Dynkin diagram/fold right style/.style, foldrightstyle/.forward to=/Dynkin diagram/fold right style/.style, @@ -2205,7 +2223,6 @@ label/.is if = dynkin@label@the@roots, label = false, label*/.is if = dynkin@label@star@the@roots, - label*/.default=false, label*=false, label depth/.style={ /tikz/every label/.append style={ @@ -2248,14 +2265,12 @@ ordering = Bourbaki, parabolic/.estore in = \dynkin@parabolic, parabolic/.default = 0, + ply/.estore in = \dynkin@ply@value, + ply/.default = 1, reverse arrows/.is if = dynkin@reverse@arrows, reverse arrows = false, reverse-arrows/.forward to = /Dynkin diagram/reverse arrows, reversearrows/.forward to = /Dynkin diagram/reverse arrows, - upside down/.is if = dynkin@is@upsidedown, - upside down = false, - upside-down/.forward to = /Dynkin diagram/upside down, - upsidedown/.forward to = /Dynkin diagram/upside down, root radius/.estore in = \dynkin@root@radius, root-radius/.forward to=/Dynkin diagram/root radius, rootradius/.forward to=/Dynkin diagram/root radius, @@ -2265,11 +2280,15 @@ text-style/.forward to=text style/.style, textstyle/.forward to=text style/.style, twisted/.is if = dynkin@is@twisted, - twisted/.default = false, + twisted = false, twisted series/.estore in = \dynkin@twisted@series, twisted-series/.forward to = /Dynkin diagram/twisted series, twistedseries/.forward to = /Dynkin diagram/twisted series, twisted series/.default = 0, + upside down/.is if = dynkin@is@upsidedown, + upside down = false, + upside-down/.forward to = /Dynkin diagram/upside down, + upsidedown/.forward to = /Dynkin diagram/upside down, vertical shift/.estore in=\dynkin@vertical@shift, vertical shift/.default=.5ex, vertical-shift/.forward to=/Dynkin diagram/vertical shift, |