## Fonts

Two important aspects of selecting a font are specifying a size and a style. The LaTeX commands for doing this are described here.

### Font styles

The following type style commands are supported by LaTeX.

In the table below the listed commands, the `\text...` commands, is used with an argument, as in `\textit{text}`. This is the preferred form. But shown after it, in parenthesis, is the corresponding declaration form, which is sometimes useful. This form takes no arguments, as in `{\itshape text}`. The scope of the declaration form lasts until the next type style command or the end of the current group. In addition, each has an environment form such as `\begin{itshape}...\end{itshape}`.

These commands, in both the argument form and the declaration form, are cumulative; for instance you can get bold sans serif by saying either of `\sffamily\bfseries` or `\bfseries\sffamily`.

One advantage of these commands is that they automatically insert italic corrections if needed (see \/). Specifically, they insert the italic correction unless the following character is in the list `\nocorrlist`, which by default consists of a period and a comma. To suppress the automatic insertion of italic correction, use `\nocorr` at the start or end of the command argument, such as `\textit{\nocorr text}` or `\textsc{text \nocorr}`.

`\textrm (\rmfamily)`

  Roman.

`\textit (\itshape)`

  Italics.

`\textmd (\mdseries)`

  Medium weight (default).

`\textbf (\bfseries)`

  Boldface.

`\textup (\upshape)`

  Upright (default).

`\textsl (\slshape)`

  Slanted.

`\textsf (\sffamily)`

  Sans serif.

`\textsc (\scshape)`

  Small caps.

`\texttt (\ttfamily)`

  Typewriter.

`\textnormal (\normalfont)`

  Main document font.

Although it also changes fonts, the `\emph{text}` command is semantic, for text to be emphasized, and should not be used as a substitute for `\textit`. For example, `\emph{start text \emph{middle text} end text}` will result in the start text and end text in italics, but middle text will be in roman.

LaTeX also provides the following commands, which unconditionally switch to the given style, that is, are not cumulative. They are used as declarations: `{\cmd...}` instead of `\cmd{...}`.

(The unconditional commands below are an older version of font switching. The earlier commands are an improvement in most circumstances. But sometimes an unconditional font switch is precisely what you want.)

`\bf`

  Switch to bold face.

`\cal`

  Switch to calligraphic letters for math.

`\it`

  Italics.

`\rm`

  Roman.

`\sc`

  Small caps.

`\sf`

  Sans serif.

`\sl`

  Slanted (oblique).

`\tt`

  Typewriter (monospace, fixed-width).

The `\em` command is the unconditional version of `\emph`.

The following commands are for use in math mode. They are not cumulative, so `\mathbf{\mathit{symbol}}` does not create a boldface and italic symbol; instead, it will just be in italics. This is because typically math symbols need consistent typographic treatment, regardless of the surrounding environment.

`\mathrm`

  Roman, for use in math mode.

`\mathbf`

  Boldface, for use in math mode.

`\mathsf`

  Sans serif, for use in math mode.

`\mathtt`

  Typewriter, for use in math mode.

`\mathit`
`(\mit)`

  Italics, for use in math mode.

`\mathnormal`

  For use in math mode, e.g., inside another type style declaration.

`\mathcal`

  Calligraphic letters, for use in math mode.

In addition, the command `\mathversion{bold}` can be used for switching to bold letters and symbols in formulas. `\mathversion{normal}` restores the default.

Finally, the command `\oldstylenums{numerals}` will typeset so-called “old-style” numerals, which have differing heights and depths (and sometimes widths) from the standard “lining” numerals, which all have the same height as uppercase letters. LaTeX’s default fonts support this, and will respect `\textbf` (but not other styles; there are no italic old-style numerals in Computer Modern). Many other fonts have old-style numerals also; sometimes the `textcomp` package must be loaded, and sometimes package options are provided to make them the default. FAQ entry: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=osf.

### Font sizes

The following standard type size commands are supported by LaTeX. The table shows the command name and the corresponding actual font size used (in points) with the ‘`10pt`’, ‘`11pt`’, and ‘`12pt`’ document size options, respectively (see Document class options).

Command | `10pt` | `11pt` | `12pt`
--- | --- | --- | ---
`\tiny` | 5 | 6 | 6
`\scriptsize` | 7 | 8 | 8
`\footnotesize` | 8 | 9 | 10
`\small` | 9 | 10 | 10.95
`\normalsize` (default) | 10 | 10.95 | 12
`\large` | 12 | 12 | 14.4
`\Large` | 14.4 | 14.4 | 17.28
`\LARGE` | 17.28 | 17.28 | 20.74
`\huge` | 20.74 | 20.74 | 24.88
`\Huge` | 24.88 | 24.88 | 24.88

The commands are listed here in declaration forms. You use them by declaring them, as with this example.

    \begin{quotation} \small
      The Tao that can be named is not the eternal Tao.
    \end{quotation}

