[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Subject: DOCBOOK-APPS: Re: Bibliography management/BibTex equivalent
At 02.01.25 09:57 -0500, Norman Walsh wrote: >/ Mark Wroth <mark@astrid.upland.ca.us> was heard to say: >| BibTeX allows any fields in any entry. Each bibliography style then >| parses the fields into "required", "optional", and "ignored", and >| provides typesetting rules for the required and optional fields. Any >| field that is neither required nor optional is treated as ignored. > >Do the rules ever reorder fields? I could tweak the stylesheets to >select only some entries from each biblioentry and process them. The order fields appear in the printed document is entirely determined by the bibliographystyle; field may appear in any order in the database. >How does BibTeX deal with punctuation around optional entries? Each bibilographystyle completely defines the presentation for its elements (more specifically, for the elements it recognizes as required or optional, for each entry type. The logic of the system is The .bib database contains a text database of the data about each entry (La)TeX on its first pass through a document writes out an .aux file that contains (among other things) citations for works determined by the document author. THese citations may be actual citations ("\cite{the-key}"), "invisible" citations ("\nocite{the-key}", which cause the item identified by "the-key" to appear in the bibliography, but does not produce a reference in the running text), or a request to display all entries ("\nocite{*}"). The .aux file also contains a statement of the display style desired, generated by an explicit "\bibliographystyle{foo}" command in the document, and a statement of the database(s) to be considered in the parsing (generated by an explicit "\bibliography{database-name}" command). BibTeX reads the .aux file and determines the bibiliography style desired. It loads the corresponding style file (foo.bst), and then selects the elements from the .bib databse corresponding to the citations found in the aux file. It orders and formats the information from the database according to the rules in the .bst file, and writes the result to a disk file as a sequence of (La)TeX commands. The commands in this file specify the visual formatting of the data (existence, order, typographic treatment, etc). (La)TeX on its next pass reads in the bibliography file generated in step two at the location specified at the location of the "\bibliography{database-name}" command. There is ancillary logic in (La)TeX to attempt to do the right thing on a pass based on the presence and contents of the bibliography and auxiliary files, but this is not important for the general process, I think. It's been a while since I dug into the internals of the style files, but I will comment that they are written in their own programming language; there is considerable intelligence in those style files. Mark Wroth <mark@astrid.upland.ca.us>
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]
Powered by eList eXpress LLC