summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/splitbib
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/splitbib')
-rw-r--r--Master/texmf-dist/source/latex/splitbib/splitbib.dtx87
1 files changed, 49 insertions, 38 deletions
diff --git a/Master/texmf-dist/source/latex/splitbib/splitbib.dtx b/Master/texmf-dist/source/latex/splitbib/splitbib.dtx
index b154dd08f9a..da8c49d2612 100644
--- a/Master/texmf-dist/source/latex/splitbib/splitbib.dtx
+++ b/Master/texmf-dist/source/latex/splitbib/splitbib.dtx
@@ -4,7 +4,8 @@
% splitbib.dtx
%
% Nicolas MARKEY <markey@lsv.ens-cachan.fr>
-% 2005/02/25
+% 2005/12/22
+% v1.17
%
% ===================================================================
%
@@ -37,7 +38,7 @@
\ProvidesFile{splitbib.dtx}
%</dtx>
%<+package>\ProvidesPackage{splitbib}
- [2005/02/25 v1.12 Splits bibliography into categories]
+ [2005/12/22 v1.17 Splits bibliography into categories]
% \end{macrocode}
%
%
@@ -50,7 +51,7 @@
% \end{macrocode}
% We do want an index, using linenumbers
% \begin{macrocode}
-\CheckSum{1872}
+\CheckSum{1860}
\StopEventually{}
\EnableCrossrefs
\CodelineIndex
@@ -95,6 +96,15 @@
% not expanded in v1.10. This led to
% wrong references when extra prefixes
% were used.}
+% \changes{1.12}{2005/02/25}{}
+% \changes{1.13}{2005/08/16}{}
+% \changes{1.14}{2005/11/26}{[export] doesn't export the number
+% if it will be computed correctly.}
+% \changes{1.15}{2005/11/27}{fix a bug in option reorder}
+% \changes{1.16}{2005/12/12}{fix a stupid bug in previous version}
+% \changes{1.17}{2005/12/22}{fix another bug related to reorder,
+% fix a bug with label prefixes}
+%
%
% \title{Split your bibliography into categories
% \thanks{This file has version number \fileversion,
@@ -192,7 +202,7 @@
% for the optional argument
% of \cmd\bibitem. In order to fully use their features, you should load
% \package{splitbib} with the \texttt{export} argument, so that their original
-% definitions of \cmd\bibitem will be used when processing the bibliography.
+% definitions of \cmd\bibitem{} will be used when processing the bibliography.
% Globally speaking, the \texttt{export} option should make \package{splitbib}
% compatible with many type of bibliography;
% \item Since
@@ -333,10 +343,12 @@
% \item \texttt{reorder} tells \package{splitbib} to use the order the entries
% appear in the \cmd\SBentries\ as the output order. The default is to
% keep the order the references appear in the \ext{bib}~file within each
-% (sub)categories.
+% (sub)categories. With \texttt{reorder}, entries that have no category
+% will be omitted.
% \item\texttt{export} will export the new \env{thebibliography} environment
% into an \ext{sbb}~file, similar to the \ext{bbl}~file, but with
-% categories. The default is not to create that file.
+% categories. The default is not to create that file, but you should consider
+% adding this option if you encounter compilation problems.
% \item\texttt{nonewchap} and \texttt{nonewsec} prevent \env{thebibliography}
% to start a new chapter or section.
% \end{itemize}
@@ -374,11 +386,11 @@
% \begin{macro}{NMSB@catlevelone}
% \begin{macro}{NMSB@catleveltwo}
% These two counters are used for numbering categories. Their initial value is
-% set to $10$ here. We require that the category number always has two digits,
+% set to~$10$ here. We require that the category number always has two digits,
% because it is important to ensure that the sorting number we will generate
-% all have the same number of digits (because the 11th entry in the first
-% category should be numberred differently from the 1st entry in the 11th
-% category). The definition below allows up to 89 categories (in fact, 90, but
+% all have the same number of digits (because the~11th entry in the first
+% category should be numberred differently from the 1st entry in the~11th
+% category). The definition below allows up to 89~categories (in fact, 90, but
% one is reserved as the "misc" category), and $89\times
% 89$ subcategories, which should be
% sufficient. It this is not, be aware that modifying the values below is not
@@ -421,7 +433,7 @@
% also have to modify the memory limits of \LaTeX{} anyway. However, as regards
% \package{splitbib}, this can be achieved by simply replacing "100" below by,
% say, "1000".
-% \cmd\NMSB@tok~is a token that will be used to protect commands against expansion.
+% {\makeatletter\cmd\NMSB@tok}~is a token that will be used to protect commands against expansion.
% \begin{macrocode}
\newcounter{NMSB@ent}
\newcounter{NMSB@maxent}
@@ -536,49 +548,49 @@
% Errors or warning... Names should be explicit.
% \begin{macrocode}
\def\NMSB@warnnocateg#1,\end{%
- \message{---- SortBib warning ----^^J%
+ \message{---- Splitbib warning ----^^J%
-- The following bib entries have no category: #1^^J}}
\def\NMSB@warndblcateg#1,\end{%
- \message{---- SortBib warning ----^^J%
+ \message{---- Splitbib warning ----^^J%
-- The following bib entries have several categories: #1^^J%
-- The first one will be used.^^J}}
\def\NMSB@warnwronglongest{%
\expandafter\NMSB@tok\expandafter{\NMSB@reallylongestlabel}
- \message{---- SortBib warning ----^^J%
+ \message{---- Splitbib warning ----^^J%
-- The longest label appears to be [\the\NMSB@tok]
instead of}
\@ifundefined{SBlongestlabel}{}{\message{(forced)}}
\expandafter\NMSB@tok\expandafter{\NMSB@longestlabel}
\message{[\the\NMSB@tok]^^J}}
\def\NMSB@errtoomanycat#1{%
- \message{---- SortBib error ----^^J%
+ \message{---- Splitbib error ----^^J%
-- You defined too many level-#1 categories (max = 89).^^J}}
\def\NMSB@errtoomanyent{%
\setcounter{NMSB@maxent}{\NMSB@initent0}
\addtocounter{NMSB@maxent}{-\NMSB@initent}
- \message{---- SortBib error ----^^J%
+ \message{---- Splitbib error ----^^J%
-- You defined too many entries in one category %
(max = \theNMSB@maxent)^^J}}
\def\NMSB@errcattoodeep{%
- \message{---- Sortbib error ----^^J
+ \message{---- Splitbib error ----^^J
-- Only two category depth allowed.^^J}}
\def\NMSB@errentriesoutsidecat{%
- \message{---- Sortbib error ----^^J
+ \message{---- Splitbib error ----^^J
-- \string\SBentries outside category environment.^^J}}
\def\NMSB@errentrieswithoptinsidecat{%
- \message{----Sortbib error ----^^J
+ \message{----Splitbib error ----^^J
-- \string\SBentries with optional argument inside category env.^^J}}
\def\NMSB@erraliasoutsidecat{%
- \message{----Sortbib error ----^^J
+ \message{----Splitbib error ----^^J
-- \string\SBalias used outside category environment.^^J}}
\def\NMSB@erraliasalreadydef#1{%
- \message{----Sortbib error ----^^J
+ \message{----Splitbib error ----^^J
-- Alias #1 multiply defined.^^J}}
\def\NMSB@erraliasundefined#1{%
- \message{----Sortbib error ----^^J
+ \message{----Splitbib error ----^^J
-- Alias #1 undefined.^^J}}
\def\NMSB@errcommentoutsidecat{%
- \message{----Sortbib error ----^^J
+ \message{----Splitbib error ----^^J
-- \string\SBcomment used outside category environment.^^J}}
% \end{macrocode}
% \end{macro}
@@ -668,10 +680,11 @@
% \begin{macro}{\endcategory}
% \begin{macro}{\NMSB@category}
% \begin{macro}{\lNMSB@category}
-% Definition of the \env{category} environment. While not too deep, we increase the
+% Definition of the \env{category} environment. While not too deep, we
+% increase the
% category number and define the corresponding title and prefix.
% \begin{macrocode}
-\def\category{\@ifnextchar[{\@lNMSBcategory}{\@NMSBcategory}}
+\def\category{\@ifnextchar[{\@lNMSBcategory}{\@lNMSBcategory[]}}
\def\@lNMSBcategory[#1]#2{%
\stepcounter{NMSB@catlevel}%
\ifnum\theNMSB@catlevel>2\relax
@@ -918,16 +931,16 @@
% These are the new \cmd\bibitem~commands. They won't print
% anything. Instead, they write their arguments in different commands
% named after the number of the current
-% entry. Longest label ia also evaluated.
+% entry. Longest label is also evaluated.
% \begin{macrocode}
\def\@lbibitem[#1]#2#3\par{%
\expandafter\ifx\csname NMSBcateg@#2\endcsname\relax
\expandafter\gdef\csname NMSBcateg@#2\endcsname{9999}%
\edef\NMSB@missingcat{\NMSB@missingcat #2,}%
- \ifNMSB@ownorder
- \expandafter\xdef\csname NMSBcateg@\@citeb\endcsname{%
- \csname NMSBcateg@\@citeb\endcsname\theNMSB@maxent}%
- \fi
+% \ifNMSB@ownorder
+% \expandafter\xdef\csname NMSBcateg@#2\endcsname{%
+% \csname NMSBcateg@#2\endcsname\theNMSB@maxent}%
+% \fi
\fi
\let\@tempa\relax
\ifNMSB@ownorder
@@ -987,10 +1000,10 @@
\def\@bibitem#1#2\par{%
\expandafter\ifx\csname NMSBcateg@#1\endcsname\relax
\expandafter\gdef\csname NMSBcateg@#1\endcsname{9999}%
- \ifNMSB@ownorder
- \expandafter\xdef\csname NMSBcateg@\@citeb\endcsname{%
- \csname NMSBcateg@\@citeb\endcsname\theNMSB@maxent}%
- \fi
+% \ifNMSB@ownorder
+% \expandafter\xdef\csname NMSBcateg@#1\endcsname{%
+% \csname NMSBcateg@#1\endcsname\theNMSB@maxent}%
+% \fi
\edef\NMSB@missingcat{\NMSB@missingcat #1,}%
\fi
\def\@tempa{}%
@@ -1255,17 +1268,15 @@
\immediate\write\NMSB@catbib{%
\string\bibitem}%
\expandafter\ifx\expandafter\relax\the\NMSB@currprefixtok
- \expandafter\def\expandafter\NMSB@tempentry
- \expandafter{\the\value{\@listctr}}%
\else
\expandafter\expandafter\expandafter\def
\expandafter\expandafter\expandafter\NMSB@tempentry
\expandafter\expandafter\expandafter{%
\expandafter\the\expandafter\NMSB@currprefixtok
\the\value{\@listctr}}%
+ \expandafter\NMSB@writecatbib\expandafter{%
+ \expandafter[\NMSB@tempentry]}%
\fi
- \expandafter\NMSB@writecatbib\expandafter{%
- \expandafter[\NMSB@tempentry]}%
\immediate\write\NMSB@catbib{%
{\csname NMSBkey@#5\endcsname}}
\expandafter\let\expandafter\NMSB@tempentry