在 LaTeX 中是否有办法将尾注文本与应放置/调用的位置分开?

在 LaTeX 中是否有办法将尾注文本与应放置/调用的位置分开?

我想插入几个相当大的尾注。问题是,如果我将它们插入其中,则\endnote{text text}很难跟上正文的流程(因为尾注跨越了几个段落)。

有没有一个包可以让我将尾注的引用位置与其内容分开?比如说\lendnote{Label1} to invoke and \begin{lendnote}\label{Label1}<<here goes the endnote body>>\end{lendnote}

答案1

这是一种简单的方法。您将每个大尾注存储在名为<label>.texwhere的单独文件中,这<label>就是您在插入它的命令中以及在文本中的任何位置引用它的方式\ref。然后创建一个命令(我称之为\extendnote),它将标签作为参数,然后简单地用于\input尾注文本。

您可以使用环境将所有外部尾注添加到源文件的开头,从而将它们保留在源文件{filecontents}中。当然,如果这变得难以管理,您可以将所有{filecontents}环境放在一个单独的文件中(例如bignotes.tex),然后将\input其放入主源文件中。

\documentclass{article}
\usepackage{endnotes}
\usepackage{lipsum}
\begin{filecontents}[noheader,overwrite]{big.tex}
\lipsum[1-2]
\end{filecontents}
\begin{filecontents}[noheader,overwrite]{large.tex}
\lipsum[3-4]
\end{filecontents}
\newcommand{\extendnote}[1]{\endnote{\input{#1}\label{#1}}}
\begin{document}
Here is some text.\endnote{This is a small endnote\label{small}} 
Here is some more text, with a big endnote.\extendnote{big} Here is some
more text.\endnote{A small endnote} and some more text.\extendnote{large}.
And here are some references to note \ref{large} and note \ref{small}.
\theendnotes
\end{document}

答案2

您可以将注释文本存储在源代码中先前定义的宏中。

一个例子(部分借用自Alan Munn的回答):

\documentclass{article}
\usepackage{endnotes}
\usepackage{lipsum}
\newcommand\noteone{\lipsum[1-2]}
\newcommand\notetwo{\lipsum[3-4]}
\begin{document}
Here is some text.\endnote{This is a small endnote} Here is some more text,
with a big endnote.\endnote{\noteone} Here is some more text.\endnote{A small
endnote} and some more text.\endnote{\notetwo}
\theendnotes
\end{document}

相关内容