Home
The listbib Package
Contents
1. Before we start we declare some shorthands for category codes By declar ing the underscore _ as letter we can use it in our macros I agree with D KNUTH that identifier_several_words_long is more readable than IdentifierSeveralWordsLong and in every case better than p s As this is a IATRX style option the at sign is a letter anyhow so we can use the private Plain and TEX 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 using a group because not all macros have to be defined global this way 22 chardef uscode catcode _ 23 catcode _ 11 4 3 The Bibliography 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 24 def thebibliography 1 25 description 26 rightskip z plus 2em 27 interlinepenalty OM 28 sfcode m 29 30 let endthebibliography enddescription 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 t
2. References typo tschichold selected pis sospeita See ae He ee eek eS Jan Tschichold Ausgew hlte Aufs tze ber Fragen der Gestalt des Buches und der Ty pographie Birkhauser Basel 1975 A second unchanged edition appeared in 1987 typo blosteinm music ress aiea oe Ea A a ea ae be a Oa as Dorothea Blostein Justification of printed music Communications of the ACM 34 3 88 99 March 1991 typo staizapt sews eh Pa Seat RY nk ew aL eA ge Bree Nk Bw ae Herrman Zapf and his Design Philosophy Society of Typographic Arts Chicago 1987 Of course the ISBN ISSN numbers annotations and library information is missing since unsrt does not extract them from the database Careful readers will notice another difference The listbib bibliography style does not lower case titles as the standard styles do 3 5 Site Configuration File The listbib package will input a site configuration file listbib cfg if it exists This is a good place for changing margins or the document title etc The configuration file is input at the end of the listbib package 3 6 The listbib tex Main Document Frame The shortest way to to typeset a bibliography is to put something like this into a file tex and to run it through ATEX BIBTFX and possibly more than once TIATRX again newcommand listbibs bibliographies AtBeginDocument preamblematerial input listbib For bibliographies list everything to be printed Any
3. 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 emph must read 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 Lib MQ B77 annote A valuable book A chapter on his work around MF is included Was among the most beautiful books of the year Furthermore assume that the bibliography style listbib is available Then the BTEX file documentclass article usepackage listbib begin document bibliography typography end document may be used to create a listing with all entries You have to run TEX BIBTEX and ATEX Careful readers will note that there will be a BIBTRX warning about a
4. leftmargin 66 parshape ne totalleftmargin linewidth 67 The period in the definition is used to gobble the period placed by BIBT X 68 def endannote 69 endgraf 70 endgroup 71 parshape ne totalleftmargin linewidth 72 4 6 Citation Key In our documents 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 if tempswa shows if this optional argument is there texttt will alter if tempswa So might fbox and ttfamily in the future fbox does not work inside if and lb_sanitize does not work inside a def so we save the flag in cxt 73 def citex 1 2 if Qtempswa def cxt y else let cxt relax fi 74 fbox ttfamily lb_sanitize 2 75 if y cxt ttfamily lb_sanitize 1 fi 4 7 Defaults for nocite and bibliographystyle First the original definitions of the to be redefined control sequences are saved We define two macros which will issue the default given above These macros are not private but protected a knowing user may redefine the default bibliography style in this way 76 let nocite nocite 77 let bibliographystyle bibliographystyle 78 let bibliography bibliography If nocite or bibliographystyle is issued the default tags are discarded the original meaning is restored and the control sequence is reissued again 79 def AddNocite nocite 80 def AddBi
5. newblock immediately following the library Alter nativelly we could implement more futurelet trickery 49 def library 1 50 quad textsf small 1 penalty highpenalty 51 4 5 Annotation 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 52 def newblock 53 futurelet next checkAnnote 54 55 def checkAnnote 56 ifx next annote else newline fi 57 The annotation is a paragraph on its own and 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 10 endannote citex nocite bibliographystyle bibliography nocite bibliographystyle The change of parshape has to be reset after the group these changes are not local 58 def annote 59 endgraf 60 vskip parsep 61 begingroup 62 reset font footnotesize 63 rightskip z skip 64 advance linewidth leftmargin 65 advance totalleftmargin
6. BIBTFX files containing string definitions must also be specified first The use of AtBeginDocument is completely optional If used preamblematerial will be inserted into the preamble of listbib tex listbib tex also loads the packages vmargin and url if it can find them vmargin sets up the page margins and url provides a url command for typesetting urls A configuration file file cfg will be loaded within the preamble of listbib tex if it exists This short document selects a document font size of 10pt and double sided printing Unfortunately it is not possible to override that in any of the two con figuration files 3 7 Inheriting Field Entries As BipTpX currently works missing fields in all entries which crossreference an other entry are inherited from the crossreferenced entry To illustrate in this bib file incollection chapter crossref book author title book book editor booktitle note the chapter entry inherits the note field from the book entry The same is true for all other fields which can possibly be inherited BIBT X does not make the information of whether a field was inherited available in the style file so the inheritence can not be detected directly listbib implements a workaround for this which can detect inherited fields A field is assumed to be inherited by a crossreferencing entry if its value is identical to that of the crossreferenced entry This
7. assumption fails when the field values are in fact identical Please let me know of any cases where that is a problem and I will try and fix it or make a sepaarte style which does not try to detect inherited fields A quick fix might be to add something like a at the end of the field Currently inheritance is detected for the fields note annote ISBN ISSN and library Inherited fields are ignored in the listing 3 8 The listbib Shell Script The listbib program can be used to quickly generate a listing of the bibliogra phies given on the command line The program is a Unix shell script sorry if you don t use Unix You may still be able to port it send me a copy of you do Here is its usage Usage listbib OPTIONS FILE bib FILE bib Version VK 1 0 16 Mar 2000 Options h help shows help o output FILE generates FILE dvi FILE ps default listedbibs p ps postscript generate PostScript as well as dvi d deltemp delete temporary files all but dvi P psonly generate only PostScript del all temp files but ps stop option processing only bib files remain A temporary tex file is created which makes use of listbib tex latex bibtex ans possibly dvips are run on the tex file to create the listing of all bib files specified The bib extension can be left out Remember to specify any bib first which define any strings needed later By default the name of the tex file is listedbibs tex this can be
8. 119 x listbib site configuration file listbib cfg found 4 11 Finish We must restore our catcode and are finished 120 catcode _ uscode 121 endinput 122 package 13
9. The listbib Package Volker Kuhlmann 2000 03 17 Abstract This package typesets a listing of a possibly large BisTpX input file With old implementations of texmf the string space could easily be exceeded when trying to typeset large bibliographic databases Contemporary imple mentations are usually big and have much higher limits However listbib works with arbitrarily large BIBTp X database files In addition to that listbib tries to show the full content of a BiBTpX file without alterations introduced by the bibliographic style used The entry fields ISBN ISSN annote library are added to the standard ones Contents 1 License 1 2 History 1 3 User manual 2 3 41 Introductions 2 244 2s ee a a a ee RA A A i 2 3 2 Additional BipBTpX Entry Fields 0 0 0 0 0 2 3 3 Formatting of the entries in the resulting listing 3 ood Mxamples fo 4 hae oe ee Be ee e o aara a an A A BS 3 3 5 Site Configuration File oaoa aa 6 3 6 The listbib tex Main Document Frame 6 3 7 Inheriting Field Entries 002 6 3 8 The listbib Shell Script o aooaa 002 0008 7 39 To Dovand Bugs oseni e ette Re EO a 7 4 Implementation 7 4 1 Main Document for Quick Use 0 20 000 7 4 2 Preliminary stoa ebes eo Re EE PB Oe 8 4 3 The Bibliography 200200000004 9 ASA TENT ALY a eon can a vee ek Ege eats ACA BY al ai ay Ds a af at a eh 25 Am 10 4 5 Annotatio
10. b is the successor and will only work with ATEX 2e It uses the docstrip format for literate programming The bibliography style was regenerated from btxbst doc unsrt and then enhanced to be suitable for listbib The fully com mented bst file is in the distribution extension doc This documentation is an update of the original biblist documentation 3 User manual 3 1 Introduction This package facilitates printing of large BIBT X files With such large files especially if the cite keys are long the needed string space is often exceeded Often a BigT X is available which pushes the limits further out but with this package any TX will do it Printing complete BIBT X files as they are is useful for record keeping The nocite command and thebibliography environment from BTE X are used to do the work The thebibliography environment is modified and eliminates huge aux files and a second I4Tf X run although cross references used in the bibliography entries themselves may still require a second I fX run A minimal E TpxX document must be prepared which uses the article class loads the listbib package and specifies the bibliography to be printed with the bibliography command Other packages can be loaded as well for example to set margins or language specific definitions Other classes can perhaps be used but listbib works on the assumption that nocite bibliographystyle BibTeX raggedbottom is in effec
11. bliographystyle bibliographystyle listbib 81 def nocite 82 let AddNocite relax 83 let nocite nocite 84 nocite 85 11 bibliography refname BibTeX 86 def bibliographystyle 7 87 let AddBibliographystyle relax 88 let bibliographystyle bibliographystyle 89 bibliographystyle 90 4 8 Bibliographies and Title The bibliography command will first issue the missing default tags will produce a heading afterwards will setup the headline and will create the bibliography itself 91 def bibliography 1 92 AddNocite 93 AddBibliographystyle 94 section refname 95 mark_for_headline 1 96 bibliography 1 97 The section heading text comes from refname which we give a new default 98 def refname BibTeX Database Listing Provide BibTeX if it has not yet been defined This definition is taken from btxdoc tex compared with ETpX s definition of TeX this one has the E not touch the T and X Unfortunately the standard computer modern fonts do not supply a small caps bold so we expect a NFSS warning when BibTeX appears in the bold faced section heading That is unless we do some trickery 99 providecommand BibTex 00 textrm B kern 05em 01 tempdima f size pt fontsize 0 83333 tempdima z selectfont 02 I kern 025em B 03 kern 08em T kern 1667em lower 7ex hbox E kern 125emX 04 05 providecommand BibTeX one of the 2 06 tex
12. changed with the o option Don t specify an extension here To generate PostScript as well use the p option This currently only supports dvips I can change that if there is demand The d option will delete all tem listbibs porary files when listbib is finished and only leave the dvi file P will create a PostScript file and then delete all others An error is displayed if the tex file to be created already exists 3 9 To Do and Bugs Inheritance is currently only checked for the fields note annote ISBN ISSN and library Printing of these fields is suppressed for all entry types Should printing of other inherited fields be suppressed as well I am inclined to suppress volume and I am not sure about year month etc Please let me know what you think Add URL field Add totalpages field Package custom bib has them As a future enhancement one could place a word from the starting and the finishing entry on each page into the page header like in a dictionary 4 Implementation 4 1 Main Document for Quick Use The intended usage is this newcommand listbibs bibliographies input listbib 1 xmaindoc 2 documentclass 10pt twoside article Set document margins if package vmargin is installed Load package url if available this package provides an excellent url command which can be used in bibliography entries 3 Packages 4 IfFileExists vmargin sty use if available 5 usepackage vmargin 6 set
13. marginsrb 25mm 12mm 22mm 8mm 10pt 8mm 10mm 7 IfFileExists url sty usepackage url load if installed 8 hh Layout 9 fboxsep 0 8pt normally 3pt And yes we want listbib 10 44 Package listbib 11 usepackage listbib Further document setting can be placed into a per job configuration file which will be loaded if found 12 Load per job configuration file if it exists 13 InputIfFileExists jobname cfg typeout 14 x listbib per job configuration file jobname cfg found x 15 4 csname listbibpreamble endcsname call it if it is defined Main document part The bibliographies to typeset are taken from listbibs 16 4 Main 17 begin document 18 bibliography listbibs 19 end document thebibliography lbibitem bibitem 20 maindoc 4 2 Preliminary 21 package The main work is to supply the environment thebibliography in fact we implement it as a description environment The environment has an unused argument In addition we have to supply a correct definition for the bibitem command 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 a block of its own enclosed in annote and endannote After endannote comes a period which should be discarded This should be done in the BIBTpX style but nevertheless
14. missing author or editor in the Zapf entry You do not need to run BTFX twice after the BIBTEX run The result looks like this References typo tschichold selected sosai aiea eee eee ee ee a ee ae Jan Tschichold Ausgew hlte Aufs tze ber Fragen der Gestalt des Buches und der Ty pographie Birkhauser Basel 1975 ISBN 3 7643 1946 1 A second unchanged edition appeared in 1987 A collection of his classic papers The best book on typographic principles read so far A definitive must for everyone interested in typography book design or typesetting typosblostein mMusie so oS fr rip BAAS ve Bae SE at ea S Dorothea Blostein Justification of Printed Music Communications of the ACM 34 3 88 99 March 1991 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 typo sta Zapi gt 2 46 cee iuws Geatete ele ededo dhe eae Lib MQ B77 Herrman Zapf and his Design Philosophy Society of Typographic Arts Chicago 1987 ISBN 0 941447 00 6 A valuable book A chapter on his work around META FONT is included Was among the most beautiful books of the year To use a bibliograhy style other than listbib specify it in the usual way with bibliographystyle For example unsrt gives listbib cfg listbibs AtBeginDocument vmargin url
15. n wat ae ik a el i Be hh he es eg 10 A 6 Citation Key e202 a ek eae BA eS we do a IE 11 4 7 Defaults for nocite and bibliographystyle 11 4 8 Bibliographies and Title 2 0 2 20 0 0 000 11 This file has version number v2 1 last modified 2000 03 17 Email v kuhlmannGelec canterbury ac nz For a postal address refer to the license section thebibliography bibliography raggedbottom 4 9 Page header zani ae a ee a a ede ee SLE E S 12 4 10 Site Configuration File a aaa aaa a 12 AN Hinish ssa g cd heidi ee e o a Abe eee GS Sak SEs 12 1 License This package is copyright 2000 by Volker Kuhlmann c o University of Canterbury ELEC Dept Creyke Road Christchurch New Zealand E Mail v kuhlmann elec canterbury ac nz 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 2 of the License or at your option any later version To obtain a copy of the license write to the Free Software Foundation Inc 59 Temple Place Suite 330 Boston MA 02111 1307 USA or browse http www fsf org 2 History This package is derived from biblist version 1 4 1992 01 13 by Joachim Schrod J Schrod s association with the university of Darmstadt seems to no longer exist biblist is available from CTAN and is under the GNU general public license version 1 or later listbi
16. o redefine bibitem If a bibliography style like alpha is used bibitem will be supplied with an optional argument We ignore this optional argument 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 library newblock annote we do a line break Experiments have shown that the dotted line at the start of every entry helps with finding the different entries 31 def 1bibitem 1 bibitem 32 def bibitem 1 33 item texttt lb_sanitize 1 leavevmode 34 null dotfill 35 begingroup 36 obeylines 37 afterassignment prepare_check_library 38 let next gobble following M 39 40 def prepare_check_library 41 futurelet next check_library 42 43 def check_library 44 ifx next library else break fi 45 endgroup 46 47 def 1lb_sanitize 1 escapechar 1 48 expandafter string csname 1 endcsname 4 4 Library We assume that the library info and the cite key will fit into one line If this is not true a two line solution would have to be set up We add Chighpenalty instead of M after the library part to avoid an un derfull hbox warning and an empty line if both author and editor are empty in which case there is a
17. t which is why it probably won t work too well with twocolumn or multicol A page break within an entry is not allowed and the flexibility at the page bottom is needed Unlike with normal TEX documents use of bibliographystyle is not re quired although it is not prohibited The default is the listbib bst bibliography style It is also not necessary to use nocite as that is the default However nocite can be used to select certain entries only to be printed A bug you may encounter is that cite tags within BipTpX 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 for 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 As a bonus listbib defines the control sequence BibTeX if it is not already defined The definition is copied from btxdoc tex 3 2 Additional BibT X Entry Fields Some additional fields are recognised in addition to the standard ones These are ISBN ISSN annote and library The annote field can be used for annotations or comments regarding this par ticular entry The standard BiBTpX styles do not make use of this feature however other styles might With listbib it is useful to store a short summary of the con tents of this entry As for note the first word should be capitalised Punctuation at the end of the field is added by the s
18. trm B kern 05em textsc i kern 025em b 07 kern 08em T kern 1667em lower 7ex hbox E kern 125emX 08 4 9 Page header The page header shows the database names given with the bibliography com mand and the current date We do not issue a warning if 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 removed after the loop When there was no file name bib_list will expand to an empty list the relax serves as a catch argument for gobble A bib is no longer added to each bibliography filename to make the line shorter If there are too many names the header won t fit on the page This should be fixed somehow 109 def mark_for_headline 1 110 def bib_list 12 listbib cfg 111 for bib_file 1 do edef bib_list bib_list bib_file 112 edef bib_list expandafter gobble bib_list relax 113 markboth reset font ttfamily bib_list reset font ttfamily bib_list 114 115 def oddhead reset font rmfamily hfil leftmark quad today 116 def evenhead reset font rmfamily today quad ignorespaces 117 rvightmark hfil 4 10 Site Configuration File Further document settings can be placed into a site configuration file which will be loaded if found This is a good place to put some default margin settings for example 118 InputIfFileExists listbib cfg typeout
19. tyle if appropriate The library field is not meant to be printed in final documents and is supplied to store e g the library location of a book Useful for database listings only All 13 entry types take the library and annote fields They take the fields ISBN and ISSN as well with these exceptions article only takes ISSN and unpublished takes neither ISBN nor ISSN 3 3 Formatting of the entries in the resulting listing CLES KEY sain seid eae ah dee bed Be aise Ne Bo as arated tel aoe ait Library info Author s Editor s Title Publication info Notes Annotation ILe 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 you use a bibliography style other than listbib which does not supply this information with the assumed markup The parenthesis around the library info are produced by this style option not by BIBT px 3 4 Example Suppose there is a file typography bib with references on typography typography bib 13 Jan 92 References on Typography Typesetting and Book Design make sure it s at least defined preamble providecommand MF textsc meta 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
Download Pdf Manuals
Related Search
Related Contents
Roland Electronic Keyboard 5 User's Manual User`s Guide Samsung RF25HMEDBSR side-by-side refrigerator catalogue” histoire de valises” - Anita Pentecote, photographe Keys Fitness KPS-ABM User's Manual Panasonic WV-BP550 Digital Camera User Manual Emtec Movie Cube S120, 500GB 取扱説明書 Copyright © All rights reserved.
Failed to retrieve file