Skip to main content
โšก Calmops

LaTeX Font Selection: Typography for Professional Documents

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

  1. Match document purpose
  2. Ensure readability at intended size
  3. Limit font families to 2-3
  4. Test with target audience
  5. 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.

Resources

Comments