Open main menu

Changes

no edit summary
==The data­base==
The bibTEX for­mat is rather pop­u­lar in the TEX com­mu­nity and even with its short­com­ings it will stay around for a while. Many pub­li­ca­tion web­sites can ex­port and many tools are avail­able to work with this data­base for­mat. It is rather sim­ple and looks a bit like Lua ta­bles. Un­for­tu­nately the con­tent can be pol­luted with non-stan­dard­ized TEX com­mands which com­pli­cates pre- or post­pro­cess­ing out­side TEX. In that sense a bibTEX data­base is of­ten not coded neu­trally. Some lim­i­ta­tions, like the use of com­mands to en­code ac­cented char­ac­ters root in the ascii world and can be by­passed by us­ing utf in­stead (as han­dled some­what in LATEX through ex­ten­sions such as <tt>bibtex8</tt>).
<br/>
These three suf­fixes are un­der­stood by the loader. Here the dataset has the name <tt>standard</tt> and the three data­base files are merged, where later en­tries hav­ing the same tag over­load pre­vi­ous ones. De­f­i­n­i­tions in the doc­u­ment source (coded in TEX speak) are also added, and they are saved for suc­ces­sive runs. This means that if you load and de­fine en­tries, they will be known at a next run be­fore­hand, so that ref­er­ences to them are in­de­pen­dent of when load­ing and de­f­i­n­i­tions take place.
 <div style="float:left; border:thin solid greenblack;">
<span style="font-style:oblique;" > setup definition setupbtxdataset </span >
</div>
 <div stilestyle="border:thin solid green;" > </div><div stile="border:thin solid greenblack;" >
<span style="font-style:oblique;" > setup definition definebtxdataset </span >
</div>
<div stilestyle="border:thin solid greenblack;" >
<span style="font-style:oblique;" > setup definition usebtxdataset </span >
</div>
<br/>
but most pub­li­ca­tion-re­lated com­mands ac­cept op­tional ar­gu­ments that de­note the dataset and ref­er­ences to en­tries can be pre­fixed with a dataset iden­ti­fier.. More about that later.
==Ren­der­ings==
<br/>
The ren­der­ing it­self is some­what com­plex to set up be­cause we have not only many dif­fer­ent stan­dards but also many fields that can be set up. This means that there are sev­eral com­mands in­volved. Of­ten there is a pre­scribed style to ren­der bib­li­o­graphic de­scrip­tions, for ex­am­ple <tt>apa</tt>. A ren­der­ing is setup and de­fined with:
<div stilestyle="border:thin solid greenblack;" >
<span style="font-style:oblique;" > setup definition setupbtxrendering </span >
</div>
<div stilestyle="border:thin solid greenblack;" >
<span style="font-style:oblique;" > setup definition definebtxrendering </span >
</div>
<br/>
And a list of such de­scrip­tions is gen­er­ated with:
<div stilestyle="border:thin solid greenblack;" >
<span style="font-style:oblique;" > setup definition placebtxrendering </span >
</div>
<br/>
Each has its own ren­der­ing vari­ant. To keep things sim­ple we have their set­tings sep­a­rated. How­ever, these set­tings are shared for all ren­der­ing al­ter­na­tives. In prac­tice this is sel­dom a prob­lem in a pub­li­ca­tion as only one ren­der­ing al­ter­na­tive will be ac­tive. If this be not suf­fi­cient, you can al­ways group lo­cal set­tings in a setup and hook that into the spe­cific ren­der­ing.
<div stilestyle="border:thin solid greenblack;" >
<span style="font-style:oblique;" > setup definition setupbtxlistvariant </span >
</div>
<div stilestyle="border:thin solid greenblack;" >
<span style="font-style:oblique;" > setup definition definebtxlistvariant </span >
</div>
<br/>
The first ar­gu­ment is op­tional.
<div stilestyle="border:thin solid greenblack;" >
<span style="font-style:oblique;" > setup definition cite </span >
</div>
<br/>
Be­cause we are deal­ing with data­base in­put and be­cause we gen­er­ally need to ma­nip­u­late en­tries, much of the work is del­e­gated to Lua. This makes it eas­ier to main­tain and ex­tend the code. Of course TEX still does the ren­der­ing. The ty­po­graphic de­tails are con­trolled by pa­ra­me­ters but not all are used in all vari­ants. As with most ConTEXt com­mands, it starts out with a gen­eral setup com­mand:
<div stilestyle="border:thin solid greenblack;" >
<span style="font-style:oblique;" > setup definition setupbtxcitevariant </span >
</div>
<br/>
On top of that we can de­fine in­stances that in­herit ei­ther from a given par­ent or from the top­most setup.
<div stilestyle="border:thin solid greenblack;" >
<span style="font-style:oblique;" > setup definition definebtxcitevariant </span >
</div>
<br/>
This com­mand has two syn­onyms: <tt>\nocite</tt> and <tt>\nocitation</tt> so you can choose what­ever fits you best.
<div stilestyle="border:thin solid greenblack;" >
<span style="font-style:oblique;" > setup definition nocite </span >
</div>