198

I want to collect the most common mistakes, misconceptions, pitfalls, etc that (La)TeX and Friends users make. Please one answer for each mistake, misconception, pitfall, etc.

I am only interested in more technical, objective cases rather than psychological, social, subjective cases.

From this complete infinite list of technical and objective cases, we can have a reference how to teach newbies much better directly or indirectly via writing a good book.

The technical and object cases are, for example, as follows.

  • Beginners sometimes use $\huge E=mc^2$ with the hope they will get a huge formula. It actually does not produce the expected result. The correct way is \huge $E=mc^2$.
  • Beginner sometimes use longtable inside table because they assume longtable is the longer version of tabular which is able to be sandwiched in table.
  • etc.
22
  • 111
    Not reading an introduction and package documentation.
    – user10274
    Commented Oct 21, 2013 at 11:36
  • 15
    Aside from answering questions on this site when I don't have a clue what I'm talking about?
    – jub0bs
    Commented Oct 21, 2013 at 12:25
  • 13
    There is a similar Community poll on meta: meta.tex.stackexchange.com/a/1596/2693
    – Alan Munn
    Commented Oct 21, 2013 at 13:21
  • 8
    I don't really see how this can get sensible answers, I voted to close as "too broad". As @AlanMunn says the question on meta is perhaps a more suitable location (although it is not really a meta question about the site either) Commented Oct 21, 2013 at 13:53
  • 7
    Isn't this a sort of "everyone rant here" question?
    – marczellm
    Commented Oct 22, 2013 at 21:28

46 Answers 46

425
+1000

The most common mistake is spending too long on TeX coding and not getting the document written.

14
  • 37
    I was expecting "Not using emacs for coding". :) Commented Oct 21, 2013 at 11:41
  • 35
    @PauloCereda I can't believe anyone makes that mistake. Commented Oct 21, 2013 at 12:06
  • 74
    The most common mistake is spending too long on TeX coding for answering TeX.SX, ignoring families and friends, but not getting their own document written. Commented Oct 22, 2013 at 8:58
  • 29
    In my experience, this is not a beginners' mistake at all. Quite the opposite, in fact.
    – Raphael
    Commented Oct 23, 2013 at 6:22
  • 14
    @DavidCarlisle Leslie Lamport gave an interview about 13 years ago, see here: research.microsoft.com/en-us/um/people/lamport/pubs/… , and he was asked to name three mistakes that people should stop making. Answer: »1. Worrying too much about formatting and not enough about content. 2. Worrying too much about formatting and not enough about content. 3. Worrying too much about formatting and not enough about content.« Funny interview.
    – Keks Dose
    Commented Oct 25, 2013 at 12:44
208
+100

