我如何才能无衬线小写字母用这个字体吗?
\documentclass{book}
% Latin Modern with oldstyle digits
\usepackage[%
rm={oldstyle,proportional},%
sf={oldstyle,proportional},%
tt={oldstyle=false,proportional=false,monowidth}%
]{cfr-lm}
\begin{document}
\sffamily\scshape test
\end{document}
答案1
Latin Modern Sans 字体系列(无论是 Type1 还是 OpenType 格式)中没有小型大写字母形状。
所以答案是“不,你不能有无衬线小型大写字母”,因为这种形状不存在。
看W. Robertson 的这篇论文了解可用面孔和形状的描述。
答案2
对于那些说这是不可能的人,请看这个:
我发现字体包裹 (sansmathfonts 文档 - CTAN),其中的文档解决了这个确切的问题。
从他们的文件中:
Computer Modern 字体系列有无衬线字体。但是,与衬线字体相比,它是不完整的:没有无衬线小写字母或数学字体。此外,粗体倾斜字体不作为轮廓字体提供。这导致使用无衬线字体作为正文的文档的排版非常不令人满意。sansmathfonts 包提供了这些“缺失”的字体。
因此,要获得“完整”的无衬线字体,只需在前言中添加以下两行:
% Set sans-serif font (with small caps option and math option)
\usepackage{sansmathfonts}
% Apply font throughout the whole document
\renewcommand{\familydefault}{cmsmf}
无论如何,请确保注释掉任何其他字体包,例如
%\usepackage[T1]{fontenc}
%\usepackage{microtype}
%\usepackage{lmodern}
注意:此字体还会将数学样式更改为无衬线。如果您不想要这样,我发现添加
\usepackage{lmodern}
之后是 sansmathfonts 包。(但我认为合适的数学字体更漂亮。)
如果你想要其他字体,请查看Latex 字体目录