タイトルに脚注を追加しようとしていますamsart
小文字で入力しても、常に大文字になってしまいます (数式モードでも同様)。
\documentclass{amsart}
\title{ text \footnote{ text }}
\begin{document}
\maketitle
\end{document}
脚注で小文字大文字を使用するにはどうすればよいでしょうか?
答え1
回避策は非常に簡単ですが、脚注マーカーは表示されません。
\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}
\title
問題は 2 つあります。1 つは、不必要な拡張 ( の引数が に渡される)を防ぐこと\MakeUppercase
、もう 1 つは、テキスト内の\spaceskip
がゼロ以外の値に設定されることです。
脚注マーカーを追加するには、より深い手術が必要です。アスタリスクを脚注マークとして取得するための簡単な回避策は次のとおりです。
\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}
答え2
脚注マーカーも保持する方法があります。定義を保存し、\footnotemark
コマンドを発行する直前に復元する必要があります。その後、正しいカウンター値を取得するためにいくつかの調整が必要です。
タイトルは次のとおりです。
そして、ここには脚注があり、表示\thanks
などが妨げられていません。
\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}
答え3
このソリューションでは、自動化が少し強化され、ユーザー インターフェイスはそのまま維持されるため、書き続けることができます\title[short text]{text\footnote{text}}
。
基本的な考え方は、内部マクロが\@adminfootnotes
通常の脚注メカニズムを無効にすることを無効にすることです。
\xpatchcmd\@adminfootnotes{\let\@makefnmark\relax}{}{}{}
そして、\footnotemark
-\footnotetext
デュオを使用します。マークは、次のように構築され\title{...\fotenotemark}
、\footnotetext
大文字化の影響を受けないように外側で宣言されます。後者は、次の簡単なパッチで実現されます\maketitle
。
\xapptocmd\maketitle{%
\stepcounter{footnote}
\ifx\@empty\titlefn\else
\footnotetext{\scshape\titlefn}\fi}{}{}
\titlefn
\footnote{...}
は、 の再定義されたバージョンで収集される脚注テキストのストレージです\title
(\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
}
この再定義では、もちろん、 も\footnotemark
導入されます。
完全なコード
\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}