diff options
author | Karl Berry <karl@freefriends.org> | 2019-07-11 21:04:12 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-07-11 21:04:12 +0000 |
commit | 7559eb16050dce8cef70650604224db997445886 (patch) | |
tree | fef9221758a3d08bb43edaf54e3841fd08d5de2f /Master/texmf-dist/doc/latex/adtrees | |
parent | 7db6071b1ded2ed4dd2c31a1a67a43e6eaba756b (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/README | 6 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/adtrees/adtreesdoc.pdf | bin | 306406 -> 343779 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/adtrees/adtreesdoc.tex | 628 |
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 Binary files differindex ee1d7c58a54..833e48f5d55 100644 --- a/Master/texmf-dist/doc/latex/adtrees/adtreesdoc.pdf +++ b/Master/texmf-dist/doc/latex/adtrees/adtreesdoc.pdf 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: |