summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/adtrees
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-07-11 21:04:12 +0000
committerKarl Berry <karl@freefriends.org>2019-07-11 21:04:12 +0000
commit7559eb16050dce8cef70650604224db997445886 (patch)
treefef9221758a3d08bb43edaf54e3841fd08d5de2f /Master/texmf-dist/doc/latex/adtrees
parent7db6071b1ded2ed4dd2c31a1a67a43e6eaba756b (diff)
adtrees (11jul19)
git-svn-id: svn://tug.org/texlive/trunk@51618 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/adtrees')
-rw-r--r--Master/texmf-dist/doc/latex/adtrees/README6
-rw-r--r--Master/texmf-dist/doc/latex/adtrees/adtreesdoc.pdfbin306406 -> 343779 bytes
-rw-r--r--Master/texmf-dist/doc/latex/adtrees/adtreesdoc.tex628
3 files changed, 532 insertions, 102 deletions
diff --git a/Master/texmf-dist/doc/latex/adtrees/README b/Master/texmf-dist/doc/latex/adtrees/README
index ed7b75851e1..27948ed5fe9 100644
--- a/Master/texmf-dist/doc/latex/adtrees/README
+++ b/Master/texmf-dist/doc/latex/adtrees/README
@@ -2,8 +2,8 @@ The adtrees package provides a package to write adpositional trees, a
formalism devoted to represent natural language expressions.
The package is composed by the filed
-- adtree.sty: containing the LaTeX engine to adpositional trees;
-- adtreedoc.pdf: the human readable documentation for the package;
-- adtreedoc.tex: the source code for the documentation.
+- adtrees.sty: containing the LaTeX engine to adpositional trees;
+- adtreesdoc.pdf: the human readable documentation for the package;
+- adtreesdoc.tex: the source code for the documentation.
The package is distributed under the GNU General Public License.
diff --git a/Master/texmf-dist/doc/latex/adtrees/adtreesdoc.pdf b/Master/texmf-dist/doc/latex/adtrees/adtreesdoc.pdf
index ee1d7c58a54..833e48f5d55 100644
--- a/Master/texmf-dist/doc/latex/adtrees/adtreesdoc.pdf
+++ b/Master/texmf-dist/doc/latex/adtrees/adtreesdoc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/adtrees/adtreesdoc.tex b/Master/texmf-dist/doc/latex/adtrees/adtreesdoc.tex
index d835371065e..e2ddf915868 100644
--- a/Master/texmf-dist/doc/latex/adtrees/adtreesdoc.tex
+++ b/Master/texmf-dist/doc/latex/adtrees/adtreesdoc.tex
@@ -4,6 +4,7 @@
\usepackage{graphics}
\usepackage{adtrees}
\usepackage{url}
+\usepackage{microtype}
\begin{document}
\title{Adpositional Trees in \LaTeX}
@@ -17,7 +18,7 @@
\author[Federico Gobbo]{Federico Gobbo}
\address[Federico Gobbo]{Faculty of Humanities\\
University of Amsterdam\\
- Spuistraat 210,NL-1012VT Amsterdam, The Netherlands}
+ Spuistraat 134,NL-1012VT Amsterdam, The Netherlands}
\email{F.Gobbo@uva.nl}
\urladdr{http://federicogobbo.name}
\maketitle
@@ -31,16 +32,9 @@ discussed in F.~Gobbo and M.~Benini, \textit{Constructive Adpositional
Scholar Press (2011). Since then, they have been used without
theoretical modifications in a number of applications.
-This document describes the \LaTeX\/ package to draw adtrees. This
-package is an improvement over the original one used to typeset all
-the examples in the previously cited book. The present package
-maintains the same graphical presentation with a number of
-improvements, and an incompatible syntax. Also, the original package,
-although never distributed, is no longer maintained.
-
-This document describes all the features of the package. It is written
-so that a user may start typesetting adtrees as soon as possible: all
-the fundamental commands and macros are presented in
+This document describes the \LaTeX\/ package to draw adtrees. It is
+written so that a user may start typesetting adtrees as soon as
+possible: all the fundamental commands and macros are presented in
Section~\ref{sec:simple}. At the first reading, the subsequent
sections may be freely skipped.
@@ -56,20 +50,28 @@ Section~\ref{sec:internal} describes the low-level definitions that
affect the construction of the various pieces composing
adtrees. Changing these definitions is intended for advanced users,
who want to modify the standard appearance of
-adtrees. Section~\ref{sec:hints} concludes the description of the
+adtrees. Section~\ref{sec:hints} concludes the description of the main
graphical package, showing some special techniques to deal with
adtrees, and a couple of very low-level primitives of the package.
+Sections~\ref{sec:pathlike} and~\ref{sec:tabular} describe two
+alternatives way to compose adtrees. the former shows a
+\emph{path-like} format which is useful when keeping the order of
+morphemes in the original sentence is important; the latter is a
+textual rendering of an adtree as a piece of indented text.
+
The final Section~\ref{sec:linear} describes the way to render adtrees
in a linear format. This is a minor feature which we discourage to
use, except for very special purposes.
% --------------------------
+\clearpage
\section{Simple Adtrees}\label{sec:simple}
The installation of the package is standard: see the documentation on
-your particular \TeX\/ system for the details. Using the package in a
-document requires it to be invoked with
-\verb|\usepackage{adtrees}|.\vspace{1.5ex}
+your particular \TeX\/ system for the details. It reduces to put the
+\verb|.sty| file in a sensible place. Using the package in a document
+requires it to be invoked with
+\verb|\usepackage{adtrees}| in the preamble.\vspace{1.5ex}
The simplest adtree is composed by a single morpheme:
\begin{equation*}
@@ -112,7 +114,7 @@ grammar character of the resulting adtree, and the
\emph{trajectory}. The trajectory is an arrow, and it can be
$\leftarrow$, $\rightarrow$, or $\leftrightarrow$. The following three
examples are very similar to the ones in Figure 2.11 of Gobbo and
-Benini (2011:24):
+Benini (2011):
\begin{equation*}
\ATr{to}{I_2^2}
{\ATm{Kim}{O_2}}
@@ -222,7 +224,7 @@ commands, where \verb|x| stands for \emph{extends} and \verb|l| and
\verb|r| for \emph{left} and \emph{right}, respectively. They both
take a single argument which is the adtree being appended at the end
of the extended branch. For example, the following adtree, similar to
-the one in Figure~2.16 (Gobbo and Benini 2011:29):
+the one in Figure~2.16 (Gobbo and Benini 2011):
\begin{equation*}
\unitlength.23ex
\ATl{with}{I^3_3}[phrase]
@@ -264,7 +266,7 @@ also avoided in complex adtrees using advanced commands. See Section
Sometimes, for the sake of clarity, morphological relations should be
stated explicitly. For example, the following adtree:
\begin{equation*}
- \unitlength.2ex
+% \unitlength.3ex
\ATr{-ly}{E>I^3_2}
{\ATm{quick-}{A}}
{\ATre{I^3_2}
@@ -307,9 +309,11 @@ The package provides the commands \verb|\ATlmu|, \verb|\ATrmu|, and
typesetting of adtrees using the $\mu$ adposition.
% --------------------------
+\clearpage
\section{Alignments and Centring}\label{sec:centring}
Drawing an adtree in a display is the simplest and most common way:
\begin{equation*}
+ \unitlength.18ex
\ATl{with}{I^3_3}
{\ATs{the key}{O_3}}
{\ATre{I^3_2}
@@ -319,6 +323,7 @@ Drawing an adtree in a display is the simplest and most common way:
is generated by the following code
\begin{verbatim}
\begin{equation*}
+ \unitlength.18ex
\ATl{with}{I^3_3}
{\ATs{the key}{O_3}}
{\ATre{I^3_2}
@@ -334,13 +339,13 @@ environment.
In general, we strongly encourages the user to use a robust display
environment, like \verb|equation*| or \verb|displaymath|, and to avoid
the \verb|center| environment. Advanced displays to align mathematical
-material, as in AMS-\TeX\/, are another good and reliable option to
-place adtrees in a page.\vspace{1.5ex}
+material, as in the \AmS\ suite, are another good and reliable option
+to place adtrees in a page.\vspace{1.5ex}
An adtree fits exactly its enclosing box, that is
\begin{equation*}
\fboxsep0pt
- \unitlength.3ex
+ \unitlength.18ex
\fbox{\ATl{with}{I^3_3}
{\ATs{the key}{O_3}}
{\ATre{I^3_2}
@@ -352,11 +357,11 @@ half of the point in the root which lies outside the box. This is done
on purpose, to make easier to collate together adtrees.\vspace{1.5ex}
Writing a morpheme or a summary directly inside the text, like
-\ATm{Gargoyle}{O}, produces a box whose baseline is exactly the
+\fbox{\ATm{Gargoyle}{O}}, produces a box whose baseline is exactly the
baseline of the morpheme. This makes the behaviour predictable, even
if the graphical appearance is quite terrible (like in this
-paragraph). An adtree, like \ATre{I_2^2} {\ATm{the box}{O_2}}
-{\ATbe{I_1^2}{\ATm{Kim}{O_1}}{\ATs{owns}{I^2}}}, behaves similarly,
+paragraph). An adtree, like \fbox{\ATre{I_2^2} {\ATm{the box}{O_2}}
+ {\ATbe{I_1^2}{\ATm{Kim}{O_1}}{\ATs{owns}{I^2}}}}, behaves similarly,
because the baseline of the box is the baseline of the lowest morpheme
or summary in the whole tree, the one corresponding to the \emph{owns}
morpheme in the example.
@@ -401,6 +406,7 @@ More sophisticated ways to place an adtree in the page are discussed
in Section~\ref{sec:hints}.
% --------------------------
+\clearpage
\section{Dealing with Complex Adtrees}\label{sec:complex}
Simple adtrees are easily typeset using the previously described
commands. But, sooner or later, one has to typeset a complex adtree,
@@ -411,61 +417,63 @@ one may adopt.\vspace{1.5ex}
The simplest and crudest one is to change the length of branches. In
this respect, branches are drawn using the \LaTeX\/ \verb|picture|
-environment, so the length of each branch is
-$25\verb|\unitlength|$. The value of \verb|\unitlength| may be changed
-globally, affecting the way all subsequent adtrees in a document are
-typeset. Also, the value may be changed inside a surrounding group,
-which affects only the adtree to be typeset, but not the rest of the
-document. Finally, the value of \verb|\unitlength| can be changed
-within the adtree, to affect the point where the change appears and
-all the subtrees. Notice how there is no way to directly change the
-value of \verb|\unitlength| in a single node: we will return on this
-point later.
+environment, so the length of each branch is $25\verb|\unitlength|$.
+
+The value of \verb|\unitlength| may be changed globally, affecting the
+way all subsequent adtrees in a document are typeset. Also, the value
+may be changed inside a surrounding group, which affects only the
+adtree to be typeset, but not the rest of the document.
+
+Finally, the value of \verb|\unitlength| can be changed within the
+adtree, to affect the point where the change appears and all the
+subtrees. Notice how there is no way to directly change the value of
+\verb|\unitlength| in a single node: we will return on this point
+later.
For example,
\begin{equation*}
- {\unitlength.3ex
+ {\unitlength.28ex
\ATl{with}{I^3_3}
{\ATs{the key}{O_3}}
{\ATre{I^3_2}
{\ATs{the door}{O_2}}
{\ATs{will be opened}{I^3}}} }
\end{equation*}
-has been typeset by
+has been typeset adopting the strategy to affect all the branches in
+the adtree:
\begin{verbatim}
- {\unitlength.3ex
- \ATl{with}{I^3_3}
- {\ATs{the key}{O_3}}
- {\ATre{I^3_2}
- {\ATs{the door}{O_2}}
- {\ATs{will be opened}{I^3}}} }
+ {\unitlength.3ex
+ \ATl{with}{I^3_3}{\ATs{the key}{O_3}}
+ {\ATre{I^3_2}
+ {\ATs{the door}{O_2}}
+ {\ATs{will be opened}{I^3}}} }
\end{verbatim}
-adopting the strategy to affect all the branches in the adtree. Notice
-how the outermost braces limit the scope of the change to the value of
-\verb|\unitlength|.
On the contrary,
-\begin{equation*}
- \ATl{with}{I^3_3}
- {\unitlength.12ex\ATxl{\ATbe{O_3}
- {\ATm{the}{A}}
- {\ATm{key}{O}}}}
- {\unitlength.33ex\ATre{I^3_2}
- {\ATs{the door}{O_2}}
- {\ATs{will be opened}{I^3}}}
-\end{equation*}
-modifies the length of all the branches in the left subtree to
-\verb|3ex| (since $3 = 25 \cdot 0.12$), and to \verb|8.25ex| in the
-right subtree
\begin{verbatim}
+ \unitlength.31ex
\ATl{with}{I^3_3}
{\unitlength.12ex\ATxl{\ATbe{O_3}
{\ATm{the}{A}}
{\ATm{key}{O}}}}
- {\unitlength.33ex\ATre{I^3_2}
+ {\unitlength.28ex\ATre{I^3_2}
{\ATs{the door}{O_2}}
{\ATs{will be opened}{I^3}}}
\end{verbatim}
+modifies the length of all the branches in the left subtree to
+\verb|3ex| (since $3 = 25 \cdot 0.12$), and to \verb|7ex| in the
+right subtree, while the outer branches have a length of
+\verb|7.75ex|, obtaining
+\begin{equation*}
+ \unitlength.31ex
+ \ATl{with}{I^3_3}
+ {\unitlength.12ex\ATxl{\ATbe{O_3}
+ {\ATm{the}{A}}
+ {\ATm{key}{O}}}}
+ {\unitlength.28ex\ATre{I^3_2}
+ {\ATs{the door}{O_2}}
+ {\ATs{will be opened}{I^3}}}
+\end{equation*}
The adposition, and the related arrow and grammar character are moved
accordingly, which is not pleasant in this example, although it is
@@ -486,9 +494,9 @@ change the value of \verb|\unitlength| inside a node, like in the
latest example. This can be achieved using the length variant of the
adtree drawing commands. There are also an angle variant, and a
variant affecting both the length and the angle.
-
The complete list of complex adtree drawing commands, with all the
-variants is:
+variants is in Table~\ref{tab:1}
+\begin{table}
\begin{center}
\begin{tabular}{cccc}\renewcommand{\arraystretch}{1.3}
\textbf{base command} & \textbf{length variant} & \textbf{angle
@@ -517,6 +525,9 @@ variants is:
\hline
\end{tabular}
\end{center}
+\caption{Complex adtrees drawing command.}\label{tab:1}
+\end{table}
+
The names of these commands are easy to remember: the length variant
has a trailing \verb|L|, the angle variant a trailing \verb|A|, and
the combined variant a trailing \verb|LA|.
@@ -539,7 +550,7 @@ angle between the branches: the default is $60$ degrees. Specifying
any other values resorts to the default.
The combined variant requires two additional arguments, the length and
-the angle, in this order, before any other parameter.
+the angle, in this order, before any other parameter.\vspace*{1.5ex}
A hidden, very technical, feature of the package is that, whatever
follows the length in the \verb|L| argument gets evaluated inside the
@@ -609,7 +620,7 @@ $90$ degrees, and \verb|\ATextrawideangle|, which sets the angle to
$120$ degrees. These values are the only possible ones, also in the
angle variant of the commands, as said before. Moreover, the value
$60$, $90$, or $120$ passed to the angle variant of a command (or to
-the combined variant) affect the node locally, as in the length
+the combined variant) affects the node locally, as in the length
variants' case.
For example
@@ -663,6 +674,7 @@ reduction in height may cause the adposition part of the adtree to
fall beyond the base of the branches.
% --------------------------
+\clearpage
\section{Internal Constructions}\label{sec:internal}
All the major parts of an adtree can be customised. This section
describes a number of definitions which are used to control the
@@ -729,9 +741,9 @@ has been obtained by the code
{\ATs{The box belongs}{I^2_1}}}
\end{verbatim}
-The \verb|L| hidden feature of the package, already introduces, allows
-to redefine these commands within the scope of a single node, as in
-the root of
+The \verb|L| hidden feature of the package, already introduced, which
+injects code into the macro expansion, allows to redefine these
+commands within the scope of a single node, as in the root of
\begin{equation*}
\ATrL{\unitlength\def\ATpreadpositionskip{\vskip-2ex}}
{to}{I_2^2}{\ATm{Kim}{O}}
@@ -944,6 +956,7 @@ natural point to join with the branches of adtrees. This fact should
be taken in account when changing the definition.
% --------------------------
+\clearpage
\section{Hints and Tricks}\label{sec:hints}
There are a few last features which can be exploited in the
\verb|adtrees| package. These are the low-level commands to draw the
@@ -963,12 +976,11 @@ trick to equalise the position of adposition blocks.
For example,
\begin{equation*}
- \unitlength.2ex
+ \unitlength.26ex
{\def\ATrightbranch#1#2{\color{red}\line(#1,#2)}
\ATlL{\unitlength
\def\ATleftbranch##1##2{\color{green}\line(##1,##2)}}
- {with}{I^3_3}
- {\ATs{the key}{O_3}}
+ {with}{I^3_3}{\ATs{the key}{O_3}}
{\ATre{I^3_2}
{\ATxl{\ATs{the door}{O_2}}}
{\ATs{will be opened}{I^3}}} }
@@ -1095,9 +1107,420 @@ modifying the (internal) command \verb|\@ATsmall|:
\end{verbatim}
Changing \verb|\small| in the above code, modifies the size of the
components of the adposition block. We suggest to avoid such a change,
-except in a local group which contains a complete adtree.
+except in a local group which contains a complete adtree.\vfill
% --------------------------
+\clearpage
+\section{Path-like Adtrees}\label{sec:pathlike}
+Adtrees are abstract representation of pieces of text. When the
+relation with an effective piece of text is relevant, a different
+representation is preferred: path-like adtrees. For example, the
+expression ``the girl for whom the man bought the book'' is rendered as
+\begin{displaymath}
+ \begin{pathlikeadtree}
+ the [A] ( 1,1)[\overleftarrow{O}] &
+ girl [O] &
+ for [U] ( 5,4)[\overleftarrow{I^4_3}] &
+ wh- [U] (-2,6)[\overleftarrow{O}] &
+ om [O_2] (-2,1)[\overleftarrow{O_2}] &
+ the [A] ( 1,1)[\overleftarrow{O_1}] &
+ man [O_1] ( 1,2)[\overleftarrow{I^4_1}] &
+ bought [I^4_{\mathsf{dep}}] (-4,5)[\overrightarrow{A}] &
+ the [A] ( 1,1)[\overleftarrow{O_2}] &
+ book [O_2] (-2,3)[\overleftarrow{I^4_2}]
+ \end{pathlikeadtree}
+\end{displaymath}
+from the code
+\begin{verbatim}
+ \begin{pathlikeadtree}
+ the [A] ( 1,1)[\overleftarrow{O}] &
+ girl [O] &
+ for [U] ( 5,4)[\overleftarrow{I^4_3}] &
+ wh- [U] (-2,6)[\overleftarrow{O}] &
+ om [O_2] (-2,1)[\overleftarrow{O_2}] &
+ the [A] ( 1,1)[\overleftarrow{O_1}] &
+ man [O_1] ( 1,2)[\overleftarrow{I^4_1}] &
+ bought [I^4_{\mathsf{dep}}] (-4,5)[\overrightarrow{A}] &
+ the [A] ( 1,1)[\overleftarrow{O_2}] &
+ book [O_2] (-2,3)[\overleftarrow{I^4_2}]
+ \end{pathlikeadtree}
+\end{verbatim}
+
+To write a path-like adtree one encloses it into a
+\verb!pathlikeadtree! environment. Then, each \emph{cell} is written.
+Cells are separated by \verb|&|. A cell is composed by a
+\emph{morpheme}, a \emph{grammar character}, and one or more
+\emph{arcs}. The morpheme $m$ comes first with his grammar character
+following in square brackets:
+\begin{verbatim}
+ \begin{pathlikeadtree}
+ morhpeme [G]
+ \end{pathlikeadtree}
+\end{verbatim}
+produces
+\begin{displaymath}
+ \begin{pathlikeadtree}
+ morhpeme [G]
+ \end{pathlikeadtree}
+\end{displaymath}
+
+An arc is specified as \verb|(|$t$\verb|,|$h$\verb|)[|$g$\verb|]|
+where $t$ is the \emph{target}, i.e., the node to which the arc is
+directed, $h$ is the \emph{height} of the arc, which \textbf{must} be
+a positive integer, and $g$ is the \emph{grammar character} of the
+composition of expressions which the arc intend to represent. It
+should be remarked that there \textbf{must} be no space between
+\verb|)| and \verb|[|. For example,
+\begin{displaymath}
+ \begin{pathlikeadtree}
+ the[A](1,1)[\overleftarrow{O}] &
+ girl[O]&for[U]&wh-[U]&om[O_2]&the[A]&man[O_1]&
+ bought[I^4_{\mathsf{dep}}]&the[A]&book[O_2]
+ \end{pathlikeadtree}
+\end{displaymath}
+has been typeset by
+\begin{verbatim}
+ \begin{pathlikeadtree}
+ the[A](1,1)[\overleftarrow{O}] &
+ girl[O]&for[U]&wh-[U]&om[O_2]&the[A]&man[O_1]&
+ bought[I^4_{\mathsf{dep}}]&the[A]&book[O_2]
+ \end{pathlikeadtree}
+\end{verbatim}
+
+The target uses a \emph{relative} specification: in the example, it is
+one step forward with respect to the node it has been written into. Of
+course, going backwards is possible, by using a negative value for the
+target:
+\begin{displaymath}
+ \begin{pathlikeadtree}
+ the[A]&girl[O]&for[U]&
+ wh-[U] (-2,2)[\overleftarrow{O}] &
+ om[O_2]&the[A]&man[O_1]&bought[I^4_{\mathsf{dep}}]&
+ the[A]&book[O_2]
+ \end{pathlikeadtree}
+\end{displaymath}
+\begin{verbatim}
+ \begin{pathlikeadtree}
+ the[A]&girl[O]&for[U]&
+ wh-[U] (-2,2)[\overleftarrow{O}] &
+ om[O_2]&the[A]&man[O_1]&bought[I^4_{\mathsf{dep}}]&
+ the[A]&book[O_2]
+ \end{pathlikeadtree}
+\end{verbatim}
+However, it is possible to specify an \emph{absolute} position
+prepending a \verb|!| to the target:
+\begin{verbatim}
+ \begin{pathlikeadtree}
+ the[A]&girl[O]&
+ for[U] (!8,1)[\overleftarrow{I^4_3}] &
+ wh-[U]&om[O_2]&the[A]&man[O_1]&
+ bought[I^4_{\mathsf{dep}}]&the[A]&book[O_2]
+ \end{pathlikeadtree}
+\end{verbatim}
+\begin{displaymath}
+ \begin{pathlikeadtree}
+ the[A]&girl[O]&
+ for[U] (!8,1)[\overleftarrow{I^4_3}] &
+ wh-[U]&om[O_2]&the[A]&man[O_1]&
+ bought[I^4_{\mathsf{dep}}]&the[A]&book[O_2]
+ \end{pathlikeadtree}
+\end{displaymath}
+
+The appearance of a path-like adtree is controlled by a number of
+parameters which the user may customise:
+\begin{itemize}
+\item \verb|\ATpathinterskip| (default: \verb|.5em|) is the distance
+ between two cells;
+\item \verb|\ATpathunitlength| (default: \verb|4ex|) corresponds to
+ the length of a line of height $1$;
+\item \verb|\ATpicskip| (default: \verb|.2ex|) is the distance between
+ the upper text and the arcs below;
+\item \verb|\ATpathlinethickness| (default: \verb|.1em|) specifies the
+ thickness of the arcs;
+\item \verb|\ATpathlabelhspace| (default: \verb|.3em|) defines the
+ horizontal space between the grammar character in an arc and the
+ vertical line of the arc to which it is closer;
+\item \verb|\ATpathlabelvspace| (default: \verb|1ex|) defines the
+ vertical space between the baseline of the grammar character in an
+ arc and the horizontal line of the arc.
+\end{itemize}
+Finally, the way in which the grammar characters are written is
+customisable by changing their default boxes. They are defined as
+\begin{verbatim}
+ \def\ATnGCBox#1{\@ATsmall$\mathrm{#1}$}
+ \def\ATlGCBox#1{\@ATsmall$\mathrm{#1}$}
+\end{verbatim}
+with \verb|\ATnGCBox| controlling the rendering of the part below each
+morpheme, and \verb|\ATlGCBox| controlling the labels of the arcs.
+
+As an example,
+\begin{displaymath}
+ \ATpathinterskip1.2em
+ \ATpathunitlength4.5ex
+ \ATpicskip1ex
+ \ATpathlinethickness.2pt
+ \ATpathlabelhspace1em
+ \ATpathlabelvspace2ex
+ \begin{pathlikeadtree}
+ the [A] ( 1,1)[\overleftarrow{O}] &
+ girl [O] &
+ for [U] ( 5,4)[\overleftarrow{I^4_3}] &
+ wh- [U] (-2,6)[\overleftarrow{O}] &
+ om [O_2] (-2,1)[\overleftarrow{O_2}] &
+ the [A] ( 1,1)[\overleftarrow{O_1}] &
+ man [O_1] ( 1,2)[\overleftarrow{I^4_1}] &
+ bought [I^4_{\mathsf{dep}}] (-4,5)[\overrightarrow{A}] &
+ the [A] ( 1,1)[\overleftarrow{O_2}] &
+ book [O_2] (-2,3)[\overleftarrow{I^4_2}]
+ \end{pathlikeadtree}
+\end{displaymath}
+has been typeset by
+\begin{verbatim}
+ \ATpathinterskip1.2em
+ \ATpathunitlength4.5ex
+ \ATpicskip1ex
+ \ATpathlinethickness.2pt
+ \ATpathlabelhspace1em
+ \ATpathlabelvspace2ex
+ \begin{pathlikeadtree}
+ the [A] ( 1,1)[\overleftarrow{O}] &
+ girl [O] &
+ for [U] ( 5,4)[\overleftarrow{I^4_3}] &
+ wh- [U] (-2,6)[\overleftarrow{O}] &
+ om [O_2] (-2,1)[\overleftarrow{O_2}] &
+ the [A] ( 1,1)[\overleftarrow{O_1}] &
+ man [O_1] ( 1,2)[\overleftarrow{I^4_1}] &
+ bought [I^4_{\mathsf{dep}}] (-4,5)[\overrightarrow{A}] &
+ the [A] ( 1,1)[\overleftarrow{O_2}] &
+ book [O_2] (-2,3)[\overleftarrow{I^4_2}]
+ \end{pathlikeadtree}
+\end{verbatim}
+
+Path-like adtrees as explained so far are useful to represent adtrees
+having $\epsilon$-only adpositions. Since every adtree, up to a
+syntactical transformation, can be represented in this way, although
+losing some pieces of structural content, path-like adtrees drawn
+using the previously explained features are completely general.
+
+However, there is less elegant way of writing general adtrees in the
+path-like form, in which adpositions are directly referred to in the
+arcs.
+
+In short, the arc syntax is generalised to
+\verb|(|$t$\verb|,|$h$\verb|)[|$g$\verb|]|\verb|<|$a$\verb|>| where
+the $a$ specifies the adposition, either using the relative or the
+absolute \verb|!| syntax. Of course, when there is no explicit
+adpostion to refer, i.e., the adposition is $\epsilon$, the previous
+syntax, without the parameter in angle brackets, is used.
+
+As an illustration,
+\begin{displaymath}
+ \ATpathinterskip1.2em
+ \begin{pathlikeadtree}
+ the [A] ( 1,1)[\overleftarrow{O}] &
+ girl [O] &
+ for [U] &
+ wh- [U] &
+ om [O_2] ( 3,4)[\overleftarrow{I^4_3}]<!3> &
+ the [A] ( 1,1)[\overleftarrow{O_1}] &
+ man [O_1] ( 1,2)[\overleftarrow{I^4_1}] &
+ bought [I^4_{\mathsf{dep}}] (-6,6)[\overrightarrow{A}]<-4> &
+ the [A] ( 1,1)[\overleftarrow{O_2}] &
+ book [O_2] (-2,3)[\overleftarrow{I^4_2}]
+ \end{pathlikeadtree}
+\end{displaymath}
+has been typeset by
+\begin{verbatim}
+\begin{displaymath}
+ \ATpathinterskip1.2em
+ \begin{pathlikeadtree}
+ the [A] ( 1,1)[\overleftarrow{O}] &
+ girl [O] &
+ for [U] &
+ wh- [U] &
+ om [O_2] ( 3,4)[\overleftarrow{I^4_3}]<!3> &
+ the [A] ( 1,1)[\overleftarrow{O_1}] &
+ man [O_1] ( 1,2)[\overleftarrow{I^4_1}] &
+ bought [I^4_{\mathsf{dep}}] (-6,6)[\overrightarrow{A}]<-4> &
+ the [A] ( 1,1)[\overleftarrow{O_2}] &
+ book [O_2] (-2,3)[\overleftarrow{I^4_2}]
+ \end{pathlikeadtree}
+\end{displaymath}
+\end{verbatim}\vspace{1.5ex}
+
+There are a few hints and tricks about path-like adtrees: first, as in
+the case of adtrees, the \verb|pathlikeadtree| environment produces a
+\TeX{} box, thus it can be manipulated by, e.g., rotating, scaling,
+etc.
+
+Second, while the syntax inside the \verb|pathlikeadtree| is quite
+rigid, it is possible to locally use commands by putting them in the
+morpheme of a cell. The effects of this commands influence the cell
+from the point they are issued, but also all the subsequent
+cells. Beware that using commands with side effects inside a
+\verb|pathlikeadtree| environment is an hack, which requires a deep
+understanding of how the code of the package operates.
+
+The third way to radically affect the appearance of a path-like adtree
+is to redefine \verb|\ATpathpichook|, which is \verb|\def|ined to be
+empty by default. This command is issued just before each arc is
+drawn. To code sophisticated manipulations of the drawing process
+requires to understand how the drawing engine works. However, for
+simple manipulations, it suffices to know that \verb|\@ATpa| contains
+the index of the source cell of an arc, \verb|\@ATpb| the index of the
+target cell, \verb|\@ATpc| the height, \verb|\@ATsa| is a box register
+containing the already formatted grammar character of an arc, and
+\verb|\@ATpe| is either $0$ or the index of the adposition cell.
+Needless to say, using this feature is for advanced users only.
+
+% --------------------------
+\clearpage
+\section{Tabular Adtrees}\label{sec:tabular}
+Sometimes it is useful to have a purely textual representation of an
+adtree, which is more compact and fits, e.g., in a double column
+format. For example
+\begin{equation*}
+ \ATrLA{2\unitlength}{120}{wh-}{O}
+ {\ATr{for}{I}
+ {\ATs{the girl}{O}}
+ {\ATle{I^4_2}
+ {\ATs{the book}{Y}}
+ {\ATre{I^4_1}
+ {\ATm{-o}{X}}
+ {\ATs{bought}{I^4_{\mathrm{dep}}}}}}}
+ {\ATle{O}
+ {\ATm{the}{A}}
+ {\ATm{man}{O}}}
+\end{equation*}
+can be rendered as
+\begin{ATtabulardisplay}
+ \ATrLA{2\unitlength}{120}{wh-}{O}
+ {\ATr{for}{I}
+ {\ATs{the girl}{O}}
+ {\ATle{I^4_2}
+ {\ATs{the book}{Y}}
+ {\ATre{I^4_1}
+ {\ATm{-o}{X}}
+ {\ATs{bought}{I^4_{\mathrm{dep}}}}}}}
+ {\ATle{O}
+ {\ATm{the}{A}}
+ {\ATm{man}{O}}}
+\end{ATtabulardisplay}
+
+Obtaining this effect is as simple as enclosing the adtree into a
+\verb!ATtabulardisplay! environment. The previous example has been
+typeset by
+\begin{verbatim}
+ \begin{ATtabulardisplay}
+ \ATrA{120}{wh-}{O}
+ {\ATr{for}{I}
+ {\ATs{the girl}{O}}
+ {\ATle{I^4_2}
+ {\ATs{the book}{Y}}
+ {\ATre{I^4_1}
+ {\ATm{-o}{X}}
+ {\ATs{bought}{I^4_{\mathrm{dep}}}}}}}
+ {\ATle{O}{\ATm{the}{A}}{\ATm{man}{O}}}
+ \end{ATtabulardisplay}
+\end{verbatim}
+
+The environment uses the \verb|\ATtabskip| command to declare the
+amount of space to use for indenting the sub-trees. The default is
+\verb|\def\ATtabskip{\hspace*{1em}}|. In addition, the whole
+environment is moved on the right by \verb|\ATtabindent|, with default
+value \verb|\def\ATtabindent{\hspace*{2em}}|.
+
+Alternatively, the environment \verb|ATtabular| allows to typeset the
+adtree in the same way but inside a box, which can then be manipulated
+as one pleases:
+\begin{displaymath}
+ \fbox{$\vcenter{\begin{ATtabular}
+ \ATrLA{2\unitlength}{120}{wh-}{O}
+ {\ATr{for}{I}
+ {\ATs{the girl}{O}}
+ {\ATle{I^4_2}
+ {\ATs{the book}{Y}}
+ {\ATre{I^4_1}
+ {\ATm{-o}{X}}
+ {\ATs{bought}{I^4_{\mathrm{dep}}}}}}}
+ {\ATle{O}
+ {\ATm{the}{A}}
+ {\ATm{man}{O}}}
+ \end{ATtabular}}$} =
+ \fbox{$\vcenter{\begin{ATtabular}
+ \ATrLA{2\unitlength}{120}{wh-}{O}
+ {\ATr{for}{I}
+ {\ATs{the girl}{O}}
+ {\ATle{I^4_2}
+ {\ATs{the book}{Y}}
+ {\ATre{I^4_1}
+ {\ATm{-o}{X}}
+ {\ATs{bought}{I^4_{\mathrm{dep}}}}}}}
+ {\ATle{O}
+ {\ATm{the}{A}}
+ {\ATm{man}{O}}}
+ \end{ATtabular}}$}
+\end{displaymath}
+\begin{verbatim}
+ \fbox{$\vcenter{
+ \begin{ATtabular}
+ \ATrLA{2\unitlength}{120}{wh-}{O}
+ {\ATr{for}{I}
+ {\ATs{the girl}{O}}
+ {\ATle{I^4_2}
+ {\ATs{the book}{Y}}
+ {\ATre{I^4_1}
+ {\ATm{-o}{X}}
+ {\ATs{bought}{I^4_{\mathrm{dep}}}}}}}
+ {\ATle{O}
+ {\ATm{the}{A}}
+ {\ATm{man}{O}}}
+ \end{ATtabular}}$} =
+ \fbox{$\vcenter{
+ \begin{ATtabular}
+ \ATrLA{2\unitlength}{120}{wh-}{O}
+ {\ATr{for}{I}
+ {\ATs{the girl}{O}}
+ {\ATle{I^4_2}
+ {\ATs{the book}{Y}}
+ {\ATre{I^4_1}
+ {\ATm{-o}{X}}
+ {\ATs{bought}{I^4_{\mathrm{dep}}}}}}}
+ {\ATle{O}
+ {\ATm{the}{A}}
+ {\ATm{man}{O}}}
+ \end{ATtabular}}$}
+\end{verbatim}
+
+The various pieces of the adtree are rendered according to the
+following definitions, which could be modified on need, see also the
+next section, keeping in mind that they are not for the casual user.
+\begin{verbatim}
+ \def\ATtabularadpositionblock#1#2#3{%
+ \hbox{\ATtabindent\AT@loop@tab%
+ {#2}\textsuperscript{#1}\textsubscript{#3}}}
+ \def\ATtabularmorphemeblock#1#2{
+ \hbox{\ATtabindent\AT@loop@tab%
+ {#1}\textsubscript{#2}}}
+ \def\ATtabularsummaryblock#1#2{
+ \hbox{\ATtabindent\AT@loop@tab%
+ \mbox{$\triangle($}%
+ \mbox{#1}\mbox{$)$}\textsubscript{#2}}}
+ \def\ATtabularfirstattribute{\ATlinearfirstattribute}
+ \def\ATtabularnextattribute{\ATlinearnextattribute}
+ \def\ATtabularsubtrees#1#2{%
+ \advance\@AT@tabcount1%
+ \vbox{#1\relax#2}%
+ \advance\@AT@tabcount-1}
+\end{verbatim}
+
+Finally the \verb|\ATTabular| command can be used to switch from the
+normal graphical rendering of adtrees to the tabular one. This is a
+low-level command which has been left accessible to end-users willing
+to write their own environments when \verb|ATtabular| is not enough.
+
+% --------------------------
+\clearpage
\section{Linear Adtrees}\label{sec:linear}
Adtrees can be rendered in a linear format. This is not graphically
pleasant, so we discourage users to adopt it.\vspace{1.5ex}
@@ -1105,11 +1528,11 @@ pleasant, so we discourage users to adopt it.\vspace{1.5ex}
Nevertheless, it may be useful to have a very compact representation
of adtrees. This can be automatically obtained by prepending the
\verb|\ATlinearise| command to an adtree. For example
-\begin{equation*}
+\begin{center}
\ATlinearise{\ATlcL{.3ex}{I_2^2}[phrase]
{\ATm{\cancel{something}}{O}[object][fruit]}
{\ATs{Kim eats}{I_1^2}}}
-\end{equation*}
+\end{center}
is the same as
\begin{equation*}
\ATlcL{.3ex}{I_2^2}[phrase]
@@ -1135,13 +1558,14 @@ of graphical adtrees, one issues the command
Linear adtrees are composed using the following commands
\begin{verbatim}
- \def\ATlinearadpositionblock#1#2#3{%
- {#2}${}^{\hbox{#1}}_{\hbox{#3}}$}
- \def\ATlinearfirstattribute#1#2{{#1}:{#2}}
- \def\ATlinearnextattribute#1#2{{#1};{#2}}
- \def\ATlinearsubtrees#1#2{(#1,\linebreak[0] #2)}
- \def\ATlinearmorphemeblock#1#2{{#1}${}_{\hbox{#2}}$}
- \def\ATlinearsummaryblock#1#2{({#1})${}_{\hbox{#2}}$}
+ \def\ATlinearadpositionblock#1#2#3%
+ {{#2}\textsuperscript{#1}\textsubscript{#3}}
+ \def\ATlinearfirstattribute#1{{#1}:}
+ \def\ATlinearnextattribute#1{{#1};}
+ \def\ATlinearsubtrees#1#2{(#1,\linebreak[0] #2)}
+ \def\ATlinearmorphemeblock#1#2{{#1}\textsubscript{#2}}
+ \def\ATlinearsummaryblock#1#2{\mbox{$\triangle($}%
+ \mbox{#1}\mbox{$)$}\textsubscript{#2}}
\end{verbatim}
Their meaning should be intuitive after the explanations in
Section~\ref{sec:internal}.
@@ -1170,35 +1594,41 @@ For example, to list all the morpheme attributes occurring inside
\end{equation*}
we can execute
\begin{verbatim}
- {\def\ATlinearadpositionblock#1#2#3{\relax}
- \def\ATlinearfirstattribute#1#2{#2}
- \def\ATlinearnextattribute#1#2{[{#2}]}
- \def\ATlinearsubtrees{\relax}
- \def\ATlinearmorphemeblock#1{\relax}
- \def\ATlinearsummaryblock#1{\relax}
- \ATlinearise{\ATl{with}{I^2_2}[phrase]
+ { \def\ATlinearadpositionblock#1#2#3{\relax}
+ \def\ATlinearfirstattribute#1#2{#2}
+ \def\ATlinearnextattribute#1#2{[{#2}]}
+ \def\ATlinearsubtrees{\relax}
+ \def\ATlinearmorphemeblock#1{\relax}
+ \def\ATlinearsummaryblock#1{\relax}
+ \ATlinearise{
+ \ATl{with}{I^2_2}[phrase]
{\ATs{the key}{O}[third actant]}
{\ATre{I^2_1}
{\ATxl{\ATs{the door}{O}[second actant]}}
{\ATs{will be opened}{I^2}[governor]}}} }
\end{verbatim}
which produces
-\begin{equation*}
- {\def\ATlinearadpositionblock#1#2#3{\relax}
+\begin{center}
+ { \def\ATlinearadpositionblock#1#2#3{\relax}
\def\ATlinearfirstattribute#1#2{#2}
\def\ATlinearnextattribute#1#2{[{#2}]}
\def\ATlinearsubtrees{\relax}
\def\ATlinearmorphemeblock#1{\relax}
\def\ATlinearsummaryblock#1{\relax}
- \ATlinearise{\ATl{with}{I^2_2}[phrase]
- {\ATs{the key}{O}[third actant]}
- {\ATre{I^2_1}
- {\ATxl{\ATs{the door}{O}[second actant]}}
- {\ATs{will be opened}{I^2}[governor]}}} }
-\end{equation*}
-It is needless to say that such computations require a real \TeX\/
-magician, who is able to understand (and, hopefully, improve) the code
-of the package! Nevertheless, this opens the door to \LaTeX\/ macros
-that operate on adtrees, treating them like data structures.\vfill
-
-\end{document} \ No newline at end of file
+ \ATlinearise{
+ \ATl{with}{I^2_2}[phrase]
+ {\ATs{the key}{O}[third actant]}
+ {\ATre{I^2_1}
+ {\ATxl{\ATs{the door}{O}[second actant]}}
+ {\ATs{will be opened}{I^2}[governor]}}} }
+\end{center}
+Needless to say, such computations require a real \TeX\/ magician, who
+is able to fully understand the code of the package! Nevertheless,
+this opens the door to \LaTeX\/ macros that operate on adtrees,
+treating them like data structures.\vfill
+\end{document}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: t
+%%% End: