summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/latex/notes2bib/README2
-rw-r--r--Master/texmf-dist/doc/latex/notes2bib/notes2bib.pdfbin239433 -> 243258 bytes
-rw-r--r--Master/texmf-dist/source/latex/notes2bib/notes2bib.dtx184
-rw-r--r--Master/texmf-dist/tex/latex/notes2bib/jawltxdoc.sty5
-rw-r--r--Master/texmf-dist/tex/latex/notes2bib/notes2bib.sty81
5 files changed, 185 insertions, 87 deletions
diff --git a/Master/texmf-dist/doc/latex/notes2bib/README b/Master/texmf-dist/doc/latex/notes2bib/README
index 5b8db08ebd9..6ca127e5ab6 100644
--- a/Master/texmf-dist/doc/latex/notes2bib/README
+++ b/Master/texmf-dist/doc/latex/notes2bib/README
@@ -3,7 +3,7 @@ The notes2bib package --- Integrating notes into the
bibliography
Maintained by Joseph Wright
E-mail: joseph.wright@morningstar2.co.uk
-Released under the LaTeX Project Public License v1.3 or later
+Released under the LaTeX Project Public License v1.3c or later
See http://www.latex-project.org/lppl.txt
----------------------------------------------------------------
diff --git a/Master/texmf-dist/doc/latex/notes2bib/notes2bib.pdf b/Master/texmf-dist/doc/latex/notes2bib/notes2bib.pdf
index 233fb84c5da..d08b8df511c 100644
--- a/Master/texmf-dist/doc/latex/notes2bib/notes2bib.pdf
+++ b/Master/texmf-dist/doc/latex/notes2bib/notes2bib.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/notes2bib/notes2bib.dtx b/Master/texmf-dist/source/latex/notes2bib/notes2bib.dtx
index a342fc4ee82..6ebb3eff1c7 100644
--- a/Master/texmf-dist/source/latex/notes2bib/notes2bib.dtx
+++ b/Master/texmf-dist/source/latex/notes2bib/notes2bib.dtx
@@ -108,7 +108,7 @@
%</driver>
%\fi
%
-%\CheckSum{778}
+%\CheckSum{843}
%
%\CharacterTable
% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -140,23 +140,23 @@
% citations}
%\changes{v1.3}{2008/01/08}{Added \pkg{xkeyval} option interface}
%\changes{v1.3}{2008/01/08}{All options now work anywhere in input}
-%\changes{v1.3}{2008/01/08}{Fixed serious errors with \opt{sort=head}
-% and \opt{sort=tail} implementation}
+%\changes{v1.3}{2008/01/08}{Fixed serious errors with \opt{head}
+% and \opt{tail} implementation}
%
%\DoNotIndex{\@auxout,\@empty,\@fileswfalse,\@for,\@ifnextchar}
%\DoNotIndex{\@ifpackagelater,\@ifpackageloaded,\@ifundefined}
%\DoNotIndex{\@nameuse,\AtBeginDocument,\AtEndDocument}
%\DoNotIndex{\AtEndPreamble,\AtNextCite,\begingroup,\closeout}
-%\DoNotIndex{\DeclareRobustCommand,\def,\define@boolkey}
+%\DoNotIndex{\csname,\DeclareRobustCommand,\def,\define@boolkey}
%\DoNotIndex{\define@choicekey,\define@cmdkeys,\do,\edef,\else}
-%\DoNotIndex{\endgroup,\endinput,\expandafter,\fi,\g@addto@macro}
-%\DoNotIndex{\gappto,\gdef,\if@filesw,\iffalse,\ifnum,\ifx}
-%\DoNotIndex{\immediate,\jobname,\let,\long,\MessageBreak}
-%\DoNotIndex{\NeedsTeXFormat,\newcommand,\newcounter,\newif\newwrite}
+%\DoNotIndex{\endcsname,\endgroup,\endinput,\expandafter,\fi}
+%\DoNotIndex{\g@addto@macro,\gappto,\gdef,\if@filesw,\iffalse,\ifnum}
+%\DoNotIndex{\ifx,\immediate,\jobname,\let,\long,\MessageBreak}
+%\DoNotIndex{\NeedsTeXFormat,\newcommand,\newcounter,\newif}
%\DoNotIndex{\nocite,\noexpand,\openout,\PackageError,\PackageInfo}
-%\DoNotIndex{\PackageWarning,\patchcmd,\printbibliography}
+%\DoNotIndex{\newwrite,\PackageWarning,\patchcmd,\printbibliography}
%\DoNotIndex{\ProcessOptionsX,\ProvidesPackage,\relax,\renewcommand}
-%\DoNotIndex{\RequirePackage,\setkeys,\space\stepcounter,\string}
+%\DoNotIndex{\RequirePackage,\setkeys,\space,\stepcounter,\string}
%\DoNotIndex{\the,\typeout,\unexpanded,\value,\write,\xdef,\z@}
%
%\title{\currpkg\ --- Integrating notes into the
@@ -367,19 +367,13 @@
%
%\subsection{Interaction with other packages}
% \currpkg is designed to work well with as many other packages as
-% possible. It tries to avoid changing anything which other packages
-% may rely on. That said, it is best to load \currpkg \emph{after}
-% other packages that affect citations, footnotes or endnotes. As
-% usual, the \currpkg package should be loaded before
-% \pkg{hyperref}.\footnote{It is usually the case that \pkg{hyperref}
-% should be the very last package loaded in the preamble.}
-%
-% The \currpkg package is compatible with the current release of
-% \pkg{biblatex} (v0.7). As \pkg{biblatex} works very differently
-% from other citation systems, it must be loaded \emph{before}
-% \currpkg. This allows the package to adjust correctly for some
-% important differences in operation of the bibliography environment.
-% Older versions of \pkg{biblatex} \emph{will not work}.
+% possible. It has been tested with \pkg{cite}, \pkg{natbib},
+% \pkg{hyperref} and \pkg{mciteplus} with no problems. The \currpkg
+% package is compatible with the current release of \pkg{biblatex}
+% (v0.7); older versions of \pkg{biblatex} may or may not
+% work.\footnote{As \pkg{biblatex} is experimental and is not
+% currently added to \TeX\ distributions, users have little excuse
+% for not using the latest release.}
%
%\section{Special effects}
%\DescribeMacro{\flushnotestack}
@@ -436,6 +430,13 @@
% \bibnote{Some \texttt{\textbackslash verb}-like output}.
%\end{LaTeXexample}
%
+% The package relies on \BibTeX\ being able to open and process the
+% temporary database containing the note text. The name of this file
+% contains \cs{jobname}, the name of the main \LaTeX\ file being
+% processed. This must consist only of characters that \BibTeX\ can
+% handle. In particular, spaces in the file name will lead to
+% problems.
+%
%\bibliographystyle{unsrt}
%\renewcommand*{\refname}{Notes}
%\StopEventually{\printbibnotes}
@@ -522,12 +523,12 @@
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{notes2bib}
- [2008/01/09 v1.3a Integrating notes into the bibliography]
+ [2008/01/16 v1.3b Integrating notes into the bibliography]
% \end{macrocode}
% The package requires \eTeX, so before going any further, this is
% tested. This code is taken more-or-less verbatim from
% \pkg{biblatex}.
-%\changes{v1.1}{2007/09/29}{Require \eTeX extensions}
+%\changes{v1.1}{2007/09/29}{Require \eTeX\ extensions}
% \begin{macrocode}
\begingroup
\@ifundefined{eTeXversion}
@@ -550,8 +551,8 @@
{}
{\PackageError{notes2bib}
{xkeyval >= 2.5 required}
- {notes2bib requires the `xkeyval' package, version 2.5 or
- later.\MessageBreak The version loaded is:
+ {notes2bib requires the `xkeyval' package, version 2.5 or
+ later.\MessageBreak The version loaded is:
`\@nameuse{ver@etoolbox.sty}'.\MessageBreak
This is a fatal error; the package will abort.}%
\endinput}
@@ -638,7 +639,7 @@
%\subsection{Package options}
%\begin{macro}{\niib@opt@boolkey}
% To aid maintenance, some shortcuts are defined for generating keys.
-% These also allow the debugging messages to be added automatically
+% These also allow the debugging messages to be added automatically
% to every key.
% \begin{macrocode}
\newcommand*{\niib@opt@boolkey}[2][]{%
@@ -1083,20 +1084,26 @@
%\end{macro}
%\begin{macro}{\printbibnotes}
%\changes{v1.1}{2007/09/29}{Macro made robust}
+%\changes{v1.3b}{2008/01/16}{Definition moved to beginning of
+% document}
% To allow for the possibility of there being no other notes, a
% command to print only notes is given. In the \pkg{biblatex} case,
% the best that can be done is to issue \cs{printbibliography}.
% \begin{macrocode}
-\@ifpackageloaded{biblatex}
- {\let\printbibnotes\printbibliography}
- {\DeclareRobustCommand*{\printbibnotes}
- {\niib@org@bib{\niib@prefix\jobname}}}
+\AtBeginDocument{%
+ \@ifpackageloaded{biblatex}
+ {\let\printbibnotes\printbibliography}
+ {\DeclareRobustCommand*{\printbibnotes}
+ {\niib@org@bib{\niib@prefix\jobname}}}}
% \end{macrocode}
%\end{macro}
%\begin{macro}{\flushnotestack}
%\changes{v1.1}{2007/09/29}{Macro made robust}
%\changes{v1.3}{2008/01/08}{Fixed bug with empty stack}
%\changes{v1.3}{2008/01/08}{Renamed from \cs{flushcitestack}}
+%\changes{v1.3b}{2008/01/16}{Writes stack to \ext{aux} file}
+%\changes{v1.3b}{2008/01/16}{Added check for correct \opt{tail}
+% citations in \ext{aux} file}
% In order to delay citations to the end of the bibliography (and
% thus force others to the start), a ``stack'' is created of
% citations which need to be written to the \ext{aux} file. This
@@ -1104,11 +1111,18 @@
% again.
% \begin{macrocode}
\DeclareRobustCommand*{\flushnotestack}{%
+ \let\niib@taillist\niib@stack
+ \ifniib@rerun\else
+ \niib@checkrerun{tail}%
+ \fi
\ifx\@empty\niib@stack\@empty
\niib@log@debug{Citation stack empty: nothing for\MessageBreak
\noexpand\flushnotestack to do}%
\else%
\niib@log@debug{Flushing note citations to aux file}%
+ \if@filesw
+ \immediate\write\@auxout{\string\niibtailcite{\niib@stack}}%
+ \fi
\expandafter\nocite\expandafter{\niib@stack}%
\gdef\niib@stack{}%
\fi}
@@ -1196,7 +1210,7 @@
% stack. The stack is global (see also \cs{flushnotestack}).
% \begin{macrocode}
\newcommand*{\niib@addtostack}[1]{%
- \niib@log@debug{Adding citation #1 to stack}%
+ \niib@log@debug{Adding citation #1\MessageBreak to `tail' stack}%
\edef\niib@tempa{#1}%
\ifx\@empty\niib@stack\@empty
\xdef\niib@stack{\niib@tempa}%
@@ -1402,6 +1416,27 @@
%\end{macro}
%\end{macro}
%\end{macro}
+%\begin{macro}{\niib@tailcitelist}
+%\changes{v1.3b}{2008/01/16}{New macro}
+%\begin{macro}{\niibtailcite}
+%\changes{v1.3b}{2008/01/16}{New macro}
+%\begin{macro}{\niib@tempa}
+% To enable proper logging of citations when \opt{sort=tail}, a
+% similar system to the above is employed without the \cs{nocite}
+% part.
+% \begin{macrocode}
+\newcommand*{\niib@tailcitelist}{}
+\newcommand*{\niibtailcite}[1]{%
+ \edef\niib@tempa{#1}%
+ \ifx\@empty\niib@tailcitelist\@empty
+ \xdef\niib@tailcitelist{\niib@tempa}%
+ \else
+ \xdef\niib@tailcitelist{\niib@tailcitelist,\niib@tempa}%
+ \fi}
+% \end{macrocode}
+%\end{macro}
+%\end{macro}
+%\end{macro}
%\begin{macro}{\niib@auxhook}
%\changes{v1.3}{2008/01/08}{New macro}
%\begin{macro}{\niib@dochook}
@@ -1475,31 +1510,38 @@
% \end{macrocode}
%\end{macro}
%\begin{macro}{\niib@checkrerun}
+%\changes{v1.3b}{2008/01/16}{Added ability to check for both
+% \opt{head} and \opt{tail} re-runs}
+%\changes{v1.3b}{2008/01/16}{Bug fix with logging for
+% \opt{debug} logging}
% Any ``head'' notes may mean a second \LaTeX\ run is needed.
% \begin{macrocode}
-\newcommand*{\niib@checkrerun}{%
+\newcommand*{\niib@checkrerun}[1]{%
\niib@rerunfalse
- \ifx\@empty\niib@headlist\@empty
- \ifx\@empty\niib@headcitelist\@empty
- \niib@log@debug{No `head' notes detected}%
+ \expandafter\ifx\expandafter\@empty\csname niib@#1list\endcsname%
+ \@empty
+ \expandafter\ifx\expandafter\@empty\csname niib@#1citelist%
+ \endcsname\@empty
+ \niib@log@debug{No `#1' notes detected}%
\else
\niib@reruntrue
- \niib@log@debug{No `head' notes found this run\MessageBreak
- but .aux files contained the `head' requests:\MessageBreak
- \niib@headcitelist}%
+ \niib@log@debug{No `#1' notes found this run\MessageBreak
+ but .aux files contained the `#1' requests:\MessageBreak
+ \csname niib@#1citelist\endcsname}%
\fi
\else
- \ifx\@empty\niib@headcitelist\@empty
+ \expandafter\ifx\expandafter\@empty\csname niib@#1citelist%
+ \endcsname\@empty
\niib@reruntrue
- \niib@log@debug{No `head' requests in .aux file\MessageBreak
- but `head' notes in this run:\MessageBreak
- \niib@headlist}%
+ \niib@log@debug{No `#1' requests in .aux file\MessageBreak
+ but `#1' notes in this run:\MessageBreak
+ \csname niib@#1list\endcsname}%
\else
% \end{macrocode}
-% If the package gets here, then there are some head notes and some head
+% If the package gets here, then there are some notes and some
% requests in the aux file. The two lists are now compared.
% \begin{macrocode}
- \niib@checklists%
+ \niib@checklists{#1}%
\fi
\fi
\ifniib@rerun
@@ -1508,7 +1550,8 @@
% automated requests are made. The package does not know if \BibTeX8
% is in use, so just asks for \BibTeX.
% \begin{macrocode}
- \niib@log@warn{Rerun LaTeX to get correct `head' notes}%
+ \niib@log@warn{Rerun LaTeX to get correct \MessageBreak
+ `#1' notes}%
\niib@log@warn{Please (re)run BibTeX on the file(s):
\MessageBreak\jobname.aux
\MessageBreak and rerun LaTeX afterwards.}%
@@ -1522,51 +1565,75 @@
% \end{macrocode}
%\end{macro}
%\begin{macro}{\niib@checklists}
+%\changes{v1.3b}{2008/01/16}{Added ability to check for both
+% \opt{sort=head} and \opt{sort=tail}}
%\begin{macro}{\niib@tempa}
%\begin{macro}{\niib@tempb}
% The business end of comparing the two lists. Two sweeps are made,
% to check that the lists match entirely.
% \begin{macrocode}
-\newcommand*{\niib@checklists}{%
- \@for\niib@tempa:=\niib@headlist\do{%
+\newcommand*{\niib@checklists}[1]{%
+% \end{macrocode}
+%\begin{macro}{\niib@list}
+%\changes{v1.3b}{2008/01/16}{New macro}
+%\begin{macro}{\niib@citelist}
+%\changes{v1.3b}{2008/01/16}{New macro}
+% To allow \cs{niib@checklists} to handle both \opt{sort=head} and
+% \opt{sort=tail} citations, the expanded list is needed for the
+% \cs{@for} loops.
+% \begin{macrocode}
+ \expandafter\edef\expandafter\niib@list\expandafter%
+ {\csname niib@#1list\endcsname}%
+ \expandafter\edef\expandafter\niib@citelist\expandafter%
+ {\csname niib@#1citelist\endcsname}%
+% \end{macrocode}
+%\end{macro}
+%\end{macro}
+% The loops can now being.
+% \begin{macrocode}
+ \@for\niib@tempa:=\niib@list\do{%
\niib@reruntrue
- \@for\niib@tempb:=\niib@headcitelist\do{%
+ \@for\niib@tempb:=\niib@citelist\do{%
\ifx\niib@tempa\niib@tempb
\niib@rerunfalse
\fi}
\ifniib@rerun
- \niib@log@debug{Note \niib@tempa is a `head' note
+ \niib@log@debug{Note \niib@tempa\space is a `#1' note
\MessageBreak but request not in .aux file}%
\fi}
\ifniib@rerun\else
- \@for\niib@tempa:=\niib@headcitelist\do{%
+ \@for\niib@tempa:=\niib@citelist\do{%
\niib@reruntrue
- \@for\niib@tempb:=\niib@headlist\do{%
+ \@for\niib@tempb:=\niib@list\do{%
\ifx\niib@tempa\niib@tempb
\niib@rerunfalse
\fi}
\ifniib@rerun
- \niib@log@debug{Note \niib@tempa is set to `head' in
- .aux\MessageBreak file but is not a `head' note}%
+ \niib@log@debug{Note \niib@tempa\space is set to `#1' in
+ .aux\MessageBreak file but is not a `#1' note}%
\fi}
\fi}
% \end{macrocode}
%\end{macro}
%\end{macro}
%\end{macro}
+%\begin{macro}{\niib@taillist}
+%\changes{v1.3b}{2008/01/16}{New macro}
% At the end of the document, any delayed citations are written to the
% \ext{aux} file, and the database file is closed cleanly. A check is
% also made for the need for an additional \LaTeX\ run for ``head''
% notes.
% \begin{macrocode}
\AtEndDocument{%
+ \niib@rerunfalse
+ \niib@checkrerun{head}%
\flushnotestack%
- \niib@checkrerun%
\@ifundefined{niib@out}{}
{\immediate\closeout\niib@out%
\niib@log@debug{Closed BibTeX database file\MessageBreak
\niib@stream}}}
% \end{macrocode}
+%\end{macro}
% Options are processed at the end of the package, to avoid any odd
% issues arising with definition of macros.
% \begin{macrocode}
@@ -1581,6 +1648,8 @@
% \Finale
%\iffalse
%<*jawltxdoc>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{jawltxdoc}
\usepackage[T1]{fontenc}
\usepackage[english,UKenglish]{babel}
\usepackage[scaled=0.95]{helvet}
@@ -1690,7 +1759,8 @@
\newcommand*{\pkg}[1]{\textsf{#1}}
\newcommand*{\currpkg}{\pkg{\jobname}\xspace}
\newcommand*{\opt}[1]{\texttt{#1}}
-\newcommand*{\ext}[1]{\texttt{.#1}}
+\newcommand*{\file}[1]{\texttt{#1}}
+\newcommand*{\ext}[1]{\file{.#1}}
\newcommand*{\latin}[1]{\emph{#1}}
\newcommand*{\etc}{%
\@ifnextchar.
diff --git a/Master/texmf-dist/tex/latex/notes2bib/jawltxdoc.sty b/Master/texmf-dist/tex/latex/notes2bib/jawltxdoc.sty
index 4b82f48aec4..de0948ae76f 100644
--- a/Master/texmf-dist/tex/latex/notes2bib/jawltxdoc.sty
+++ b/Master/texmf-dist/tex/latex/notes2bib/jawltxdoc.sty
@@ -13,6 +13,8 @@
%% See http://www.latex-project.org/lppl.txt
%% ----------------------------------------------------------------
%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{jawltxdoc}
\usepackage[T1]{fontenc}
\usepackage[english,UKenglish]{babel}
\usepackage[scaled=0.95]{helvet}
@@ -122,7 +124,8 @@
\newcommand*{\pkg}[1]{\textsf{#1}}
\newcommand*{\currpkg}{\pkg{\jobname}\xspace}
\newcommand*{\opt}[1]{\texttt{#1}}
-\newcommand*{\ext}[1]{\texttt{.#1}}
+\newcommand*{\file}[1]{\texttt{#1}}
+\newcommand*{\ext}[1]{\file{.#1}}
\newcommand*{\latin}[1]{\emph{#1}}
\newcommand*{\etc}{%
\@ifnextchar.
diff --git a/Master/texmf-dist/tex/latex/notes2bib/notes2bib.sty b/Master/texmf-dist/tex/latex/notes2bib/notes2bib.sty
index 8a33989a8b1..6ec80a119a7 100644
--- a/Master/texmf-dist/tex/latex/notes2bib/notes2bib.sty
+++ b/Master/texmf-dist/tex/latex/notes2bib/notes2bib.sty
@@ -15,7 +15,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{notes2bib}
- [2008/01/09 v1.3a Integrating notes into the bibliography]
+ [2008/01/16 v1.3b Integrating notes into the bibliography]
\begingroup
\@ifundefined{eTeXversion}
{\PackageError{notes2bib}
@@ -262,16 +262,24 @@
{\niib@mark[\thebibnote]}}
\DeclareRobustCommand*{\bibnotetext}[1][\thebibnote]{%
\niib@text{#1}}
-\@ifpackageloaded{biblatex}
- {\let\printbibnotes\printbibliography}
- {\DeclareRobustCommand*{\printbibnotes}
- {\niib@org@bib{\niib@prefix\jobname}}}
+\AtBeginDocument{%
+ \@ifpackageloaded{biblatex}
+ {\let\printbibnotes\printbibliography}
+ {\DeclareRobustCommand*{\printbibnotes}
+ {\niib@org@bib{\niib@prefix\jobname}}}}
\DeclareRobustCommand*{\flushnotestack}{%
+ \let\niib@taillist\niib@stack
+ \ifniib@rerun\else
+ \niib@checkrerun{tail}%
+ \fi
\ifx\@empty\niib@stack\@empty
\niib@log@debug{Citation stack empty: nothing for\MessageBreak
\noexpand\flushnotestack to do}%
\else%
\niib@log@debug{Flushing note citations to aux file}%
+ \if@filesw
+ \immediate\write\@auxout{\string\niibtailcite{\niib@stack}}%
+ \fi
\expandafter\nocite\expandafter{\niib@stack}%
\gdef\niib@stack{}%
\fi}
@@ -308,7 +316,7 @@
required.^^J}
\newcommand*{\niib@stack}{}
\newcommand*{\niib@addtostack}[1]{%
- \niib@log@debug{Adding citation #1 to stack}%
+ \niib@log@debug{Adding citation #1\MessageBreak to `tail' stack}%
\edef\niib@tempa{#1}%
\ifx\@empty\niib@stack\@empty
\xdef\niib@stack{\niib@tempa}%
@@ -395,6 +403,14 @@
\niib@log@debug{Adding citation #1 to start of .aux file}%
\fi
\g@addto@macro{\niib@dochook}{\nocite{#1}}}
+\newcommand*{\niib@tailcitelist}{}
+\newcommand*{\niibtailcite}[1]{%
+ \edef\niib@tempa{#1}%
+ \ifx\@empty\niib@tailcitelist\@empty
+ \xdef\niib@tailcitelist{\niib@tempa}%
+ \else
+ \xdef\niib@tailcitelist{\niib@tailcitelist,\niib@tempa}%
+ \fi}
\newcommand*{\niib@dochook}{%
\@ifundefined{@restore@auxhandle}
{\newcommand*{\@restore@auxhandle}{\niib@auxhook}}
@@ -420,29 +436,33 @@
\niib@log@debug{Added bibnote database to
\noexpand\bibliography}}}
\newif\ifniib@rerun
-\newcommand*{\niib@checkrerun}{%
+\newcommand*{\niib@checkrerun}[1]{%
\niib@rerunfalse
- \ifx\@empty\niib@headlist\@empty
- \ifx\@empty\niib@headcitelist\@empty
- \niib@log@debug{No `head' notes detected}%
+ \expandafter\ifx\expandafter\@empty\csname niib@#1list\endcsname%
+ \@empty
+ \expandafter\ifx\expandafter\@empty\csname niib@#1citelist%
+ \endcsname\@empty
+ \niib@log@debug{No `#1' notes detected}%
\else
\niib@reruntrue
- \niib@log@debug{No `head' notes found this run\MessageBreak
- but .aux files contained the `head' requests:\MessageBreak
- \niib@headcitelist}%
+ \niib@log@debug{No `#1' notes found this run\MessageBreak
+ but .aux files contained the `#1' requests:\MessageBreak
+ \csname niib@#1citelist\endcsname}%
\fi
\else
- \ifx\@empty\niib@headcitelist\@empty
+ \expandafter\ifx\expandafter\@empty\csname niib@#1citelist%
+ \endcsname\@empty
\niib@reruntrue
- \niib@log@debug{No `head' requests in .aux file\MessageBreak
- but `head' notes in this run:\MessageBreak
- \niib@headlist}%
+ \niib@log@debug{No `#1' requests in .aux file\MessageBreak
+ but `#1' notes in this run:\MessageBreak
+ \csname niib@#1list\endcsname}%
\else
- \niib@checklists%
+ \niib@checklists{#1}%
\fi
\fi
\ifniib@rerun
- \niib@log@warn{Rerun LaTeX to get correct `head' notes}%
+ \niib@log@warn{Rerun LaTeX to get correct \MessageBreak
+ `#1' notes}%
\niib@log@warn{Please (re)run BibTeX on the file(s):
\MessageBreak\jobname.aux
\MessageBreak and rerun LaTeX afterwards.}%
@@ -453,32 +473,37 @@
REQ:1:latex:REQ}%
\fi
\fi}
-\newcommand*{\niib@checklists}{%
- \@for\niib@tempa:=\niib@headlist\do{%
+\newcommand*{\niib@checklists}[1]{%
+ \expandafter\edef\expandafter\niib@list\expandafter%
+ {\csname niib@#1list\endcsname}%
+ \expandafter\edef\expandafter\niib@citelist\expandafter%
+ {\csname niib@#1citelist\endcsname}%
+ \@for\niib@tempa:=\niib@list\do{%
\niib@reruntrue
- \@for\niib@tempb:=\niib@headcitelist\do{%
+ \@for\niib@tempb:=\niib@citelist\do{%
\ifx\niib@tempa\niib@tempb
\niib@rerunfalse
\fi}
\ifniib@rerun
- \niib@log@debug{Note \niib@tempa is a `head' note
+ \niib@log@debug{Note \niib@tempa\space is a `#1' note
\MessageBreak but request not in .aux file}%
\fi}
\ifniib@rerun\else
- \@for\niib@tempa:=\niib@headcitelist\do{%
+ \@for\niib@tempa:=\niib@citelist\do{%
\niib@reruntrue
- \@for\niib@tempb:=\niib@headlist\do{%
+ \@for\niib@tempb:=\niib@list\do{%
\ifx\niib@tempa\niib@tempb
\niib@rerunfalse
\fi}
\ifniib@rerun
- \niib@log@debug{Note \niib@tempa is set to `head' in
- .aux\MessageBreak file but is not a `head' note}%
+ \niib@log@debug{Note \niib@tempa\space is set to `#1' in
+ .aux\MessageBreak file but is not a `#1' note}%
\fi}
\fi}
\AtEndDocument{%
+ \niib@rerunfalse
+ \niib@checkrerun{head}%
\flushnotestack%
- \niib@checkrerun%
\@ifundefined{niib@out}{}
{\immediate\closeout\niib@out%
\niib@log@debug{Closed BibTeX database file\MessageBreak