LaTeX Linguistics
Click here to load reader
description
Transcript of LaTeX Linguistics
pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API
LaTeX/Linguistics
LaTeX
< LaTeX
The latest reviewed version was checked on 28 November 2014. There is 1 pending change awaiting review.
There are a number of LaTeX packages available for writing linguistics papers. Variouspackages have been created for enumerated examples, syntactic trees, OT tableaux, featurematrices, IPA fonts, and many other applications. Some packages such as the tipa package areeffectively standard within the field, while others will vary by author preference.
Some recommended packages[1]:
Glosses: gb4e or Covington;IPA symbols: tipa;OT Tableaux: OTtablx;Syntactic trees: qtree + tree-dvips (for drawing arrows);
Alternatively, xyling is very powerful but not as user friendly as qtree;The xy package itself has a steep learning curve, but allows a lot of control; for simplest trees use the xymatrixfeature and arrows;tikz-qtree has the same syntax as qtree, but uses PGF/TikZ, which allows more options for drawing arrows, etc.
Dependency trees and bubble parses:
The TikZ-dependency package provides a high-level, convenient interface to draw dependency graphs. It isbased on PGF/TikZ but does not require prior knowledge of TikZ in order to be used productively.
Attribute-Value Matrices (AVMs): avmJohn Frampton's expex: expex
Contents [hide]
Book Discussion Read Latest draft Edit View history Search
Main PageHelpBrowse wikiCookbookWikijuniorFeatured booksRecent changesDonationsRandom bookUsing Wikibooks
Community
Reading roomCommunity portalBulletin BoardHelp out!Policies andguidelinesContact us
Tools
What links hereRelated changesUpload fileSpecial pagesPermanent linkPage informationCite this page
Create account Log in
pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API
1 Enumerated examples1.1 gb4e1.2 lingmacros
2 Syntactic trees2.1 Constituent trees
2.1.1 qtree2.1.2 tikz-qtree
2.2 Dependency Trees2.2.1 Two-dimensional Dependency Trees2.2.2 Dependency Trees as Brackets above Text2.2.3 Dependency Trees using TikZ-dependency
3 Glosses3.1 With gb4e3.2 With lingmacros
4 IPA characters4.1 Basic symbols
5 References6 External links
Enumerated examples [edit]
There are several commonly used packages for creating the kinds of numbered examples that are used in linguisticspublications.
gb4e [edit]
The gb4e package[2] is called with:
\usepackage{gb4e}
IMPORTANT: If you use gb4e package, let it be the last \usepackage call in the document's preamble. Otherwise youmay get exceeded parameter stack size error.
Examples for this package are placed within the exe environment, and each example is introduced with the \ex command.
Add links
Cite this page
Languages
Sister projects
WikipediaWikiversityWiktionaryWikiquoteWikisourceWikinewsWikivoyageCommonsWikidata
Print/export
Create a collectionDownload as PDFPrintable version
pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API
\begin{exe} \ex This is an example.\end{exe}
produces:
Multiple examples can be included within the environment, and each will have its own number.
\begin{exe} \ex This is the first example. \ex This is the second example. \ex This is the third.\end{exe}
produces:
To create nested lists of examples, the xlist enviroment is used.
\begin{exe} \ex \begin{xlist} \ex This is a sub-example. \ex This is a second sub-example. \ex \begin{xlist} \ex This is a sub-sub-example. \ex This is a second sub-sub-example. \end{xlist} \end{xlist}
pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API
\end{xlist}\end{exe}
produces:
For notating acceptability judgments, the \ex command can take an optional argument. When including a judgmentmarker, the corresponding sentence must be surrounded by braces.
\begin{exe} \ex This sentence is grammatical English. \ex[*] {This sentence English in ungrammatical is.}\end{exe}
produces:
Referencing examples in text works as it does in normal LaTeX documents. See the labeling and cross-referencing sectionfor more details.
\begin{exe} \ex\label{ex1} Godzilla destroyed the city. \ex\label{ex2} Godzilla roared.\end{exe}Sentence (\ref{ex1}) contains two arguments, but (\ref{ex2}) contains only one.
pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API
Further details can be found in the full documentation available here .
lingmacros [edit]
The lingmacros package[3] created by Emma Pease is an alternate method for example numbering. This package usestwo main commands, \enumsentence and \eenumsentence. The former is used for singleton examples, while the lattercommand is used for nested examples.
\enumsentence{This is an example.}
\enumsentence{This is the first example.}\enumsentence{This is the second example.}\enumsentence{This is the third.}
Multiply nested examples make use of the normal LaTeX list environments.
\eenumsentence{\item This is a sub-example. \item This is a second sub-example. \item \begin{enumerate} \item This is sub-sub-example. \item This is a second sub-sub-example. \end{enumerate} }
produces:
pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API
Full documentation can be found here .
Syntactic trees [edit]
Often, linguists will have to illustrate the syntactic structure of a sentence. One device for doing this is through syntactictrees. Unfortunately, trees look very different in different grammar formalisms, and different LaTeX packages are suited fordifferent formalisms.
Constituent trees [edit]
While there are several packages for drawing syntactic trees available for LaTeX, this article focuses on the qtree andxyling packages.
qtree [edit]
Drawing trees with qtree is relatively straightforward. First, the qtree package has to be included in the document'spreamble:
\usepackage{qtree}
A new tree is started using the \Tree command, each (sub-)tree is indicated by brackets [ ]. The root of a (sub-)tree isalways preceded by a ., leaf nodes are simply expressed by their labels.
For example, the following code
\Tree [.S [.NP LaTeX ] [.VP [.V is ] [.NP fun ] ] ]
produces this syntactic tree as output:
pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API
Note that the spaces before the closing brackets are mandatory.
By default, qtree centers syntactic trees on the page. This behaviour can be turned off by either specifying the behaviourwhen loading the package
\usepackage[nocenter]{qtree} % do not center trees
or via the command
\qtreecenterfalse % do not center trees from here on
anywhere in the document. The effect of the latter can be undone by using the command
\qtreecentertrue % center trees from here on
IMPORTANT: If you use gb4e package, let it be the last \usepackage call in the document's preamble. Otherwise you mayget exceeded parameter stack size error.
tikz-qtree [edit]
Using the same syntax as qtree, tikz-qtree is another easy-to-use alternative for drawing syntactic trees.
pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API
For simple trees, tikz-qtree is completely interchangable with qtree. However, some of qtree's advanced features areimplemented in a different way, or not at all. On the other hand, tikz-qtree provides other features such as controlling thedirection of the tree's growth (top to bottom, left to right etc.) or different styles for edges.
To use the tikz-qtree package for drawing trees, put the following into the document's preamble:
\usepackage{tikz}\usepackage{tikz-qtree}
The syntax of tikz-qtree and result when drawing a simple tree is the same as for qtree.
\Tree [.S [.NP LaTeX ] [.VP [.V is ] [.NP fun ] ] ]
Note that, other than for qtree, trees are not centered by default. To center them, put them into a centered environment:
\begin{center}\Tree [.S [.NP LaTeX ] [.VP [.V is ] [.NP fun ] ] ]\end{center}
For setting the style of trees, tikz-qtree provides the \tikzset command. For example, to make a tree grow from left to rightinstead of from top to bottom, use the following code:
pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API
\tikzset{grow'=right} % make trees grow from left to right\tikzset{every tree node/.style={anchor=base west}} % allign nodes of the tree to the left (west)\Tree [.S [.NP LaTeX ] [.VP [.V is ] [.NP fun ] ] ]
The above code changes the default orientation for all trees that are defined after \tikzset commands. To only change thedirection of a single tree, it has to be put into a \tikzpicture environment:
\begin{tikzpicture} % all changes only affect trees within this environment\tikzset{grow'=right} % make trees grow from left to right\tikzset{every tree node/.style={anchor=base west}} % allign nodes of the tree to the left (west)\Tree [.S [.NP LaTeX ] [.VP [.V is ] [.NP fun ] ] ]\end{tikzpicture}
Dependency Trees [edit]
Dependency trees can take multiple visual forms. Commonly, they quite resemble phrase structure trees. Alternatively, theycan be captured by brackets drawn above running text.
Two-dimensional Dependency Trees [edit]
These can be either achieved using the fairly universal drawing package TikZ, like so:
% In the preamble:\usepackage{tikz} % In the document:\begin{tikzpicture} \node (is-root) {is}
pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API
\node (is-root) {is} [sibling distance=3cm] child { node {this} } child { node {tree} [sibling distance=1.5cm] child { node {an} } child { node {example} } child { node {.} } child[missing] }; \path (is-root) +(0,-2.5\tikzleveldistance) node {\textit{This is an example tree.}};\end{tikzpicture}
which gives you the following drawing:
A dependency tree created usingTikZ
TikZ has the advantage that it allows for generating PDF directly from the LaTeX source, without need for any detour ofcompiling to DVI using latex, and then converting to PDF probably via PS using tools such as dvips and ps2pdf. Latter
is the case of another package based on the package xy, namely xyling.
The code for a similar tree using xyling might look like:
% In the preamble:\usepackage{xytree}
pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API
% In the document:\Tree{ & \K{is}\B{dl}\B{drr} \\ \K{this} &&& \K{tree}\B{dll}\B{dl}\B{dr} \\ & \K{an} & \K{example} && \K{.} } \medskip\textit{This is an example tree.}
which gives you a drawing like this:
A dependency tree created usingxyling
Dependency Trees as Brackets above Text [edit]
One way to typeset dependency brackets above running text is using the package xytree . It gives you fairly good controlof how the brackets are typeset but requires compiling the LaTeX code to DVI (and perhaps converting to PDF using thetools dvips and ps2pdf later).
An example code:
% In the preamble:\usepackage{xytree} % In the document:\xytext{ \xybarnode{Peter} &~~~&
pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API
\xybarnode{Peter} &~~~& \xybarnode{and} \xybarconnect(UL,U){-2}"_{\small conj}" \xybarconnect(UR,U){2}"^{\small conj}" &~~~& \xybarnode{Mary} &~~~& \xybarnode{bought} \xybarconnect[8](UL,U){-4}"_{\small subj}" \xybarconnect[13]{6}"^{\small punct}" \xybarconnect[8](UR,U){4}"^{\small obj}" &~~~& \xybarnode{a} &~~~& \xybarnode{car} \xybarconnect(UL,U){-2}"_{\small det}" &~~~& \xybarnode{.}}
results in:
A dependency tree above runningtext created using xytree
Dependency Trees using TikZ-dependency [edit]
The package provides high level commands to design and style dependency graphs. To draw a graph, you only need tocreate a dependency environment, write the text of the sentence within the deptext environment and use depedge
commands to draw the edges. Global and local optional parameters can be used to style and fine tune the looks of thegraph, as shown in the following example:
% In the preamble:\usepackage{tikz-dependency} % In the document:\begin{dependency}[theme = simple] \begin{deptext}[column sep=1em]
pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API
\begin{deptext}[column sep=1em] A \& hearing \& is \& scheduled \& on \& the \& issue \& today \& . \\ \end{deptext} \deproot{3}{ROOT} \depedge{2}{1}{ATT} \depedge[edge start x offset=-6pt]{2}{5}{ATT} \depedge{3}{2}{SBJ} \depedge{3}{9}{PU} \depedge{3}{4}{VC} \depedge{4}{8}{TMP} \depedge{5}{7}{PC} \depedge[arc angle=50]{7}{6}{ATT}\end{dependency}
This code snippet would produce the following result:
Glosses [edit]
Below, it is explained how to make glossed examples with different packages.
With gb4e [edit]
To create a glossed example, use the normal exe environment. But after the \ex tag, introduce the example and its glossusing \gll and the translation after it with \trans tag.
\begin{exe}\ex
pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API
\ex \gll Кот ест сметану\\cat.NOM eat.3.SG.PRS sour-cream.ACC\\\trans `The cat eats sour cream'\end{exe}
The code will produce the following output:
Vertically aligned glosses are separated by spaces, so if it's necessary to include a space in part the gloss, simply enclosethe connected parts inside braces.
\begin{exe}\ex \gll Pekka pel\"astyi karhusta.\\ Pekka {became afraid} bear.ELA\\\trans `Pekka became afraid because of the/a bear.'\end{exe}
With lingmacros [edit]
The lingmacros package uses the \shortex command to introduce glossed examples inside the \enumsentence and\eenumsentence commands. This command takes four arguments and builds off the normal tabular environment. Its firstargument specifies the number of columns in the gloss. The second and third arguments give the text and its glossrespectively, and items within each column are divided by the usual & tabular separator. The fourth argument is the
translation.
\enumsentence{\shortex{3} {Pekka & pel\"astyi & karhu-sta.} {Pekka & became afraid & bear.ELA} {`Pekka became afraid because of the/a bear.'}
pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API
{`Pekka became afraid because of the/a bear.'} }
IPA characters [edit]
The tipa package is the standard LaTeX package for International Phonetic Alphabet symbols.
\usepackage{tipa}
There are two methods for getting IPA symbols into a document. The first way is to use the IPA environment.
\begin{IPA}text in IPA format here\end{IPA}
This method is useful for long stretches of text that need to be in IPA. Alternatively, there is the \textipa command thatwill format the text in its argument into IPA. This command is similar to other font typesetting commands.
\textipa{text in IPA format here}
Basic symbols [edit]
The IPA format works by translating ASCII characters into corresponding IPA symbols. Lower case letters are rendered asusual,
\textipa{abcdefghijklmnopqrstuvwxyz}
pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API
however capital letters are rendered differently.
\textipa{ABCDEFGHIJKLMNOPQRSTUVWXYZ}
produces:
Punctuation marks that are normally used in LaTeX are also rendered faithfully in the IPA environment.
\textipa{! * + = ? . , / [ ] ( ) ` ' | ||}
produces:
Numerals and @ also have variants in the tipa environment.
\textipa{1234567890 @}
produces:
In addition, there are a number of special macros for representing symbols that don't have other associations, some ofwhich are listed here. For a complete list see the official TIPA Manual[4].
The \; macro preceding a capital letter produces a small caps version of the letter.
\textipa{\;A \;B \;E \;G \;H \;I \;L \;R \;Y}
pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API
produces:
The \: macro produces retroflex symbols.
\textipa{\:d \:l \:n \:r \:s \:t \:z}
gets you:
The \! macro produces implosive symbols and the bilabial click.
\textipa{\!b \!d \!g \!j \!G \!o}
gets you:
References [edit]
1. ↑ [1] LaTeX for Linguists presentation2. ↑ [2] The gb4e package on CTAN3. ↑ [3] The lingmacros package on CTAN4. ↑ TIPA manual
External links [edit]
LaTeX for Linguists
pdfcrowd.comopen in browser PRO version Are you a developer? Try out the HTML to PDF API
Privacy policy About Wikibooks Disclaimers Developers Mobile view
This page w as last modif ied on 20 April 2015, at 08:19.
Text is available under the Creative Commons Attribution-ShareAlike License.; additional terms may apply. By using this site, you agree to the Terms of Use andPrivacy Policy.
The qtree package for drawing syntactic trees.The gb4e package page on CTAN.
Previous: Source Code Listings Index Next: Indexing
Category: LaTeX