There are a number of LaTeX packages available for writing linguistics papers. Various packages have been created for enumerated examples, syntactic trees, OT tableaux, feature matrices, IPA fonts, and many other applications. Some packages such as the tipa package are effectively standard within the field, while others will vary by author preference.

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 xymatrix feature 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 is based on PGF/TikZ but does not require prior knowledge of TikZ in order to be used productively.

IMPORTANT: If you use gb4e package, let it be the last \usepackage call in the document's preamble. Otherwise you may 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.

\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}\end{exe}

produces:

For notating acceptability judgments, the \ex command can take an optional argument. When including a judgment marker, 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}

The lingmacros package[3] created by Emma Pease is an alternate method for example numbering. This package uses two main commands, \enumsentence and \eenumsentence. The former is used for singleton examples, while the latter command 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.}

Often, linguists will have to illustrate the syntactic structure of a sentence. One device for doing this is through syntactic trees. Unfortunately, trees look very different in different grammar formalisms, and different LaTeX packages are suited for different formalisms.

Using the same syntax as qtree, tikz-qtree is another easy-to-use alternative for drawing syntactic trees.

For simple trees, tikz-qtree is completely interchangable with qtree. However, some of qtree's advanced features are implemented in a different way, or not at all. On the other hand, tikz-qtree provides other features such as controlling the direction 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:

For setting the style of trees, tikz-qtree provides the \tikzset command. For example, to make a tree grow from left to right instead of from top to bottom, use the following code:

\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 the direction 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}

TikZ has the advantage that it allows for generating PDF directly from the LaTeX source, without need for any detour of compiling 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{xyling}% 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.}

One way to typeset dependency brackets above running text is using the package xytree. It gives you fairly good control of how the brackets are typeset but requires compiling the LaTeX code to DVI (and perhaps converting to PDF using the tools dvips and ps2pdf later).

The package provides high level commands to design and style dependency graphs. To draw a graph, you only need to create 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 the graph, as shown in the following example:

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 first argument specifies the number of columns in the gloss. The second and third arguments give the text and its gloss respectively, and items within each column are divided by the usual & tabular separator. The fourth argument is the translation.

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 that will format the text in its argument into IPA. This command is similar to other font typesetting commands.