the-codex/006/include/chap03.tex
2025-02-18 14:37:31 -05:00

100 lines
8.1 KiB
TeX

\chapter{Styling Text in \LaTeX{}}
One of the most confusing things in \LaTeX{} for some people is how to format text, especially when you are creating some custom macros that change the appearance of text.
There are two key concepts to keep in mind here. The first concept to keep in mind here is that \LaTeX{} has both \textit{commands} and \textit{environments} to style text. The second concept is that ``text'' is not just a collection of characters, but a collection of characters with \textit{distinct groups of characteristics}.
\section{Text Characteristics}
The history of making marks on paper (or clay) goes a long way back in our history, so the subject of type and how to talk about it is complex, but interesting. Needless to say, we don't have the space to discuss all of it here, so we'll just look at those things that \LaTeX{} gives us control over. Those characteristics are:
\begin{itemize}[noitemsep]
\item Typeface
\item Shape
\item Series
\item Size
\end{itemize}
Let's look at each of these in turn.\footnote{For the illustrations here, I am hugely grateful to the StackExhange user \kref{https://tex.stackexchange.com/users/4918/tobi}{Tobi}, who provided examples at \kref{https://tex.stackexchange.com/a/139592/245702}{https://tex.stackexchange.com/a/139592/245702}.}
\subsection{Typefaces}
For better or for worse, the rise of the Apple Macintosh led to a blurring between the words ``typeface'' and ``font''. What most people mean when they say ``font'' and what your GUI-based word-processing program is actually referring to in its ``Font'' menu is actually a \textit{typeface}, which means a collection of characters styled in a particular way. ``Times New Roman'' is a typeface, ``Verdana'' and ``Arial'' are others.
A font, on the other hand, actually refers to a collection of characteristics, including shape, series, and size. ``Times New Roman'' is a typeface; ``Times New Roman bold italic 10 point'' is a font. This distinction goes back to the days when typefaces were physical objects made of lead.
Typefaces fall into a number of different categories, including serif, sans-serif, proportional, and monospace.
A serif font has small decorative lines attached to the ends of letters, whereas a sans-serif font does not. This zine is typeset using the \textsf{kpfonts} package, which uses serif fonts that were originally derived from the URW Palladio font\footnote{See \kref{https://fontesk.com/palladio-typeface/}{https://fontesk.com/palladio-typeface/} and \kref{https://ctan.org/tex-archive/fonts/kpfonts?lang=en}{https://ctan.org/tex-archiv\\e/fonts/kpfonts?lang=en}.} so all the letters you see here have serifs. I also use the Cantarell font in some places, which is a sans-serif font.\footnote{See \kref{https://ctan.org/tex-archive/fonts/cantarell?lang=en}{https://ctan.org/tex-archive/fonts/cantarell?lang=en}.} \textsf{This sentence is typeset in a sans-serif font.}
In a proportional font, each letter takes up a different width. Some letters, such as \textsf{m} and \textsf{w}, are fairly wide, whereas other, such as \textsf{i} and \textsf{l}, are fairly narrow, and most other letters are somewhere in between. In a monospace font, each letter takes up the same exact width. The \textsf{kpfonts} package I use for the text in this zine is a proportional font, but the code samples are in a monospace font. \texttt{This sentence is typeset in a monospace font.} Typewriters typically use a monospace font, but as computers became commonly available, a few of them could actually type in a proportional font.\footnote{Typewriters are a particular love of mine, and I can go on about them at considerable length. Don't get me started.}
\subsection{Shape}
The \textit{shape} of a font refers to how the individual characters are formed.\footnote{This is a terrible definition, but it is what it is. I didn't make the rules here.} Shape can be upright (i.e., ``normal'' or ``roman''), italic, slanted, and small caps.
Both italic and slanted shapes lean to the right. The main difference between the two occurs when you apply this to a \textit{serif}. A slanted shape is just that: it's as if you had written out the text on a flexible substrate and then just stretched it a bit so it leans to the right. An italic shape, however, actually has a completely different, somewhat more curvy shape to each character. Italic or oblique shapes are often used to emphasize a word or group of words (i.e., ``This is \textit{very} good cake.'') but it also used by convention to indicate the titles of books and movies (i.e., \textit{The Grapes of Wrath}, \textit{Star Wars}).
Small caps is shorthand for ``small capitals'' and refers to text in which all the lower-case characters are substituted by their upper-case equivalents. \textsc{This text is in small caps.} Small caps is often used to convey prestige and stability.
This is what they look like in a serif typeface:
\ksamp{large}{Normal abc}{-3}{-2}
\noindent{}You can see the different between the italic and slanted versions in this sample.
And here is what they look like in a sans-serif typeface:
\textsf{\ksamp{large}{Normal abc}{-5}{-1}}
It's interesting to note that in the Cantarell typeface, the italic and the slanted shapes are pretty much identical, and it also doesn't include a small caps version at all. Some font packages include these, and some do not. As always, you should read the font documentation to see what is included.
I should also point out that small caps are not the same as using capital letters, and typesetting the first letter of a word in a larger size. Small caps are a separate set of glyphs in which all the characters have the same stroke thickness.
\begin{center}
\frame{\includegraphics[scale=0.3]{smallcaps}}
\end{center}
\subsection{Series}
Series is usually known as \textit{weight}, or how bold a particular bit of text is. In theory, you could have a number of different series or weights (and CSS does allow for this) but in reality, most typefaces are available either as \textit{normal} (i.e., not bold) or \textit{bold}. (A few also have a ``light'' option, but this is rare in my experience.)
Almost all of the text you read is ``normal'' weight, but \textbf{this bit is in bold} (which is also called ``boldface''). Boldface is sometimes used for emphasis, but it is more typically used to highlight important words or phrases.
\subsection{Size}
Size is easy to figure out: it just refers to how large a bit of text appears, either on screen or on paper. In reality, a typeface's size is much more complicated than that. Font sizes are usually measured in \textbf{points}, the size of which has varied over the years. With digital printing, points are usually defined as being \nicefrac{1}{72} of an inch, or exactly $0.352\bar{7}$ millimeters. (I could go on at length about this, but I won't. If you are interested, you might want to read \kref{https://en.wikipedia.org/wiki/Point_(typography)}{https://en.wikipedia.org/wiki/Point\_(typograp\\hy)}.)
\section{Commands and Environments}
\LaTeX{} has both modal commands that change \textit{all} the text following that command, and environments that change the text only within that environment. Here's a summary:
\begin{longtblr}
[
caption = {Summary of Text Formatting in \LaTeX{} },
label = {tb:},
% theme = {custom1}
]{
width = {\textwidth},
colspec = { X[1,l] X[2,c] X[2,c] },
hlines = {0.5pt,solid},
vline{1,4} = {0.5pt,solid},
rows = {5mm, m, rowsep=1.5pt},
rowhead = 1,
cells = {font=\sffamily\fontsize{8pt}{10pt}\selectfont},
row{1} = {font=\bfseries},
verb,
}
Characteristic & Command & Environment \\
Roman & \verb|\rmfamily| & \verb|\textrm{<text>}| \\
Sans-Serif & \verb|\sffamily| & \verb|\textsf{<text>}| \\
Monospace & \verb|\ttfamily| & \verb|\texttt{<text>}| \\
Italic & \verb|\itshape| & \verb|\textit{<text>}| \\
Upright & \verb|\upshape| & \verb|\textup{<text>}| \\
Slanted & \verb|\slshape| & \verb|\textsl{<text>}| \\
Small Caps & \verb|\scshape| & \verb|\textsc{<text>}| \\
Boldface & \verb|\bfseries| & \verb|\textbf{<text>}| \\
Medium & \verb|\mdseries| & \verb|\textmd{<text>}| \\
Return to normal for the class & \verb|\normalfont| & \verb|textnormal{<text>}| \\
\end{longtblr}