如何在 KOMA-Script 中的标题中删除感谢脚注标记?

如何在 KOMA-Script 中的标题中删除感谢脚注标记?

我只想从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}

你得到了想要的标题页结果

封面

第二页

第二页

相关内容