Here are some common, non-esoteric mistakes I help people fix on a regular basis:

  1. Ending each and every paragraph in the document with \\ (or even \\[10pt]) instead of a blank line.

  2. Ignoring warnings and errors until there's hundreds of them, and the new material isn't getting typeset at all. "Why can't I format my file? I have to finish chapter 2 by tomorrow."

  3. Using font attribute commands (or old-style font commands) as if they take arguments: This \bfseries{important} message... why is my entire dissertation bold?

  4. Cobbling together a complex series of commands for some text element (a symbol, a way to format headings or tables, etc.), then using it over and over and over instead of defining a macro. Then realizing it needs to be modified.

  5. Carrying along enormous preambles, donated by well-meaning friends, with no idea what they're for. Eventually there's a mysterious incompatibility, I'm asked to help, and I have no idea which packages are actually being used-- and neither does the author.

  6. Relying on \begin{table}[h!] (resp. {figure}), along with ad hoc page breaks etc., to typeset content that must not be floated. (But I hesitate to call this a mistake, because getting proper captions outside a float is not trivial: every package I've tried came with surprises.)

  7. Not using floats when they would be appropriate, given the size (and content) of tables or figures. This definitely seems like a Word holdover...

  8. Not capitalizing content words in BibTeX titles, and not protecting words that should never be lowercased: title = {A grammar of Late Modern English} will come out wrong under both capitalization styles.

  9. Pet peeve: Setting entire words in math mode subscripts, ignoring the fact that they look awful. S_{easy}, S_{difficult}, S_{the worst}. Way too many linguists do this.

  10. This one's not common but I've seen it happen: Formatting section headers by hand, using literal numbers and manual spacing:

    \\[12pt] 
    \textbf{2.3 The importance of semantic mark-up} 
    \\[10pt]
    
24
  • 1
    Point 3. is valid for “new-style” font switches (\bfseries etc.), too. Commented Oct 21, 2013 at 14:54
  • 3
    +4: and a really annoying one: missing the % from the end of a line where it matters...; and (of course) I've given +1 to your great answer :)
    – masu
    Commented Oct 21, 2013 at 23:40
  • 3
    Can you elaborate on point 8? When/why/how should I capitalise BibTeX titles — doesn't bibtex/biber take care of capitalisation?
    – gerrit
    Commented Oct 22, 2013 at 10:03
  • 4
    For "text" subscripts on genuinely math mode symbols I find $S_\text{not difficult}$ nicest -- this will use the text style of the context, unlike \mathrm and co. This is my #1 pet peeve, too (but from physicists in my case)! Commented Oct 23, 2013 at 9:05
  • 3
    I've also seen people writing $this$ when they meant \emph{this} Commented Oct 24, 2013 at 13:25
87

Not making enough use – or (sadly all too frequently) not making hardly any use – of the opportunities afforded by LaTeX to separate the content of a document from its visual appearance. In particular, too many attempts to engage in visual formatting at early to intermediate stages of writing a working paper, a technical note, or whatever.

Addendum: The answer by @Alexis gives quite a few examples of mistakes that arise when one engages in (too much) visual formatting...

5
  • 2
    Good man Mico. I was the first to plus one you yesterday. Using LaTeX only works if you forget about the visual appearance or if you're a guru. In both cases you need the structure offered by LaTeX.
    – user10274
    Commented Oct 22, 2013 at 10:00
  • 1
    @MarcvanDongen - Wow, thanks for the compliment!!
    – Mico
    Commented Oct 22, 2013 at 11:32
  • I ask then, when should one typeset their document if visual appearance is guaranteed from the commands? What if you have a huge multipage document to be written - would you not typeset it until the very end?
    – user71207
    Commented Aug 11, 2021 at 6:12
  • @user71207 - I'm not sure if I've understood the gist of your follow-up questions. For me, the opposite of "separating the content of a document from its visual appearance" is to (a) engage in excessive visual formatting via commands such as \hspace, \vspace, \bigskip, etc. and (b) hard-code numbers of sections, theorems, etc instead of using LaTeX commands and environments intelligently. E.g., instead of \section{Introduction}, one sadly sometimes finds \par\vspace{1cm}\noindent\textbf{\Large 1.\hspace{3mm} Introduction}\par\vspace{0.7cm}\noindent. (Yes, I've come across this!)
    – Mico
    Commented Aug 11, 2021 at 13:56
  • @user71207 (comment continued) To me, the opposite of "visual formatting" is "high-level formatting". E.g., if a publisher requires you to enlarge the font size used to typeset the argument of \author, high-level formatting would consist of modifying the \maketitle macro suitably. If I've understood your follow-up questions correctly, they may be orthogonal to the point of my answer. My personal view is that once the basic structure of the document and contents of the preamble are set up, it's good practice to recompile the document every few minutes in order to catch input mistakes early.
    – Mico
    Commented Aug 11, 2021 at 14:04
75

DONT Read tutorials that advise best practices from the stone age.

Especially german LaTeX tutorials advise something like this in the preamble:

\usepackage[latin9]{inputenc}
\usepackage[T1]{fontenc}

Then i see a lot of people that are writing umlauts like this: \"u. Please forget this!

DO In times of UTF8 use \usepackage[utf8]{inputenc} and you're done. No need for magic to write foreign characters!

DO Another good advice is to use xelatex instead of pdflatex to compile your document. The advantage is, that you can change the fonts in your document quite easily, without shooting yourself in the foot!

DO Read and try to understand the build log! Looking for the source of compile errors is quite hard for TeX beginners (sometimes even for more advanced users), thus it's very helpful to get a look for relevant error messages!

UPDATE

DO Use the nag package (\usepackage[l2tabu]{nag}) to get warnings when using bad practices or obsolete TeX-style commands. It is also helpful to read the documentation ( german "Sündenregister", english). After reading this, you can decide if a tutorial is using obsolete commands or other bad practices.

17
  • 30
    »DONT Read tutorials that advise best practices from the stone age.« -- that's easily said but how should a newbie judge if a recommendation is outdated?
    – cgnieder
    Commented Oct 22, 2013 at 8:59
  • 7
    @gerrit it's unnecessarily complex. To much complexity is always bad ;)
    – klingt.net
    Commented Oct 22, 2013 at 10:24
  • 10
    This is the most important post up until now, in my opinion. Way too many tutorials on the internet are outdated, and people learn only stoneage-style LaTeX! As an example, 99% of the tutorials still recommend BibTeX, although BibLaTeX and biber are now very stable, and absolutely ready to use.
    – Ingo
    Commented Oct 23, 2013 at 10:17
  • 10
    I disagree on \"u and such. I don't have such symbols on my keyboard and it is a lot easier for me to type an accent that way instead of googling the character to find a copy I can copy and paste into my document. I use utf8, but don't WRITE it like that, I just want it there in case I do copy that character in.
    – Canageek
    Commented Oct 23, 2013 at 19:24
  • 8
    @Canageek You may want to check out the US international layout (with AltGr and dead keys). With minimal transitional pain I write German, English, Swedish and the odd French word without switching anything. And, of course, all the programming symbols are where you need them.
    – Raphael
    Commented Nov 3, 2013 at 1:57
69

Not using version management for your document.

I've introduced some colleagues to LaTeX, and the most common questions I get relate to how suddenly something doesn't compile and how it can be fixed yet, when I ask them about reverting to a previous version, they consequently say they never thought of putting their work into a version management system (funny enough they manage all their other CompSys code related tasks in it). I now mention this even to beginners as one of the major benefits of working in plain text.

5
  • Yeah, I'm lazy about this. I don't like taking the time to set up a repository for each new project.
    – Canageek
    Commented Oct 23, 2013 at 19:26
  • 4
    This is so true! But I'd say it's even more of a trouble with Word documents. I have seen people having thesis directories containing files like: thesis-draft-n-date-hour.doc(and Word documents are generally much bigger than LaTeX source code, that's simple plaintext, hence having 100MB of directory wouldn't be so strange for a long thesis.)
    – Bakuriu
    Commented Oct 24, 2013 at 11:40
  • Then just use one and pack them all in there, but by all means use one.
    – Max
    Commented Oct 24, 2013 at 11:42
  • 1
    Or use git and register separate projects as submodules. :) Commented Oct 24, 2013 at 14:39
  • But versioning and Word documents don't mix well because they are binary so your repo will be huge if your document is 100MB. Whereas LaTeX gets away with 'cheap' copies...
    – cfr
    Commented Sep 21, 2014 at 2:51
56

Often beginners are not aware of the different whitespace and possible linebreaks:

Cancelling an "end of sentence" space

A space right after a period following a lowercase letter by default ends a sentence and LaTeX inserts an extra whitespace. There are several occasions where you do not want to have the default behaviour. For example,

Ms. Bean is \ldots\\
Ms.\ Bean is \ldots

enter image description here

To make the Ms.\ Bean unbreakable, use ~ instead of \<space>. \<space> and a ~ differ only in their line-breaking behaviour, the whitespace is the same. See also: When should I use non-breaking space?.

Enforcing an "end of sentence" space

A space right after a period following an uppercase letter by default represents an acronym and LaTeX does not insert an extra whitespace. There are several occasions where you do not want to have the default behaviour. For example,

I left at 12:00 P.M. In \ldots\\
I left at 12:00 P.M\@. In \ldots

produces

enter image description here

Enforcing a space after a control word

Control words eat spaces that follow.

\LaTeX is fun.\\
\LaTeX\ is fun.

enter image description here

The \<space> here is necessary to produce space between LaTeX and "is". An alternative is to use braces to terminate the command. For example, \LaTeX{} is fun. and {\LaTeX} is fun. are equivalent to the above. See also Spaces after Commands.

5
  • @Marienplatz: Quite an improvement of the answer. thanks
    – Hotschke
    Commented Oct 31, 2013 at 9:29
  • Huh, and here I moved from ~ to \<space> as I thought it was more correct for intra-sentances spaces...
    – Canageek
    Commented Oct 31, 2013 at 18:13
  • @Canageek: Who will use I go to school now.~My parents work at home.? Commented Nov 1, 2013 at 8:05
  • 1
    @Marienplatz Intra, not inter. As in, I moved from Dr.~Leznoff to Dr.\ Leznoff.
    – Canageek
    Commented Nov 2, 2013 at 21:20
  • chktex finds these pretty well. It's also awesome.
    – bombcar
    Commented Mar 13, 2014 at 15:31
50

Using $$ for italics. I find this error so often that I am suprised it has not been already mentioned.

1
  • This is bad! Fortunately I haven't seen it before.
    – Ingo
    Commented Oct 23, 2013 at 10:20
44

I will hammer home my case for books! This is LaTeX!

Besides not using Emacs, I guess 90% of newcomers don't buy books, but try to learn "LaTeX by Google". What a waste of time.


Edit: OK, borrow books, also possible. Somebody else with such proposals? Maybe I'd betters say that studying a book as a beginner seems the crucial thing.

»Works pretty well«: Sure, but it takes much more time than take the book from the shelf and read. How many users never heard of »texdoc packagename«? And I'm quite convinced that "LaTeX by Google" works for nerds (but it surely costs much more time), but if you are studying the humanities, a book explaining the concept is really helpfull.


Edit 2: »Books are sooo last millenium«: Yess, and probably 99% of the users here as well. Besides that, courtesy of F. Mittelbach we present: The companion as ebook!

29
  • 33
    Worked pretty well for me. Just saying. Commented Oct 21, 2013 at 12:31
  • 8
    Books are so last millennium ;) I don't recommend books for learning any programming-like method anymore. What is needed, however, is a good approach to learn-by-Google; it's not enough to simply snag the first half-working snippet and bend it to your needs. You need to be hunting out the reasons behind the code. Commented Oct 21, 2013 at 13:39
  • 20
    Googling latex <package name> is by far the quickest way to get to the package's original documentation on CTAN. And once you have it, you can do a full-text search. On the other hand, I've yet to see an online introduction to LaTeX that comes close to the introductory books on sale. Books are best for educating yourself, PDFs for looking up tidbits.
    – alexis
    Commented Oct 21, 2013 at 15:31
  • 14
    @alexis texdoc <package name> on the command line works pretty good as well :) Also texdoc latex2e, texdoc lshort, ...
    – cgnieder
    Commented Oct 21, 2013 at 16:44
  • 9
    @alexis try that with color :). I would generally rather recommend ctan <package> this usually gets rid of chemical, fetish and other unwanted results.
    – Max
    Commented Oct 22, 2013 at 14:22
