定义页眉时访问标题?

定义页眉时访问标题?

我正在尝试将一些内容包装到文档类中,到目前为止,我一直手动将其编码到文档文件中。在此过程中,我遇到了一个问题。给出以下 MWE

\documentclass{scrartcl}
\usepackage[headsepline,footsepline]{scrpage2}
\usepackage{lipsum}
\title{Of Foo And Bar}
\author{Me And Myself} 
\pagestyle{scrheadings}
\clearscrheadfoot
\ihead{Of Foo And Bar\\\headmark}
\automark{section}
\begin{document}
\maketitle
\tableofcontents  
\clearpage
\section{Foo}
\lipsum[1]
\subsection{Bar}
\lipsum[2-3]
\subsection{Baz} 
\lipsum[4-6]
\section{Boo}
\lipsum[1]
\subsection{Bar} 
\lipsum[2-3]
\subsection{Baz} 
\lipsum[4-6]
\end{document}

我需要删除对 的调用中的冗余标题\ihead,并将其替换为插入我之前使用 指定的标题的内容\title{...}。如何访问使用 设置的标题\title

答案1

您可以通过命令访问标题,\mytitle如果您添加

\makeatletter
\let\mytitle\@title
\makeatother

在你的序言中 \title

\documentclass{scrartcl}

\usepackage[headsepline,footsepline]{scrpage2}
\usepackage{lipsum}

\title{Of Foo And Bar}
\makeatletter
\let\mytitle\@title
\makeatother

\author{Me And Myself} 
\pagestyle{scrheadings}
\clearscrheadfoot
\ihead{\mytitle\\\headmark}
\automark{section}

\begin{document}
\maketitle
\tableofcontents  
\clearpage
\section{Foo}
\lipsum[1]
...
\end{document}

在此处输入图片描述

\thetitle或者,如果加载了包,则可以通过访问标题titling,但后者会干扰 KOMA 脚本类的格式。

答案2

如果你“敢”入侵系统,请阅读 Jubobs 的回答。如果你不敢,你可以定义自己的命令来替代该\title命令:

\documentclass{scrartcl}
\usepackage[headsepline,footsepline]{scrpage2}
\usepackage{lipsum}

\newcommand{\titledefined}{}
\newcommand{\definetitle}[1]{%
\title{#1}
\renewcommand{\titledefined}{#1}
}

\definetitle{Of Foo And Bar}
\author{Me And Myself} 
\pagestyle{scrheadings}
\clearscrheadfoot
\ihead{\titledefined\\\headmark}
\automark{section}
\begin{document}
\maketitle
\tableofcontents  
\clearpage
\section{Foo}
\lipsum[1]
\subsection{Bar}
\lipsum[2-3]
\subsection{Baz} 
\lipsum[4-6]
\section{Boo}
\lipsum[1]
\subsection{Bar} 
\lipsum[2-3]
\subsection{Baz} 
\lipsum[4-6]
\end{document}

它比 Jubobs 的回答要长,但更适合您的个人包(如果您有的话)。您可以将命令放在\definetitle您的个人包中(默认情况下会加载),然后只需使用它来代替\title

相关内容