我的页面标题应该是这样的: 它适用于所有页面,但不支持目录、表格表和图片表。
在我的.cls中相关行:
\LoadClass[12pt,titelpage,a4paper]{article}
\RequirePackage{tocloft}
\RequirePackage{kantlipsum}%Im able to use \section*-titles for headline with automark option
\RequirePackage[automark]{scrlayer-scrpage}
\setheadsepline[text]{.4pt}[\color{black}]
\lehead*{\headmark}
\lohead*{\headmark}
例如,在主文件中,我将目录调用如下:
\newpage
\phantomsection %Needed for hyperref
\addcontentsline{toc}{section}{Inhaltsverzeichnis} %Add toc to toc
\tableofcontents
我想提供一个 MWE - 但当我在序言中使用完全相同的定义而不是 cls 时,它的工作方式与预期一致。我的教授希望使用我的模板作为标准布局,我想提供一个 cls。也许有人知道,是什么导致了这种行为。
问候 Tristan
答案1
问题可能在于\tableofcontents
使用\thispagestyle{plain}
。 我对此的标准解决方案如下:
\newpage
\phantomsection %Needed for hyperref
\addcontentsline{toc}{section}{Inhaltsverzeichnis} %Add toc to toc
\addtocontents{toc}{\protect\thispagestyle{scrheadings}} % <<<<<<<<<<<<<
\tableofcontents
假设这scrheadings
是所需的页面样式。否则,请将其替换为您想要的样式。
答案2
如果使用页面样式的页面plain
也应该获得标题行,请添加plainheadsepline
包选项scrlayer-scrpage
。
请注意,您的代码会产生有关 的警告\setheadsepline
。 它的使用已弃用scrlayer-scrpage
。 请使用 KOMA-Script 选项headsepline=.4pt:text
和\addtokomafont{headline}{\color{black}}
代替。
使用标准类,您可以将包tocbibind
用于 ToC、LoF、LoT 等的 ToC 条目。
\begin{filecontents}{myclass.cls}
\LoadClass[12pt,a4paper]{article}
\RequirePackage{xcolor}% added
\RequirePackage{tocloft}
\RequirePackage{tocbibind}% adds a toc entry for ToC, LoF, LoT etc
\RequirePackage{scrlayer-scrpage}
\RequirePackage{hyperref}% <- added
\KOMAoptions{
automark,
headsepline=.4pt:text,% <- changed
plainheadsepline% <- added
}
\addtokomafont{headsepline}{\color{black}}% <- changed
\setheadsepline[text]{.4pt}[\color{black}]
\lehead*{\headmark}
\lohead*{\headmark}
\setlength{\headheight}{14.5pt}% <- to avoid the warning regarding head height
\end{filecontents}
\documentclass{myclass}
\usepackage{blindtext}% for dummy text
\begin{document}
\tableofcontents
\blinddocument
\end{document}