43

A very common mistake for LaTeX newbies : they don't ask questions on tex.stackexchange.com.

2
  • 7
    More generally, they don't ask question on forums or mailing lists, even if they are told how and advised to do so. Commented Oct 23, 2013 at 6:00
  • 1
    Luckily I didn't make this mistake! All the questions I posted here where well accepted by other users and I got really good and insightful answers even when the question itself was "stupid" from a TeX point of view. So there is no reason to be scared of asking (at least on this site).
    – Bakuriu
    Commented Oct 24, 2013 at 11:24
42

Not using LaTeX itself, but rather obsolete TeX. For example, ${\rm text}$ in math mode, or \bigskip {\bf Section} instead of \section. The list goes on. This is a result of learning TeX from copying ancient documents without understanding, following one of the many contradictory guides online, or simply not caring as long as it looks as you expect.

10
  • 18
    "Obsolete TeX"? Ryan... :-/
    – morbusg
    Commented Oct 21, 2013 at 11:39
  • 3
    I was thinking more in the lines of "obsolete LaTeX", since you use \bf etc. in ConTeXt too.
    – morbusg
    Commented Oct 21, 2013 at 12:28
  • 1
    Deprecated, but why is it a mistake? Yeah, yeah, don't do it, but I learned it this way from Kopka & Daly 1st edition (before LaTeX2e), and in all the years since then I've never had a reason to abandon it. (Obviously I don't make newby mistakes like \bf{Section}.)
    – alexis
    Commented Oct 21, 2013 at 13:55
  • 2
    @alexis deprecated for nearly 20 (!) years. New users would certainly be puzzled by {\bf\it I'm not bold} while {\bfseries\itshape works}.
    – cgnieder
    Commented Oct 21, 2013 at 16:48
  • 2
    @cgnieder, I know all that. But the "standard classes" do define them, I do understand their semantics, and they've worked without any problem for 20 years. Hence my question: why should it be a mistake to use them correctly? (But I should add that I don't use \em or \it: Life's too short for italic corrections by hand!)
    – alexis
    Commented Oct 21, 2013 at 18:03
39

In my experience, people come from Word and expect a LaTeX editor to work like MS Word, with the exception that they have to click a button to generate the document.

Because of this, many do not understand the concept of compiling properly. They do not understand what happens in the background; That first, pdfLaTeX is run, then BibTeX, then maybe another two runs of pdfLaTeX. They do not even understand what pdfLaTeX or BibTeX are, or the meta concepts of these, namely that there can also be LuaLaTeX, biber, or xindy!

This commonly leads to them being unable to fix problems. In my opinion, such basics of editing a document in the world of TeX should be treated better in existing documents. I think it would actually help if people would start out in NOtepad (or equivalent), and compile through the command line.

9
  • 3
    That's true, but there is culpability on both sides. If a user has always written your documents in Word and needs to make the switch to LaTeX, the resources that we make available to them are pretty arcane. Google for 'latex for word users' and dig in the links and you pretty quickly become covered in arcana that makes no sense to the typical Word user. Conversely, it is foolish to assume that A works like B just because B has bigger market share. Commented Oct 22, 2013 at 15:22
  • 4
    Maybe the problem here is LaTeX having such a complicated and error-prone workflow. Having to compile twice (or rather $N$ times, for $N$ unknown a priori and possibly even infinite) makes little sense to me. Commented Oct 22, 2013 at 22:39
  • 4
    The workflow is necessary to resolve all the forward, backward, and cross-file dependencies. The problem is that it is insufficiently supported by tools; a few can automatically recompile, but others will only run one stage (TeXShop), or run one instance of each tool (TexCenter). Tool output is prohibitively verbose, and often hidden from the user by the GUI... so how can the user understand what's going on? Yeah, read the manuals. Some of which still assume dvi and commandline compilation (cf. @klingt's answer).
    – alexis
    Commented Oct 23, 2013 at 9:12
  • 3
    Not understanding what is happening can also be adverse to progress. I have seen many cases where people wanted to switch to BibLaTeX, but failed because they did not even understand what biber is, and how they could set it up. Many editors still have only bibtex preconfigured. The problem is that people never see that bibtex is run, and just click on a button to compile, so they are utterly clueless as to how to set up biber (although it is only changing one word in the settings of your editor).
    – Ingo
    Commented Oct 23, 2013 at 10:15
  • 12
    If beginners to LaTeX are expected to understand the inner workings of the compilation process in order to use it, then the problem lies with LaTeX and not with the users. And "read the manuals"? I'm not exactly computer illiterate, but 90% of LaTeX manuals are more or less completely incomprehensible to me.
    – Sverre
    Commented Oct 23, 2013 at 11:15
39
  • Not realizing an empty line is a \par and trying anything and everything to work around the spacing problems. This is probably among the top five and I would patch that out if I could.
  • Using inline math instead of display math and screwing up the line spacing in progress. Points for using \displaystyle in an inline math in a normal paragraph.
  • Using random solutions/templates/code pieces from the internet. Yesterday I saw someone actually confused about why using

    \documentstyle{foo}
    \usepackage{bar}
    

    throws an error, after he found the first line on the internet. I wish there were a way to get rid of the old pages that still show up with latex 2.09 code, yes weinelt.de you first. This goes further than @klingt.net. @Keksdose's solution is a remedy to a certain point, because the printed material is usually of better quality, but even there outdated solutions are advertised sometimes.

  • Using babel without the shorthands turned off and then being surprised that it messes up math, ipv6 adresses, listings or any other random thing. This 'feature' is my personal pet peave.

    Examples:

    I've also seen problems with other packages in the past, listings and syntax from mdwtools come to mind immediately, but there are more.

  • Accidentally redefining commands with def.

  • Using incompatible packages or order sensitive packages in the wrong order. To be honest latex should make that harder or prevent that. Bonus points for obscuring the order to scrutiny by including a package multiple times.

  • Including redundant packages. Recently seen preamble:

    \usepackage{lmodern}
    \usepackage{mathptmx}
    \usepackage{ae}
    \usepackage{courier}
    \usepackage{mathptmx}
    \usepackage{fontspec}
    
  • Manually trying to set variables instead of using proper packages. Most common with parskip, setspace and geometry.
  • Declaring one encoding and using another or mixing different encodings.
  • Ignoring Italic corrections.
  • Using the wrong quotes (e.g. "" instead of ``'').
  • Floats where they make no sense at all. Today I saw someone combine a table with Absolutely, definitely, preventing page break just to get a caption and latex was not happy.
  • Not using non breakable spaces, where needed Dr.~Foo
  • Not knowing when to use math and when not. Also not using \text{} in math mode for non math.
  • Not escaping _, #, ^ and friends.
10
  • 3
    A colleague once asked me help because the name of his Turkish coauthor caused errors (something like Şukur); of course he had \def\c{\gamma} in his document.
    – egreg
    Commented Oct 22, 2013 at 20:26
  • 1
    I'm a bit irritated by having to pay attention to ~ and ``''
    – marczellm
    Commented Oct 22, 2013 at 21:34
  • I can't say that babel's shortcuts have caused me much troubles... I actually quite like them!
    – cgnieder
    Commented Oct 22, 2013 at 21:59
  • @cgnieder, see the examples I listed. The problem is that it's really confusing to users who aren't aware of them and should be an opt-in not an opt-out feature. I now routinely check if babel is the cause for the issue at hand as soon as I see someone using it, because it's so disproportionally often the cause of problems for my users.
    – Max
    Commented Oct 23, 2013 at 7:54
  • 4
    +1 for babel shorthands. I really had no idea when I realized there was a Bad interaction between babel and xypic that there was such a feature on by default(or that it even existed at all...). Regarding incompatibilities between packages and order, I believe sometimes the documentation is not clear enough. Also the whole idea of a single namespace is something I hate. I'd prefer if \usepackage{x} would import only things definied in x or explicitly imported, not things from y used by x.
    – Bakuriu
    Commented Oct 24, 2013 at 11:35
30

Fight typesetting with tooth and nail.

Many try to emulate what they know no matter what. Examples include:

  • Switch to Times New Roman. What, you can change the math font?
  • Use \\ liberally to break lines and delimit paragraphs.
  • Ignore the concepts of floating environments.
  • $...$ is the only math environment you know; spacing with \\.
  • Never use -- or ---, let alone .\ and \, in acronyms.
  • All math delimiters have the same size.

Not exactly typesetting, but related in spirit:

  • What are \label and \ref?
  • Instead of using the ones from babel, use wrong or hacked quotes (language dependent).
  • Literature references hardcoded in footnotes.
  • Re-use pixel graphics created with some drawing tool.
  • Write everything in one huge file.
  • Use a *TeX distribution that is older than your PC.

Of course, the most common mistake is to write stuff yourself. In 95% percent of the cases, there's a package that does what you want!

7
  • When LaTeX gets decent SVG support I'll stop using pixel graphics. I'm not jumping through hoops to make a PDF out of my image....
    – Canageek
    Commented Oct 31, 2013 at 18:17
  • @Canageek: I would recommend TikZ, but I realize it has a tough learning curve. So I'll give you this: inkscape -A output.pdf input.svg -- if that's a hoop, it's a large one. (No idea how well this works in general, but it has yielded decent results for me.)
    – Raphael
    Commented Nov 1, 2013 at 15:36
  • That still involves me using pdf as an image format, which is wrong; it is a document layout format.
    – Canageek
    Commented Nov 2, 2013 at 21:19
  • 1
    @Canageek I think that is not only a narrow definition of "document", it's also not a useful point of view. The graphics ends up in a PDF (PS + x) so they have to get there somehow. LaTeX engines may be able to hide from you that they convert SVG to PS/PDF but it still has to happen (would you rather control the conversion?). Provided you don't want pixel graphics, which would be really contrary to the "idea" of PS/PDF. (Or, you know, learn TikZ. :))
    – Raphael
    Commented Nov 2, 2013 at 22:36
  • The graphics would be output from another program (ChemDraw most likely, or possibly GNUplot or such). If they are PDF I can't use them in any other format (i.e. Web), and the interface to add them to LaTeX is different, and editing them in future is much harder, as PDF adds a bunch of garbage to do with page size and such. There is a nice SVG package, but, I'd need to install inkscape and use \write18
    – Canageek
    Commented Nov 2, 2013 at 23:50
