This section explains the Latex output functor.
output.latex
The Latex output functor assumes that the graph principle is used on the output dimension.
The resulting LaTeX output makes use of the style file
xdag.sty, which is based on the original style file
dtree.sty by Denys Duchier.
Unix users can use the shell script xdag2eps to convert the
latex output into encapsulated postscript (EPS), xdag2pdf into
PDF, or xdag2jpg to JPG. xdag2eps, xdag2pdf and
xdag2jpg require the style file xdag.sty to be in the
current directory. The latex file to convert is also required to be in
the current directory.
Below, we display an example Latex output after having been compiled into pdf:
And below, we display an example Dag output including node labels (written on the vertical projection edges):
To get the LaTeX output into a file, just tick file in the
Extras pull-down menu instead of the default
inspect. This effects that all output normally printed using
the Oz Inspector is redirected into a file. Whenever this happens, you
are asked where to create this file. Having the file in your hands,
you can then convert it into EPS, PDF or JPG using the scripts
xdag2eps, xdag2pdf and xdag2jpg, respectively.
Here is the LaTeX code for the latter Dag:
\begin{xdag}
\node{1}{2}{$\begin{array}{c}1\\\\\textrm{maria}\end{array}$}{n}
\node{2}{1}{$\begin{array}{c}2\\\\\textrm{versucht}\end{array}$}{v}
\node{3}{4}{$\begin{array}{c}3\\\\\textrm{einen}\end{array}$}{d}
\node{4}{3}{$\begin{array}{c}4\\\\\textrm{mann}\end{array}$}{n}
\node{5}{3}{$\begin{array}{c}5\\\\\textrm{zu}\end{array}$}{p}
\node{6}{2}{$\begin{array}{c}6\\\\\textrm{lieben}\end{array}$}{v}
\edge{6}{5}{pf}
\edge{6}{4}{mf}
\edge{4}{3}{df}
\edge{2}{6}{vxf}
\edge{2}{1}{mf}
\end{xdag}
The Latex output functor paints dags using the xdag environment
from the xdag.sty style file. xdag provides two basic
commands: \node and \edge.
\node has four arguments:
\edge has three arguments:
Notice that you can increase the horizontal distance between nodes
using the \xdagExtraColSep command:
\begin{xdag}
\xdagExtraColsep{1}{20pt}
\node{1}{2}{$\begin{array}{c}1\\\\\textrm{maria}\end{array}$}{n}
\node{2}{1}{$\begin{array}{c}2\\\\\textrm{versucht}\end{array}$}{v}
\node{3}{4}{$\begin{array}{c}3\\\\\textrm{einen}\end{array}$}{d}
\node{4}{3}{$\begin{array}{c}4\\\\\textrm{mann}\end{array}$}{n}
\node{5}{3}{$\begin{array}{c}5\\\\\textrm{zu}\end{array}$}{p}
\node{6}{2}{$\begin{array}{c}6\\\\\textrm{lieben}\end{array}$}{v}
\edge{6}{5}{pf}
\edge{6}{4}{mf}
\edge{4}{3}{df}
\edge{2}{6}{vxf}
\edge{2}{1}{mf}
\end{xdag}
Here, the horizontal distance between the first and the second node is
increased by 20pt. You can also set this distance all nodes
using \xdagColsep, as in the following example:
\begin{xdag}
\xdagColsep=20pt
\node{1}{2}{$\begin{array}{c}1\\\\\textrm{maria}\end{array}$}{n}
\node{2}{1}{$\begin{array}{c}2\\\\\textrm{versucht}\end{array}$}{v}
\node{3}{4}{$\begin{array}{c}3\\\\\textrm{einen}\end{array}$}{d}
\node{4}{3}{$\begin{array}{c}4\\\\\textrm{mann}\end{array}$}{n}
\node{5}{3}{$\begin{array}{c}5\\\\\textrm{zu}\end{array}$}{p}
\node{6}{2}{$\begin{array}{c}6\\\\\textrm{lieben}\end{array}$}{v}
\edge{6}{5}{pf}
\edge{6}{4}{mf}
\edge{4}{3}{df}
\edge{2}{6}{vxf}
\edge{2}{1}{mf}
\end{xdag}