Малые заглавные буквы в сноске в заголовке (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}

Связанный контент