30

1. Compiling too early and too often. Now you are spending your time working on fixing formatting and such that will change as soon as you add more text anyway and all the floats will move anyway.

2. Using floats when you don't have to. Floats are the devil, yet all tutorials use them. Most of the time I know where I want the image, at least roughly, and didn't know for ages that I could just insert the image without wrapping it in a float, so I'd spend ages trying to get stuff to stop floating down multiple pages, or into the wrong section, etc.

Edit: As this is attracting a lot of debate: When I started every example shows you to insert an image in a float, so I thought you had to use float. Even a couple of months ago I thought you needed to put a table in a table environment; I'd still have to look up how to make a non-floating table. This is a problem as a lot of the time I need an image in a certain place. For example, if I'm typesetting a homework problem (Something I did a lot as an undergrad, and am now doing again when I'm writing questions) I can't have that image floating down into a different question; my TA or prof isn't going to go hunting for it, they are just going to dock me marks (And I don't want to confusing anyone working on my problem set!). Also as the h option is a joke they usually float far away. I don't mind if a figure floats a few paragraphs, but three pages away is bad: Same page as the discussion or facing page only. I should always be able to see both figure and text at the same time, unless there are exceptional circumstances or a very large text (I cut some slack when writing my thesis, as there were so many figures they wouldn't all fit on the same page as the text).

