標題註腳中的小寫字母 (amsart)

標題註腳中的小寫字母 (amsart)

我正在嘗試在標題中添加腳註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傳遞給\MakeUppercase),二是在文本中\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- \footnotetextduo 。後者是透過一個簡單的補丁來完成的:\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引進了。

輸出1_作物

輸出2_作物

完整程式碼

\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}

相關內容