我使用 Cascadia Code 字体作为我的 tt 字体,并且我希望使用 Light 系列作为直立字体、LightItalic 作为斜体字体、Regular 作为粗体字体、Italic 作为粗体斜体字体。
我是不是考虑使用setmonofont
fromfontspec
包,因为携带 ttf 文件很烦人。相反,我使用casacdia-code
包。
如何使用cascadia-code
包仅更改 ttfamily 的默认系列?
答案1
LaTeX 的新版本提供了增强的 NFSS(即新的新字体选择方案),允许您为打字机、sans 和/或 roman 指定不同的默认粗细。
例如,
\DeclareFontSeriesDefault[tt]{bf}{m}
\DeclareFontSeriesDefault[tt]{md}{l}
专门针对打字机系列更改了粗体和常规系列的重量。
以下(印刷上令人怀疑的)示例显示了当打字机使用 Cascadia Code,而罗马字母使用默认的 Computer Modern 时的结果。
此外,这是使用标准生产的\bfseries
,\mdseries
即常规的 Cascadia 用作粗体打字机,细体用作常规打字机,而标准系列用于罗马字体。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{cascadia-code}
\usepackage{kantlipsum}
\DeclareFontSeriesDefault[tt]{bf}{m}
\DeclareFontSeriesDefault[tt]{md}{l}
\begin{document}
\ttfamily
\kant[1]
\bfseries
\kant[2]
\rmfamily\mdseries
\kant[1]
\bfseries
\kant[2]
\end{document}
无法使用 Cascadia Code 斜体或斜线,因为这些形状不可用。因此,此答案满足您的要求,只要它们可用cascadia-code
,但未能满足您的要求,因为它们是不可能实现的。如果他们是可用,您无需执行任何额外操作即可启用它们。上面的两行切换了所有形状的常规/粗体打字机使用的粗细 - 直立、斜体、倾斜、小型大写字母、斜体小型大写字母、倾斜小型大写字母、花体、直立斜体......恰好,Cascadia Code 唯一可用的形状是直立。