From bca732987b42c911889968726ba0d998ce80e5d4 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 12 Jan 2006 23:52:13 +0000 Subject: biblist git-svn-id: svn://tug.org/texlive/trunk@709 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/biblist/biblist.sty | 677 ++++++++++++++++++++++++ 1 file changed, 677 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/biblist/biblist.sty (limited to 'Master/texmf-dist/tex/latex/biblist') diff --git a/Master/texmf-dist/tex/latex/biblist/biblist.sty b/Master/texmf-dist/tex/latex/biblist/biblist.sty new file mode 100644 index 00000000000..2effaed4211 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblist/biblist.sty @@ -0,0 +1,677 @@ +% $Id: biblist.doc,v 1.4 1992/01/13 16:35:56 schrod Exp schrod $ +%---------------------------------------------------------------------- +% Copyright (c) 1991 by J.Schrod . +% Distributed under the terms of the GNU General Public License. + +% +% LaTeX style option biblist for article style +% +% [LaTeX in MAKEPROG] + + +% +% $Log: biblist.doc,v $ +% Revision 1.4 1992/01/13 16:35:56 schrod +% Added examples, repaired headline. +% Called \reset@font where appropriate. +% October 91 version of LaTeX was delayed until December 91. Readers +% might be disturbed if there is the notion of a nonexistant version. +% +% Revision 1.3 1991/10/14 14:10:21 schrod +% mentioned that this option is supported. +% moved local guide section to separate file. +% +% Revision 1.2 1991/10/10 16:13:31 schrod +% changed email address. +% mentioned LaTeX 2.09 (just announced). +% +% Revision 1.1 1991/04/13 15:03:08 schrod +% Initial revision +% + + + + +%%%% +%%%% +%%%% These TeX macros were documented with the documentation system +%%%% MAKEPROG and automatically converted to the current form. +%%%% If you have MAKEPROG available you may transform it back to +%%%% the original input: Remove every occurence of three percents +%%%% and one optional blank from the beginning of a line and remove +%%%% every line which starts with four percents. The following lex +%%%% program will do this: +%%%% +%%%% %% +%%%% +%%%% ^%%%\ ? ; +%%%% ^%%%%.*\n ; +%%%% +%%%% MAKEPROG may be obtained via ftp from ftp.th-darmstadt.de +%%%% (directory pub/tex/src-webware) and from the Bitnet-Listserver +%%%% LISTSERV@DHDURZ1 (filelist WEBWARE). +%%%% If you only want to print out the documentation you may fetch +%%%% the archive print-makeprog.tar.Z from ftp.th-darmstadt.de (directory +%%%% pub/tex/latex). It contains *all* used styles -- but beware, they +%%%% may not be documented... +%%%% +%%%% +%%% \documentstyle[progltx,a4-9,rcs,names,biblist]{article} + + +%%% % We need biblist for the examples and do therefore include it. But it +%%% % sets the headline (see below ;-). So we just reset it again to the +%%% % value it had before. Well, it's a kind of a kludge, but it works... +%%% \pagestyle{plain} + +%%% % The examples will consist of framed pseudo-output. We'll need a +%%% % variable for the width of these examples. +%%% \newdimen\examplewidth + + +%%% \nofiles % don't need an aux file + + +%%% \begin{document} + + +%%% \title{The {\tt biblist\/} Style Option} +%%% \author{% % LaTeX does not discard unnecessary glue... +%%% Joachim Schrod% +%%% \thanks{% +%%% TU~Darmstadt, Alexanderstr.~10, D-6100 Darmstadt, Germany.\newline +%%% Email: {\tt schrod@iti.informatik.th-darmstadt.de}.% +%%% }% +%%% } +%%% \RCSdate $Date: 1992/01/13 16:35:56 $ + +%%% \maketitle + + + +%%% \chap What's this style option for?. + +%%% This style option is appropriate to create a typeset listing of a +%%% (possibly large) \BibTeX{} input file. With such large files -- +%%% especially, if the cite keys are long -- the needed string space is +%%% often exceeded. Often a Big\TeX{} is available to circumstance this +%%% problem, but with this style option each \TeX{} will do it. + +%%% You have to prepare a \LaTeX{} document which uses the |article| +%%% style and the |biblist| style option. You may add almost all other +%%% style options, as you wish, e.g., |twoside|, |german| (or other +%%% language style options), |a4|, etc. This style option must be used +%%% with a ragged bottom; this has the effect, that it cannot be used with +%%% |twocolumn| or |multicol|. + +%%% You must issue a |\bibliography| tag which names all \BibTeX{} +%%% databases which you want to print. You may issue a +%%% |\bibliographystyle| tag to specify how \BibTeX{} will process its +%%% databases. (In fact, you usually must issue it since the default +%%% bibliography style is not available on most installations; see +%%% below.) You may issue |\nocite| commands if you want to print only +%%% selected entries from the databases. + + +%%% \sect If you have not issued the |\bibliographystyle| tag, the +%%% |biblist| bibliography style will be used. This is a non-abbreviating +%%% style which does not do any sorting and no case conversion to titles. +%%% The field |isbn| is recognized for books (and parts of), and the +%%% field |issn| is recognized for articles and such. In addition, it +%%% provides the additional fields |library| and |annote| for all entry +%%% types. The usage of these fields depends on the definition of +%%% appropriate \TeX{} macros (which are supplied by this style option). + +%%% On interest I can provide a diff to |btxbst.doc|. + + +%%% \sect A ``bug'' you may encounter is that |\cite| tags within +%%% \BibTeX{} entries will not be processed. Instead the cite key itself +%%% will be printed. Note that this is not a bug, this is a feature! You +%%% have to use |\nocite| tags for {\it all\/} entries that shall be +%%% included in the listing. If you do not give any |\nocite| tag at all, +%%% a listing with all entries is created. + +%%% Note that this style option assumes that you use either a version of +%%% \LaTeX{}~2.09 after December~1991, I\LaTeX{}, or the {\sf babel} +%%% system. Particulary, it requires the definition of |\refname| (i.e., +%%% the title of the ``references section'') which is supplied by these +%%% systems. (Of course, you may supply this definition by yourself.) + + +%%% \sect The entries in the resulting listing are formatted as follows: +%%% % +%%% \begin{description} + +%%% \item[\tt cite key] \leavevmode \null \dotfill \quad {\sf (Library info)}\break +%%% Author(s).\\ +%%% Title.\\ +%%% Publication info.\\ +%%% Notes.\\ +%%% \null \qquad {\footnotesize Annotation} + +%%% \end{description} +%%% % +%%% I.e., an open format is used. Although this needs more space I think +%%% the enhanced legibility pays back. + +%%% Note that you will not get the `Library info' and the `Annotation' in +%%% the above format if your bibliography style does not supply this +%%% information with the assumed markup. (See above for the |biblist| +%%% bibliography style.) The parenthesis around the library info are +%%% produced by this style option, not by \BibTeX{}. + + +%%% \sect {\it Example\/}:\quad Suppose, there is a file |typography.bib| +%%% with references on typography. +%%% % +%%% \begin{quote} +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% \begin{verbatim} +%%% % typography.bib 13 Jan 92 +%%% %------------------------------------------------------------ + +%%% % +%%% % References on Typographie, Typesetting, and Book Design +%%% % + +%%% % !!!! This is a kludge for biblist.doc !!!! +%%% @preamble{" +%%% \font\tenlogo=logo10 +%%% \let\logo=\tenlogo +%%% \def\MF{{\logo META}\-{\logo FONT}} +%%% "} + +%%% @book{typo:tschichold:selected, +%%% author = {Jan Tschichold}, +%%% title = {Ausgew\"ahlte Aufs\"atze \"uber Fragen der Gestalt des +%%% Buches und der Typographie}, +%%% publisher = {Birkh\"auser}, +%%% address = {Basel}, +%%% year = 1975, +%%% isbn = {3-7643-1946-1}, +%%% note = {A second, unchanged, edition appeared in~1987.}, +%%% library = {}, +%%% annote = {A collection of his ``classic'' papers. The best book on +%%% typographic principles read so far. A definitive `{\it +%%% must\/}' for everyone interested in typography, book design, +%%% or typesetting.} +%%% } + +%%% @article{typo:blostein:music, +%%% author = {Dorothea Blostein}, +%%% title = {Justification of Printed Music}, +%%% journal = cacm, +%%% volume = 34, +%%% number = 3, +%%% month = mar, +%%% year = 1991, +%%% pages = {88-99}, +%%% annote = {Presents problems and solutions of the task to create a +%%% correct spacing while setting notes. The proposed method also +%%% takes the temporal relationship of notes into account. +%%% Handles two-dimensional layout, e.g., staffs and texts.} +%%% } + +%%% @book{typo:sta:zapf, +%%% title = {Herrman Zapf and his Design Philosophy}, +%%% publisher = {Society of Typographic Arts}, +%%% address = {Chicago}, +%%% year = 1987, +%%% isbn = {0-941447-00-6}, +%%% note = {}, +%%% library = {}, +%%% annote = {A valuable book. A chapter on his work around \MF{} is +%%% included. Was among the most beautiful books of the year.} +%%% } +%%% \end{verbatim} +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% \end{quote} +%%% % +%%% Furthermore assume that the bibliography style |biblist| is +%%% available. Then the \LaTeX{} file +%%% % +%%% \begin{verbatim} +%%% \documentstyle[biblist]{article} + +%%% \begin{document} + +%%% \bibliography{typography} + +%%% \end{document} +%%% \end{verbatim} +%%% % +%%% may be used to create a listing with all entries. You have to run +%%% \LaTeX{}, \BibTeX{}, and \LaTeX{}. (Careful readers will note that +%%% there will be a \BibTeX{} warning about a missing author or editor in +%%% the Zapf entry.) You do {\it not\/} need to run \LaTeX{} twice after +%%% the \BibTeX{} run. The result looks like this: +%%% % +%%% \begin{quote} +%%% \examplewidth=\linewidth +%%% \advance\examplewidth by -2\fboxrule +%%% \advance\examplewidth by -2\fboxsep +%%% \fbox{% +%%% \begin{minipage}{\examplewidth} +%%% \section*{References} + +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% % +%%% % We must fake a little bit to include it here. \bibitem gobbles the +%%% % next character since it thinks it's a line end. (This might be a +%%% % problem for itself, but untill now all bibliography styles put +%%% % \bibitem on an own line.) We must supply a token which might be +%%% % eaten by \bibitem. Best to use a \relax for this. +%%% % +%%% \font\tenlogo=logo10 \let\logo=\tenlogo \def\MF{{\logo META}\-{\logo FONT}} +%%% \begin{thebibliography}{1} + +%%% \bibitem{typo:tschichold:selected}\relax +%%% Jan Tschichold. +%%% \newblock {\it Ausgew\"ahlte Aufs\"atze \"uber Fragen der Gestalt des Buches +%%% und der Typographie}. +%%% \newblock Birkh\"auser, Basel, 1975. ISBN~3-7643-1946-1. +%%% \newblock A second, unchanged, edition appeared in~1987. +%%% \newblock +%%% \annote A collection of his ``classic'' papers. The best book on typographic +%%% principles read so far. A definitive `{\it must\/}' for everyone interested +%%% in typography, book design, or typesetting. +%%% \endannote. + +%%% \bibitem{typo:blostein:music}\relax +%%% Dorothea Blostein. +%%% \newblock Justification of Printed Music. +%%% \newblock {\it Communications of the ACM}, 34(3):88--99, March 1991. +%%% \newblock +%%% \annote Presents problems and solutions of the task to create a correct spacing +%%% while setting notes. The proposed method also takes the temporal relationship +%%% of notes into account. Handles two-dimensional layout, e.g., staffs and +%%% texts. +%%% \endannote. + +%%% \bibitem{typo:sta:zapf}\relax +%%% {\it Herrman Zapf and his Design Philosophy}. +%%% \newblock Society of Typographic Arts, Chicago, 1987. ISBN~0-941447-00-6. +%%% \newblock +%%% \annote A valuable book. A chapter on his work around \MF{} is included. Was +%%% among the most beautiful books of the year. +%%% \endannote. + +%%% \end{thebibliography} +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% \end{minipage}% +%%% } +%%% \end{quote} + +%%% \bigskip + +%%% Otherwise -- without the |biblist| bibliography style -- you must issue +%%% an appopriate tag. The following result was produced with |unsrt|: +%%% % +%%% \begin{quote} +%%% \examplewidth=\linewidth +%%% \advance\examplewidth by -2\fboxrule +%%% \advance\examplewidth by -2\fboxsep +%%% \fbox{% +%%% \begin{minipage}{\examplewidth} +%%% \section*{References} + +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% % +%%% % Here the same reason for inserting \relax'es as in the previous +%%% % example applies. +%%% % +%%% \font\tenlogo=logo10 \let\logo=\tenlogo \def\MF{{\logo META}\-{\logo FONT}} +%%% \begin{thebibliography}{1} + +%%% \bibitem{typo:tschichold:selected}\relax +%%% Jan Tschichold. +%%% \newblock {\em Ausgew\"ahlte Aufs\"atze \"uber Fragen der Gestalt des Buches +%%% und der Typographie}. +%%% \newblock Birkh\"auser, Basel, 1975. +%%% \newblock A second, unchanged, edition appeared in~1987. + +%%% \bibitem{typo:blostein:music}\relax +%%% Dorothea Blostein. +%%% \newblock Justification of printed music. +%%% \newblock {\em Communications of the ACM}, 34(3):88--99, March 1991. + +%%% \bibitem{typo:sta:zapf}\relax +%%% {\em Herrman Zapf and his Design Philosophy}. +%%% \newblock Society of Typographic Arts, Chicago, 1987. + +%%% \end{thebibliography} +%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%% \end{minipage}% +%%% } +%%% \end{quote} + +%%% Of course, the ISBN numbers and the annotations are missing, since +%%% |unsrt| does not extract them from the database. (Careful readers +%%% will notice another difference: The |biblist| bibliography style does +%%% not lower titles of articles as the standard styles do.) + + +%%% \sect The preferred style for this style option is |article|. In fact, +%%% all styles which use |\raggedbottom| will work. This is because a page +%%% break within an entry is not allowed and the flexibility at the page +%%% bottom is needed. + + +%%% \sect As a future enhancement one could place an info on the starting +%%% and the finishing entry on this page in the headline, like in a +%%% dictionary. + + +%%% \sect This program is free software; you can redistribute it and/or +%%% modify it under the terms of the GNU General Public License as +%%% published by the Free Software Foundation; either version~1, or (at your +%%% option) any later version. + +%%% This program is distributed in the hope that it will be useful, but +%%% {\bf without any warranty\/}; without even the implied warranty of +%%% {\bf merchantability\/} or {\bf fitness for a particular purpose}. See +%%% the GNU General Public License for more details. + +%%% You should have received a copy of the GNU General Public License +%%% along with this program; if not, write to the Free Software Foundation, +%%% Inc., 675~Mass Ave, Cambridge, MA~02139, USA. + + +%%% \sect This style option is supported. Send bug reports, comments and +%%% repairs. + + + + +%%% \chap Implementation. + +%%% The main work is to supply the environment |thebibliography|; in +%%% fact, we implement it as a |description| environment. The environment +%%% gets an (unused) argument. In addition we have to supply a correct +%%% expansion for the |\bibitem| tag which takes the cite key as its +%%% argument. Of course, this will result in an |\item|. After the +%%% |\bibitem| a |\library| tag may follow, with one parameter followed +%%% by a period. Then comes the reference, the (optional) annotation is +%%% an own block, enclosed in |\annote| and |\endannote|. After +%%% |\endannote| comes a period which should be discarded. (This should +%%% be done in the \BibTeX{} style, but nevertheless\,\dots) + +%%% Later we will look for the things which would not be needed, but make +%%% life easier. + + +%%% \sect Before we start we declare some shorthands for category codes. +%%% By declaring the underscore~`(|_|)' as letter we can use it in our +%%% macros. (I agree with {\sc D.~Knuth} that +%%% |\identifier_several_words_long| is more readable than +%%% |\IdentifierSeveralWordsLong| and in every case better than +%%% |\p@@@s|.) As this is a \LaTeX{} style option the at sign is a letter +%%% anyhow; so we can use the ``private'' Plain and \LaTeX{} macros; and +%%% with the underscore we can make our own macros more readable. But as +%%% we have to restore this category code at the end of this macro file +%%% we store its former value in the control sequence |\uscode|. This +%%% method is better than to use a group because not all macros have to +%%% be defined global this way. + +%%% \beginprog +\chardef\escape=0 +\chardef\open=1 +\chardef\close=2 +\chardef\letter=11 +\chardef\other=12 +%\chardef\active=13 % is defined in Plain already + +\chardef\uscode=\catcode`\_ % top level macro file! + +\catcode`\_=\letter +%%% \endprog + + +%%% \sect Another care activity is needed: Users of the New Font +%%% Selection Scheme (NFSS) will perhaps change the fonts in an +%%% unexpected manner. \LaTeX{} since December~1991 (and, of course, NFSS +%%% itself) provides the macro |\reset@font| to reset the font selection +%%% stuff to a defined state. Since this style might be used with older +%%% \LaTeX{} versions (e.g., with I\LaTeX{}) we will provide this macro. + +%%% \beginprog +\ifx \reset@font\undefined + \let\reset@font\relax +\fi +%%% \endprog + + +%%% \sect Within an entry we use a ragged right margin. To break within an +%%% entry is always difficult and is made easier in this way. After all, +%%% the open format we use gives a ragged impression anyhow. Within an +%%% entry we dissallow page breaks and we do not treat periods as full +%%% stops. + +%%% \beginprog +\def\thebibliography#1{% + \description + \rightskip \z@ plus 2em + \interlinepenalty\@M + \sfcode`\.=\@m + } +\let\endthebibliography=\enddescription +%%% \endprog + + +%%% \sect |\bibitem| should look for the next token: If a library info +%%% exists it must go in the same line, otherwise a line break must be +%%% issued. + +%%% But |\bibitem| itself is not of interest, it looks only for the +%%% optional argument. We have to redefine |\@bibitem|. If an +%%% bibliography style like |alpha| is used, |\bibitem| will be supplied +%%% an optional argument. Then it expands to |\@lbibitem|; we will define +%%% this to |\@bibitem| as well -- we ignore the print label supplied by +%%% \BibTeX{}. + +%%% After the argument(s) of |\bibitem| a line end occurs in any case. The +%%% optional |\library| tag will follow on the next line. This means we +%%% first have to gobble the line end char |^^M|, and have to check the +%%% next token afterwards. If this next token is |\library| we will do +%%% nothing since |\library| will itself end the line. Otherwise we do a +%%% line break. Experiments have shown that the dotted line at the start +%%% on every entry helps finding the different entries. + +%%% \beginprog +\def\@lbibitem[#1]{\@bibitem} + +\def\@bibitem#1{% + \item[\tt #1]\leavevmode + \null \dotfill + \begingroup + \obeylines + \afterassignment\prepare_check_library + \let\next % gobble following ^^M + } +\def\prepare_check_library{% + \futurelet\next \check_library + } +\def\check_library{% + \ifx \next\library + \else \break + \fi + \endgroup + } +%%% \endprog + + +%%% \sect We assume that the library info and the cite key will fit into +%%% one line. If this is not true, a two line solution must be set up. + +%%% \beginprog +\def\library#1#2.{% #2 is only needed to gobble the period + \quad {\sf (#1)}\break + } +%%% \endprog + + +%%% \sect A reference is divided into blocks starting with |\newblock|. +%%% Each block shall start a new line, we use |\newline| for this. A +%%% special block is the one with an annotation in it. Since we want to +%%% indent this block once more we must change the parshape. But then we +%%% have to finish the paragraph first. The annotation block starts with +%%% |\annote| and may be easily recognized in this way. + +%%% \beginprog +\def\newblock{% + \futurelet\next \@checkAnnote + } +\def\@checkAnnote{% + \ifx \next\annote + \else \newline + \fi + } +%%% \endprog + + +%%% \sect The annotation is an own paragraph indented by |\leftmargin|. +%%% Since it is not a paragraph in the logical sense we do not insert +%%% vertical glue (i.e., |\parskip|) at the top. The annotation is typeset +%%% in a smaller size. We assume that it consists of full sentences which +%%% might be made up in a proper way. Therefore we don't use a ragged +%%% margin here. + +%%% The change of |\parshape| have to be reset after the group -- these +%%% changes are not local. + +%%% \beginprog +\def\annote{% + \endgraf + \vskip -\parsep + \begingroup + \reset@font\footnotesize + \rightskip \z@skip + \advance\linewidth -\leftmargin + \advance\@totalleftmargin \leftmargin + \parshape \@ne \@totalleftmargin \linewidth + } +\def\endannote#1.{% #1 is only needed to gobble the period + \endgraf + \endgroup + \parshape \@ne \@totalleftmargin \linewidth + } +%%% \endprog + + +%%% \sect In our files |\cite| will print the cite key in typewriter with +%%% a framed box around. In fact, |\cite| expands to |\@citex|, which has +%%% an optional argument. The flag |@tempswa| shows if this optional +%%% argument is there. + +%%% \beginprog +\def\@citex[#1]#2{\fbox{{\tt #2}\if@tempswa , #1\fi}} +%%% \endprog + + + + +%%% \sect Bells and Whistles. + +%%% Since the task we want to support most is the print of complete +%%% \BibTeX{} databases with the |biblist| bibliography style, we supply +%%% appropriate |\nocite| and |\bibliographystyle| tags, if they are +%%% missing. The |\bibliography| command shall create a heading as well. + +%%% Furthermore we set up a headline. + + +%%% \sect First the original meanings of the to-be-redefined control +%%% sequences are saved. We define two macros which will issue the +%%% default tags given above. These macros are not private, but +%%% protected; a knowing user may redefine the `default bibliography +%%% style' in this way. + +%%% \beginprog +\let\@@nocite=\nocite +\let\@@bibliographystyle=\bibliographystyle +\let\@@bibliography=\bibliography + +\def\AddNocite{\nocite{*}} +\def\AddBibliographystyle{\bibliographystyle{biblist}} +%%% \endprog + + +%%% \sect If |\nocite| or |\bibliographystyle| is issued, the default +%%% tags are discarded, the original meaning is restored, and the control +%%% sequence is reissued again. + +%%% \beginprog +\def\nocite{% + \let\AddNocite\relax + \let\nocite\@@nocite + \nocite + } +\def\bibliographystyle{% + \let\AddBibliographystyle\relax + \let\bibliographystyle\@@bibliographystyle + \bibliographystyle + } +%%% \endprog + + +%%% \sect The |\bibliography| tag will first issue the missing default +%%% tags, will produce a heading afterwards, will setup the headline, and +%%% will create the bibliography itself. For the heading we use |\refname| +%%% which should be available -- either because the new \LaTeX{}, +%%% I\LaTeX{}, or the {\sf babel} system is used. + +%%% \beginprog +\def\bibliography#1{% + \AddNocite + \AddBibliographystyle + \section*{\refname}% + \mark_for_headline{#1}% + \@@bibliography{#1}% + } +%%% \endprog + + +%%% \sect The headline will consist of the database names given in the +%%% |\bibliography| tag and the current date. We ignore the database name +%%% |abbrev|, since this name is used for |@string| definitions at our +%%% site. + +%%% We do not issue a warning of no file name is given -- this will be +%%% done by |\@@bibliography|. When a file name exists a comma and a +%%% space will be prepended at the very beginning of |\bib_list|. The +%%% comma is discarded after the loop. But when there was no file name +%%% |\bib_list| will expand to an empty list, we supply a |\relax| as a +%%% catch-up argument for |\@gobble|. + +%%% \beginprog +\def\AbbrevFileName{abbrev} + +\def\mark_for_headline#1{% + \def\bib_list{}% + \@for \bib_file :=#1\do {% + \ifx \bib_file\AbbrevFileName + \else \edef\bib_list{\bib_list, \bib_file.bib}% + \fi + }% + \edef\bib_list{\expandafter\@gobble\bib_list \relax}% + \markboth{{\reset@font\tt \bib_list}}{{\reset@font\tt \bib_list}}% + } + +\def\@oddhead{\reset@font\rm \hfil \leftmark \quad (\today)} +\def\@evenhead{\reset@font\rm (\today)\quad \ignorespaces \rightmark \hfil} +%%% \endprog + + +%%% \sect We must restore our catcode and are finished. + +%%% \beginprog +\catcode`\_=\uscode + +\endinput +%%% \endprog + + + + +%%% \end{document} -- cgit v1.2.3