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