在 fancyhdr 中,确保章节/标题名称中的每个字母都小写

在 fancyhdr 中,确保章节/标题名称中的每个字母都小写

在设计小说(文献类书籍KOMA SCRIPT)时,我更喜欢在页眉中使用全小写字母。请看第一个例子,其中howards endchapter 29都设置为小写字母和旧式数字。我通过\nouppercase逐字将必要的字母转换为小写来实现这一点,它看起来很整洁,字母之间有小写字母间距,与旧式数字的比例很好。

IE

\fancyhead[EC]{\rmfamily \sc \small \nouppercase howards end}

全部小写,并带有小型大写字母

但是,有些设计需要使用普通的大写字母来标记书签和章节标题。例如,在《回到玛土撒拉》中,章节名称需要设置为The Things Happens大写字母。在这里我偷懒,将它们全部设置为大写字母,这样看起来就比较整洁了。

\fancyhead[OC]{\rmfamily \bf  \small \sc \leftmark }

全部大写

当然,将全部大写字母设置为大写会失去小型大写字母通常具有的漂亮间距以及与旧式数字的比例。

所以我的问题是,有没有办法确保标题中的所有字母都是小写,即使它们是混合大写?

以下是一个最简单的例子:

我用的是LyX,但是原理和代码应该是一样的:

fancyhdr在文档类中加载Book KOMA-Script两侧文档。其他均默认。

\fancyhead{}
\fancyfoot{}

\fancyhead[OC]{\rmfamily \small \nouppercase \leftmark}

带有章节名称的虚拟文本This is Mixing Caps将产生以下示例,我希望它们只出现this is mixing caps在标题中,这样我就可以应用小写字母。 例子

答案1

这里有一种方法:

\documentclass{scrbook}
\usepackage[osf]{mathpazo} % a font with old style figures

\usepackage{fancyhdr,textcase}

\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\headrulewidth}{0pt}
\fancyhf{}
\fancyhead[LE,RO]{\footnotesize\scshape\thepage}
\fancyhead[CE]{\scshape\MakeTextLowercase{\leftmark}}
\fancyhead[CO]{\scshape\MakeTextLowercase{\chaptername~\thechapter}}

在此处输入图片描述

相关内容