分别为 pdflatex 更改无衬线字体和衬线字体

分别为 pdflatex 更改无衬线字体和衬线字体

如何更改默认的无衬线字体(例如,当将其用于标题并使用相应命令将标题切换为 sffamily 时),独立于默认的罗马字体(例如,用于文本)?

例如,我希望正文使用 Domitian 字体(仅存在衬线),章节、部分等标题使用 Epigrafica 字体(仅存在无衬线)。

提前致谢

答案1

使用 LuaLaTeX 或 XeLaTeX,加载\usepackage{fontspec}并使用\setsansfont命令。对于任何非传统 8 位 TeX 字体,您都应该使用此命令。通常,您可以使用[Scale=MatchUppercase]或加载不同的字体系列[Scale=MatchLowercase],具体取决于您是否希望字体的大写字母或小写字母具有相同的高度。

否则,您应该有一个 Type-1 字体包,并加载它。查看包文档以了解其支持的选项。

epigraphica包存在,但如果它正在设置\familydefault并且没有办法关闭它,请首先尝试以不同的顺序加载您的包:

\usepackage{epigraphica}
\usepackage{domitian}

这通常会使你最后加载的包覆盖另一个包中冲突的设置,但并非总是如此。如果失败,你可以尝试\familydefault在前言中手动更改。例如

\renewcommand\familydefault\rmdefault

可能会有用,或者

\renewcommand\rmdefault{Domitian-TOsF}

在某些情况下,包会挂钩其更改,以便它们在序言结束时生效,并且您只能使用类似以下内容覆盖它们,

\AtBeginDocument{\renewcommand\familydefault\rmdefault}

相关内容