我只想从KOMA-Script 的标题中删除\thanks
脚注标记。\title
\documentclass{scrartcl}
\usepackage{scrlayer-scrpage}
\pagestyle{scrheadings}
\clearscrheadfoot
\chead[]{\mytitle}
\begin{document}
\title{Title\thanks{Thanks!}}
\makeatletter
\let\mytitle\@title
\makeatother
\maketitle
\newpage
Text
\end{document}
答案1
你可以一石二鸟:
\documentclass{scrartcl}
\usepackage{scrlayer-scrpage}
\usepackage{xpatch}
\makeatletter
\xapptocmd\maketitle{%
\begingroup\let\thanks\@gobble
\protected@xdef\mytitle{\@title}%
\endgroup
}{}{}
\makeatother
\pagestyle{scrheadings}
\clearscrheadfoot
\chead[]{\mytitle}
\begin{document}
\title{Title\thanks{Thanks!}}
\maketitle
\newpage
Text
\end{document}
这样,\maketitle
将定义\mytitle
为不带的标题\thanks
,因为该命令已被临时定义为吞噬其参数。
如果你希望能够定义一个连续的标题,你可以这样做
\documentclass{scrartcl}
\usepackage{scrlayer-scrpage}
\usepackage{xpatch}
\makeatletter
\newcommand{\runningtitle}[1]{\gdef\@runtitle{#1}}
\xapptocmd\maketitle{%
\@ifundefined{@runtitle}{%
\begingroup\let\thanks\@gobble
\protected@xdef\mytitle{\@title}%
\endgroup}
{\global\let\mytitle\@runtitle}%
}{}{}
\makeatother
\pagestyle{scrheadings}
\clearscrheadfoot
\chead[]{\mytitle}
\begin{document}
\title{Title\thanks{Thanks!}}
\runningtitle{Short}
\maketitle
\newpage
Text
\end{document}
只要\runningtitle
遵循\maketitle
,你就会得到你想要的。
答案2
只需定义一个新命令mytitle
来定义标题,而无需\thanks
:
\newcommand{\mytitle}{Title of document}
现在,您可以使用命令\mytitle
来设置页眉和标题页中的标题,只需使用
\title{\mytitle\thanks{Thanks!}}
使用完整的 MWE:
\documentclass{scrartcl}
\usepackage{scrpage2}
\newcommand{\mytitle}{Title of document}
\pagestyle{scrheadings}
\clearscrheadfoot
\chead[]{\mytitle}
\begin{document}
\title{\mytitle\thanks{Thanks!}}
\maketitle
\newpage
Text
\end{document}
你得到了想要的标题页结果
第二页