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
中的定义来更改的定义。\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
所有答案都正确,\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}