There are times floats are the right choice; I'm using one in the document I'm working on right now. However, they are just as often the wrong choice, and a lot of new users don't realize this.

3. Using outdated packages that some website gave you My group drives me crazy since they use very outdated packages that have been superseeded. subfigure instead of subfig, stuff like that.

4. Relying on GUI text editors instead of understanding what is happening People at work also drive me crazy with refusing to use anything but the compile button in WinEdt. If that doesn't automatically work, they refuse to use the package (Thus no biber, no biblatex, etc.

5. Using MikTeX That install package on compile thing NEVER works right. Hard drives are large, dammit.

Edit: Ok, not never. But it fails every time I've given my coworkers a new package to use, causing us to have to go into the interface and have it manually install.

6. Limiting yourself to what chemistry journals allow for everything I dream of one day being editor of a big chemistry journal, just so I can go to the AMS or APS and borrow their code. This has things like not using macros, not redefining things, not using excess packages (or in one case, not using packages AT ALL).

7. Not being willing to put in time understanding LaTeX The people I work with just want a solution now. They aren't willing to put in any time into making it work; they want something that works now, since the journal will reformat it anyway, so if it works and gets vaguely close to what they want, good enough.

8. Making DocumentNameV3.tex and forgetting to open the new PDF, then wondering why nothing you do is working Not that I've done this recently, after I was too lazy to set up a new code repository.

33
  • 2
    Major complaint from colleagues I've heard is 7. Commented Oct 23, 2013 at 19:58
  • 3
    I disagree (partly) with 2: I think floats are a good thing: often images and tables don't need to be looked at immediately and the readers should have a choice when they do. So it's a good thing if they float to the top or bottom or a separate page. They have a caption and are referred to in the text anyway
    – cgnieder
    Commented Oct 23, 2013 at 20:00
  • 3
    Floats are great when they're appropriate, but using them when you want your text to stay put is a mistake. Too many people use them but don't want them to ever float. Double mistake.
    – alexis
    Commented Oct 23, 2013 at 20:03
  • 6
    @cgnieder I think what Canageek has in mind are people using figure when all they want to do is insert a graphic. There are many places where this is useful, and new users simply do not understand the difference. Quoting myself from chat: "The prize for the worst name choice in LaTeX surely must go to the figure and table environments. I wonder how many questions here and on the web deal with people not understanding the difference between the container and its contents?"
    – Alan Munn
    Commented Oct 23, 2013 at 20:06
  • 3
    @Canageek do you know \FloatBarrier (from the placeins package)? I never used it but it's designed for exactly that purpose...
    – cgnieder
    Commented Oct 24, 2013 at 21:01
27

Using \left and \right indiscriminately before all delimiters (parentheses, brackets, braces). Some front-ends to LaTeX do it by default, but this behavior must be disabled.

Spaces around binary operation and relation symbols are flexible (for operations they are both stretchable and shrinkable, for relations only stretchable), so they can participate to the space adjustments made on a line for achieving justification. However, \left and \right create a subformula with the material in between them and, by rule, spaces inside a subformula are “frozen” to their natural width.

Another aspect worthy being mentioned is that a subformula is not breakable across lines; TeX is reluctantly willing to break a line after an operation or relation symbol, but not when this symbol appears between \left and \right.

These two commands do have their proper usage, but too often they are misused.

10
  • 10
    I guess people like the aspect "make my delimiters as big as needed!". If you could propose another way to do this, I'm sure you can convert lots of people.
    – Raphael
    Commented Oct 23, 2013 at 6:17
  • 1
    @Raphael The fact is that it's most commonly not needed to grow delimiters.
    – egreg
    Commented Oct 23, 2013 at 6:55
  • 6
    I don't know how you mean "most commonly" but I don't think I have written a (work-related) document that did not need larger delimiters.
    – Raphael
    Commented Oct 23, 2013 at 7:09
  • 2
    Bah. I just wan the equation to work and LaTeX to figure out all the sizes for me. If I wanted to do a lot of extra work, I'd go use MS Equation editor ;)
    – Canageek
    Commented Oct 23, 2013 at 19:25
  • 4
    @egreg: Maybe add an example of what the proper use of \left and \right is (and an example of typical misuse).
    – Silke
    Commented Oct 30, 2013 at 18:55
24

Forgot to break the paragraph before the closing }

When a paragraph has font size change, the \par must be invoked before }

\documentclass[preview,border=12pt]{standalone}
\def\foo{%
These dummy texts will span more than 2 lines. If you see they do not span more than 2 lines then you have to inform me now!}

