我想插入几个相当大的尾注。问题是,如果我将它们插入其中,则\endnote{text text}
很难跟上正文的流程(因为尾注跨越了几个段落)。
有没有一个包可以让我将尾注的引用位置与其内容分开?比如说\lendnote{Label1} to invoke and \begin{lendnote}\label{Label1}<<here goes the endnote body>>\end{lendnote}
答案1
这是一种简单的方法。您将每个大尾注存储在名为<label>.tex
where的单独文件中,这<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}