summaryrefslogtreecommitdiff
path: root/macros/latex/base/fntguide.tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-10-03 03:01:09 +0000
committerNorbert Preining <norbert@preining.info>2020-10-03 03:01:09 +0000
commit0e644e6805342838052f46e6af93f81644d0390b (patch)
tree26169230ce62dc353013ad08fb824f46d9511980 /macros/latex/base/fntguide.tex
parent37f9a57b2f39142fbccb20b758af8e0502499671 (diff)
CTAN sync 202010030301
Diffstat (limited to 'macros/latex/base/fntguide.tex')
-rw-r--r--macros/latex/base/fntguide.tex314
1 files changed, 302 insertions, 12 deletions
diff --git a/macros/latex/base/fntguide.tex b/macros/latex/base/fntguide.tex
index 0c18661a31..b6576a0237 100644
--- a/macros/latex/base/fntguide.tex
+++ b/macros/latex/base/fntguide.tex
@@ -33,12 +33,16 @@
\documentclass{ltxguide}[1995/11/28]
+\usepackage{varioref}
+
\title{\LaTeXe{} font selection}
-\author{\copyright~Copyright 1995--2019, \LaTeX3 Project Team.\\
+\author{\copyright~Copyright 1995--2020, \LaTeX3 Project
+ Team.\thanks{Thanks to Arash Esbati for documenting the
+ newer NFSS features of 2020}\\
All rights reserved.}
-\date{October 2019}
+\date{July 2020}
\begin{document}
@@ -284,14 +288,26 @@ naming scheme to allow for sensible default substitutions if necessary,
e.g., ``demi-bold'' is normally just another name for ``semi-bold'', so
should get |sb| assigned, etc.
+\NEWdescription{2020/02/02}
The most common values for the font shape are:
\begin{center}
\begin{minipage}{.7\linewidth}
\begin{tabular}{rl}
- |n| & Normal (that is `upright' or `roman') \\
- |it| & Italic \\
- |sl| & Slanted (or `oblique') \\
- |sc| & Caps and small caps
+ |n| & Normal (that is `upright' or `roman') \\
+ |it| & Italic \\
+ |sl| & Slanted (or `oblique') \\
+ |sc| & Caps and small caps \\
+ |scit| & Caps and small caps italic \\
+ |scsl| & Caps and small caps slanted \\
+ |sw| & Swash
+ \end{tabular}
+ \end{minipage}
+\end{center}
+A less common value for font shape is:
+\begin{center}
+ \begin{minipage}{.7\linewidth}
+ \begin{tabular}{rl}
+ |ssc| & Spaced caps and small caps
\end{tabular}
\end{minipage}
\end{center}
@@ -337,6 +353,9 @@ The author commands for fonts set the five attributes:
|\textit{..}| or |\itshape| & shape & |it| \\
|\textsl{..}| or |\slshape| & shape & |sl| \\
|\textsc{..}| or |\scshape| & shape & |sc| \\
+ |\textssc{..}| or |\sscshape| & shape & |ssc| \\
+ |\textsw{..}| or |\swshape| & shape & |sw| \\
+ |\textulc{..}| or |\ulcshape| & shape & |ulc| \\
|\tiny| & size & |5pt| \\
|\scriptsize| & size & |7pt| \\
|\footnotesize| & size & |8pt| \\
@@ -489,14 +508,27 @@ the fonts provided by |psnfss|) is to define silent substitutions from
and the |ssub| size function, see Section~\ref{sec:sizefunct}.
\begin{decl}
- |\itdefault| \\
- |\sldefault| \\
- |\scdefault| \\
+ |\itdefault| \\
+ |\sldefault| \\
+ |\scdefault| \\
+ |\sscdefault| \\
+ |\swdefault| \\
+ |\ulcdefault| \\
|\updefault|
\end{decl}
+\NEWfeature{2020/02/02}
The shapes selected by |\textit|, |\itshape|, |\textsl|, |\slshape|,
-|\textsc|, |\scshape|, |\textup| and |\upshape|. By default these are
-|it|, |sl|, |sc| and |n|.
+|\textsc|, |\scshape|, |\textssc|, |\sscshape|, |\textsw|, |\swshape|,
+|\textulc|, |\ulcshape|, |\textup| and |\upshape|. By default these are
+|it|, |sl|, |sc|, |ssc|, |sw|, |ulc| and |n|. |ulc| is special here
+since it is a virtual one; it doesn't exist as a real shape. The
+respective macros |\textulc| or |\ulcshape| change small capitals back
+to upper/lower case but will not change the font with respect to
+italics, slanted or swash. |\upshape| or |\textup| in contrast will
+switch italics or slanted back to upright but not alter the state of
+upper/lower case, e.g., keep small capitals if present. Finally, the
+command |\normalshape| is provided to reset the shape back to normal
+which is a shorthand for |\upshape\ulcshape|.
Note that there are no parameters for the size commands. These should
be defined directly in class files, for example:
@@ -1093,7 +1125,7 @@ whilst maintaining the correct value for all fonts.
\NEWfeature{2020/02/02} According to NFSS conventions the series value
should be a combination of weight and width abbreviated each with one or
two letters as described on page~\pageref{page:seriesvalues}. In
-particular it should not contain contain an ``\texttt{m}'' unless it
+particular it should not contain an ``\texttt{m}'' unless it
consists of just one character. In the past incorrect values such as
``\texttt{cm}'' were simply accepted, but since this now leads to
problems with the extended mechanism, the correct syntax is now
@@ -1874,6 +1906,264 @@ dependencies that you have to obey:
declarations.
\end{itemize}
+\subsection{Font series defaults per document family}
+
+\NEWfeature{2020/02/02}
+With additional weights and widths being available in many font families
+nowadays, it is more likely that somebody will want to match, say, a
+medium weight serif family with a semi-light sans serif family, or that
+with one family one wants to use the bold-extended face when |\textbf|
+is used, while with another it should be bold (not extended) or
+semi-bold, etc. The default values can be altered using the
+|\DeclareFontSeriesDefault| declaration in packages or document
+preambles:
+\begin{decl}
+ |\DeclareFontSeriesDefault| \oarg{meta family}
+ \arg{meta series} \arg{series value}
+\end{decl}
+This declaration takes three arguments:
+\begin{description}
+\item[Meta family interface:] Can be either |rm|, |sf| or |tt|. This is
+ optional and if not present the next two arguments apply to the
+ overall default.
+\item[Meta series interface:] Can be |md| or |bf|.
+\item[Series value:] This is the value that is going to be used when the
+ combination of \m{meta family} and \m{meta series} is requested.
+\end{description}
+For example,
+\begin{verbatim}
+ \DeclareFontSeriesDefault[rm]{bf}{sb}
+\end{verbatim}
+would use |sb| (semi-bold) when |\rmfamily\bfseries| is requested in
+document.
+
+\subsection{Handling of nested emphasis}
+
+\begin{decl}
+ |\DeclareEmphSequence| \arg{list of font declarations}
+\end{decl}
+
+\NEWfeature{2020/02/02}
+This declaration takes a comma separated list of font declarations each
+specifying how increasing levels of emphasis should be handled. For
+example:
+\begin{verbatim}
+ \DeclareEmphSequence{\itshape,%
+ \upshape\scshape,%
+ \itshape}
+\end{verbatim}
+uses italics for the first, small capitals for the second, and italic
+small capitals for the third level. If there are more nesting levels
+than provided, declarations stored in |\emreset| (by default
+|\ulcshape\upshape|) are used for the next level and then the list
+restarts.
+
+\subsection{Providing font family substitutions}
+
+\begin{decl}
+ |\DeclareFontFamilySubstitution| \arg{encoding}
+ \arg{family}
+ \arg{new-family}
+\end{decl}
+
+\NEWfeature{2020/02/02}
+This declaration selects the font family \m{new-family} as replacement
+for \m{family} in the font encoding \m{encoding}. For example,
+\begin{verbatim}
+ \DeclareFontFamilySubstitution{LGR}
+ {Montserrat-LF}{IBMPlexSans-TLF}
+\end{verbatim}
+tells \LaTeX{} to substitute the sans serif font |Montserrat-LF| in the
+Greek encoding |LGR| with |IBMPlexSans-TLF| once requested in a
+document.
+
+\section{Additional text symbols -- \textsf{textcomp}}
+
+\NEWfeature{2020/02/02}
+For a long time the interface to additional text symbols and the text
+companion encoding |TS1| in general was the \textsf{textcomp} package.
+All the symbols provided by the \textsf{textcomp} package are now
+available in \LaTeX{} kernel. Furthermore, an intelligent substitution
+mechanism has been implemented so that glyphs missing in some fonts are
+automatically substituted with default glyphs that are sans serif if you
+typeset in |\textsf| and monospaced if you typeset using |\texttt|. In
+the past they were always taken from Computer Modern Roman if
+substitution was necessary.
+
+{\sffamily This is most noticeable with |\oldstylenums| which are now
+ taken from |TS1| so that you no longer get \legacyoldstylenums{1234}
+ but \oldstylenums{1234} when typesetting in sans serif fonts \ttfamily
+ and \oldstylenums{1234} when using typewriter fonts.}
+
+\begin{decl}
+ |\legacyoldstylenums| \arg{nums}\\
+ |\UseLegacyTextSymbols|
+\end{decl}
+If there ever is a need to use the original (inferior) definition, then
+that remains available as |\legacyoldstylenums|; and to fully revert to
+the old behavior there is also |\UseLegacyTextSymbols|. The latter
+declaration reverts |\oldstylenums| and also changes the footnote
+symbols, such as |\textdagger|, |\textparagraph|, etc., to pick up their
+glyphs from the math fonts instead of the current text font (this means
+they always keep the same shape and do not nicely blend in with the text
+font).
+
+The following tables show the macros available. The next commands are
+`constructed' accents and are built via \TeX{} macros:
+\begin{center}
+ \begin{tabular}[t]{@{}ll}
+ \verb*|\capitalcedilla A| & \capitalcedilla A \\
+ \verb*|\capitalogonek A| & \capitalogonek A \\
+ \verb*|\textcircled a| & \textcircled a
+ \end{tabular}
+\end{center}
+
+These accents are available via font encoding. The numbers in third row
+show the slot number:
+\begin{center}
+ \begin{tabular}[t]{@{}p{0.32\linewidth}p{1em}p{2em}@{}}
+ \verb|\capitalgrave| & \capitalgrave{} & 0 \\
+ \verb|\capitalacute| & \capitalacute{} & 1 \\
+ \verb|\capitalcircumflex| & \capitalcircumflex{} & 2 \\
+ \verb|\capitaltilde| & \capitaltilde{} & 3 \\
+ \verb|\capitaldieresis| & \capitaldieresis{} & 4 \\
+ \verb|\capitalhungarumlaut| & \capitalhungarumlaut{} & 5 \\
+ \verb|\capitalring| & \capitalring{} & 6 \\
+ \verb|\capitalcaron| & \capitalcaron{} & 7
+ \end{tabular}
+ \quad
+ \begin{tabular}[t]{@{}p{0.32\linewidth}p{1em}p{2em}@{}}
+ \verb|\capitalbreve| & \capitalbreve{} & 8 \\
+ \verb|\capitalmacron| & \capitalmacron{} & 9 \\
+ \verb|\capitaldotaccent| & \capitaldotaccent{} & 10 \\
+ \verb|\t| & \t{} & 26 \\
+ \verb|\capitaltie| & \capitaltie{} & 27 \\
+ \verb|\newtie| & \newtie{} & 28 \\
+ \verb|\capitalnewtie| & \capitalnewtie{} & 29
+ \end{tabular}
+\end{center}
+
+Table~\vref{tab:textcomp} contains macros to access text symbols. Again,
+the numbers are the slots in the encoding.
+
+\begin{table}
+\centering\footnotesize
+ \begin{tabular}[t]{@{}lp{1.5em}l@{}}
+ \verb|\textcapitalcompwordmark| & \textcapitalcompwordmark & 23 \\
+ \verb|\textascendercompwordmark| & \textascendercompwordmark & 31 \\
+ \verb|\textquotestraightbase| & \textquotestraightbase & 13 \\
+ \verb|\textquotestraightdblbase| & \textquotestraightdblbase & 18 \\
+ \verb|\texttwelveudash| & \texttwelveudash & 21 \\
+ \verb|\textthreequartersemdash| & \textthreequartersemdash & 22 \\
+ \verb|\textleftarrow| & \textleftarrow & 24 \\
+ \verb|\textrightarrow| & \textrightarrow & 25 \\
+ \verb|\textblank| & \textblank & 32 \\
+ \verb|\textdollar| & \textdollar & 36 \\
+ \verb|\textquotesingle| & \textquotesingle & 39 \\
+ \verb|\textasteriskcentered| & \textasteriskcentered & 42 \\
+ \verb|\textdblhyphen| & \textdblhyphen & 45 \\
+ \verb|\textfractionsolidus| & \textfractionsolidus & 47 \\
+ \verb|\textzerooldstyle| & \textzerooldstyle & 48 \\
+ \verb|\textoneoldstyle| & \textoneoldstyle & 49 \\
+ \verb|\texttwooldstyle| & \texttwooldstyle & 50 \\
+ \verb|\textthreeoldstyle| & \textthreeoldstyle & 51 \\
+ \verb|\textfouroldstyle| & \textfouroldstyle & 52 \\
+ \verb|\textfiveoldstyle| & \textfiveoldstyle & 53 \\
+ \verb|\textsixoldstyle| & \textsixoldstyle & 54 \\
+ \verb|\textsevenoldstyle| & \textsevenoldstyle & 55 \\
+ \verb|\texteightoldstyle| & \texteightoldstyle & 56 \\
+ \verb|\textnineoldstyle| & \textnineoldstyle & 57 \\
+ \verb|\textlangle| & \textlangle & 60 \\
+ \verb|\textminus| & \textminus & 61 \\
+ \verb|\textrangle| & \textrangle & 62 \\
+ \verb|\textmho| & \textmho & 77 \\
+ \verb|\textbigcircle| & \textbigcircle & 79 \\
+ \verb|\textohm| & \textohm & 87 \\
+ \verb|\textlbrackdbl| & \textlbrackdbl & 91 \\
+ \verb|\textrbrackdbl| & \textrbrackdbl & 93 \\
+ \verb|\textuparrow| & \textuparrow & 94 \\
+ \verb|\textdownarrow| & \textdownarrow & 95 \\
+ \verb|\textasciigrave| & \textasciigrave & 96 \\
+ \verb|\textborn| & \textborn & 98 \\
+ \verb|\textdivorced| & \textdivorced & 99 \\
+ \verb|\textdied| & \textdied & 100 \\
+ \verb|\textleaf| & \textleaf & 108 \\
+ \verb|\textmarried| & \textmarried & 109 \\
+ \verb|\textmusicalnote| & \textmusicalnote & 110 \\
+ \verb|\texttildelow| & \texttildelow & 126 \\
+ \verb|\textdblhyphenchar| & \textdblhyphenchar & 127 \\
+ \verb|\textasciibreve| & \textasciibreve & 128 \\
+ \verb|\textasciicaron| & \textasciicaron & 129 \\
+ \verb|\textacutedbl| & \textacutedbl & 130 \\
+ \verb|\textgravedbl| & \textgravedbl & 131 \\
+ \verb|\textdagger| & \textdagger & 132 \\
+ \verb|\textdaggerdbl| & \textdaggerdbl & 133 \\
+ \verb|\textbardbl| & \textbardbl & 134 \\
+ \verb|\textperthousand| & \textperthousand & 135 \\
+ \verb|\textbullet| & \textbullet & 136 \\
+ \verb|\textcelsius| & \textcelsius & 137 \\
+ \verb|\textdollaroldstyle| & \textdollaroldstyle & 138 \\
+ \verb|\textcentoldstyle| & \textcentoldstyle & 139
+ \end{tabular}\qquad
+ \begin{tabular}[t]{lp{1.5em}l}
+ \verb|\textflorin| & \textflorin & 140 \\
+ \verb|\textcolonmonetary| & \textcolonmonetary & 141 \\
+ \verb|\textwon| & \textwon & 142 \\
+ \verb|\textnaira| & \textnaira & 143 \\
+ \verb|\textguarani| & \textguarani & 144 \\
+ \verb|\textpeso| & \textpeso & 145 \\
+ \verb|\textlira| & \textlira & 146 \\
+ \verb|\textrecipe| & \textrecipe & 147 \\
+ \verb|\textinterrobang| & \textinterrobang & 148 \\
+ \verb|\textinterrobangdown| & \textinterrobangdown & 149 \\
+ \verb|\textdong| & \textdong & 150 \\
+ \verb|\texttrademark| & \texttrademark & 151 \\
+ \verb|\textpertenthousand| & \textpertenthousand & 152 \\
+ \verb|\textpilcrow| & \textpilcrow & 153 \\
+ \verb|\textbaht| & \textbaht & 154 \\
+ \verb|\textnumero| & \textnumero & 155 \\
+ \verb|\textdiscount| & \textdiscount & 156 \\
+ \verb|\textestimated| & \textestimated & 157 \\
+ \verb|\textopenbullet| & \textopenbullet & 158 \\
+ \verb|\textservicemark| & \textservicemark & 159 \\
+ \verb|\textlquill| & \textlquill & 160 \\
+ \verb|\textrquill| & \textrquill & 161 \\
+ \verb|\textcent| & \textcent & 162 \\
+ \verb|\textsterling| & \textsterling & 163 \\
+ \verb|\textcurrency| & \textcurrency & 164 \\
+ \verb|\textyen| & \textyen & 165 \\
+ \verb|\textbrokenbar| & \textbrokenbar & 166 \\
+ \verb|\textsection| & \textsection & 167 \\
+ \verb|\textasciidieresis| & \textasciidieresis & 168 \\
+ \verb|\textcopyright| & \textcopyright & 169 \\
+ \verb|\textordfeminine| & \textordfeminine & 170 \\
+ \verb|\textcopyleft| & \textcopyleft & 171 \\
+ \verb|\textlnot| & \textlnot & 172 \\
+ \verb|\textcircledP| & \textcircledP & 173 \\
+ \verb|\textregistered| & \textregistered & 174 \\
+ \verb|\textasciimacron| & \textasciimacron & 175 \\
+ \verb|\textdegree| & \textdegree & 176 \\
+ \verb|\textpm| & \textpm & 177 \\
+ \verb|\texttwosuperior| & \texttwosuperior & 178 \\
+ \verb|\textthreesuperior| & \textthreesuperior & 179 \\
+ \verb|\textasciiacute| & \textasciiacute & 180 \\
+ \verb|\textmu| & \textmu & 181 \\
+ \verb|\textparagraph| & \textparagraph & 182 \\
+ \verb|\textperiodcentered| & \textperiodcentered & 183 \\
+ \verb|\textreferencemark| & \textreferencemark & 184 \\
+ \verb|\textonesuperior| & \textonesuperior & 185 \\
+ \verb|\textordmasculine| & \textordmasculine & 186 \\
+ \verb|\textsurd| & \textsurd & 187 \\
+ \verb|\textonequarter| & \textonequarter & 188 \\
+ \verb|\textonehalf| & \textonehalf & 189 \\
+ \verb|\textthreequarters| & \textthreequarters & 190 \\
+ \verb|\texteuro| & \texteuro & 191 \\
+ \verb|\texttimes| & \texttimes & 214 \\
+ \verb|\textdiv| & \textdiv & 246
+ \end{tabular}
+\caption{Text symbols formerly from the \textsf{textcomp} package}
+\label{tab:textcomp}
+\end{table}
\section{If you need to know more \ldots}