\thanks{} сноска с отступом при использовании amsart и doc

\thanks{} сноска с отступом при использовании amsart и doc

При использовании amsartкласса документа в сочетании с docпакетом я получаю дополнительный отступ в thanksсноске первого автора:

\documentclass{amsart}
\usepackage{doc}
\begin{document}
\title{title}
\author{first author}
\thanks{thanks1}
\author{second author}
\thanks{thanks2}
\maketitle
\end{document}

урожайность

урожай сноски осложнения

Есть ли способ обойти это поведение?

решение1

\@setthanksКажется, достаточно обновления :

введите описание изображения здесь

\documentclass{amsart}
\usepackage{doc}

\makeatletter
\def\@setthanks{\vspace{-\baselineskip}\def\thanks##1{\@par##1\@addpunct.}\thankses}
\makeatother

\begin{document}

\title{title}
\author{first author}
\thanks{thanks1}
\author{second author}
\thanks{thanks2}

\maketitle

\end{document}

amsartупоминает

Чтобы несколько сносок с благодарностью работали внутри одного \@footnotetextаргумента, нам нужно сделать так, чтобы первая из них \parигнорировалась. Ср.  \@setthanks.

и затем устанавливает \def\par{\let\par\@par}как первую вещь в \@footnotetext. Таким образом, использование \@parfrom start с every \thanksвводит вертикальный пропуск, который отменяется с помощью \vspace{-\baselineskip}.

решение2

Исправьте части команды \maketitle, doc.styкоторые задают отступ сноски, чтобы использовать значения из amsart:

\documentclass{amsart}
\usepackage{etoolbox}
\usepackage{doc}
\patchcmd\maketitle
  {\parindent 1em}{\parindent\normalparindent}%
  {}{}
\patchcmd\maketitle
  {\hbox to1.8em}{\hbox to\normalparindent}%
  {}{}
\begin{document}
\title{title}
\author{first author}
\thanks{thanks1}
\author{second author}
\thanks{thanks2}
\maketitle
\end{document}

решение3

Например, вы можете изменить определение \@makefntextв определении \maketitleпакета doc.

\documentclass{amsart}
\usepackage{doc}
\makeatletter
\def\maketitle{\par
      \begingroup
        \def\thefootnote{\fnsymbol{footnote}}%
      \setcounter{footnote}\z@
      \def\@makefnmark{\hbox to\z@{$\m@th^{\@thefnmark}$\hss}}%
      \long\def\@makefntext##1{\noindent
          \ifnum\c@footnote>\z@\relax
            \hbox to1.8em{\hss$\m@th^{\@thefnmark}$}##1%
          \else
          \hbox to1.8em{\hfill}%
            \parbox{\dimexpr\linewidth-1.8em}{\raggedright ##1}%
          \fi}
      \if@twocolumn\twocolumn[\@maketitle]%
      \else\newpage\global\@topnum\z@\@maketitle\fi
      \thispagestyle{titlepage}\@thanks\endgroup
      \setcounter{footnote}\z@
      \gdef\@date{\today}\gdef\@thanks{}%
      \gdef\@author{}\gdef\@title{}}


\makeatother
\begin{document}
\title{title\footnote{A footnote}\footnote{Another footnote}}
\author{first author}
\thanks{thanks1}
\author{second author}
\thanks{thanks2}
\maketitle
\end{document}

решение4

Все ответы исправляют \maketitlemade by docpackage. Хотя ИМХО это логичный/правильный подход, решение с \makeatletter ...stuffs нелегко запомнить. Поэтому мое решение - сделать фальшивое спасибо с простыми сносками без отметокпосле \maketitle. Конечно, кто-то посчитает это плохой практикой, но насколько я могу судить, это ничего не сломает таким образом:

\documentclass{amsart}
\usepackage{doc}
\def\thanks#1{{\let\thefootnote\relax\footnote{#1.}\setcounter{footnote}{0}}}
\begin{document}
\author{first author}
\author{second author}
\title{title}
\maketitle
\thanks{thanks1}
\thanks{thanks2}
Some  text\footnote{A normal footnote.}
\end{document}

МВЭ

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