\begin{document}
\parindent=5em\relax
\foo

{\huge \foo}

\foo

{\huge \foo\par}

\foo
\end{document}

enter image description here

3
  • 2
    applies to 1-line paragraphs too Commented Oct 21, 2013 at 16:27
  • @DavidCarlisle: Your useful suggestions are always welcome. I have edited my previous statement. Thanks. Commented Oct 21, 2013 at 17:58
  • 5
    this is a bit more esoteric, but if the last line of a "larger" paragraph has no descenders, a dummy descender should be added with \strut. avoid any spaces between the end of printable text and the \strut to avoid a possible extra line if the last line fills the full width of the page. Commented Oct 21, 2013 at 23:21
23

Incorrectly choosing the compiler

  • Compiling

    • an input file importing PDF, JPEG, PNG

    with latex->dvips->ps2pdf sequence. The compiler should be either pdflatex or xelatex (among other possibilities).

  • Compiling

    • an input file containing PSTricks code
    • an input file importing EPS

    with pdflatex. The compiler should be either latex->dvips->ps2pdf or xelatex (among other possibilities)

20

My own take on this question is more about the mistakes beginners make because of us. I made too many shameful mistakes (and still do at times), but with my first private beta, I realised that many beginner mistakes were in fact my beginner LaTeX developer mistakes.

They are still beginner mistakes – but I have a feeling of responsibility for a lot of them.

  1. Not teaching users to first read the documentation. Not teaching users to look at the code if the documentation is unhelpful (code does not bite). I have had someone tell me "I didn't dare to modify your package because I didn't know what I was doing"… well, just back it up somewhere and play, code is not sacred).
  2. Not teaching users to send you the log when they want to report a bug or any other issue, even if they do not understand what the error message means. On that matter, I feel like it is helpful to teach all beginners how to read the most basic errors (command already defined, command not defined, underfull and overfull boxes).
  3. Not writing appropriate documentation files for users (we all boast about "literate programming" and we mostly do a good job at writing docs, but not all of them are perfect). We have some beautiful files, and also some barely-commented "implementation" docs with just an introduction and a list of macros that no beginner would ever understand.
  4. Not teaching users the difference between form and content (as mentioned several times before). But I also mean it literally: whether they want to code something for themselves or whether they are requesting a new feature, they need to determine if it is just a stylistic preference or if there is a general purpose behind it (e.g. do we need a simple command or an option for customisation). There is nothing more stupid than creating a whole system that works really well except it is totally impractical in real life.

I hope it is not off-topic… but thinking back, I would think that most of my own beginner mistakes were also often developer (or documentation-writer) mistakes. We are generally good at writing documentations, but we sometimes have a hard time finding the right words for both beginners and experts.

Most of the beginner mistakes mentioned here are not really in the books… or at least they don't show up as sections, tutorials, etc. It is no wonder beginners first look things up on google. We don't write documentations on debugging what we assume will work (it works in the hands of a TeXnician, not in the hands of someone who does things at random).

2
  • 5
    +1 for mention that makes a difference the documentation written for human beings, err ...average users. Sometimes, each option of each command is explained extensively, but you have to search in Google for an example or how apply these commands without obtain errors. Generally, the average user needs the section "usage" and some examples, not the "implementation" section. Instead, sometimes even is omitted that one must have \usepackage {...} in the preamble. Too obvious? not for a novice!
    – Fran
    Commented Jul 30, 2014 at 8:56
  • My point exactly… When I put my code in the hands of a novice, I remembered how hard it had been for me to learn how to use these packages and how discouraging my class would be to average users if I did not do a proper job at preventing their beginner mistakes. This is my first (and I hope, worst ever) mistake as a beginner public developer.
    – ienissei
    Commented Jul 31, 2014 at 20:12
19

Not understanding the compile sequence when using GUI tools like TeXmaker and LyX was something I was personally guilty of. Understanding this better, helped me understand when references, citations and page numbering went wonky. Switching to emacs and using a custom scripted compile helped sort out the kinks.

6
  • I have this problem a lot with people at work. They refuse to try biber or anything that breaks the compile button in WinEdt sigh
    – Canageek
    Commented Oct 23, 2013 at 19:27
  • My answer already treated exactly this.
    – Ingo
    Commented Oct 23, 2013 at 20:32
  • @Ingo, sorry, didn't get past the Windows bit of your answer when posting. What's the usual practice here, I nuke my answer? Commented Oct 23, 2013 at 20:36
  • @ForkrulAssail, could you recommend a source if one is interested to better understand the compile sequence?
    – Eric Fail
    Commented Nov 6, 2013 at 11:13
  • I learnt from the chat room @EricFail. My learning was very incremental, at first I worked with LyX, then went on to TeXMaker. As I added new packages like glossary and index I learnt that I would need an extra run of something or an intermediate run of some tool. It really depends on what you use. You can check JosephWright's answer on my earlier question here: tex.stackexchange.com/questions/121383/… but I would suggest you just ask in the chat room, tell them what packages you have and what is suggested. Rubber and arara are also good Commented Nov 6, 2013 at 17:39
18

The usage of raster graphics (JPG, PNG, ...) instead of vector graphigs (SVG, TikZ pictures, ...) could be a mistake since this increases output PDF file size and slows down rendering in several readers.

8
  • 7
    So we have to vectorize all screenshots or photographs? I don't think they become smaller in size. Commented Oct 22, 2013 at 12:36
  • 7
    sometimes it's really necessary to incorporate photographs, say for presentation of historical information, and they simply don't come in vector form. rather than disallowing them, it would be better to give a warning and offer a way to compress them in the most nearly lossless manner. Commented Oct 22, 2013 at 21:31
  • 1
    It's also a mistake to use JPG instead of PNG for diagrams and line art-- it makes the lines and letters fuzzy. But it's not specifically a (La)TeX mistake.
    – alexis
    Commented Oct 23, 2013 at 19:12
  • 4
    @my_greets Getting SVG to work in LaTeX is a pain, and using a PDF for an image is also a pain, and conceptually wrong (it is a document layout format, NOT a graphics format!)
    – Canageek
    Commented Oct 23, 2013 at 19:28
  • 1
    TiKZ is quicker to compile than including a PNG? Really?
    – cfr
    Commented Sep 21, 2014 at 2:55
18

