Ich versuche, eine Fußnote zu einem Titel hinzuzufügen inamsart
in Kapitälchen, enden aber ständig mit Großbuchstaben (sogar im Mathematikmodus).
\documentclass{amsart}
\title{ text \footnote{ text }}
\begin{document}
\maketitle
\end{document}
Wie kann ich Kapitälchen in die Fußnote bekommen?
Antwort1
Die Problemumgehung ist recht einfach, allerdings wird kein Fußnotenmarker angezeigt:
\documentclass{amsart}
\begin{document}
\newcommand\myfootnotetitle{\spaceskip=0pt \scshape I want this in Small Caps}
\title{Title\footnote{\protect\myfootnotetitle}}
\author{A. U. Thor}
\maketitle
\vspace*{\fill}
{\footnotesize\myfootnotetitle\par} % for checking
\end{document}
Es gibt zwei Probleme: Zum einen muss vor unzeitgemäßer Erweiterung geschützt werden (das Argument to \title
wird an übergeben \MakeUppercase
) und zum anderen wird im Text \spaceskip
ein Wert ungleich Null gesetzt.
Das Hinzufügen eines Fußnotenzeichens erfordert tiefere Eingriffe. Eine einfache Problemumgehung, um ein Sternchen als Fußnotenzeichen zu erhalten, ist wie folgt.
\documentclass{amsart}
\makeatletter
\newcommand{\definetitlefootnote}[1]{%
\newcommand\addtitlefootnote{%
\makebox[0pt][l]{$^{*}$}%
\footnote{\protect\@titlefootnotetext}
}%
\newcommand\@titlefootnotetext{\spaceskip=\z@skip $^{*}$#1}%
}
\makeatother
% Just to make a short page for viewing the result
\setlength{\textheight}{6cm}
\calclayout
\begin{document}
\definetitlefootnote{\scshape I want this in Small Caps}
\title{Title\addtitlefootnote}
\author{A. U. Thor}
\maketitle
Some text with a footnote\footnote{Whatever}
\end{document}
Antwort2
Hier ist eine Möglichkeit, auch die Fußnotenmarkierung beizubehalten. Sie müssen die Definitionen speichern und sie unmittelbar vor der Ausgabe des \footnotemark
Befehls wiederherstellen. Anschließend müssen Sie etwas jonglieren, um die richtigen Zählerwerte zu erhalten.
Hier ist der Titel:
Und auch hier werden die Fußnoten, Darstellungen \thanks
etc. nicht gestört.
\documentclass{amsart}
\makeatletter
\let\mymakefnmark\@makefnmark
\let\mythefnmark\@thefnmark
\newcommand{\restorefn}{\let\@makefnmark\mymakefnmark
\let\mythfnmakr\@thefnmark}
\makeatother
\begin{document}
\title{Title text\restorefn\footnotemark}
\author{A. N. Author}
\date{\today}
\thanks{Thanks}
\maketitle
\stepcounter{footnote}\footnotetext{\scshape Footnote.}
\end{document}
Antwort3
Diese Lösung bietet etwas mehr Automatisierung und behält die Benutzeroberfläche bei, wie sie ist, sodass Sie sozusagen weiter schreiben können \title[short text]{text\footnote{text}}
.
Die Grundidee besteht darin, das interne Makro zu deaktivieren, \@adminfootnotes
das den üblichen Fußnotenmechanismus deaktiviert.
\xpatchcmd\@adminfootnotes{\let\@makefnmark\relax}{}{}{}
und dann das \footnotemark
- \footnotetext
Duo verwenden. Die Markierung wird durch etwas wie gebildet \title{...\fotenotemark}
und das \footnotetext
wird außerhalb deklariert, um sicherzustellen, dass es nicht von der Großschreibung beeinflusst wird. Letzteres wird durch einen Patch erreicht, einen einfachen Patch für \maketitle
:
\xapptocmd\maketitle{%
\stepcounter{footnote}
\ifx\@empty\titlefn\else
\footnotetext{\scshape\titlefn}\fi}{}{}
\titlefn
ist die Speicherung des Fußnotentextes, der \footnote{...}
in einer neu definierten Version von erfasst wird \title
(beachten Sie, dass \footnote
hier nur als Trennzeichen dient):
\def\title@aux#1\footnote#2#3{%
\global\let\shorttitle\@tempa
\gdef\titlefn{#2}
\ams@title{#1\ifx\@empty\titlefn\else\protect\footnotemark\fi}
\ifx#3\footnote\expandafter\@gobble\else\expandafter#3\fi
}
In dieser Neudefinition wird natürlich auch das \footnotemark
eingeführt.
Vollständiger Code
\documentclass{amsart}
\usepackage{xpatch}
\makeatletter
\xpatchcmd\@adminfootnotes{\let\@makefnmark\relax}{}{}{}
\xapptocmd\maketitle{%
\stepcounter{footnote}
\ifx\@empty\titlefn\else
\footnotetext{\scshape\titlefn}\fi}{}{}
\let\ams@title\title
\def\title{\@dblarg\title@}
\def\title@[#1]#2{\gdef\@tempa{#1}\title@aux#2\footnote{}}
\def\title@aux#1\footnote#2#3{%
\global\let\shorttitle\@tempa
\gdef\titlefn{#2}
\ams@title{#1\ifx\@empty\titlefn\else\protect\footnotemark\fi}
\ifx#3\footnote\expandafter\@gobble\else\expandafter#3\fi
}
\makeatother
\title{text\footnote{text}}
\begin{document}
\maketitle
%for testing purposes
\vfill
\footnotesize\scshape\hskip3.5pt text
\end{document}