我目前正在使用以下内容:
\documentclass[12pt,extrafontsizes]{memoir}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\begin{document}
I have 1,233,345.6 cats.
\end{document}
我想要旧式数字,并使用
\usepackage{cfr-lm}
将它们普遍地提供给我。但是,由于我的文档比上面的 MWE 更复杂,我担心cfr-lm
除了旧式编号之外还会有其他变化。是吗?
答案1
cfr-lm
比较有无软件包时获得的字体
\documentclass{memoir}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{cfr-lm}
%\usepackage{lmodern}
\usepackage{fonttable}
\newcommand{\printfontdimen}[1]{%
\texttt{\string\fontdimen#1: }%
\expandafter\texttt\expandafter{\the\fontdimen#1\font}%
}
\begin{document}
\fonttable{\fontname\font}
\newpage
\noindent
\printfontdimen{1}\\
\printfontdimen{2}\\
\printfontdimen{3}\\
\printfontdimen{4}\\
\printfontdimen{5}\\
\printfontdimen{6}\\
\printfontdimen{7}
\end{document}
以下是字体表:
以下是字体尺寸的列表:
在加载时进行比较lmodern
。您会注意到打字机字体也有旧式数字,这可能是您不想要的。
根据文档报告,加载没有选项的包相当于执行
\usepackage[
rm={oldstyle=true,proportional=true},
sf={oldstyle=true,proportional=true},
tt={oldstyle=true,proportional=true,variable=true},
qt=false,
]{cfr-lm}
所以你可能想要
tt={lining=true,tabular=true,variable=false},
此外,我认为不推荐使用无衬线旧式字体。以下是此调用中字体尺寸表的显示方式
答案2
正如 egreg 指出的那样,cfr-lm
没有选项相当于:
\usepackage[%
rm={oldstyle=true,proportional=true},%
sf={oldstyle=true,proportional=true},%
tt={oldstyle=true,proportional=true,variable=true},%
qt=false%
]{cfr-lm}
除了使用旧式而不是衬线数字之外,这意味着cfr-lm
不使用选项的加载将执行以下操作:
- 它将使用虚拟字体来显示文本,而不是直接访问字体
- 它将对所有文本使用比例数字,而不是表格数字
- 它将可变宽度变量设置为默认值
\ttfamily
- 它将定义一个新的命令
\zeroslash
- 如果加载,它将设置
microtype
配置microtype
- 它将加载以下内容:
fontenc
和T1
textcomp
xkeyval
nfssext-cfr
1 对您来说几乎肯定没有什么区别。使用适当的选项可以轻松更改 2 和 3。4 仅在您使用它时才重要。如果您使用,5 可能是您想要的,如果您microtype
不使用,应该也没有区别。
无论如何,您都会加载 6.1。许多软件包使用 6.3。如果您一直使用 Latin Modern,则 6.4 不太可能出现问题。如果将 Latin Modern 与其他字体混合使用,则可能会发生冲突,但这取决于您正在执行的操作的细节。如果您只使用 Latin Modern,除非您使用它定义的附加命令,否则它几乎不会执行任何操作。
要访问其他字体形状等,您需要使用 中定义的命令nfssext-cfr
。也就是说,cfr-lm
不是兼容fontaxes
或类似。