Compile early, compile often as with 'test early, test often' is good advice when spending a lot of time working with complex documents and multiple included files. A common mistake is to work too long on a particular section, not noticing a missing } and then having to scour multiple documents for hours, when this could've been fixed by either an automated constant compile, or just ensuring every section or paragraph you work on still leaves a coherent document.

4
  • 2
    I'd say compiling too often is also a mistake; get the thing written, then worry about the code. Don't try and fix how it look after every few sentence.
    – Canageek
    Commented Oct 23, 2013 at 19:29
  • 1
    Fully agreed on that with pure LaTeX, however, multiple chapters, multiple files, knitr includes, external references... if you work in a coherent section/chapter- it makes sense (for me) to just write, if you are later in the editing, modification process breaking a brace somewhere to just discover you have to spend a long period just for getting things compilable again is no fun. I guess I've kind of mitigated this by now keeping my master version repo branch the fully compiled one and then I could just use diff melds (and longer writing non-compile periods as you suggest) to get things done Commented Oct 23, 2013 at 19:37
  • I mean, updating once an hour or something like that, not every 2 paragraphs (Which I'm sometimes guilty of)
    – Canageek
    Commented Oct 23, 2013 at 19:50
  • 7
    Compiling to make sure it compiles is a good idea (always compile before commits!) - but that's different than tweaking the output every time you compile.
    – bombcar
    Commented Mar 13, 2014 at 15:35
15
  • Not understanding the difference between typesetting and word processing. The latter is simply using computer technology to replace a mechanical typewriter, primarily in the production of routine business documents. The former has to do with preparing documents in their final form for publication. TeX and Friends are typesetters, not a word processors.
  • Thinking TeX and Friends are solely for preparation of documents intended for scientific/academic journals, classroom notes or textbooks with lots of formulae and/or footnotes and citations. TeX and Friends certainly excel at these tasks but also excel at typesetting poetry and prose -- in their original form, not just in textbooks or critical analysis (although TeX and Friends do an outstanding job of preparing those as well).
  • Not understanding the difference between logical markup and WYSIWYG then spending inordinate amounts of time trying to make TeX and Friends behave like a WYSIWYG desktop publisher/word processor instead of putting their focus on the content of their document.
  • In a similar vein, not understanding the difference between writing a document and designing a document. Two different disciplines, two different concerns. TeX and Friends allow a clean separation of the functions even if the same person is going to do both.
  • Trying to make TeX and Friends do everything instead of using the right tool. Production of a consumer-oriented magazine is far better done in Adobe InDesign than TeX and Friends. Business presentations are far better done in PowerPoint than Beamer. etcetera, etcetera etcetera.
  • Underestimating the amount of work it takes to produce a "beautiful" document. TeX and Friends will produce more beautiful documents than MS Word but it is not automatic simply because one uses TeX and Friends.
  • Getting caught up in vim vs emacs vs texworks vs tex{studio | maker} vs notepad arguments on SX (or elewhere). :) They all work fine. TeX and Friends don't care which you use and the resulting documents don't either.
2
  • In my writing I used TeXShop which is tremendously helpful for me as I can fill in references and format the text as I go along. This enables me to see the texts as the reader will see it with \emph given to certain words and the correct references in place, thanks to BibDesk. If I understand your first point correct I am writing my texts in a tool that is intended to be used for preparing documents in their final form for publication. Would you elaborate on what the advantages are of using a word processing tool for writing and maybe explain your workflow?
    – Eric Fail
    Commented Nov 21, 2013 at 15:31
  • I don't use a word processor unless forced to by some external constraint. I try very, very hard to separate page design from content so all styling goes into the preamble (LaTeX) or environment files (ConTeXt). For the document itself, I simply use a text editor (Emacs is my preference but any will do). Word processors are for office memos, not publications. If someone insists on receiving a MS Word document, I use Pandoc to convert from TeX markup to a docx file. Commented Nov 28, 2013 at 2:47
14

Doing by hands what LaTeX should handle. Like writing "on page 3" and thinking to learn "complicated things" like \label-\ref "later", i.e. never. On the other hand, it is not bad to use \newpage before \section instead of titlesec package --- this is what David Carlisle already answered about.

Basically this applies to all kind of systems. How many keyboard shortcut in Word to learn, how many packages to remember in LaTeX... It always depend on how much one is going to use some software.

Another one on meta-level: not asking computer support when you have one available. Many have used hours to find out things that I could have tell in a minute.

13

The most common mistake that LaTeX beginners make is that they start with the “stock” article class and enrich it with various packages to suit their needs instead of picking a more specialised class providing all the functionality they need.

It has several drawbacks for the users:

  • They spend a significant time looking for “tabular package XY” that can do “plop plop fizz fizz” instead of using what is provided by the specialised class they did not pick.

  • They spend a significant amount of time making some packages work together and looking for answers to their problem.

  • They spend a significant time trying to customise the class to achieve a pleasant layout, while they neither have the needed programming skills nor (most probably) the design skills.

Is there any LaTeX introduction or tutorial that emphasises the choice of a document class and provides valuable resources (catalogue, comparison of features, application domain) to choose one? It seems to me that most of them pick one (article) and stick to it for the whole tutorial, while it could be more beneficial—once the basics of text and math typesettings have been covered—to drop that generic class in favour of a specialised one.

To put it in one sentence: “unexperienced users confuse the roles of designer and scripter (and tutorials tend to perpetuate this confusion).”

2
  • 11
    I have never used anything BUT article. What else is there? KOMA-script and memoir seem to be languages in themselves, and half my packages warn that they are incompatible with one or both!
    – Canageek
    Commented Oct 24, 2013 at 21:01
  • 8
    This answer would be much more useful with some real examples, i.e. packages that are often used but aren't needed when using a specific document class(either because it provides the same output or because the document class can do the thing slightly differently, but in a "better way" from the typesetting point of view).
    – Bakuriu
    Commented Oct 25, 2013 at 9:41
11

Judging by questions on this site - which I admit are probably not representative of beginners as a whole but which are, at the very least, of special interest to readers likely to peruse this answer - I would say that one basic mistake, which leads to a number of others, is not stepping back and getting a general sense of the capabilities of TeX & friends. I don't mean the details, but the 'big picture'. For example,

  • TeX & friends are good tools for typesetting text, mathematics and bibliographies;
  • TeX & friends are great for automatically ensuring consistent layout, accurate references and cross-references;
  • TeX & friends are not the best tools to create a database, manage a spreadsheet or draw elaborate 3D scenes with accurate perspective and lighting;
  • TeX & friends are not good replacements for tools such as sed, (g)awk and grep, although many editors provide much of their functionality;
  • neither TeX nor friends are good replacements for a sheepdog;
  • TeX & friends make at best indifferent tea.

