diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/splitbib')
-rw-r--r-- | Master/texmf-dist/source/latex/splitbib/splitbib.dtx | 87 |
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 |