我正在编辑一个有多名作者的版本。我怎样才能将实际文章的作者设置为左页标题,将实际章节的标题设置为右页标题?我尝试过以下方法:
\documentclass[12pt,twoside]{scrbook}
\usepackage[german]{babel}
\usepackage{blindtext}
\usepackage[ansinew]{inputenc}
\usepackage{scrpage2}
%%
% Kopf- und Fußzeile
%%
\clearscrheadfoot
\lehead{\pagemark}
\chead[]{\rightmark}
\rohead{\pagemark}
\cfoot[\pagemark]{}
\pagestyle{scrheadings}
%\manualmark
%%
% Titel
%%
\renewcommand*{\chaptermarkformat}{}
\renewcommand*{\chapterheadstartvskip}{\vspace*{0.5\baselineskip}}
\renewcommand*{\chapterheadendvskip}{\vspace*{1\baselineskip}}
\makeatletter
\newcommand*{\orgichapter}{}
\let\orgichapter\chapter
\renewcommand*{\chapter}[1]{%
\gdef\chapterauthor{#1}%
\orgichapter
}
\renewcommand*{\chapterformat}{}
\newlength{\authorindent}
\renewcommand*{\chapterheadendvskip}{%
\ifx\chapterauthor\@empty\else
\markboth{"Test"}{\chapterauthor}%
\vskip\baselineskip\nobreak
\settowidth{\authorindent}{{%
\usekomafont{sectioning}\usekomafont{chapter}\chapterformat
}}%
\noindent\begin{large}\textit{\chapterauthor}\par\nobreak
\global\let\chapterauthor\@empty \end{large}
\fi
\noindent\par\nobreak\vskip 1\baselineskip%
}
\makeatother
%%
% Dokumentenbeginn
%%
\begin{document}
\chapter{Harmann von Aue}[]{Das ist ein Test-Dokument}
\section{Sage es niemand, nur den Weisen}
\blindtext
\Blindtext\Blindtext
\section{Weil die Menge gleich verhöhnt}
\Blindtext
\end{document}
问题似乎是 \section 覆盖了 \marboth。我可以在标题中使用 \manualmark,但这会导致标题中根本不出现部分。
答案1
使用 fancyhdr 包
\usepackage{fancyhdr}
将其放在 \begin{document} 之后
\pagestyle{fancy}
\fancyhf{} % Use fancyhdr
\fancyhead[LE]{\author} %L for Left, E for Even page
\fancyhead[RE]{\rightmark} %R for Right E for Odd page
我希望它能帮到你!