I started using LaTeX regularly a year and a half ago. Starting out, I simply used the documentation available on the LaTeX wikibook. Thereafter, whenever I had a question that wasn't answered by the wikibook I would search my problem, find someones answer on LaTeX StackExchange or a similar website, and simply copy their code and packages. The problem with this is that there is no guarantee that the persons answer is up-to-date, or the recommended way of doing things. I regularly find out that the package I have been using is deprecated, the syntax I use is not recommended, or there is much faster, simpler way of doing something which I hadn't seen before.

Is there some sort of regularly updated list of what the recommended ways of doing certain common things in LaTeX are? For example, things I have run into where the problems highlighted above bit me in the behind include: making tables (tabu, tabular, tabularx... booktabs?), citing (currently I use biblatex...?), subfigures, doing units (finding SIunitx was a godsend), etc. You get the picture.

I realize that there is never one, perfect, catch-all solution to peoples' problems, however it seems to me that generally there is some sort of prevailing view of how to attack certain problems, and which packages should be used... and I would prefer not to open a new question on this site everytime I have a question just to get an up-to-date answer.

  • 1
    LaTeX is way too diverse to allow for some kind of authoritative answer. – vonbrand Oct 17 '15 at 23:44
  • 2
    As @vonbrand said. However, right now, possibly my question about packages might be useful. Next year, of course, it will no longer be current and there is already one response there saying one package on my list ought not be recommended. Nonetheless, it is something. I believe that the wikibook is not generally held in high regard by members of this site, though I'm not familiar with it personally. – cfr Oct 17 '15 at 23:55
  • 1
    @cfr Thanks, excellent compilation. That comment about chemistry packages kind of makes my point for me, that is the situation I keep running into. – Heisenbugs Oct 18 '15 at 0:01
  • 1
    @Heisenbugs Indeed. There is no solution, though. For one thing, nobody is in a position to know what packages are available at any given time. Some people may be better or worse informed, but not even Karl Berry can scrutinise each and every new package to ascertain whether it should supercede another. And there is no guarantee that the latest package for job X is better than all other packages for job X. It may be much worse. You'd have to evaluate the code (and understand it, of course) to know that. Practically speaking, nobody can do so. – cfr Oct 18 '15 at 0:22
  • 2
    Note, too, that even when an author declares a package obsolete and tells everyone to use a new package, it does not follow that the new package will work for everyone. I'm using datetime and I intend to continue using datetime primarily because I need Welsh and I understand how to correct datetime's Welsh, whereas my attempt to correct the Welsh pack for datetime2 ran up against serious implementation problems which seem to be part of the package design itself. Hence, as far as I'm concerned, datetime is a better choice for me than datetime2. It is not 'obsolete' for me! – cfr Oct 18 '15 at 0:26

There's definitely not a whole lot of consensus, but looking though questions tagged with {best-practices} has helped me a lot.

(Turned from a comment to an answer at the suggestion of erreka)

| improve this answer | |

Many of the comments posted have rightly noted that LaTeX packages are too diverse and fluid to pin down: for instance, xcolor has long been seen as a complete replacement for color, but the latter has been updated more recently. On modern LaTeX usage, I found LaTeX and Friends (published by Springer) more approachable than any other resource, but The Not-So-Short Introduction to LaTeX is more current and comprehensive. Several developments have greatly improved the accessibility of TeX:

  • For general use, Pandoc provides a wonderful shorthand for writing in LaTeX via Markdown, and allows one's writing to be even more technology-independent than under LaTeX. Most of the people I work don't know what to do with a LaTeX file, and want Word .docx or OpenDocument; and in the meantime, I often want to provide an HTML or EPUB version in parallel. Pandoc provides beautiful conversions to these formats and many others. It also maintains a LaTeX template, which is kept updated to use modern packages and is a good example of how one can allow the use of pdfTeX, XeTeX, and LuaTeX in a single file (and its usage is continually improved through contributions from users).
  • Version 2015/10/01 of the LaTeX kernel increases the default number of floats available. The old limit of 18 was a constant source of confusion for new users. Keeping your TeX Live installation updated will avoid many problems. (I have a shell script that runs tlmgr update --self --all --reinstall-forcibly-removed --no-auto-install automatically.)
  • I usually render documents using LuaTeX, since pdfTeX lacks full Unicode support, and it almost always produces identical results, with the added benefits of fontspec and polyglossia. For instance, it works with microtype, whereas XeTeX has more limited support. Its usage cannot yet be recommended universally only because it is slower than XeTeX or pdfTeX, it does not yet provide XeTeX's glyph shaping functionality (necessary, for example, to Devanagari), and the bidi package only supports XeTeX.
  • One of the major strengths of LaTeX is that one can take a document class such as article, book, report, or even tufte-latex and get a beautiful document without fuss. If you're not a designer, it's often better to leave their decisions alone; but if one needs to make a large number of changes, this can be painful, and KOMA Script provides more flexible versions of the standard classes (though I find the defaults of the originals to be more pleasing). Another versatile possibility is the memoir package, which is fantastic if one simply wants to get to know a single document class well and use it for all one's purposes.
  • If what you really want is to start from scratch, design your own documents without others' decisions getting in the way, and escape the madness of conflicting packages, try ConTeXt: it's more predictable and flexible than LaTeX in many ways and covers almost all the functionality that a typical user could want. Unfortunately, the documentation is mostly user-maintained through a wiki and is lacking or outdated in some areas. If, on the other hand, you aren't interested in making significant departures from one of the LaTeX document classes, just stick with that.
| improve this answer | |
  • 1
    Somehow I feel you didn't quite answer the question, but only offered advice... – jarnosz Oct 31 '15 at 21:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.