将 cftchapfont 排版为大写

将 cftchapfont 排版为大写

我正在尝试使用包将整个内容变为cftchapfont大写tocloft

\renewcommand\cftchapfont{\MakeUppercase}

根本不起作用(它实际上把一切都搞乱了),也不起作用:

\renewcommand\cftchappresnum{\MakeUppercase\chaptertitlename\;}

仅将 大写\chaptertitlename,并且不将 大写:

\renewcommand\cftchappresnum{\MakeUppercase\chaptertitlename\;\MakeUppercase}

它只将 SNUM 的首字母大写(并且我在第一章中使用了“premier”这样的单词)。

我怎样才能确保所有内容都是大写的?

答案1

您必须修补\@chapter负责在辅助文件中写入条目的命令。以下行

\addcontentsline{toc}{chapter}{\protect\numberline{\thechapter}#1}

\addcontentsline{toc}{chapter}{#1}

应该读作\MakeUppercase{#1}而不是#1

答案2

我其实想要的是小写字母,但字体没有。我做的是:

  • 在 fontforge 中编辑 TTF;
  • 从 fontforge 添加小型大写字母;
  • 将新字体保存为 OTF;
  • 使用 fontspec加载字体Letters=SmallCap

它满足了我的要求。

相关内容