在我的文档中,我使用scrlayer-scrpage
在所有页面上生成页眉。但是,一个章节名称太长而无法显示,所以我想用较短的版本替换它。以下是我的相关命令(不是工作示例):
\documentclass[11pt,paper=a4]{scrreprt}
\usepackage[headsepline = on,
footsepline = on,
plainheadsepline = on,
plainfootsepline = on]{scrlayer-scrpage}
\renewcommand*{\chaptermarkformat}{}
\automark{chapter}
\lohead*{\textup{Document Name}}
\chead{}
\rohead*{\textup{\rightmark}}
\cfoot*{\textup{Page \pagemark}}
\begin{document}
\pagestyle{headings}
\chapter{Very long chapter name}\chaptermark{Shorter chapter name}
这对于章节的后续页面来说没问题,但对于第一页来说就不行了。在章节的第一页上,它显示“非常长的章节名称”。有人知道为什么会发生这种情况吗?如何解决这个问题?
答案1
我建议设置 KOMA-Script 类选项headings=optiontoheadandtoc
。然后,您可以使用分段命令的可选参数的高级功能。
例子:
\documentclass[
%11pt,paper=a4,% default
headings=optiontoheadandtoc% <- added
]{scrreprt}
\usepackage[
headsepline = on,plainheadsepline = on,
footsepline = on,plainfootsepline = on,
]{scrlayer-scrpage}% sets automatically pagestyle scrheadings (headings is only an alias of scrheadings}
\automark{chapter}
\renewcommand*{\chaptermarkformat}{}
\addtokomafont{pageheadfoot}{\upshape}
\ihead*{Document Name}
\chead{}
\ohead*{\rightmark}
\renewcommand\pagemark{{\usekomafont{pagenumber}Page \thepage}}
\begin{document}
\tableofcontents
\chapter[head={Shorter chapter name}]{Very long chapter name}
\end{document}
结果:
请注意,包会自动scrlayer-scrpage
设置页面样式scrheadings
,并将其重新定义headings
为 的别名样式scrheadings
。