标题脚注中的小型大写字母(am​​sart)

标题脚注中的小型大写字母(am​​sart)

我正在尝试在标题中添加脚注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}{}{}{}

然后使用 -duo \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引入了。

输出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}

相关内容