我将其用于scrbook
收集论文。每章都有不同的作者,并使用自定义命令进行排版。我希望标题在章节和作者之间交替(而不是任何部分)——所以我重新定义\markright
并在之后使用\rightmark
inscrlayer-scrpage
的\cohead
。
以下是 MWE:
\documentclass[a4paper,10pt,headings=optiontohead,version=last,openany]{scrbook}
\author{Immanuel Kant}
\title{Doubling section titles}
\usepackage{kantlipsum}\date{}
%% make individual papers chapters
\usepackage{suffix}
\renewcommand{\sectionmark}{}%prevent rewriting \markright
\renewcommand{\subsectionmark}{}%prevent rewriting \markright
\newcommand{\chapterauthor}[1]{\authortoc{#1}\printchapterauthor{#1}\markright{#1}}% setting \markright to author
\makeatletter
\newcommand{\printchapterauthor}[1]{%
{\parindent0pt\vspace*{-10pt}%
\linespread{1.1}\large\scshape#1%
\par\nobreak\vspace*{30pt}}
\@afterheading%
}
\newcommand{\authortoc}[1]{%
\addtocontents{toc}{\vskip-10pt}%
\addtocontents{toc}{%
\protect\contentsline{chapter}%
{\hskip1.3em\mdseries\scshape\protect\scriptsize#1}{}{}}
\addtocontents{toc}{\vskip5pt}%
}
\makeatother
%% put authors in headers
%% http://tex.stackexchange.com/a/228219/12934
\usepackage{scrlayer-scrpage}
\clearpairofpagestyles
\renewcommand{\chaptermarkformat}{}
\cohead{\small{\rightmark}}
\cehead{\small{\leftmark}}
\cfoot*{\pagemark}
\begin{document}
\maketitle
\chapter{Erst}
\chapterauthor{Auguste Comte}
\kant[2]
\section{Quite positive}
\kant[3]
\end{document}
由于摆弄 ,发生了一些事情\sectionmark
,并且部分标题打印了两次。我的问题是:是什么原因导致标题重复以及如何避免这种情况?感谢您的建议!
答案1
\sectionmark
和都\subsectionmark
应该采取一个论点:
\renewcommand{\sectionmark}[1]{}%prevent rewriting \markright
\renewcommand{\subsectionmark}[1]{}%prevent rewriting \markright
该\section
命令产生
\sectionmark{<title>}
如果您重新定义\sectionmark
为没有参数,{<title>}
则不会删除标记。
答案2
因为您正在加载scrlayer-scrpage
:删除和的(不必要的)重新定义\sectionmark
并\subsectionmark
使用的可能性scrlayer-scrpage
。
\usepackage{scrlayer-scrpage}
\automark{chapter}% -> section does not rewrite \markright
\clearpairofpagestyles
\renewcommand{\chaptermarkformat}{}
\addtokomafont{pagehead}{\small}
\chead{\headmark}% -> \rightmark on odd pages, \leftmark on even pages
\cfoot*{\pagemark}
然后,章节位于偶数页的页眉中,而您设置为参数的任何内容都\markright
位于奇数页的页眉中。
以下是简短的 MWE:
\documentclass[openany]{scrbook}
%\documentclass[openany]{book}
\usepackage{kantlipsum}
\newcommand{\chapterauthor}[1]{\markright{#1}}
%
\usepackage{scrlayer-scrpage}
\automark{chapter}
\clearpairofpagestyles
\renewcommand{\chaptermarkformat}{}
\addtokomafont{pagehead}{\small}
\chead{\headmark}
\cfoot*{\pagemark}
%
\begin{document}
\tableofcontents
\chapter{Erst}
\chapterauthor{Auguste Comte}
\kant[2]
\section{Quite positive}
\kant[1-10]
\chapter{Next}
\chapterauthor{Other author}
\section{Quite positive}
\subsection{Test}
\kant[1-10]
\end{document}