KOMA-script:在章节标题内设置警察风格

KOMA-script:在章节标题内设置警察风格

使用 Lualatex 结合 KOMA 脚本和自定义策略 (Heofler Text),我必须手动指定与 对应的文件BoldItalicFont。但是,这在章节标题中没有被考虑(我默认将其设为粗体)。

\documentclass{scrarticle}

\usepackage{unicode-math}
\addtokomafont{disposition}{\fontspec{Hoefler Text}}
\setmainfont{Hoefler Text}[BoldItalicFont={Hoefler Text Black Italic}]

\begin{document}

\section{The word \textit{cat} should be in italics}

The word \textit{\textbf{cat}} is correctly in bold italic.

\end{document}

在此处输入图片描述

答案1

如果\fontspec{Hoefler Text}您没有使用稍后定义的主字体:

\setmainfont{Hoefler Text}[BoldItalicFont={Hoefler Text Black Italic}]

但只是Hoefler Text.fontspec无法识别这是相同的字体,而您可能的意思是也应该使用相同的粗体斜体字体。比较,例如,

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Hoefler Text}[BoldItalicFont={Hoefler Text Black Italic}]

\begin{document}

The word \textit{\textbf{cat}} is correctly in bold italic.

\fontspec{Hoefler Text}
The word \textit{\textbf{cat}} is correctly not in bold italic.

\end{document}

文章示例也没有显示字体

因此您需要再次添加可选参数并使用

\addtokomafont{disposition}{\fontspec{Hoefler Text}[BoldItalicFont={Hoefler Text Black Italic}]}

但还有更简单的方法。如果您只想使用粗体主字体,您可以按照 KOMA-Script 手册中所示将元素设置disposition为。\bfseries

\documentclass{scrartcl}

\usepackage{unicode-math}
\setkomafont{disposition}{\bfseries}
\setmainfont{Hoefler Text}[BoldItalicFont={Hoefler Text Black Italic}]

\begin{document}

\section{The word \textit{cat} is in italics}

The word \textit{\textbf{cat}} is correctly in bold italic.

\end{document}

解决方案

但也许你甚至不希望 KOMA-Script 对字体元素使用任何无衬线默认值。在这种情况下,你可以使用选项sfdefaults=false

\documentclass[sfdefaults=false]{scrartcl}[2023/04/17]

\usepackage{unicode-math}
\setmainfont{Hoefler Text}[BoldItalicFont={Hoefler Text Black Italic}]

\begin{document}

\section{The word \textit{cat} is in italics}

The word \textit{\textbf{cat}} is correctly in bold italic.

\end{document}

结果是一样的。

相关内容