% 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 % 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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \documentstyle{article} \newcommand{\cs}[1]{\mbox{\tt\bs#1}}% for control sequences \newcommand{\bs}{\char '134 } % A backslash character for \tt font \newcommand{\file}[1]{\mbox{\tt #1}} \title{The {\tt fn2end.sty} style} \author{KC Border} \date{May 31, 1995} \begin{document} \maketitle The \file{fn2end.sty} package converts footnotes into end notes, where a lot of publishers want them. It does so by redefining the action of the \cs{footnote} command. Instead of putting footnotes at the bottom of the page, the notes are written to a file with extension \file{end}, whence they may be retrieved when desired. To handle footnotes on the title page flexibly, \cs{footnote} is not redefined until the \cs{makeendnotes} command is issued. Place the command \cs{theendnotes} where you want the notes to appear: after the last footnote, usually right before the bibliography. The \cs{theendotes} command merely \cs{inputs} the \file{end} file, it does {\em not} create a new section or a new page. If you do create a notes section with the \cs{section} command, you should follow it with an \cs{indent} command. Otherwise, the first note will be the only note that does not start with an indented paragraph. There are now user renewable commands. The length \cs{noteskip} is the space between the note number and the start of the note text. By default it is 1 em. Change its value with the \cs{setlength} command. You can use \cs{renewcommand} to change \cs{notenumberformat}, which formats the note number. By default it is defined as \begin{verbatim} \newcommand{\notenumberformat}[1]{$#1$} \end{verbatim} If you want the end note numbers to appear as superscripts with periods, you could \begin{verbatim} \renewcommand{\notenumberformat}[1]{${}^{#1.}$} \end{verbatim} Successive \cs{makeendnotes} commands overwrite the notes file. This is a feature, not a bug. For example: \begin{verbatim} \makeendnotes \chapter{One} blah \section*{Notes}\indent \theendnotes \makeendnotes \chapter{Two} blah \section*{Notes}\indent \theendnotes \end{verbatim} etc, can be used to put notes at the end of each chapter. (This is perverse because it makes the notes nearly impossible to find, but some publishers like it.) Additionally, \cs{restorefootnotes} restores the normal behavior of footnotes, so that if you really wanted to, you could have a title page for each chapter with acknowledgment footnotes on the bottom, and thereafter have end notes for the rest of the material in the chapter. {\em Bug}: Since \verb#\# is catcoded to 12 for verbatim copying, if your footnote's text contains an unequal number of \verb#\{#'s and \verb#\}#'s, for instance, if you have a \verb#\left\{# balanced by a \verb#\right.#, then \TeX\ believes you have unmatched braces and does not figure out where the argument of the \cs{footnote} command ends. (Believe it or not, this happened to me the first time I tried to use the style.) {\em Workaround}: Use \verb#\lbrace# and \verb#\rbrace# in your footnotes instead of \verb#\{# and \verb#\}#. \end{document}