如何更改默认的无衬线字体(例如,当将其用于标题并使用相应命令将标题切换为 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}