我需要在一个文档中有两个 \maketitles。标题包几乎完美地处理了这个问题。问题是我在 \title 和 \author 中使用了 \thanks 命令,然后在第二个 \maketitle 中,\thanks 命令的文本重复了两次。有人知道如何去掉第二次出现的 \thanks 命令文本吗?谢谢,Eilon
\documentclass[12pt]{article}
\usepackage{titling}
\begin{document}
\begin{titlepage}
\title{First title\thanks{I thank my kids.}}
\author{Author1\thanks{Affiliation of author1. } and Author2\thanks{Affiliation of author2.}}
\maketitle
\end{titlepage}
\begin{titlepage}
\title{Second title}
\maketitle
\end{titlepage}
\end{document}
答案1
LaTeX 会用\thanks
宏来收集所有由命令添加的脚注\@thanks
;在排版第二个标题之前必须将其清空。为了避免第二个标题页重置页码计数器,我们使用包xpatch
并修改titlepage
环境;不过,这是一种 hack。或者,您可以使用手动设置页码\setcounter{page}{... desired page number ...}
。
\documentclass[12pt]{article}
\usepackage{titling}
\usepackage{xpatch}
\makeatletter
\newenvironment{mytitlepage}%
{\begin{titlepage}\def\@thanks{}}%
{\end{titlepage}}
\xpatchcmd\titlepage{\setcounter{page}\@ne}{}{}{}
\xpatchcmd\endtitlepage{\setcounter{page}\@ne}{}{}{}
\makeatother
\begin{document}
\begin{mytitlepage}
\title{First title\thanks{I thank my kids.}}
\author{Author1\thanks{Affiliation of author1.}
and Author2\thanks{Affiliation of author2.}}
\maketitle
\end{mytitlepage}
\begin{mytitlepage}
\title{Second title}
\maketitle
\end{mytitlepage}
\end{document}