From c37c1e5d8d50ed07fe74713f336af62d90ef9556 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Thu, 17 Jan 2008 07:19:17 +0000 Subject: notes2bib update from ctan git-svn-id: svn://tug.org/texlive/trunk@6277 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/notes2bib/README | 2 +- .../texmf-dist/doc/latex/notes2bib/notes2bib.pdf | Bin 239433 -> 243258 bytes .../source/latex/notes2bib/notes2bib.dtx | 184 ++++++++++++++------- .../texmf-dist/tex/latex/notes2bib/jawltxdoc.sty | 5 +- .../texmf-dist/tex/latex/notes2bib/notes2bib.sty | 81 +++++---- 5 files changed, 185 insertions(+), 87 deletions(-) (limited to 'Master') 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 Binary files a/Master/texmf-dist/doc/latex/notes2bib/notes2bib.pdf and b/Master/texmf-dist/doc/latex/notes2bib/notes2bib.pdf 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 @@ % %\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 -- cgit v1.2.3