summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/fn2end/fn2end.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/fn2end/fn2end.sty')
-rw-r--r--macros/latex/contrib/fn2end/fn2end.sty80
1 files changed, 80 insertions, 0 deletions
diff --git a/macros/latex/contrib/fn2end/fn2end.sty b/macros/latex/contrib/fn2end/fn2end.sty
new file mode 100644
index 0000000000..c8ed8478ac
--- /dev/null
+++ b/macros/latex/contrib/fn2end/fn2end.sty
@@ -0,0 +1,80 @@
+% fn2end.sty Convert footnotes into end notes.
+% LaTeXable documentation at end (after \endinput)
+% LaTeX 2.09 users, should comment out this line:
+\ProvidesPackage{fn2end}[1995/05/31 Convert footnotes into end notes.]
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% This file may be freely copied, and distributed.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% Author:
+% Kim C. Border,
+% Division of the Humanities and Social Sciences,
+% Caltech, Pasadena, CA 91125 USA
+% e-mail: kcb@hss.caltech.edu
+
+% I gratefully acknowledge the help of J. E. Burke
+% <jeburke@jhuvms.hcf.jhu.edu> at Johns Hopkins, who fixed
+% the handling of long footnotes.
+% The main idea is from Knuth's \answer macro in the TeXbook.
+
+% version 1.1, May 31, 1995
+% Changed \endnoteshere to \theendnotes, since you
+% shouldn't use commands that begin with \end
+% Also added user renewable parameters
+
+% Based on my old endnotes.sty, version 3
+% (Sep 4, 1990, rev. Jul 28, 1994), which was never posted.
+% It appears to work with both LaTeX2e and LaTeX2.09
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% User redefinable parameters
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newlength{\noteskip}
+\setlength{\noteskip}{1em}
+\newcommand{\notenumberformat}[1]{$#1$}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Save the original definition of \@footnotetext
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\let\original@footnotetext\@footnotetext
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Define \makeendnotes to open a new file
+% for the endnotes and to redefine \@footnotetext
+% (\newlinechar courtesy of J E Burke)
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcommand{\makeendnotes}{\newwrite\n@tefile
+ \immediate\openout\n@tefile=\jobname.end
+ \immediate\write\n@tefile{\relax}
+ \long\gdef\@footnotetext{\immediate\write\n@tefile{}
+ \begingroup\newlinechar=`\^^M
+ \catcode`\^^M=12\@setupcopy\@copynote}}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% The verbatim copying definitions
+% based on the TeXbook's \answer macro
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcommand{\@setupcopy}{\@sanitize}
+\newcommand{\@copynote}{}
+\long\gdef\@copynote#1{%
+ \immediate\write\n@tefile{\notenumberformat{\@thefnmark}%
+ \hskip\noteskip}%
+ \immediate\write\n@tefile{#1}\endgroup}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Define \theendnotes to retrieve them
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcommand{\theendnotes}{\immediate\closeout\n@tefile
+ \input\jobname.end\relax}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Define \restorefootnotes
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcommand{\restorefootnotes}{\long\gdef\@footnotetext{\original@footnotetext}}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\endinput