In particular, TeX & friends are much better than human beings - and much better than many other programmes - at the things they do well. They are not generally good - and typically much poorer than alternative programmes - at the things they are not intended to do.

One key strategy for getting the most out of TeX & friends is to use the right tool for the right job. Some questions boil down to requests for TeX solutions to the problem of brewing the perfect cuppa. This is a perfectly reasonable aim but the best answer involves advising a non-TeX solution. a perfectly reasonable goal requiring a non-TeX solution

Other questions essentially ask for TeX-based cat-herding solutions. The best answer in this case involves recommending against adopting the goal set out in the question. an entirely unreasonable goal which has no reasonable solution

However, these types of answers are rarely appreciated and frequently interpreted as either lacking in imagination ('I don't believe it is not possible/advisable') or as admissions of TeX's failure to rise to the needs of twenty-first century users ('Super Programme can make tea while simultaneously sheering sheep, sending a letter to my gran and paying the gas bill'). This is a shame since these really are the best answers in these cases and appreciating TeX's limitations, as well as its strengths, is key to using it effectively.

[That is, I am extremely sceptical of solutions of this kind.]

Cup of tea is from openclipart.org.

'Like Juggling While Herding Cats' is by Robin Catesby and available here under this CC licence.

11

Actually it is not wrong but the output might make your eyes a bit itch. "Wrongly" representing a series of unaligned equations using \[..\] instead of using \begin{gather*}...\end{gather*}.

\documentclass[preview,border=12pt]{standalone}
\usepackage{amsmath}
\begin{document}
\section*{Not recommended}
The solution of $x^2-5x+6=0$ is
\[
(x-3)(x-2)=0
\]
\[
x-3=0 \text{ or } x-2=0
\]
\[
x=3 \text{ or } x=2
\]

\section*{Recommended}
The solution of $x^2-5x+6=0$ is
\begin{gather*}
(x-3)(x-2)=0\\
x-3=0 \text{ or } x-2=0\\
x=3 \text{ or } x=2
\end{gather*}
\end{document}

enter image description here

3
  • 2
    recommended shouldn't be recommended. In fact this shouldn't be done in my opinion.
    – percusse
    Commented Oct 23, 2013 at 15:29
  • @percusse: feel free to down vote. :-) Commented Oct 23, 2013 at 15:33
  • I don't feel like it :)
    – percusse
    Commented Oct 23, 2013 at 15:33
10

Cleaning too early

  • Suppose there is an input file importing EPS images and it will be compiled with latex->dvips->ps2pdf. Some users think that the EPS images are no longer needed after running latex so they can be deleted. Actually it is wrong because dvips still needs the EPS. (it must be documented in arara)

  • Suppose there is an input file using cross-referencing with \label. Some users aggressively remove any auxiliary files generated by (pdf)latex compiler before the next invocations. It makes the cross-referencing always end with ??. These auxiliary files must not be deleted until the cross-referencing is properly done. (it must be documented in arara).

1
  • 3
    I've dealt with a few people who made a satisfactory pdf draft, then "cleaned" their folder of all the auxiliary files... and got rid of the .tex source along the rest!
    – alexis
    Commented Oct 25, 2013 at 9:59
9

Another common misbehavior is reading package or class documentations from TeX mirrors (the worst case, they read from sites with obsolete contents) even though they already installed the complete, up-to-date packages and classes.

I mean that they don't know that texdoc <package-name> invoked in their own machine can launch the documentation in question.

2
  • 2
    Unfortunately it is not always clear what <package-name> is (like with KOMA-Script). In MiKTeX texdoc <package-name> opens a HTML list of documentation items of the given package, while texdoc --view <package-name> opens the first item of that list. In the case of Beamer this is only the logo, with PGF it's the mindmap example, with NewTX the implementation notes etc. You have to know the filename: texdoc beameruserguide, texdoc scrguien etc.
    – marczellm
    Commented Oct 26, 2013 at 9:11
  • @marczellm: It should be regarded as the bad design of TeX distro. :-) Commented Oct 26, 2013 at 9:17
9

At the very beginning, trying to make a table in this way:

\begin{table}{ccc}
a & b & c \\
\end{table}
2
  • 1
    Could you explain what is wrong or right?
    – mafu
    Commented Jan 5, 2014 at 7:38
  • 4
    @mafutrct To make a table in LaTeX you need the less intuitive environment tabular, not table. There is also commonly used the table environment, but is not to make a table, so the confusion is served for the novice. What a table environment does is move (float) a table (or whatever it contain) to the best possible place according to several rules (the top of the page, the bottom, the next page, etc.).
    – Fran
    Commented Jan 6, 2014 at 9:22
7
  • Closing opening curly brackets with parenthesis (but they are not easily distinguishable with default settings of some editors).
  • Rewriting sort of description lists by hand:

    \textbf{Foo:} description of foo.
    
    \textbf{Bar:} description of bar.
    
    [...]
    
  • Forgetting to load the package providing the macro they are using.
  • Forgetting that a LaTeX text editor is a text editor and being puzzled when they want to search or replace text in their .tex source.
  • Being bitten by the rigor needed by LaTeX and its sensibility to misspelling in macros, packages, files names.
4
  • 4
    I don't get bullet four.
    – Raphael
    Commented Oct 23, 2013 at 6:16
  • 1
    @Raphael Yesterday, a student of mine replaced by hand numerous commas by periods instead of using the "Search/Replace" tool of the editor. Commented Oct 23, 2013 at 7:39
  • Is it related to siunitx in which users can change the decimal point from period to comma or vice verse? Commented Oct 23, 2013 at 15:51
  • 1
    @Marienplatz No, for siunitx, I know the locale=FR (for instance) setup. It was in fact related to pgfplots that accept only period as input decimal separator (BTW, I just sent a feature request to Christian Feuersaenger, the pgfplots author, for providing a way to specify the input decimal separator other than period). Commented Oct 23, 2013 at 15:52

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .