Introduction
Typography significantly impacts document readability and professionalism. LaTeX provides excellent default fonts, but selecting appropriate typefaces for your document’s purpose elevates your work. This guide covers font selection, loading, and typographic principles for professional LaTeX documents.
Font Basics
Font Families
LaTeX supports three main font families:
\textrm{Roman (serif)} % Times-like
\textsf{Sans-serif} % Helvetica-like
\texttt{Typewriter} % Monospace
Font Attributes
% Series (weight)
\textmd{Medium} % Default
\textbf{Bold}
% Shape
\textup{Upright} % Default
\textit{Italic}
\textsl{Slanted}
\textsc{Small Caps}
% Size
{\tiny Tiny}
{\small Small}
{\normalsize Normal}
{\large Large}
{\Large Larger}
{\LARGE Larger}
{\huge Huge}
Standard Font Packages
Computer Modern (Default)
The default LaTeX font, designed by Donald Knuth. Already loaded by default.
Latin Modern
Improved version of Computer Modern:
\usepackage{lmodern}
Times-like Fonts
\usepackage{mathptmx} % Times + Math
\usepackage{times} % Times only
\usepackage{txfonts} % Times variants
Helvetica
\usepackage{helvet}
\usepackage[scaled]{helvet}
\sffamily
\mathsf{...}
Modern Font Engines
XeLaTeX and LuaLaTeX
For access to system fonts:
\usepackage{fontspec}
\setmainfont{Times New Roman}
\setsansfont{Helvetica}
\setmonofont{Courier New}
\setmainfont{Latin Modern Roman}[
Numbers = OldStyle,
Ligatures = TeX
]
Finding System Fonts
fc-list | grep -i helvetica
Mathematical Fonts
Matching Math Fonts
\usepackage{mathptmx} % Times-based math
\usepackage{mathpazo} % Palatino
\usepackage{helvet} % Helvetica
\usepackage{euler} % Euler (AMS)
Unicode Math
\usepackage{unicode-math}
\setmathfont{Latin Modern Math}
Typeface Combinations
% Times + Helvetica + Courier
\usepackage{times}
\usepackage{helvet}
\usepackage{courier}
% Palatino + Helvetica + Courier
\usepackage{palatino}
\usepackage{helvet}
\usepackage{courier}
Micro-typography
Microtype Package
\usepackage{microtype}
\usepackage[protrusion=true,expansion=true]{microtype}
Character Spacing
\microtypesetup{
protrusion = true,
expansion = true,
tracking = false,
kerning = true,
spacing = true
}
Professional Typography Tips
Line Length
\usepackage{geometry}
\geometry{textwidth=6in}
Optimal line length is 50-75 characters.
Line Spacing
\usepackage{setspace}
\singlespacing
\onehalfspacing
\doublespacing
Paragraph Spacing
\usepackage{parskip}
\parskip=1em
\parindent=0pt
Common Font Issues
Font Not Found
tlmgr install fontname
apt-get install texlive-fonts-extra
PDF Font Embedding
\usepackage[T1]{fontenc}
\usepackage{lmodern}
Best Practices
- Match document purpose
- Ensure readability at intended size
- Limit font families to 2-3
- Test with target audience
- Use same font family throughout
Conclusion
LaTeX provides extensive font control through traditional packages and modern fontspec. Select fonts appropriate for your document type, ensure proper encoding and embedding, and apply micro-typography for professional results.
Comments