\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。因此,\@par從一開始就使用 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定義中的定義。\maketitledoc

\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

所有答案都正確\maketitledoc包製作。儘管在我看來,這是合乎邏輯/正確的方法,但包含\makeatletter ...內容的解決方案並不容易記住。所以我的解決方案是用一個沒有標記的簡單腳註來假裝感謝 \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}

微量元素

相關內容