28

Helpful members of the community just solved my problem with \newcommand:

What's wrong with my newcommand?

But in trying to solve it, I got an error message referring to p. 192 of "the manual". I would like to look up the error myself.

I am compiling under Windows using the command:

latexmk -pdf file.tex

I cannot find a link to a manual on latex-project.org. There are links to books which are published commercially, but surely that is not what the error messages refer to?

The not-so-short guide has fewer than 192 pages, so that's obviously not it.

Dov
  • 1,481
  • 1
    Let me make a guess: It's an error message about an already defined command? –  May 24 '15 at 18:47
  • @christian That's right. My question was answered, but I am trying to find out how to look up the error for myself – Dov May 24 '15 at 18:49
  • 1
    I think it's the original manual made by Leslie Lamport himself: LaTeX: A document preparation system –  May 24 '15 at 18:56
  • Which also happens to be fewer than 192 pages, if memory serves :-) – Sean Allred May 24 '15 at 19:01
  • It always strucked me, why does LaTeX source (still) point to a non-accessible manual (at least for free, if I'm not mistaken)? – Manuel May 24 '15 at 19:17
  • @Manuel For example: There is stability to think about (the message is at least 20 years old). Lamport's book remains the official manual text. I don't imagine the team want to write a new manual which essentially has to say the same as Lamport has already covered. ... – Joseph Wright May 24 '15 at 19:24
  • @JosephWright Probably right, still… the fact that it's not free and nowhere accessible (the source, like The TeXBook), is not entirely clear in my mind. – Manuel May 24 '15 at 19:29
  • @Manuel The source of The TeXbook is available to let people learn the coding techniques, not to use as a reference. I suspect DEK expected people would buy it or borrow from a library as well as having the source, not using the latter as an alternative. – Joseph Wright May 24 '15 at 19:31
  • @JosephWright May be a misconception from me, but I thought he didn't want us to compile it but no problem with searching its source (but as you say, it's probable that he expected us not even to search, per se, the source). – Manuel May 24 '15 at 20:01
  • Even if "the manual" is commercial, the fact that there isn't a link to it on that site is kind of crazy. How is one to figure out what "the manual" is? Kudos to you stackexhange gurus! – Dov May 24 '15 at 23:14
  • BTW there exists a free version of the LATEX: An unofficial reference manual for your info which is not the Official Manual like Leslie Lamport, LaTeX: A Document Preparation System Book. – texenthusiast May 25 '15 at 04:53
  • 3
    It's on my shelf, by The TeXbook and The LaTeX Companion. :-) – dgoodmaniii May 25 '15 at 14:44
  • @Werner I think this question is sufficiently distinct to not be a dupe: it's very much focussed on 'the manual' as meant by the LaTeX2e kernel error message. – Joseph Wright May 27 '15 at 09:53

3 Answers3

36

The 'manual' for LaTeX is LaTeX: A Document Preparation System by Leslie Lamport. This is as you observe a commercial book and one is therefore expected to visit a bookshop or library to obtain a copy. As you might also note, much of the same information as in Lamport's book is available in one or another free form (and other commercial offerings).

To understand why the manual is a book, it's worth remembering that LaTeX was first written in the 1980s based on software developed in the late 1970s to early 1980s. It's also worth remembering that (La)TeX is a typesetting system. At the time it was written, there were no electronic formats for reading documents on-screen, and printing a long document meant getting it done using a very expensive machine. As such, most software came with a proper manual. LaTeX is free, so the only way to pay for the cost of such a book was to charge for the book. (The same remains true for TeX itself, where the only way to get Knuth's manual is to buy The TeXbook.)

The LaTeX kernel is very stable, and so that message probably dates to code written by Lamport, with perhaps an update to the page number for LaTeX2e (1994). (Page 192 of Lamport's book does indeed describe the formal syntax for \newcommand.) Writing a new official manual would be a lot of work. (I'd also say the assumption that to be proficient with a complex system such as LaTeX you should read some read documentation remains sensible.)

Joseph Wright
  • 259,911
  • 34
  • 706
  • 1,036
  • 1
    IMO In page 43 line 219 of source2e V1.2n, 29/09/2014 the LaTeX error message see p.192 of the manual might be changed to See the LaTeX manual or LaTeX Companion for explanation to avoid any confusion for user or even See p.192 of Leslie Lamport LaTeX manual for explanation to be more precise. – texenthusiast May 25 '15 at 04:40
  • Just a light comment. I recently read some articles referenced by Babara Beeton where it is implied that LaTeX was around already in 1982. – Martin Argerami May 25 '15 at 07:54
  • 1
    @MartinArgerami The LaTeX2.09 file ltplain.tex has comment Created 29 October 1985 from plain version 1.5CM, which gives us an approximate date. Real take-up of LaTeX I believe started in the late 1980s. – Joseph Wright May 25 '15 at 08:05
  • 1
    @JosephWright: take a look at this article, published in Sept 1983. On page 95 you can read "LaTeX is already available"; it is also mentioned in others letters in the article. It is hard to claim that it was "written in the mid 80s". – Martin Argerami May 25 '15 at 13:52
  • Now we are in a smartphone era in which screen readers are ubiquitous. Printing is no longer needed so it should be free. – Friendly Ghost May 27 '15 at 11:06
  • 1
    @FriendlyGhost The text is still copyright (like many texts). I'm afraid if I want to properly read something I want it in printed form, so free or not dead trees will be involved. – Joseph Wright May 27 '15 at 11:08
12

The manual which the error message refers to is

Leslie Lamport, LaTeX: A Document Preparation System (second edition)

published by Addison-Wesley. The publisher's page is at

http://www.pearsonhighered.com/educator/product/LaTeX-A-Document-Preparation-System/9780201529838.page

egreg
  • 1,121,712
3

This does only partially answer the question, but just notes where the error messages comes from: latex.ltx

\gdef\@notdefinable{%
 \@latex@error{%
   Command \@backslashchar\reserved@a\space
   already defined.\MessageBreak
   Or name \@backslashchar\@qend... illegal,
   see p.192 of the manual}\@eha}

The page number is coded into the error message, but does not specify which manual is meant actually.

Under texlive/doc/latex/base/manual.pdf we just find errata to the 2nd edition, which does not give any clue.

Looking into source2e.pdf, we find nothing really connected to this.

After using google, I found that it is fact the Book by

Leslie Lamport: LaTeX A Document preparation system.

(I found a link where a scanned copy of that book is available)

For reasons of copyright issues, I won't provide the link here.

Basic summary of the relevant page 192:

It's about the commands

  • \newcommand
  • \renewcommand
  • \providecommand,

effectively stating, that a command name must not be defined before to be used with \newcommand etc.

So if the error message occurs, the command has been defined before already.