The scope of the `\small` lasts until the end of the `quotation` environment. It would also end at the next type style command or the end of the current group, so you could enclose it in extra curly braces `{\small We are here, we are here, we are here!}`. You can instead use the environment form of these commands; for instance, `\begin{tiny}...\end{tiny}`.

### Low-level font commands

These commands are primarily intended for writers of macros and packages. The commands listed here are only a subset of the available ones.

`\fontencoding{encoding}`

  Select the font encoding, the encoding of the output font. There are a large number of valid encodings. The most common are `OT1`, Knuth’s original encoding for Computer Modern (the default), and `T1`, also known as the Cork encoding, which has support for the accented characters used by the most widespread European languages (German, French, Italian, Polish and others), which allows TeX to hyphenate words containing accented letters. For more, see https://ctan.org/pkg/encguide.

`\fontfamily{family}`

  Select the font family. The web page http://www.tug.dk/FontCatalogue/ provides one way to browse through many of the fonts easily used with LaTeX. Here are examples of some common families.

  `pag` | Avant Garde
  `fvs` | Bitstream Vera Sans
  `pbk` | Bookman
  `bch` | Charter
  `ccr` | Computer Concrete
  `cmr` | Computer Modern
  `cmss` | Computer Modern Sans Serif
  `cmtt` | Computer Modern Typewriter
  `pcr` | Courier
  `phv` | Helvetica
  `fi4` | Inconsolata
  `lmr` | Latin Modern
  `lmss` | Latin Modern Sans
  `lmtt` | Latin Modern Typewriter
  `pnc` | New Century Schoolbook
  `ppl` | Palatino
  `ptm` | Times
  `uncl` | Uncial
  `put` | Utopia
  `pzc` | Zapf Chancery

`\fontseries{series}`

  Select the font series. A series combines a weight and a width. Typically, a font supports only a few of the possible combinations. Some common combined series values include:

  `m` | Medium (normal)
  `b` | Bold
  `c` | Condensed
  `bc` | Bold condensed
  `bx` | Bold extended

  The possible values for weight, individually, are:

  `ul` | Ultra light
  `el` | Extra light
  `l` | Light
  `sl` | Semi light
  `m` | Medium (normal)
  `sb` | Semi bold
  `b` | Bold
  `eb` | Extra bold
  `ub` | Ultra bold

  The possible values for width, individually, are (the meaning and relationship of these terms varies with individual typefaces):

  `uc` | Ultra condensed
  `ec` | Extra condensed
  `c` | Condensed
  `sc` | Semi condensed
  `m` | Medium
  `sx` | Semi expanded
  `x` | Expanded
  `ex` | Extra expanded
  `ux` | Ultra expanded

  When forming the series string from the weight and width, drop the `m` that stands for medium weight or medium width, unless both weight and width are `m`, in which case use just one (‘``m``’).

`\fontshape{shape}`

  Select font shape. Valid shapes are:

  `n` | Upright (normal)
  `it` | Italic
  `sl` | Slanted (oblique)
  `sc` | Small caps
  `ui` | Upright italics
  `ol` | Outline

  The two last shapes are not available for most font families, and small caps are often missing as well.

`\fontsize{size}{skip}`

  Set the font size and the line spacing. The unit of both parameters defaults to points (`pt`). The line spacing is the nominal vertical space between lines, baseline to baseline. It is stored in the parameter `\baselineskip`. The default `\baselineskip` for the Computer Modern typeface is 1.2 times the `\fontsize`. Changing `\baselineskip` directly is inadvisable since its value is reset every time a size change happens; see `\baselinestretch`, next.

`\baselinestretch`

  LaTeX multiplies the line spacing by the value of the `\baselinestretch` parameter; the default factor is 1. A change takes effect when `\selectfont` (see below) is called. You can make a line skip change happen for the entire document, for instance doubling it, by doing `\renewcommand{\baselinestretch}{2.0}` in the preamble.

  However, the best way to double-space a document is to use the `setspace` package. In addition to offering a number of spacing options, this package keeps the line spacing single-spaced in places where that is typically desirable, such as footnotes and figure captions. See the package documentation.

`\linespread{factor}`

  Equivalent to `\renewcommand{\baselinestretch}{factor}`, and therefore must be followed by `\selectfont` to have any effect. Best specified in the preamble, or use the `setspace` package, as just described.

`\selectfont`

  The effects of the font commands described above do not happen until `\selectfont` is called, as in `\fontfamily{familyname}\selectfont`. It is often useful to put this in a macro:
  `\newcommand*{\myfont}{\fontfamily{familyname}\selectfont}`
  (see \newcommand & \renewcommand).

`\usefont{enc}{family}{series}{shape}`

  The same as invoking `\fontencoding`, `\fontfamily`, `\fontseries` and `\fontshape` with the given parameters, followed by `\selectfont`. For example:

      \usefont{ot1}{cmr}{m}{n}