我不知怎么地错过了一些标题,这不是由于页面样式错误。以下是一个例子:
\documentclass[twoside]{scrartcl}
\usepackage[headsepline]{scrlayer-scrpage}
\automark[subsection]{section}
\pagestyle{scrheadings}
\usepackage{lipsum}
\begin{document}
\title{Test with \KOMAScript}
\author{John Doe}
\maketitle
\lipsum[5-9]
\section{Section 1}
\subsection{Sub 1}
\lipsum[5]
\subsection{Sub 2}
\lipsum[5-7]
\section{Section 2}
\subsection{Sub 3}
\lipsum[5]
\subsection{Sub 4}
\lipsum[1-10]
\subsection{Sub 5}
\lipsum[5]
\section{Section 3}
\subsection{Sub 6}
\lipsum[1]
\end{document}
我只是想在页眉中交替显示子节和节。而且大多数时候它都能正常工作。不知何故,如果我开始一个新节(如示例中的第 2 节),它会忽略该子节。其他时候,它工作正常(第 3 节)。我不知道为什么。页面样式不简单,这真的让我很烦。当通过 将新节移到另一个页面时\newpage
,它工作正常。
任何想法都值得赞赏。干杯!
答案1
在您的示例中\section
,并\subsection
设置一个二分标记:\section
清除标记的右侧部分,并将左侧部分设置为当前部分条目。\subsection
将右侧部分设置为当前小节,并保存左侧部分不变。
标记有三种类型:\botmark
是页面上的最后一个有效标记、\firstmark
是页面上设置的第一个标记以及\topmark
是最后一页的内容\botmark
。如果页面上没有新的标记\botmark
,并且\firstmark
的内容与 相同\topmark
。
请注意\leftmark
使用\botmark
和\rightmark
使用\firstmark
。
在您的示例中,第 3 页上的第一个标记设置为,\section{Section 2}
因此该页上第一个标记的右侧部分为空。第 5 页上的第一个标记设置为,\subsection{Sub 5}
因此该第一个标记的右侧部分包含此子部分。
现在你可以尝试类似
\documentclass[twoside]{scrartcl}
\usepackage[headsepline,automark]{scrlayer-scrpage}
\lehead{\leftmark}
\rohead{\rightbotmark}
\usepackage{lipsum}
\begin{document}
\title{Test with \KOMAScript}
\author{John Doe}
\maketitle
\lipsum[5-9]
\section{Section 1}
\subsection{Sub 1}
\lipsum[5]
\subsection{Sub 2}
\lipsum[5-7]
\section{Section 2}
\subsection{Sub 3}
\lipsum[5]
\subsection{Sub 4}
\lipsum[1-10]
\subsection{Sub 5}
\lipsum[5]
\section{Section 3}
\subsection{Sub 6}
\lipsum[1]
\end{document}
因此,页面上设置的最后一个标记的右侧部分位于奇数页的页眉中。但如果这个最后一个标记是通过命令设置的,\section
您又会遇到同样的问题。
您可以切换到
\rohead{\ifstr{\rightmark}{}{\rightbotmark}{\rightmark}}
\section
但是,在具有 a和 no命令的奇数页上,页眉仍然为空\subsection
。
另一种可能性是使用
\documentclass[twoside]{scrartcl}
\usepackage[headsepline]{scrlayer-scrpage}
\automark[section]{section}
\automark*[subsection]{}
\usepackage{lipsum}
\begin{document}
\title{Test with \KOMAScript}
\author{John Doe}
\maketitle
\lipsum[5-9]
\section{Section 1}
\subsection{Sub 1}
\lipsum[5]
\subsection{Sub 2}
\lipsum[5-7]
\section{Section 2}
\subsection{Sub 3}
\lipsum[5]
\subsection{Sub 4}
\lipsum[1-10]
\subsection{Sub 5}
\lipsum[5]
\section{Section 3}
\subsection{Sub 6}
\lipsum[1]
\end{document}
然后,节名将出现在奇数页的页眉中,例如示例中的第 3 页,其中第一个标记由命令设置\section
。