Getting The Most From Latex Font Packages
Choosing Fonts for LaTeX Documents
Selecting the appropriate fonts is an important consideration when creating LaTeX documents. The default font used in LaTeX is Computer Modern, which is a simple, versatile serif font. However, LaTeX provides access to a wide selection of additional fonts that can be tailored to the specific needs of your document.
Discussing Default and Available Fonts in LaTeX
The default LaTeX fonts from the Computer Modern family include serif, sans serif, typewriter, and math symbol fonts. These fonts are designed to provide basic formatting options without needing to import additional packages. However, for most documents, you'll want to enhance the typography by importing font packages.
Hundreds of font packages are available for use with LaTeX. These provide alternative font families like Times, Helvetica, Garamond, and Palatino to name a few. These font packages greatly expand the typographic options for your LaTeX documents beyond the basic default Computer Modern fonts.
Selecting Appropriate Fonts for Sections, Headers, Body Text
When selecting fonts for a LaTeX document, consider the purpose of each text element. For headings and titles, a large, eye-catching serif or sans serif font often works well. The LaTeX \documentclass command includes options to automatically format headers and captions by passing heading and caption font parameters.
For body content, serif fonts like Times or Palatino are commonly used for readability. Mathematical documents may employ a roman math font from the Fourier, Cambria Math, or Asana Math packages. Source code and examples may use a monospaced font like Consolas or Source Code Pro for proper alignment.
Font choices can also contribute to the overall personality of the document. A creative work could leverage expressive, artsy fonts for stylistic impact. On the other hand, an academic paper may use traditional book serif fonts like those in the Classico or Erewhon packages to give a sense of scholarly weight.
Matching Font Styles to Document Types (Academic, Technical, Creative, etc.)
Certain font selection principles apply when tailoring a document's typography to common document types:
- Academic papers and books benefit from classic, readable serif fonts. Good choices include Adobe Minion Pro, Arno Pro, Crimson, Erewhon, New Computer Modern.
- Technical documents, engineering papers, and reports often use clean sans serif fonts for clarity. Helvetica, Futura, Avenir, Gill Sans, Kabel, are solid options.
- Mathematical documents require full math support with large glyphs for operators, equations, etc. Suitable picks are Asana Math, Cambria Math, Libertinus Math, Minion Math, XITS Math.
- Creative works like posters can express unique style through display fonts. Good artistic font packages include Adage, Bellefair, Bevan, Luxia, Punk Nova.
The optimal font depends on multiple aspects including theme, audience, graphics, personal preference, and font license compatibility. Most documents will incorporate two complementary fonts - a primary font for body text and secondary font for headers or captions. This provides typographic interest while maintaining consistency.
Using Font Packages
To access fonts beyond the basic Computer Modern set included in LaTeX, font packages need to be imported. Font packages contain the font files and macros needed to access the fonts in your LaTeX documents.
Installing and Importing Font Packages
LaTeX font packages must be installed through the TeX package manager for your LaTeX distribution. For example, MikTeX uses the mpmanager utility while MacTeX includes TeX Live Utility for package management. The CTAN archive provides downloads for thousands of LaTeX packages.
Once installed, font packages can be imported into LaTeX documents using:\
\usepackage{font_package_name}
Where "font_package_name" matches the package to enable access to the fonts. This makes all fonts in that package available with font selection commands.
Listing Popular Font Packages like mathpazo, helvet, avantgarde
Some commonly used font package names to import high-quality fonts include:
- mathpazo - Palatino with math support from PSNFSS
- helvet - Vector version of Helvetica from PSNFSS
- avantgarde - Avant Garde Gothic from PSNFSS
- fourier - Utopia from Adobe with Fourier math fonts
- newtx - Times compatible fonts with math symbols
- eulervm - Matching math fonts for Adobe's Euler script font
These packages provide high quality Times, Helvetica, and Palatino fonts which are standard choices for many academic and professional documents.
Demonstrating Package Usage with Example Code
To use fonts from an imported package, font family, shape, and size commands specify the desired fonts. For example, to access Palatino from the mathpazo package:
\usepackage{mathpazo}
\begin{document}
This is \textit{Palatino Italic}
\end{document}
Any font attributes like italics, bold, small caps, etc. will apply Palatino fonts from mathpazo. Package docs detail all available font options.
Customizing Font Attributes
LaTeX provides commands for fine control over font selection as well as attributes like size, shape, weight, and style.
Setting Font Family, Shape, Series and Size
The core font commands are:\
- \fontfamily{} - Chooses font like \fontfamily{ptm} for Times
- \fontseries{} - Set font weight: \fontseries{b} = bold
- \fontshape{} - Select style like italic: \fontshape{it}
- \fontsize{} - Specify size: \fontsize{12pt}
Fonts can be changed mid document by reissuing these commands. Popular font family names recognized by LaTeX include:
- ptm - Times
- phv - Helvetica
- pag - Palatino
- pcr - Courier
- pzc - Zapf Chancery script font
Employing Font Commands like \textbf, \textit, \textsc
Helper font commands provide shortcuts for common styles:
- \textbf{Bold Text} - Embolden text
- \textit{Italic Text} - Italicize text
- \textsc{Small Caps Text} - Format text in small caps
- \texttt{Typewriter Text} - Switch to a monospaced "typewriter" font
These will properly handle the bold, italic, small caps versions of the current font family. Other helper commands like \textsl and \textmd are covered in LaTeX font guides.
Creating Custom Commands for Reusing Styles
Custom font commands define shorthand styles for reuse. For example:
<\newcommand{\booksection}[1]{\fontsize{14pt}{16pt} \fontfamily{pag}\selectfont \textbf{#1}}
Then invoke with \booksection{Chapter One} for 14pt Palatino Bold chapter headings.
Saving custom font styles to \newcommands maintains formatting consistency and saves retyping.
Optimizing LaTeX Font Rendering
The LaTeX font rendering process impacts the readability and appearance of fonts. Optimizing this pipeline smooths fonts and improves LaTeX document quality.
Configuring LaTeX Engines for Best Font Rendering
Font hinting can cause irregular font spacing and alignment issues during PDF output. Disabling hinting in LuaLaTeX and XeLaTeX often produces the best results.
\usepackage{luatex85}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures={TeX}, Renderer=Basic}
This utilizes LuaTeX for PDF exports with font hinting disabled. The "Renderer=Basic" directive is key for preventing jagged fonts.
Enabling microtype Package for Improved Spacing
The microtype package tunes the spacing between letters and words to improve readability. Enable with:
\usepackage{microtype}
\SetTracking{encoding = *, shape = sc}{50}
This tightens up inter-character spacing slightly while loosening spacing between small caps letters.
Embedding Fonts to Ensure Consistency Across Devices
By default, some LaTeX engines do not embed fonts on PDF export. This can cause font substitution issues during offline viewing or printing. Explicitly embedding fonts guarantees font consistency:
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{cmbright}
\DeclareFontFamily{T1}{cmr}{}
\DeclareFontShape{T1}{cmr}{m}{n}{ <-> s*[2] cmbright6 }{}
\DeclareFontShape{T1}{cmr}{m}{sl}{ <-> s*[2] cmbrighto6 }{}
\DeclareFontShape{T1}{cmr}{bx}{n}{ <-> s*[2] cmbright7 }{}
This example fully embeds the CMBright font for reliable rendering across platforms.
Troubleshooting Font Issues
Some common font issues include missing fonts, font substitution warnings, incompatible fonts, and poor font rendering. These problems can often be remedied with targeted troubleshooting steps.
Debugging Missing Font Errors
If LaTeX throws a "missing font" error, verify that any font packages are installed and imported correctly at the command line and in your LaTeX files. Confirm required fonts are present on your system. View font availability with:
\listfiles
\end{document}
Which logs all active fonts. Check permissions, updates, or reinstall font packages if issues persist.
Fixing Font Substitution Warnings
Latex will automatically substitute missing fonts, but this can break formatting. Font substitution warnings help identify this issue. When warned about applying a substitute font, first check that the desired font package was imported.
If the package is present, font substitution often indicates a corrupted font file. Try reinstalling the font packages before troubleshooting deeper typesetting configuration issues.
Understanding Font Licensing Restrictions
Licensing constraints disallow embedding non-free fonts like Times New Roman in published documents. LaTeX distributions sidestep licensing limits by including alternative open fonts like TeX Gyre Termes. When attempting to use a restricted font, substitute an equivalent open font.
In summary, most font-related challenges can be addressed by validating font package installations, checking for conflicts with other active fonts, and confirming font licensing usage rights match your publishing goals.