Check out my first novel, midnight's simulacra!

LaTeX

From dankwiki
Revision as of 01:09, 22 August 2023 by Dank (talk | contribs)

These days, I always use XeTeX (as opposed to e.g. pdflatex or lualatex), usually in conjunction with the Memoir class and polyglossia package (as opposed to e.g. babel).

Note that Amazon's createspace package cannot be used with XeTeX, at least as of 2023-08.

Punctuation

Quotation Marks

Use `` for the left mark, and two apostrophes for the right.

Hyphens/Dashes

  • Hyphens separate the parts of a compound word. Use a single '-', without spaces.
  • Endashes separate the bounds of a range, usually numerics. Use two '-' characters, without spaces.
  • Emdashes separate distinct thoughts. Use three '-' characters, without spaces.
  • Minus signs are a mathematical entity. Use a single '-' in math mode.

Periods

To get correct spacing:

  • Use ".\ " if the period does not end the sentence.
  • Use "\@. " if the period ends the sentence, and follows a capital letter.

Ellipses

Use \ldots (or \cdots for line-centered dots).

  • Don't use three periods (bad spacing) or the Unicode character '…' (HORIZONTAL ELLIPSIS, U+2026).
  • What about \dots? fixme

Tildes

Generally, \textasciitilde{} is the way to go. In math mode, use \sim.

  • When typesetting a url, the url and hyperref packages handle tildes properly.

Backslashes

Use \textbackslash{} to render a backslash in text.

Lists

Enclose bulleted lists within a \begin{itemize} and \end{itemize} block. Each element is preceded by \item.

  • enumerate will give numbers instead of bullets
  • description generates labeled items. Provide each label in square brackets: \item[label]

Tables

Appearance

Fonts

  • Bold: \textbf{boldfaced text}
  • Italics: \textit{italicized text} (it is advised to end most italicized sequences with "\/")
  • Monospace: \texttt{typewriter-stylized text}

Spacing

  • The default margins are generally 1.5" or more, more suitable for books than other documents. For 1" margins, add \usepackage{fullpage}.
  • Double-spacing can be achieved (in the main body) via \usepackage{doublespace}
    • Return to single-spacing via \begin{singlespace} and \end{singlespace} blocks.
  • \vfill, \vspace{amount} and \pagebreak

Special Forms

To include monospaced documents (code, emails, etc) use \VerbatimInput on a filename argument. This requires the moreverb package.

  • Important attributes include fontsize, frame, framerule, label, and numbers

Unicode

Basic LaTeX doesn't support UTF-8 beyond expanding macros based on lexical sequences. If this is intended, use the utf8 parameter to the inputenc package. XeTeX aims to be a fully Unicode-aware TeX engine.

BibTeX

Checkers

Of these, ChkTeX seems more fully-featured than lacheck. Neither is actively maintained.

  • ChkTeX
    • Watch out for some idiosyncrasies of ChkTeX. In particular, its error #38 is a false positive using the standard rules of American English.
    • Rule emission can be controlled with command-line options or ~/.chktexrc
      • I use -n 38
      • This has the (more descriptive) .chktexrc equivalent QuoteStyle = Traditional (default: Logical)
  • lacheck

See Also