Here are some Latex tips.
To get started writing an ACL submission, see the proposal tarball used for Compling 2 for ACL style files and some other goodies, including an example.
If you need to work with trees, CCG derivations, CTL proofs, AVMs, linguistic glosses, see the tarball for categorial grammar for style files and an example tex file using the NLLT style.
One of the most useful things about LaTeX is that you can modify or specify commands to suit your own needs.
One of the simplest things you can do is assign abbreviations to otherwise 'heavy' commands. For example, I frequently use a smaller font size for insets (data, diagrams, etc). For this I frequenly use the \footnotesize command. I abbreviate it as follows:
\let\fn=\footnotesize
That lets me type \fn instead of the more ungainly \footnotesize.
If you use gb4e.sty for interlinear glosses, the \let command gives you a way to specify font properties for the different lines. For example, if you want the morpheme glosses to be italic you can do the following:
\let\eachwordtwo=\it
If you want the datum to be boldfaced:
\let\eachwordone=\bf
I have many such declarations. I keep them in a separate file letcommands.tex which I access using an \include declaration in the preamble of the document:
\include{letcommands}
A more powerful tool is defining out own commands using \newcommand. This lets you assign a block of LaTeX code to a command. It can take arguments or be inert.
For example, say you want to have a template for a syntactic tree (using \qtree.sty and \tree-dvips.sty) with blanks for the subject and object nodes and the verb:
\newcommand{\mytree}[3]{
\Tree [.IP \qroof{\node{N}{\textbf{#1}}}.NP
[.\ibar{I}
[.I \node{V}{#3} I ]
[.VP \node{Ntrace}{t}
[.\ibar{V}
[.V \node{Vtrace}{t} ] \qroof{\textbf{#3}}.NP ] ] ] ]
\abarnodeconnect[-12pt]{Ntrace}{N}
\abarnodeconnect[-12pt]{Vtrace}{V}
}
You can then issue commands like:
\mytree{Bob}{fish}{eats}
Here's one I use if I want to include CCG types in a line of text using smallcaps. I usually use Times as my text font, which is smaller than most other fonts. The smallcaps font is larger than Times, so if you use them together it looks bad. To get around this, I wrap the smallcaps (\sf) declaration inside a \small declaration:
\newcommand{\type}[1]{\small\sf{}}
Then I can type \type{s/np}.
Commands can be inert in the sense that they don't take any arguments. Say you're doing CTL derivations and you want a quick way to insert the product operator into a structure:
\newcommand{\prd}{\ \circ\ }
Sometimes you might want or need to redefine a command which is given in a package you're using, our which you defined yourself. If you try to do this using the \newcommand declaration, you'll get an error message that chokes your latex process. The \newcommand declaration is what you need.
Its syntax is just like \newcommand:
\renewcommand{\name}[args]{def}
ALWAYS put \caption before \label in a figure/table/whatnot environment or it throws off the numbering latex. Like this:
\begin{figure}[htp]
\includegraphics{image.eps}
\caption{Some Image}
\label{fig:some-image}
\end{figure}
Now you've written this great paper, it has been accepted, and now you have to produce the slides for the talk. Enter the old problem: How do you get your formulas into the PowerPoint or Keynote document? The LaTeX equation editor is an amazingly useful piece of software that takes a piece of LaTeX source and turns it into a small PDF that you can drag and drop into your slides. By the way, this works not only for formulas but also for those tabulars with your evaluation results.
Unfortunately, Leopard has trouble with LaTeX fonts, and the LaTeX equation editor is one of the tools that is broken in Leopard. But there's an advanced version of the equation editor, LaTeXIt, that does work in Leopard. And has additional functionality, too.