{Introduction to drawing structured diagrams in \rlap{\SDDL}}
{Mathieu Bourgeois and Roger Villemaire}
{We present \SDDL, a Structured Diagram
Description Language aimed at producing graphical representations for
discrete mathematics and computer science. \SDDL\ allows combining
graphical objects (circles, lines, arrows, $\ldots$) and \LaTeX\ boxes to
produce diagrams representing discrete structures such as graphs, trees,
etc.
In \SDDL, one adds objects to a canvas in order to produce a
drawing. Objects are either basic building blocks such as
circles, lines, arrows or even already defined canvas. This
allows reusing existing representations by integrating them at
various positions in the main canvas. Furthermore, inner objects
can always be referred to. It is hence easy to add linking
objects, such as lines and arrows, between inner objects.
\SDDL\ uses an object-oriented inspired syntax, using the dot to
access attributes, such as specific points (center, corner,
etc.), in a natural way. Diagrams are hence constructed by
combining existing parts and linking them in various ways.
Our tool is implemented in Java, but, since \SDDL\ offers its own
simple syntax, no knowledge of Java is required in order to
learn \SDDL. The tool translates the \SDDL\ input into Asymptote
code and uses the Asymptote engine to produce \EPS\ output.
\SDDL\ is hence a simple and clear language in which one can
combine graphical objects and \LaTeX\ code in order to produce
structured diagrams such as those used in discrete mathematics
and computer science.
}