使用 iopart 文档类来利用脚注

使用 iopart 文档类来利用脚注

我正在使用 LaTeX 模板,其序言中包含以下代码:

\documentclass[12pt,a4paper,final]{iopart}

每次我使用函数时\footnote {text},即使我使用\footnote [1] {text},脚注也会显示为\fnysymbol,而不是\arabic我想要的那样。我尝试在序言中添加以下内容:

\renewcommand{\thefootnote}{\arabic{footnote}}

但无论我将其放在文档开始之前还是之后,或者放在添加脚注的行之前,这似乎都不起作用。如何确保我的文档默认使用阿拉伯数字作为脚注?

答案1

显然,iopart不想要脚注。

为了保留作者部分的符号并使其在文档正文中变得正常,您可以定义一个\mainmatter执行必要开关的命令。

\documentclass[12pt,a4paper,final]{iopart}
\usepackage{etoolbox}

\makeatletter
\newcommand{\mainmatter}{%
  \setcounter{footnote}{0}%
  \patchcmd{\@makefntext}{\fnsymbol}{\arabic}{}{}%
  \patchcmd{\@thefnmark}{\fnsymbol}{\arabic}{}{}%
  \def\@makefnmark{\textsuperscript{\arabic{footnote}}}%
}
\makeatother


\begin{document}

\title[Author guidelines for IOPP journals]{Preparing an article for 
publication in an Institute of Physics Publishing journal using \LaTeXe}

\author{Neil Scriven\dag\ and Romneya Robertson\ddag  
\footnote[3]{To
whom correspondence should be addressed ([email protected])}
}

\address{\dag\ Production Editor, Institute of Physics 
Publishing, Dirac
House, Temple Back, Bristol BS1 6BE, UK}

\address{\ddag\ Electronic Services Specialist, Institute of Physics Publishing, 
Dirac House, Temple Back, Bristol BS1 6BE, UK}


\begin{abstract}
An abstract.
\end{abstract}

\mainmatter

\section{Introduction}
\subsection{Fake}

Many authors use \LaTeX\ to produce their typescripts\footnote{abc}
and we can use the source code to produce the printed version;  this gives 
more rapid publication with a smaller chance of typographical
error.\footnote{def}

\end{document}

在此处输入图片描述

答案2

iopart重新定义\@makefntext\@makefnmark\@thefnmark用于\fnsymbol对脚注进行编号。一种替代方法是覆盖这些定义以使其使用\arabic

\documentclass[12pt,a4paper,final]{iopart}

\makeatletter
\long\def\@makefntext#1{\parindent 1em\noindent 
 \makebox[1em][l]{\footnotesize\rm$\m@th{\arabic{footnote}}$}%
 \footnotesize\rm #1}
\def\@makefnmark{\hbox{${\arabic{footnote}}\m@th$}}
\def\@thefnmark{\arabic{footnote}}
\makeatother

\begin{document}

Some text with\footnote{a footnote}.

\end{document}

另一种选择\@fnsymbol\@arabic

\documentclass[12pt,a4paper,final]{iopart}

\makeatletter
\let\@fnsymbol\@arabic
\makeatother

\begin{document}

Some text with\footnote{a footnote}.

\end{document}

使用什么取决于你。第一种方式的优点是,如果你想用\fnsymbol它做某事,它会按预期工作。第二种方式不那么混乱。


此外,我认为您可以\setcounter{footnote}{0}在后面加上一个\documentclass,因为脚注编号似乎从第二个脚注开始......类别错误或功能?

相关内容