\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言及

1 つの引数内で複数の感謝の脚注を機能させるには、 \@footnotetext最初の脚注\parを無視する必要があります。Cf  \@setthanks. 。

そして、\def\par{\let\par\@par}を の最初に設定します\@footnotetext。したがって、 を\@parごとに の最初から使用すると\thanks、 で元に戻される垂直スキップが導入されます\vspace{-\baselineskip}

答え2

脚注のインデントを設定する\maketitleコマンドの部分を、 の値を使用するように修正します。doc.styamsart

\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

すべての回答はパッケージ\maketitleによって作成されていますdoc。これは論理的/正しいアプローチだと思いますが、\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}

ムウェ

関連情報