## Contributing to the LaTeX reference manual

The LaTeX2e Unofficial Reference Manual aims to provide a reference for the user-level commands of LaTeX. For more information, see the home page.

### You can help

We welcome bug reports or suggestions of any kind. Please email to latexrefman@tug.org (subscribe, archive).

If you would like to contribute more systematically, that's great. Reading through the document will turn up plenty of places where you can make an improvement. For example, you can search in the (sole) source file latex2e.texi for comments prefixed with "xx". That is how we note areas that need more work.

Or, you can look through keeptrack.csv. It lists all of the commands in the LaTeX source. Each has a status: done for commands already mentioned, todo for ones that we will do, notdoing for ones that we will not do (usually because they are not user-level commands), and other for uncharacterized commands. Grab a todo command and have a whack, following the guidelines below.

### Write an entry

Each entry is different but over time we have worked out some general guidelines. A good example is the one for \footnote.

• Begin with a synopsis. It gives the syntax. Here is \footnote's.
Synopsis, one of:
\footnote{text}
\footnote[number]{text}
Note that it lists separately the command version with and without the optional number. It does not use square brackets to indicate options because that would be using the brackets both as characters that appear in the LaTeX input, and as metacharacters.
• Follow with a one or two sentence description. The \footnote command description starts with "Place a footnote text at the bottom of the current page."
• Next is an example. Give a common use, ideally one that helps explain why a person would use this command. It should be copy-and-pasteable because that is what people do with reference material.
• Then give a full explanation. Say all you can reasonably say, including any gotcha's (footnote discusses what happens inside a minipage). A reference is not a tutorial so you don't need to start from first principles; if something uses LR mode or involves some tricky stuff with glue then just say that. You might search the web for questions that people have asked about this command, to see if there are fine points that the entry should cover (good sources are the TeX-LaTeX Stack Exchange, texhax, and comp.text.tex). If convenient, furnish any parameter values that are in the standard classes. For instance, \footnote has \footnoterule and \footnotesep.
• Some entries end with more examples. Following the full explanation, you may want to give examples of any fine points.

Examples are particularly important since they are what most people look for. Here are a few guidelines: (1) Test all your examples, no matter how small. (2) Use best practices, both coding and typographic practices, such as including the \, space in <\code>$\int x\, dx$. (3) Keep it brief but make it interesting, or at least sensible. If you are illustrating a formula then use an actual formula. For text, use an example from an actual document if reasonable but in any event try to minimize "foo" and "bar." And "baz" is right out.

Making a ready-to-insert entry is more involved and maybe we should have a conversation when you want to do that, but here is an overview. First get the files (see also the directions on our project page): (i) install Subversion, (ii) create a convenient directory; here we illustrate with /home/jim/src/latexrefman/, and (iii) in that directory run svn checkout http://svn.gnu.org.ua/sources/latexrefman/trunk to fetch the subdirectory trunk/. The document source is the single file trunk/latex2e.texi. It is marked up in Texinfo. Next, decide where to put your new entry, and then copy the one next to that and edit to suit. (The Texinfo manual has all the information but we try to stay away from any advanced stuff.) Besides inserting the entry, you must also put a pointer to that entry into a menu. Again here find the pointer to the adjacent entry, and copy and edit. Finally, compile to output by running make in the trunk directory. Once you have gotten used to marking up entries, if you want write access to the repository then let us know on the mailing list. We'll see about an account.