在运行 OSX 11.0.1 和 TeX Live 2020 的 Mac 上,我尝试找到 Latex 使用的默认字体的 fontspec-name,以便可以增加文档某些位置的字体大小。
通过在乳胶文档中使用\showthe\font
,我打印了 Mac 上使用的默认字体:
\TU/lmr/m/n/10 .
如何找到 的字体规范名称lmr
?grep lmr $(kpsewhich pdftex.map)
返回 244 行输出。如何收集 的确切字体名称lmr
?例如,从这三行中,我选出了LMRoman10-Regular
可能的字体规范名称:
ts1-lmr10 LMRoman10-Regular " enclmts1 ReEncodeFont " <lm-ts1.enc <lmr10.pfb
ts1-lmr12 LMRoman12-Regular " enclmts1 ReEncodeFont " <lm-ts1.enc <lmr12.pfb
ts1-lmr17 LMRoman17-Regular " enclmts1 ReEncodeFont " <lm-ts1.enc <lmr17.pfb
但是,当我使用第二列中任何名称的变体时,编译我的文档都会失败:
\documentclass{article}
\usepackage{fontspec}
% Tried LMRoman10, LMRoman, LMRoman10-Regular but nothing works
\setmainfont[Ligatures=TeX,Scale=1.0]{LMRoman10}
\begin{document}
% This text should be in normal size
hello world
% Increase font size for this text
Print me in bigger size
\end{document}
答案1
fontspec
加载时使用的默认衬线、无衬线和等宽字体的名称为Latin Modern Roman
、Latin Modern Sans
和Latin Modern Mono
。
请看以下示例:
\documentclass{article}
\usepackage{fontspec}
%\setmainfont{Latin Modern Roman} % that's the default
\begin{document}
% normal size
Hello world
% Increase relative font size to "\Huge" (ca. 73% larger than "\normalsize")
{\Huge Print me in ``\textbackslash Huge'' size.}
\end{document}
如果我使用 LuaLaTeX 或 XeLaTEX 编译此示例文档(另外:我在 MacOS 11.1 “Big Sur” 下运行 MacTeX2020)并查阅日志文件,我会在文件末尾附近发现以下信息:
</Users/mico/Library/Fonts/lmroman17-regular.otf>
</Users/mico/Library/Fonts/lmroman10-regular.otf>
如果我更改\documentclass{article}
为\documentclass[12pt]{article}
,日志文件将提供以下信息:
</Users/mico/Library/Fonts/lmroman17-regular.otf>
</Users/mico/Library/Fonts/lmroman12-regular.otf>
观察fontspec
自动执行从字体名称到包含各种大小字形的文件所需的映射。除非您有一个真正不寻常的字体,否则不需要用户级了解包含各种大小字形的文件名。