# What is a good way to draw Dynkin diagrams in LaTeX?

I'm about to start writing something up which includes a fair number of Dynkin diagrams, and I can think of several ways of going about it:

• Just draw the darn things in, e.g., InkScape, and include the graphics in the standard way.

• Hack them together using the picture environment or tikz, as this person suggests.

• Abuse the feynmf package, possibly with defining new kinds of "propagator" lines.

Anybody have experience with this sort of task?

I would not recommend abusing the feynmf package. In the past I have used the picture environment (with the eepic package) to do precisely this.

Table 6.2 in page 185 of these lecture notes (PDF file), I typeset the Dynkin diagrams using the picture environment. I'm happy to make the code available. Here's a sample for the $A_n$ Dynkin diagram:

\begin{picture}(50,7)
\multiput(5,1)(10,0){5}{\circle{2}}
\multiputlist(10,1)(10,0)%
{{\line(1,0){8}},{\line(1,0){8}},{$\cdots$},{\line(1,0){8}}}
\multiputlist(5,3)(10,0){$\scriptscriptstyle 1$,%
$\scriptscriptstyle 2$,$\scriptscriptstyle 3$,%
$\scriptscriptstyle \ell{-}1$,$\scriptscriptstyle \ell$}
\end{picture}


The diagram is decorated with a labelling of the nodes, by the way.

• Actually, this only uses the epic package, not the eepic package. Jul 27, 2010 at 18:55

Try the dynkin-diagrams package from CTAN.

\documentclass{article}
\usepackage{etoolbox}
\usepackage{dynkin-diagrams}
\def\row#1/#2!{#1_{\IfStrEq{#2}{}{n}{#2}} & \dynkin{#1}{#2}\\}
\newcommand{\tble}[1]{
\renewcommand*\do[1]{\row##1!}
$\begin{array}{ll}\docsvlist{#1}\end{array}$
}
\begin{document}
\tble{A/{},B/{},C/{},D/{},E/6,E/7,E/8,F/4,G/2}
\end{document}