diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/biblatex/CHANGES')
-rw-r--r-- | Master/texmf-dist/doc/latex/biblatex/CHANGES | 4272 |
1 files changed, 0 insertions, 4272 deletions
diff --git a/Master/texmf-dist/doc/latex/biblatex/CHANGES b/Master/texmf-dist/doc/latex/biblatex/CHANGES deleted file mode 100644 index 85cd8ce9937..00000000000 --- a/Master/texmf-dist/doc/latex/biblatex/CHANGES +++ /dev/null @@ -1,4272 +0,0 @@ -RELEASE NOTES FOR VERSION 3.4 - -* Biber version 2.5 is required for biblatex 3.4 -* INCOMPATIBLE CHANGE - There have been major changes to the support for - bibtex as a backend. In order to facilitate future development, the - bibtex and biber code paths have been merged and bibtex as a biblatex - backend is now officially deprecated with a view to discontinued support - in a future release. bibtex as a backend will still work currently with a - reduced feature set. Of particular note are the labelprefix (formerly - prefixnumbers) option and support for shorthand lists, neither of which - will work with the bibtex backend any longer as it was deemed too - difficult to maintain support for these with merged backend code paths. - Please switch to using biber to use these features. The documentation no - longer mentioned biber/bibtex specific features and should be taken as - referring to biber features with limited fallback support for bibtex. -* A new data annotations feature is available which allows attachment of - semantic annotation markers to bibliographic data. Macros are provided - for accessing the annotations during formatting. This allows, for - example, highlighting of particular names in a name list without putting - markup in the data. See the main documentation for details. -* There is a new per-entry option "noinherit" which allows fine-grained - blocking of data inheritance declared with \DeclareDataInheritance. See - the docs for \DeclareDataInheritance. -* A new context-sensitive delimiter interface (\DeclareDelimFormat) is now - available. This is able to vary a delimiter based on where it occurs (in a - citation, in a bib item etc.) A new sample file (04-delimiters) demonstrates the - interface and how it interacts with the basic static delimiter definition interface. -* Arbitrary sets of data fields can now be defined with - \DeclareDatafieldSet. Such sets are now used to determine behaviour in - various places - search the PDF doc for mention of this macro. - Users/style authors can define their own sets of fields and access them - with automatically generated etoolbox list macros. -* Transliteration support during sorting is now possible via - \DeclareSortTranslit. This is useful for sorting languages which are not - directly supported by the UCA+CLDR. The only currently supported - transliteration is for Sanskrit (IAST romanisation->Devanāgarī). Please - open a github ticket if you think you require any other transliterations. -* The \ifempty macro for testing namepart emptiness introduced in 3.3 was a - mistake. If you used this, please use \ifdefvoid instead - this is standard etoolbox. -* The "prefixnumbers" option has been renamed to "labelprefix" since it is - not specific to numeric styles and may be used with alpha label styles - too. Since this option can change citation labels, which are not - contained in a bibliography list, it is no longer an option of - \printbibliography and is now an option of reference contexts. This makes - certain things now possible such as citing the same entry from different - bibliographies with different prefices. -* INCOMPATIBLE CHANGE - The internal field "prefixnumber" is now called - "labelprefix" as the name was a legacy of originally only applying to - numeric styles. If you refer to this field in your style, please change it. - Using the field "prefixnumber" will issue a deprecation warning -* With biber, for fields of datatype "date" in the datamodel, the internal - macros, package options and datepart fields are automatically created. - This makes defining custom date fields easier. -* The \nameparts macro inside \DeclareNameFormat is no longer necessary. - Name part macros will be automatically populated and \nameparts will be - ignored if found. -* Bugfixes - -RELEASE NOTES FOR VERSION 3.3 - -* Biber version 2.4 is required for biblatex 3.3 -* The \Declare*Option commands have a new optional argument when using - biber which declares the datatype of the option. It defaults to - "boolean" if not specified. If you define any custom options in your - style, you may want to specify the correct datatype (see docs). However, - it is unlikely that this will impact anything at the moment as this option - only used internally by biber for some checks. -* INCOMPATIBLE CHANGE - There have been major changes to the handling of - name lists in order to generalise name handling beyond the narrow - confines of the legacy bibtex name parts of "last, first, prefix, - suffix". These changes only apply when using biber as the backend and - mainly affect style authors. - * In general in macro names, "first" is now "given" and "last" is now "family": - - The option "firstinits" has been renamed to "giveninits" and the option "sortfirstinits" - to "sortgiveninits". The old names are available as legacy aliases. - Style authors using the internal toggles associated with these options will - need to change "first" to "given" in their names. - - Name formats and the \mkbibname* macros have been internally renamed by - replacing "first" with "given" and "last" with "family". There are aliases in place for the - older names. Please use the new names in any custom styles. - - * The most significant change concerns the definition of name formats. - Style authors will need to update any styles which use - \DeclareNameFormat or \DeclareIndexNameFormat which no longer accept - 8 arguments which are hard coded to the nameparts which bibtex - understands. These macros now take one argument which is a - comma-separated list which must be parsed with: - - \nameparts{#1}% - - All name formats should include this line, usually as the first line in - the format. Valid nameparts are now defined by the datamodel and the - default is compatible with standard bibtex with "last" renamed to - "family" and "first" renamed to "given". The default datamodel - declaration is: - - \DeclareDatamodelConstant[type=list]{nameparts}{prefix,family,suffix,given} - - This declaration automatically creates the \mkbibname<namepart> macros and the - internal machinery for the \nameparts macro. After using the \nameparts macro - as described above, each namepart will be available in two macros with - the following name structure: - - \namepart<namepart> - \namepart<namepart>i - - The macro ending in "i" is the macro contain the namepart initials. - So, use of \nameparts{#1} in the default datamodel will result in these - macros being defined for use: - - \namepartprefix - \namepartprefixi - \namepartfamily - \namepartfamilyi - \namepartsuffix - \namepartsuffixi - \namepartgiven - \namepartgiveni - - As a further example, the name format: - - \DeclareNameFormat{first-last}{% - \iffirstinits - {\usebibmacro{name:first-last}{#1}{#4}{#5}{#7}} - {\usebibmacro{name:first-last}{#1}{#3}{#5}{#7}}% - \usebibmacro{name:andothers}} - - is now: - - \DeclareNameAlias{first-last}{given-family}% legacy alias - \DeclareNameFormat{given-family}{% - \nameparts{#1}% - \ifgiveninits - {\usebibmacro{name:given-family} - {\namepartfamily} - {\namepartgiveni} - {\namepartprefix} - {\namepartsuffix}} - {\usebibmacro{name:given-family} - {\namepartfamily} - {\namepartgiven} - {\namepartprefix} - {\namepartsuffix}}% - \usebibmacro{name:andothers}} - - See the example 93-nameparts.tex example file for an example of - defining and using a custom namepart, which is now possible due to - these changes. - -RELEASE NOTES FOR VERSION 3.2 - -* Biber version 2.3 is required for biblatex 3.2 -* New label generation options which allow fine-tuning of how name prefices - are handled (see pstrwidth and pcompound options in documentation). -* Some internals have changed regarding prefix space handling in names. - This shouldn't impact normal users but hackers please not that - \blx@sf@apo has been renamed to \blx@sf@prefixchar to better suit the new - \DeclarePrefChars command. Also note that in the standard name printing - macros, \ifpunctmark{'} has been replaced by the more general \ifprefchar. - -RELEASE NOTES FOR VERSION 3.1 - -* Biber version 2.2 is required for biblatex 3.1 -* Added new macros \DeclareNolabel and \DeclareNolabelwidthcount for fine-tuning label generation -* Improved Finnish and Russian localisation -* Many bug fixes - -RELEASE NOTES FOR VERSION 3.0 - -* Biber version 2.0 is required for biblatex 3.0 -* A new reference context mechanism to allow for future extensions has been - introduced. Effectively, this means the following. The 'sorting' option to - \printbibliography and \printbiblist is deprecated. You should use the - 'sorting' option to \newrefcontext or the - \begin{refcontext}\end{refcontext} environment. This allows the sorting - list context wider scope over citations etc. too. For example, some - information in citations like extrayear depends on the sort list order - but until this version, citation sorting was always determined by the - global sorting specification. Therefore it was not too difficult to get - into a situation where citations were incorrect for a bibliography list - with a defined sorting scheme: - - \usepackage[sorting=nty]{biblatex} - \cite{test1} - \cite{test2} - \printbibliography[sorting=nyt] - - In this case, the citation labels may not match the bibliography - because the data used to generate the citations are drawn from a - different sort list. This was a general issue that entry data was - assumed to be the same over all bibliography lists. Only the order of - entries was assumed to be different, which is incorrect. The order of - items in a bibliography list can impact the actual data contents of - items in the case of things like the extra* fields. Now, the above can - be solved using the new refcontext mechanism which exposes the sorting - context to biblatex: - - \usepackage[sorting=nty]{biblatex} - \newrefcontext[sorting=nyt] - \cite{test1} - \cite{test2} - \printbibliography - - In this case, the \cite commands pull their data from the "nyt" sorting - list data which is also used by the following \printbibliography - This is all for biber only. -* labelname and labeltitle are now instantiated by biblatex dynamically at - output time. Prior to this release, labelname and labeltitle were - statically instantiated by biber and put into the .bbl. This does not allow - for context-sensitive labelname/labeltitle determination which is - foreseen in future extensions. -* New "pernottype" and "entryclone" sourcemapping verbs allow for negated - matches on entry types and the cloning of entries respectively. Requires - biber. -* Biber now calculates the length of ranges (like page ranges) so that the - various range-length tests are far more accurate. See the "frangelen" - field documentation. This is very robust and can deal with roman numerals - in just about all of their Unicode and ASCII forms. -* When a bibliography field is declared as a "name" field in the data - model, all options and counters to decide whether to use it or not are - automatically created. This effectively extends the existing "useauthor" - and "useeditor" options to all data model name fields automatically. These - options are now just special cases of the general data model name - handling mechanism. - -RELEASE NOTES FOR VERSION 2.9a - -* Biber version 1.9 is required for biblatex 2.9a -* Fixed some bugs with defernumbers option -* With biber, the scanner for \mkcomprange will normalise any sequence of - dashes with \bibrangedash and any (optionally space-surrounded) comma or - semi-colon with \bibrangessep (see docs). Range compression now works - properly in citation notes. - -RELEASE NOTES FOR VERSION 2.9 - -* Biber version 1.9 is required for biblatex 2.9 -* With biber, the \printshorthands functionality is subsumed under a more - general "bibliography list" functionality. See the documentation for - \printbiblist and the new examples file "92-bibliographylists.tex". - Previous list of shorthands macros have legacy aliases for backwards - compatibility. -* INCOMPATIBLE CHANGE - The generalisation of the \printshorthands facility - into a bibliography list printing facility necessitated changing the - default bibliography environment name for printing shorthands from - "shorthands" to "shorthand" so that it matches the field name it uses. - This allows the other relevant "short*" fields to be automatically - available with environments, filters etc. for building bibliography lists - of abbreviations. The same applies to the default "shorthands" driver - which is now called "shorthand". If you (re)define either the "shorthands" - bibliography environment or the "shorthands" driver in your style, please - change the names to remove the "s" or you will pick up the internal - defaults instead. -* The data model defining macros are no longer valid in a document - (including the preamble). They in fact only ever partially worked as - biblatex uses the data model to define some internal macros before the - preamble and document is read. Using these macros in a document would - lead to strange behaviour sooner or later and so now they are disabled - after the data model is loaded and will generate a warning. -* The "sortlocale" option no longer passes its value to the biber option of - the same name. Biblatex now has its own "sortlocale" option which is used - to set the global sorting locale on sorting specifications which don't - define one. The ability to define sorting locales per-sortscheme is new - in this version. See the PDF documentation. This is unlikely to impact - anyone. The biber "sortlocale" option can be use to override the - biblatex-specified sorting locales if you need to. - -RELEASE NOTES FOR VERSION 2.8a - -* INCOMPATIBLE CHANGE - The "language" option has new values. "language=autobib" changes - language for bibliography entries based on the LANGID field and the "autolang" option setting. - As a new feature, "language=autocite" does the same for citations. "language=auto" sets - both "autocite" and "autobib" and the default is "lanauge=autobib". This is a change from - the previous default. If your style sets "language=auto" explicitly, you will get the new - citation language switching behaviour and might want to use "language=autobib" to get the old - behaviour back. - -RELEASE NOTES FOR VERSION 2.8 - -* Biber version 1.8 is required for biblatex 2.8 -* Polyglossia is now better supported -* The HYPHENATION field is now called LANGID. The old name still works for backwards compat. This - field does a lot more than just selecting hyphenation patterns and was misleading. -* New field LANGIDOPTS for Polyglossia users allows specification of - language-specific options (like variants such as "american" english and - babelshorthands etc.). See the biblatex-examples.bib file which has been - converted to use the new field names and fields. -* "babel" option renamed to "autolang". Old name generates a warning but - still works. Since Polyglossia support now basically works, this name is now - too package specific. There is a new value "langname" for this option - which is Polyglossia only and allows the use of the main polyglossia language - switching environment which can use the options given in the LANGIDOPTS field. -* New value "year" for "datelabel" option -* New internal field "datelabelsource" for package authors specifies which - date field the datelabel was generated from. - -RELEASE NOTES FOR VERSION 2.7a - -* Bugfix release for 2.7 - -RELEASE NOTES FOR VERSION 2.7 - -* Biber version 1.7 is required for biblatex 2.7 - -* New field EVENTTITLEADDON now part of default data model and default styles - -* Many citation command enhancements, better flow-of-text integration for - \textcite et al. See changelog in PDF doc for details. - -RELEASE NOTES FOR VERSION 2.6 - -* Biber version 1.6 is required for biblatex 2.6 - -* INCOMPATIBLE CHANGE - \DeclareLabelyear is now \DeclareLabeldate so - that the extra fields labelmonth and labelday can be generated by - biber. The 'labelyear' package option is now called 'labeldate'. The - old names will work but will generate warnings. The default - definition for \DeclareLabeldate in biblatex.def results in the same - behaviour as with the old \DeclareLabelyear. - -* Localised and fixed string fallbacks now possible as values for labelyear field - -* Cyclic and cascading RELATED entries now working properly. - -RELEASE NOTES FOR VERSION 2.5 - -* Biber version 1.5 is required for biblatex 2.5 - -* New sourcemap step "entrynull" can be used to completely skip an entry. - -RELEASE NOTES FOR VERSION 2.4 - -* Biber version 1.4 is required for biblatex 2.4 - -* New macro \DeclareStyleSourcemap for style authors who want to define source mappings which - are not changed by users using \DeclareSourcemap. Style maps so defined are run after user - mappings and before driver default mappings. - -* New RELATEDOPTIONS field giving more control over the exact options for related entry processing - -* INCOMPATIBLE CHANGE - \DeclareLabelname, \DeclareLabelTitle and \DeclareLabelyear now have - a different syntax in order to prepare for future multi-script support. The change is minor - - just wrap all fields in \field{} and don't use any commas to separate fields. For example, the - default definition of \DeclareLabelname was: - - \DeclareLabelname{% - shortauthor, - author, - shorteditor, - editor, - translator} - - and is now: - - \DeclareLabelname{% - \field{shortauthor} - \field{author} - \field{shorteditor} - \field{editor} - \field{translator} - } - -RELEASE NOTES FOR VERSION 2.3 - -* Biber version 1.3 is required for biblatex 2.3 - -* New "append" mode for \DeclareSourcemap so that fields can be combined - -* Detection of some situations which requires biber or latex reruns. - Specifically, when sorting schemes are added or removed, when citations are added - or removed, when sorting=none and citation order changes and the interactions of - these situations when defernumbers=true. Biblatex should now report that a re-run is - required in such situations. - -* Bugfixes - -RELEASE NOTES FOR VERSION 2.2 - -* Biber version 1.2 is required for biblatex 2.2 - -* Bugfixes - -RELEASE NOTES FOR VERSION 2.1 - -* Biber version 1.1 is required for biblatex 2.1 - -* Custom data models is now looked for in more places. See PDF - documentation. Custom data model conflicts are now better processed by - biber. - -* Some improved localisation (Norwegian) and doc fixes. - -RELEASE NOTES FOR VERSION 2.0 - -* Biber is now the default backend. Biblatex 2.0 requires biber - 1.0. It will not work with any earlier release of biber due to - .bcf format changes required to support the new list-local sorting - feature. - -* Biblatex with bibtex as the backend is now frozen at version 1.7. When - using biblatex with the option "backend=bibtex" (which must be - specified now, the default is backend=biber if no option is specified), - biblatex 1.7 will be automatically used. Apart from important bug fixes, - no more development will be done on the 1.7 branch which means that - users must switch to backend=biber (or don't specify the backend at all) - to get version 2.0 and future new features. All major new 2.0 features - require biber anyway so this is no real change for bibtex users. - -* New options to enable counters which track different combinations of - information. Here is a summary which contains all tracking options, - including the new ones (row marked with with a star, table is also in - the PDF documentation): - - Enabled Enabled Tracked - Option field counter information - -------------- ---------- -------------- ------------------- - labelalpha labelalpha extraalpha label - labelyear labelyear extrayear labelname+labelyear - *labeltitle --- extratitle labelname+labeltitle - *labeltitleyear --- extratitleyear labeltitle+labelyear - - The naming of the options and counters is a little unintuitive because - the original ones were named before requests for the new ones were made. - The "Tracked information" column makes clear which information is tracked - by the counters. The new counters will appear in the .bbl inside an entry - and can be used just like "extraalpha" and "extrayear". The new options - controlling the new counters are false by default and are not used by the - standard styles. - -* The biblatex data model is now customisable using the \DeclareDatamodel* - macros. This allows the use of new entrytypes and fields, as long as the - style supports them. - -* Controlling initials generation - - A biblatex macro interface (\DeclareNoinit) is now available to declare - regular expressions to strip from names before generating initials for - them. This mirrors the Biber config file functionality on a per-document - basis. A common use, for example, might be to strip certain prefices - from names so that they do not end up as initials. - -* Fine tuning sorting strings - - A biblatex macro interface (\DeclareNosort) is now available to declare - regular expressions to strip from fields or types of fields for sorting - purposes. This mirrors the Biber config file functionality on a per-document - basis. A common use, for example, might be to strip "The " from titles for - sorting purposes. - -* Sorting option for bibliography/shorthand lists - - \printbibliography and \printshorthands now have a "sorting" option so - you can choose a sorting scheme for each bibliography/shorthand list - instead of using the global sorting scheme. This means that you can - issue \printbibliography or \printshorthands as many times as you need - to, anywhere in the document and have the resulting list sorted in the - way required. - -* Dynamic datasource modification - - A biblatex macro interface (\DeclareSourcemap) is now available to - allow users to dynamically modify data as it is read by Biber. This - can be used to do many things like remove unwanted fields, - regularise field contents, add new fields etc. all without write - access to the datasource. The biblatex manual has a large section - on this feature, with many examples. This feature is identical in - functionality to Biber's "sourcemap" option but having a macro - interface allows it to be used on a per-document basis. The default - mappings for datasource drivers are definable too, using - \DeclareDefaultSourcemap - -* Customisable labels - - A new macro interface is implemented (\DeclareLabelalphaTemplate) - which allows customisation of the label used in alphanumeric - styles. The previous static labels are now implemented in terms of - the new interface. The biblatex manual has a section on this - feature with examples. One edge-case has changed with the new - definition of the previous default label generation behaviour: a - name with a prefix will now include 3 characters after the prefix - instead of 2 ("van Rompel" will be "vRom" instead of "vRo"). The - previous behaviour was anomolous anyway. There are options to - auto-disambiguate labels in several ways. - -* Related entries - - A general method to support "related entries" is implemented. This - allows a localisable, flexible way to deal with relationships between - entries like "reprint of", "translation of", "reprinted in" etc. - - Three new entry fields are available to support this - "related", - "relatedtype" and "relatedstring". Biber will automatically create - "dataonly" clones of the related entries so that their data can be - accessed in styles without having to cite them. Related entries may - also be cited themselves which does not interfere in any way with this - mechanism. The standard styles have been updated to support the new - fields. New punctuation macros are available to format the new fields - in the bibliography ("relatedpunct", "relateddelim", "related"). - -* Citation key aliases - - It is now possible to include a new field "ids" in an entry which - is a comma-separated list of citation key aliases. The entry can be - cited by any of the aliases, which helps when you updated your - entry keys but don't want to change old documents. - -* Option to sort names only using initials - - The new option "sortfirstinits" allows users to specify that name - sorting only uses initials instead of the full name. Previously, - even if "firstinits" was true, sorting used full names. - -* New citation commands - - Starred variants of \citeyear and \citedate are now available which - include the extrayear information. - -RELEASE NOTES FOR VERSION 1.7 - -* Biber update, new features - - Biblatex 1.7 requires Biber 0.9.6. Biber is now based on Perl 5.14 - with full Unicode 6.0 support. There's a bunch of other - improvements -- see the Biber manual for details. - -* XDATA containers [Biber only] - - This release introduces the new @xdata entry type and the - corresponding xdata field. Essentially, the idea is that you can - dump frequently used data into an @xdata entry and reference that - where needed. It's a bit like crossref but doesn't imply any - logical (parent/child) relation. Or, to put it differently, it's a - bit like @string but covers more than one field. See the changelog - for pointers. - -* Extended option scoping [Biber only] - - The package options related to name/list truncation and name - disambiguation are now conveniently settable globally/per-type/ - per-entry. See the changelog for details. There's also a new - appendix with an overview of the scope of all options. - -* Field formats for dates - - \printdate and friends now support 'virtual' field formats for all - dates. So, even though there is no 'date' field on the LaTeX end - of the workflow (only year/month/day and endyear/endmonth/endday), - you may now say: - - \DeclareFieldFormat{date}{\textbf{#1}} - - to print the date in boldface, for example. Technically, this is - equivalent to: - - \DeclareFieldFormat{date}{\textbf{#1}} - \printtext[date]{\printdate} - - except that it is readily built into \printdate. - -* Last-resort breakpoints for \url - - URLs and DOIs consisting mostly or entirely of letters and numbers - may run into the margin if the \url command can't find suitable - breakpoints. I've introduced additional breakpoints after all - numbers and letters in the previous biblatex release in order to - deal with particularly nasty DOIS, but this turned out to be to - brute a solution. - - To provide the best of both worlds, this release adds counters - which control the penalties associated with the additional - breakpoints. They are disabled by default but may be helpful (as a - last resort) if you need to deal with long and/or tricky DOIs. See - 'biburlnumpenalty' etc. in the manual for details. If you want to - enable the additional breakpoints, use high penalties; e.g.: - - \setcounter{biburlnumpenalty}{9000} - -* Language support - - Oleg Domanov contributed support for Russian. Note that the - Russian module requires UTF-8. Pieter Belmans updated the Dutch - language module. - -RELEASE NOTES FOR VERSION 1.6 - -* Biber update, new mapping feature - - Biblatex 1.6 requires Biber 0.9.4. It will not work with any - previous release. Biber now supports user-space field mapping. - This means that you can set up mapping rules in the Biber - configuration file to deal with non-standard field names in .bib - files by mapping them to known field names. - -* Revised maxnames/minnames options - - Biber now supports max/mincitenames and max/minbibnames as - separate values. This improvement has prompted a refactoring of - the corresponding package options. In previous versions, there - were three sets of values: - - max/minnames -> backend+frontend default - max/mincitenames -> frontend only - max/minbibnames -> frontend only - - The backend would get max/minnames, the other values were only - used on the LaTeX end, defaulting to max/minnames. Depending on - the citation style, this could lead to ambiguous citations if - max/minnames was out of sync with max/mincitenames. (This wasn't - really obvious from reading the manual.) - - This can no longer happen. The new solution is simpler and - error-proof in this respect. The max/mincitenames and - max/minbibnames options do what their name indicates and are fully - supported by Biber. The max/minnames options now serve as master - options which set both max/minbibnames and max/mincitenames: - - max/minnames -> max/mincitenames - -> max/minbibnames - max/mincitenames -> frontend+backend - max/minbibnames -> frontend+backend - - We didn't bother to update the BibTeX backend as it is due to be - discontinued this fall anyway. The BibTeX backend will get the - max/mincitenames values only. - -* [CAVEAT] Removed local max/minnames and max/minitems options - - As part of the above change, I've removed the local max/minnames - and max/minitems options from \printbibliography and friends to - enforce consistency. Please use the global options instead. - -* Added maxalphanames/minalphanames [Biber only] - - With Biber, the 'labelalpha' field may now be configured - independently of max/mincitenames with the newly introduced - package options max/minalphanames. - -* MD5 hashes, per-name hashes [Biber only] - - With Biber, the hashes provided in the namehash/fullhash fields - are now standard MD5 hashes. This means that they are stable - across multiple runs, multiple refsections, and multiple - documents. - - We've also added per-name hashes. Every name in every name list - gets an MD5 hash, which is available in the 'hash' field. Note - that this field is only available locally in name formatting - directives. - -* Range compression/truncation - - This release features a new command for range compression (i.e., - format "123-128" as "123-8"). The command is configurable, can - handle lists of ranges separated by commas and/or semicolons, and - also normalizes the dashes. Note that combining this with - \mkpageprefix requires the field format to be set up in a specific - way. See \mkcomprange in the manual for details. - - I've also overhauled the command which truncates ranges by only - printing the starting page of the range. The original - \mkpagefirst has been removed because of its awkward syntax. It is - superseded by \mkfirstpage. Note that this change is not - backwards-compatible because the syntax of the new command is - slightly different. You may need to update some format - definitions. - -RELEASE NOTES FOR VERSION 1.5 - -* Biber update - - Biblatex 1.5 requires Biber 0.9.3. It will not work with any - previous release. - -* More name disambiguation modes [Biber only] - - We've added some additional modes to the 'uniquename' and - 'uniquelist' options. Roughly speaking, the new 'min*' modes aim - for unambiguous citations (mainly author-year) rather than - disambiguating names in a strict way. There's a section in the - manual which discusses all the details. See the changelog for - pointers to the relevant parts of the manual. - -RELEASE NOTES FOR VERSION 1.4 - -* Biber update - - Biblatex 1.4 requires Biber 0.9 or higher. It will not work with - any previous release. - -* Advanced name disambiguation in citations [Biber only] - - Name disambiguation in citations has been greatly improved and - extended in this release. We're pretty excited about this feature - because it has been in the pipeline for such a long time and - because Biblatex/Biber is, to the best of my knowledge, the only - bibliographic tool providing fully automated disambiguation of - names in citations. - - There are now two options controlling name disambiguation, - 'uniquename' and 'uniquelist'. You can use either option - stand-alone or combine both. This is best explained by way of - example. Consider the following data: - - John Smith/John Doe 2011 - John Smith/Jane Doe 2011 - John Smith/Edward Doe 2011 - - Let's assume we're using the standard 'authoryear' style and set - uniquename=false. In this case, we would get the following - citations: - - Smith and Doe 2011a - Smith and Doe 2011b - Smith and Doe 2011c - - The extra letter appended to the year (that's the automatically - generated 'extrayear' field provided by the 'labelyear' option) - disambiguates the citations. Many style guides, however, mandate - that the extra letter be used to disambiguate works by the same - author(s) only, not works by different authors with the same last - name. In order to disambiguate the author's last name, you're - expected to add additional parts of the name, either as initials - or in full. This is what the 'uniquename' option does. Here are - the same citations with uniquename=init: - - Smith and J. Doe 2011a - Smith and J. Doe 2011b - Smith and E. Doe 2011 - - 'uniquename=init' restricts name disambiguation to initials. Since - the first two Does are still ambiguous at that point, we need to - fall back to 'extrayear'. With uniquename=full, names are printed - in full where required: - - Smith and John Doe 2011 - Smith and Jane Doe 2011 - Smith and E. Doe 2011 - - In the past, this feature was of limited use since it only worked - for entries with a single author/editor. It now works for any name - at any point in the list. Since this is only possible with Biber, - the feature has been removed entirely from the BibTeX backend. - - When it comes to lists of names, there's another aspect to - ambiguity. Let's call it list ambiguity. Consider the following - data: - - Doe/Jones/Smith 2011 - Smith/Johnson/Doe 2011 - Smith/Doe/Edwards 2011 - Smith/Doe/Jones 2011 - - Most author-year and author-title styles will truncate long - author/editor lists in citations. For example, with maxnames=1 - we'd get: - - Doe et al. 2011 - Smith et al. 2011a - Smith et al. 2011b - Smith et al. 2011c - - Since the author lists are ambiguous after truncation, the - 'extrayear' marker is added by the style in order to ensure unique - citations. Here again, many style guides mandate that the extra - letter be used to disambiguate works by the same authors only. In - order to disambiguate author lists, you're typically required to - add more names, exceeding the maxnames/minnames truncation point. - The new 'uniquelist' feature introduced in this release does that - automatically. With maxnames=1 and uniquelist=true, we get: - - Doe et al. 2011 - Smith, Johnson et al. 2011 - Smith, Doe and Edwards 2011 - Smith, Doe and Jones 2011 - - As seen above, the 'uniquelist' option overrides the 'maxnames' - setting on a per-entry basis. Essentially, what happens is that - the "et al." parts of the citations get expanded to the point of - no ambiguity -- but no further than that. - - 'uniquename' and 'uniquelist' may also be combined. Consider the - following data: - - John Doe/Jane Smith/William Jones 2011 - John Doe/John Smith/William Jones 2011 - John Doe/Edward Smith/William Jones 2011 - John Doe/John Edwards/William Jones 2011 - John Doe/John Edwards/Jack Johnson 2011 - - With maxnames=1: - - Doe et al. 2011a - Doe et al. 2011b - Doe et al. 2011c - Doe et al. 2011d - Doe et al. 2011e - - With maxnames=1, uniquename=true, uniquelist=true: - - Doe, Jane Smith et al. 2011 - Doe, John Smith et al. 2011 - Doe, E. Smith et al. 2011 - Doe, Edwards and Jones 2011 - Doe, Edwards and Johnson 2011 - - If multiple disambiguation options are active, names are - disambiguated first and works last. The order is as follows: - - 1. uniquename - 2. uniquelist - 3. extrayear, singletitle - - Adding this feature to existing styles is simple. The 'uniquename' - information needs to be evaluated in the name formatting directive - which controls the formatting of the 'labelname' list. The default - definition in biblatex.def is responsive to the 'uniquename' - option. If you're using that, just enable the package option and - that's it. If you're using a different format, check biblatex.def - on how to incorporate the 'uniquename' feature. - - Adding support for 'uniquelist' is also trivial. If the second - optional argument of \printnames is omitted (i.e., no explicit - range is specified), \printnames{labelname} will print the - 'labelname' list up to the truncation point defined with the - 'maxnames'/'minnames' package options. If 'uniquelist' is enabled, - it will simply override 'maxnames' on a per-entry basis, i.e., - \printnames will print the 'labelname' list up to point of no - ambiguity. Unless you're specifying explicit ranges, all you need - to do is enable the 'uniquelist' package option. - -* Name disambiguation in standard styles [Biber only] - - All standard author-year and author-title styles now enable - uniquename/uniquelist disambiguation. Of course this only works - when using Biber. - -RELEASE NOTES FOR VERSION 1.3 - -The list of changes in Biblatex is fairly short this time. Most of -the big feature improvements are found in Biber. - -* Biber 0.8.3, Biber in TeX Live main. - - Update Biber to version 0.8.3 when upgrading to biblatex 1.3. Note - that Biber is now available from the main TeX Live repository. - This means that you don't need to point tlmgr to TLContrib any - more. It also implies that more architectures are supported. - -* Experimental Zotero and EndNote import [Biber only] - - Biber now features import support for the Zotero RDF/XML and - EndNote XML formats. See the Biber manual for details and caveats. - -* Fine-grained name delimiter/spacing controls [Biber only] - - The spacing between name parts and line breaks in names can now be - customized in great detail, especially with Biber. With BibTeX, - customization is much more limited but still possible to some - extent. See the manual for details. - -* Added citation counter - - As its name suggests, the new 'citecounter' feature counts - citations, i.e., it indicates how many times an entry is cited in - a reference section. The value of the 'citecounter' counter refers - to the total per-entry/per-refsection citation count. - - The counter works much like the citation trackers. It is useful - for styles which handle initial and repeated citations - differently. For example, you may want to suppress the - introduction of a shorthand of an entry in the initial citation if - it is cited only once anyway. - -* Added \smartcite command - - I've added a new citation command called \smartcite (along with - \Smartcite, \smartcites, etc.). Essentially, this is a \footcite - command which behaves like \parencite when used in a footnote. - It's particularly useful in conjunction with autocite=footnote as - it makes \autocite even more versatile. - - Style authors should note that the default setup for - autocite=footnote has been modified and now uses \smartcite - instead of \footcite. Providing a \smartcite command is - straightforward. In most cases, all you need to do in your style - is duplicate the definition of \footcite and adapt the wrapper - code like so: - - \DeclareCiteCommand{\smartcite} - [\iffootnote{\mkbibparens}{\mkbibfootnote}] - {...} - {...} - {...} - {...} - -RELEASE NOTES FOR VERSION 1.2 - -* Remote resources, experimental RIS import [Biber only] - - Biber 0.8 features support for remote .bib files (HTTP/FTP) and - experimental RIS file import. See the Biber manual and - \addbibresource in the biblatex manual for details. - -* \bibliography superseded by \addbibresource - - As Biber development opens new possibilities, I've refactored the - user interface for specifying bibliographic resources. - \bibliography is superseded by \addbibresource. There are two - differences when using \addbibresource: - - 1) Always give the full file name, do not omit the .bib extension. - 2) No comma-separated lists, use one \addbibresource per bib file. - - For example, the old form: - - \bibliography{file1,file2} - - is superseded by: - - \addbibresource{file1.bib} - \addbibresource{file2.bib} - - \addbibresource also supports options: - - \addbibresource[location=local,type=file,datatype=bibtex]{file1.bib} - - You only need to specify options which differ from the defaults - (local/file/bibtex), e.g.: - - \addbibresource[datatype=ris]{file.ris} - \addbibresource[location=remote]{ftp://192.168.3.57/~fred/file1.bib} - - The change is fully backwards compatible since \bibliography is - still available. There is no need to update existing files but - \addbibresource is the recommended way for new files. - -* Smart/customizable 'crossref' data inheritance [Biber only] - - Biber has been supporting 'crossref' customization for some time - but the biblatex user interface was still missing. This release - finally adds a user interface. This means that you may configure - how the data is inherited from the entry the 'crossref' field - refers to. The manual has all the details, including the default - settings. - - If you're using the 'crossref' field, this change is a significant - one since the smart data inheritance is set up by default. By - 'smart' I mean a sensible parent/child field mapping which - replaces BibTeX's symmetric mapping. There is no need any more to - duplicate fields. - - BibTeX crossref: - - book -> inbook - ----------------------------------- - title -> title - booktitle -> booktitle - - Biber crossref: - - book -> inbook - ----------------------------------- - title -> booktitle - -* New multi-volume entry types - - There are four new entry types in this release: mvbook, - mvcollection, mvproceedings, mvreference. They are similar to the - established types without the 'mv' prefix but indicate a - multi-volume work explicitly. - - This difference is crucial of you want to leverage Biber's - 'crossref' support because titles are inherited differently in - this case: - - book -> inbook - ----------------------------------- - title -> booktitle - subtitle -> booksubtitle - titleaddon -> booktitleaddon - - mvbook -> inbook - ----------------------------------- - title -> maintitle - subtitle -> mainsubtitle - titleaddon -> maintitleaddon - -RELEASE NOTES FOR VERSION 1.1 - -Starting with this release, we'll leverage the possibilities of Biber -to support features not possible with BibTeX. That's why most major -new features in this release are 'Biber only'. - -* Biber update - - Update Biber to version 0.7 when installing Biblatex 1.1. The - latest Biber is available from this location: - - http://sourceforge.net/projects/biblatex-biber/files/ - biblatex-biber/current/ - - Ready-to-run binaries are here: - - http://sourceforge.net/projects/biblatex-biber/files/ - biblatex-biber/current/binaries/ - -* Configurable sorting schemes [Biber only] - - This release introduces configurable sorting schemes. With Biber, - you may now set up arbitrary sorting specs. The new custom sorting - specs are very powerful and come with a flexible user interface. - See \DeclareSortingScheme, \DeclareSortExclusion, and - \DeclarePresort in the manual for details. Like the predefined - sorting specs, new ones are activated with the 'sorting' option. - - If you are using Biber, all known sorting schemes are still - available by default, but they are now defined in biblatex.def - instead of being hard-coded in the backend. - - If you are using BibTeX, note that the old hard-coded schemes in - biblatex.bst have not been altered. They continue to work as they - did before, but you can't modify them or define new ones. - -* Configurable 'labelname'/'labelyear' [Biber only] - - The special fields 'labelname'/'labelyear' may now be customized - by style authors. In conjunction with the configurable sorting - schemes, this dramatically increases biblatex's flexibility, - especially with author-year, author-title, and verbose styles. See - \DeclareLabelname and \DeclareLabelyear in the manual for details. - -* Introducing per-type package options - - Starting with this release, certain package options may be set on - a per-type basis. Use the new optional argument of - \ExecuteBibliographyOptions to specify the type. Note that most - per-type options are 'Biber only'. For details, see the rather - lengthy list of per-type options in the changelog. - -* Improved static entry sets [Biber only] - - Static entry sets (i.e., @set entries in the bib file) are now - natively supported by Biber. This means that instead of the rather - convoluted old setup: - - @Set{set1, - entryset = {key1,key2,key3}, - crossref = {key1}, - } - @Article{key1, - entryset = {set1}, - author = {...}, - title = {...}, - ... - } - @InCollection{key2, - entryset = {set1}, - author = {...}, - title = {...}, - ... - } - @Article{key3, - entryset = {set1}, - author = {...}, - title = {...}, - ... - } - - defining a static set is now as simple as this: - - @Set{set1, - entryset = {key1,key2,key3}, - } - - The 'crossref' in the @set head entry and the 'entryset' pointers - in the member entries are no longer required. Defining a static - set is now as simple as adding a @set entry with an 'entryset' - field specifying the set. That's all. - - Since there are no 'entryset' pointers in the member entries, the - members may be part of a set in one document/refsection and - stand-alone references in another one, depending on the presence - of the @set entry. If the @set entry is cited, the set members are - grouped automatically. If not, they behave like regular entries. - -* Introducing dynamic entry sets [Biber only] - - Dynamic entry sets are a new way of grouping entries. They differ - from static ones in that they are not defined in the bib file but - declared in the document, i.e., they work on a per-document/ - per-refsection basis. Instead of defining a set in the bib file: - - @Set{set1, - entryset = {key1,key2,key3}, - } - - you declare it like that in the document: - - \defbibentryset{set1}{key1,key2,key3} - - This works anywhere in the document, including the document body. - Apart from that, dynamic entry sets work exactly like static ones. - See the manual for more information. - -* mcite/mciteplus-like citation commands [Biber only] - - Users of the mcite/mciteplus packages are already familiar with - the concept of a dynamic entry set. With mcite/mciteplus, sets are - defined as they are cited. To facilitate migration to biblatex, - this release comes with a special citation module which provides - mcite/mciteplus-like citation commands on top of the commands - provided by the main citation style. For example, the following - command: - - \mcite{setA,*keyA1,*keyA2,*keyA3} - - is equivalent to this: - - \defbibentryset{setA}{keyA1,keyA2,keyA3}\cite{setA} - - Note that there is a syntactical difference between biblatex's - dynamic entry sets and the citation grouping of mcite/mciteplus. - With mcite/mciteplus, the first set member plays double-duty as - group identifier. With biblatex, an entry set is an entity in its - own right which requires a unique entry key. - - For example, an mcite citation group is declared like this: - - \cite{keyA1,*keyA2,*keyA3} - - In contrast to that, a dynamic entry set defined with one of the - commands provided by biblatex's 'mcite' package option is set up - like that: - - \mcite{setA,*keyA1,*keyA2,*keyA3} - - Note the extra identifier 'setA': this is the entry key assigned - to the set. See the manual for further details. - -* Low-level bibliography filters - - The \defbibfilter command and the 'filter' option of - \printbibliography are now supplemented by \defbibcheck and the - corresponding 'check' option. - - Conceptually, a 'check' is like a filter controlling which entries - are included in a certain (sub-)bibliography. In contrast to - filters, however, the checks don't use a high-level syntax. Checks - are macros which directly employ the low-level conditionals of - biblatex's data interface. Here's an example 'check' which tests - if an entry has an abstract: - - \defbibcheck{hasabstract}{% - \iffieldundef{abstract}{\skipentry}{}% - } - ... - \printbibliography[check=hasabstract] - - This will only print entries with an 'abstract' field. More complex - checks are possible as well. For example, this check will exclude - all entries published prior to the year 2000: - - \defbibcheck{recent}{% - \iffieldint{year} - {\ifnumless{\thefield{year}}{2000} - {\skipentry} - {}} - {\skipentry}} - - See the manual for further details. - -* More flexible 'maxnames'/'minnames' controls - - I've added some additional package options related to 'maxnames'/ - 'minnames'. See 'maxbibnames'/'minbibnames' and 'maxcitenames'/ - 'mincitenames' in the manual. - - The new options don't introduce entirely new functionality. They - are rather convenience options which allow setting 'maxnames'/ - 'minnames' in a more flexible way. For example, setting the - 'maxbibnames' option like this: - - \usepackage[maxnames=3,maxbibnames=99]{biblatex} - - is equivalent to: - - \usepackage[maxnames=3]{biblatex} - \begin{document} - ... - \printbibliography[maxnames=99] - - 'maxcitenames' does the same for all citations. - -* Defining and resetting per-type formats - - \DeclareFieldFormat and related commands support per-type - formatting directives. By default, biblatex uses this feature to - format the 'title' field depending on the entry type. For example, - book titles are printed in italics, article titles use quotes - instead. In previous releases, lines like the following ones were - found in biblatex.def: - - \DeclareFieldFormat{title}{\mkbibemph{#1}} - \DeclareFieldFormat[article]{title}{\mkbibquote{#1}} - \DeclareFieldFormat[inbook]{title}{\mkbibquote{#1}} - ... - - This release brings two new features related to that. - - 1) \DeclareFieldFormat and related commands now support a - comma-separated list of entry types. This facilitates the - definition of per-type formats: - - \DeclareFieldFormat{title}{\mkbibemph{#1}} - \DeclareFieldFormat[article,inbook,...]{title}{\mkbibquote{#1}} - - 2) \DeclareFieldFormat and friends now come with a starred variant - which resets all type-specific formats. With previous releases, - removing or modifying the formatting could be tedious if you - didn't make that book/article distrinction. You had to change the - default plus all type-specific formats: - - \DeclareFieldFormat{title}{#1} - \DeclareFieldFormat[article]{title}{#1} - \DeclareFieldFormat[inbook]{title}{#1} - ... - - The new starred commands do that in one shot: - - \DeclareFieldFormat*{title}{#1} - - Note that the default formatting has not been altered. It's just a - bit easier to modify it now. - -* New option 'mergedate' (authoryear style) - - By popular request, I've added a 'mergedate' option to the - 'authoryear' bibliography style. The option controls whether or - not the date label is merged with the date specification in the - bibliography. - - For example, while mergedate=false outputs: - - Doe, John (2008a). Article. In: Journal 23.5 (May 2008), - pp. 5-24. - - mergedate=true will print: - - Doe, John (May 2008a). Article. In: Journal 23.5, pp. 15-34. - - Note that 'mergedate=true' is in fact the old behavior (and the - default setting). 'mergedate=false' is the new feature! - -RELEASE NOTES FOR VERSION 1.0 - -Here it finally is, the long-awaited first stable release of -biblatex. As the 0.9* releases have proven to be very mature and -reliable, this release is essentially 0.9e with some localization -updates and minor tweaks. It concludes the 0.9 development cycle -rather than introducing completely new features. - -The stable status basically has two consequences. 1) We'll try to be -more cautious in terms of backwards compatibility in the future and -2) Biblatex moves to a different location on CTAN. See below for -details. - -* Development Roadmap - - Over the course of the 1.x development cycle, you'll increasingly - see new features being added which are tagged as 'Biber only' in - the manual. The BibTeX backend of Biblatex will be maintained for - some more time but it won't receive any feature updates. There is - a simple reason for that: the kind of features we'll introduce - can't be handled by BibTeX (that's why we have Biber, after all). - - While you can stay with the BibTeX backend for some more time, - it's highly advisable to switch to Biber fairly soon as BibTeX - support will be discontinued at some point. To give you an idea - of the timescale: we're talking months rather than years. - -* New location on CTAN - - The package moves from - - tex-archive/macros/latex/exptl/biblatex/ - to - tex-archive/macros/latex/contrib/biblatex/ - - The pre-bundled TDS archive moves from - - tex-archive/install/macros/latex/exptl/ - to - tex-archive/install/macros/latex/contrib/ - -* New contrib location on CTAN - - There's also a new location for contributed styles: - - tex-archive/macros/latex/contrib/biblatex-contrib/ - - The old exptl/biblatex-contrib/ directory is still available and - will keep being available as a staging area for styles which are - work in progress. If your style is considered stable, you may - want to move it to contrib/biblatex-contrib/. If it's - experimental, you may prefer exptl/biblatex-contrib/. - -* Biber update - - When updating Biblatex, make sure you also get the latest Biber - from this location: - - http://sourceforge.net/projects/biblatex-biber/files/ - biblatex-biber/current/ - - Ready-to-run binaries are here: - - http://sourceforge.net/projects/biblatex-biber/files/ - biblatex-biber/current/binaries/ - -* Modified 'bibencoding' package option, new default - - I've renamed 'bibencoding=inputenc' to 'bibencoding=auto' to make - it clear that this option is not specific to the inputenc package - and also works with XeTeX/LuaTeX in native UTF-8 mode. - bibencoding=inputenc is still supported as an alias. - - 'bibencoding=auto' is the new package default. This means that - biblatex by default assumes that the workflow is transparent, - i.e., that the .bib files use the same encoding as the .tex file. - Note that it is the input encoding of the .tex (!) file which is - detected automatically. If the .bib files use a different - encoding, you always need to specify it explicitly. - - If you prefer the old default, you can easily restore it by - adding the following like to your biblatex.cfg file: - - \ExecuteBibliographyOptions{bibencoding=ascii} - - The new default setting may trigger some warnings which have not - been triggered before. Consider this case: - - \usepackage[latin1]{inputenc} - \usepackage{biblatex} - - This will trigger a warning instructing you to switch to bibtex8 - or Biber. That's because the defaults are 'backend=bibtex' and - 'bibencoding=auto'. The latter implies that the .bib files are - Latin1 encoded but traditional BibTeX can't handle that, hence - the warning. If the .bib files do in fact use Latin1 encoding it's - a good idea to heed the advice: - - \usepackage[latin1]{inputenc} - \usepackage[backend=bibtex8/biber]{biblatex} - - If they're Ascii, set the encoding explicitly: - - \usepackage[latin1]{inputenc} - \usepackage[bibencoding=ascii]{biblatex} - - On the other hand, you may delete all old 'bibencoding=inputenc' - options as this is the default setting now. - -RELEASE NOTES FOR VERSION 0.9e - -* Biber update, options 'sortupper', 'sortlocale' - - Biber has been updated to version 0.5.7. There are ready-to-run - binaries for the latest version. If you're using Biber, upgrade - to 0.5.7 or later when upgrading to biblatex 0.9e. - - Biblatex now offers two package options which correspond to - Biber's command line options --sortupper and --sortlocale, the - point being that you can set them on a per-document basis. I've - also added some explanations concerning encodings and locale - settings. See the changelog for pointers. - -* Improved backrefs for @set entries, 'backrefsetstyle' option - - I've revised and improved the handling of back references related - to entry sets. Biblatex is now capable of tracking the @set head - entry and the set members separately, if so desired. - - The new package option 'backrefsetstyle' controls the tracking - mode. By way of example, consider a set ("set1") with three - members ("memA", "memB", "memC") and the following input: - - on page 1: \cite{set1} - on page 2: \cite{memA} - on page 3: \cite{memB} - on page 4: \cite{memC} - - With backrefsetstyle=setonly, this will generate the following back - references: - - set1: 1, 2, 3, 4 - memA: - - memB: - - memC: - - - With backrefsetstyle=memonly: - - set1: - - memA: 1, 2 - memB: 1, 3 - memC: 1, 4 - - With backrefsetstyle=setormem: - - set1: 1 - memA: 2 - memB: 3 - memC: 4 - - With backrefsetstyle=setandmem: - - set1: 1, 2, 3, 4 - memA: 2 - memB: 3 - memC: 4 - - With backrefsetstyle=memandset: - - set1: 1 - memA: 1, 2 - memB: 1, 3 - memC: 1, 4 - - With backrefsetstyle=setplusmem: - - set1: 1, 2, 3, 4 - memA: 1, 2 - memB: 1, 3 - memC: 1, 4 - - To take advantage of that in custom styles, only a minor update - is required. Supporting the @set entry and the set members - separately is pretty intuitive. Any \printlist command in the - @set entry will see the 'pageref' list of the @set entry; the - \printlist commands in the regular drivers (which handle the set - members) will see the 'pageref' list of the respective member: - - \DeclareBibliographyDriver{set}{% - \entryset{}{}% - \newunit\newblock % <- NEWLY ADDED - \printlist{pageref}% <- NEWLY ADDED - \finentry} - - \DeclareBibliographyDriver{<entry type>}{% - ... - \printlist{pageref}% - ... - } - - There are some bibmacros as well as a new \bibpagerefpunct - separator to help with that, hence the actual code in the - standard styles works like this: - - \DeclareBibliographyDriver{set}{% - \entryset{}{}% - \newunit\newblock % <- NEWLY ADDED - \usebibmacro{setpageref}% <- NEWLY ADDED - \finentry} - - \DeclareBibliographyDriver{<entry type>}{% - ... - \setunit{\bibpagerefpunct}\newblock % <- MODIFIED - \usebibmacro{pageref}% - ... - } - - That's all. This will ensure that all tracking modes are - supported. - -RELEASE NOTES FOR VERSION 0.9d - -* Date formatting options - - I've removed all '<date>=none' options as this feature seems to - be causing some confusion. Setting '<date>=none' was not - sufficient to suppress a certain date in all cases because date - specifications may also incorporate elements such as the 'issue' - field, be tied to the 'url' in a way that leads to erroneous - formatting if there is no date, etc. I'm afraid selectively - omitting dates really needs to be handled on the style level. - - There's a new set of '<date>=iso8601' options which print - extended-format ISO-8601 dates. Not all of ISO-8601 is - implemented, only the core elements of the extended format which - are also used in .bib files, i.e., "yyyy-mm-dd" for individual - dates and "yyyy-mm-dd/yyyy-mm-dd" for ranges. Full-scale ISO-8601 - date/time specs like "2005-08-09T18:31:42P3Y6M4DT12H30M17S" - wouldn't make much sense in a bibliography anyway. Note that - these options are language agnostic. They will override any - region-specific settings provided by .lbx files. That's the - whole point of ISO-8601, after all. - -RELEASE NOTES FOR VERSION 0.9c - -* Improved reencoding support - - Biber 0.5.5 is capable of reencoding the data in bib files on the - fly. This solution is more robust than biblatex's macro-level - reencoding with inputenc. With 'backend=biber', biblatex will now - use Biber instead of inputenc. In addition to that, the biblatex - code which detects if the bib data needs to be reencoded to match - the encoding of the tex file is smarter now and should work - smoothly. - - In practice, this simply means that you may always use the - 'bibencoding' option to specify the encoding of your bib files - (there was some potential for spurious reencoding steps in - previous versions), with any backend. It is in fact highly - recommended to do so for two reasons: 1) the default value is - 'ascii', and 2) biblatex will warn you if the bib encoding can't - be handled by the backend you selected. - - You may put your platform default in biblatex.cfg; there is no - need to do that in each and every preamble (you may still - override all biblatex.cfg settings on a per-document basis in the - preamble, if required). - -* UTF-8 encoded entry keys and bib filenames - - Biber 0.5.5 supports UTF-8 encoded entry keys. Biblatex will work - with UTF-8 keys and filenames when running on an engine with - native UTF-8 support (i.e., XeTeX or LuaTeX). Macro-level UTF-8 - support with inputenc/inputenx will not do. - -* Improved arXiv support - - I've added an additional eprint-related field plus two aliases to - better support arXiv references. The changelog includes pointers - to the relevant sections of the manual. - -RELEASE NOTES FOR VERSION 0.9b - -* Extended Biber interface - - If you're using Biber as backend, make sure you update Biber as - well (to version 0.5.4 or higher) because the Biblatex -> Biber - interface has been extended. - - The most obvious effect of this improvement is that Biber is now - capable of handling multiple refsections in a single pass. If you - have any 'refsection' environments in a document, you only need to - run Biber once. - -* New dependency: logreq package - - Starting with this release, biblatex will use the logreq package - to write machine-readable messages to an auxiliary log file. When - installing biblatex 0.9b, make sure to install the logreq package - as well. It is available from CTAN: - - http://www.ctan.org/tex-archive/macros/latex/contrib/logreq/ - - A TDS archive is available as well: - - http://www.ctan.org/tex-archive/install/macros/latex/logreq.tds.zip - -* Modified \defbibfilter syntax - - I've modified \defbibfilter such that it uses \ifboolexpr (from - etoolbox.sty) instead of \ifthenelse (from ifthen.sty) - internally. \ifboolexpr uses a slightly different syntax. - For example, this definition: - - \defbibfilter{example}{% - \( \type{book} \or \type{inbook} \) - \and \keyword{abc} - \and \not \keyword{x y z} - } - - becomes: - - \defbibfilter{example}{% - ( type=book or type=inbook ) - and keyword=abc - and not keyword={x y z} - } - - There is no need to update existing files since the old - \ifthenelse syntax is still supported. \defbibfilter will - implicitly 'translate' at definition time, if required. - -* Renamed option 'defernums' to 'defernumbers' - - The package option 'defernums' has been renamed to - 'defernumbers'. - -* Prefixed numerical citations, improved 'numeric' styles - - I've added three options to \printbibliography which are related - to numerical citation schemes. They are called 'prefixnumbers', - 'resetnumbers', and 'omitnumbers'. Note that these options - require that 'defernumbers' be set globally since they assign the - numeric labels as the bibliography is generated (as opposed to at - the beginning of the document body, as the data is read in). - - The new options enable the numeric styles to support prefixed - numerical citations. The following may be accomplished by setting - 'prefixnumbers' for each prefixed subbibliography: - - REFERENCES - Printed References - [A1] ... - [A2] ... - Online References - [B1] ... - [B2] ... - - It is also possible to mix one non-prefixed subbibliography with - one or more prefixed ones (set 'prefixnumbers' for each prefixed - subbib and 'resetnumbers' for the non-prefixed one) or even to - mix numerical citations with author-year or author-title - citations (set 'omitnumbers' for all non-numerical subbibs). - - See the files '16-numeric-prefixed-1', '17-numeric-prefixed-2', - and '18-numeric-hybrid' in the 'examples' subdirectory for - practical examples. - - Adding support for prefixed numerical citations to existing - numeric styles is trivial. The prefixes set in the argument to - \printbibliography are available in the 'prefixnumber' field. If - no prefix has been set, the field is undefined. Hence, in the cbx - file, simply replace: - - \printfield{labelnumber} - - with: - - \printfield{prefixnumber}% - \printfield{labelnumber} - - In the bbx file, the prefix needs to be incorporated in the - definition of the bibliography environment. Replace: - - \defbibenvironment{bibliography} - {\list - {\printfield[labelnumberwidth]{labelnumber}} - {...} - {\endlist} - {\item} - - with: - - \defbibenvironment{bibliography} - {\list - {\printtext[labelnumberwidth]{% - \printfield{prefixnumber}% - \printfield{labelnumber}}} - {...} - {\endlist} - {\item} - - The numeric styles which ship with biblatex support prefixed - labels out of the box. - -* New author-title style - - There's a new style which rounds off the selection of - author-title styles which ship with biblatex. It's called - 'authortitle-ticomp' and, as you can tell by the name, it's a - variant of the 'authortitle-tcomp' style with an 'ibidem' - feature. - -* Improved verbose styles, added 'citepages' option - - By popular request, all verbose styles now offer a 'citepages' - option which deals with the 'pages' field in citations, in - particular in cases in which the postnote is numerical. - - Note that style specific options are only mentioned briefly in - the manual. They are discussed in greater details in the example - file for the style (in the 'examples' subdirectory). - -* Long + short bibliography strings available - - Previous biblatex releases used to pick the long or the short - version of the strings in the lbx files at file load time, - depending on the setting of the global 'abbreviate' option. - Starting with this release, both versions are kept in memory. - - In addition to \bibstring and friends, which print the long or - the short version of the string (depending on the 'abbreviate' - option), there are now commands like \biblstring and \bibsstring, - which force the long or the short version, respectively. - - Note that the auxiliary macro \lbx@fromlang, which is used in lbx - files, has been split up into \lbx@lfromlang and \lbx@sfromlang. - -* Automatically omit redundant language specifications - - Some style guides require that authors indicate the language of all - foreign-language items in the bibliography. Biblatex's 'language' - field (which is in fact a list) helps to deal with this - requirement. If you are writing in more than one language and - reuse the same set of bib files in different contexts, it is - convenient to include this information whenever you add a new - entry to a bib file. However, this leads to redundant - information. It is rather odd to indicate "English" in the - reference to an English book cited in an English article. - - The 'clearlang' option and \DeclareRedundantLanguages avoid such - redundant language specifications. \DeclareRedundantLanguages - maps languages as indicated in the 'language' field to the - language identifiers of the babel package. Given this - information, biblatex can omit the language if it matches the - language of the document. Technically, this means that the - 'language' field will appear as undefined to styles, so it is - safe to simply use '\printlist{language}' in styles and let - biblatex sort out the rest. - - The 'clearlang' option controls this feature globally. - \DeclareRedundantLanguages mappings are typically included in lbx - files (but may also be given on a per-document basis in the - preamble). All standard lbx files which ship with biblatex now - include such mappings and 'clearlang' is enabled by default. - -RELEASE NOTES FOR VERSION 0.9a - -This release adds a few changes and improvements which were -originally scheduled for biblatex 0.9 but somehow got lost in the -release process or didn't make it in time. Pay attention to all -changes tagged as "CAVEAT". - -* [CAVEAT] Prenote placement with \cite, \textcite [numeric/alphabetic] - - The placement of the prenote in all numeric and alphabetic styles - has been modified. - - Old format: - - \cite[see][15]{key} -> see [1, p. 15] - \parencite[see][15]{key} -> [see 1, p. 15] - \textcite[see][15]{key} -> see Doe [1, p. 15] - - New format: - - \cite[see][15]{key} -> [see 1, p. 15] - \parencite[see][15]{key} -> [see 1, p. 15] - \textcite[see][15]{key} -> Doe [see 1, p. 15] - - As seen in the above examples, the new format places the prenote - inside the brackets. If you want the prenote outside of the - brackets, you can simply use: - - see \cite[15]{key} -> see [1, p. 15] - see \textcite[15]{key} -> see Doe [1, p. 15] - - which is similar to the old format. - -* [CAVEAT] Prenote placement with \textcite [authoryear/authortitle] - - The placement of the prenote in all authoryear and authortitle - styles has also been modified. - - Old format: - - \cite[see][15]{key} -> see Doe 2010, p. 15 - \parencite[see][15]{key} -> (see Doe 2010, p. 15) - \textcite[see][15]{key} -> see Doe (2010, p. 15) - - New format: - - \cite[see][15]{key} -> see Doe 2010, p. 15 - \parencite[see][15]{key} -> (see Doe 2010, p. 15) - \textcite[see][15]{key} -> Doe (see 2010, p. 15) - - The new format places the prenote inside the brackets. If you - want the prenote outside of the brackets, you can simply use: - - see \textcite[15]{key} -> see Doe (2010, p. 15) - - which is similar to the old format. - -* [CAVEAT] Introducing \defbibenvironment - - I'm phasing out the thebibliography/theshorthands environments - and the corresponding commands \thebibitem and \thelositem. - Essentially, the old way of controlling the (high-level) layout - of the bibliography and the list of shorthands is replaced by a - new mechanism based on \defbibenvironment. It's not radically - different. For example, where a style has code like this: - - \renewenvironment*{thebibliography} - {\list{}{...}} - {\endlist} - \renewcommand*{\thebibitem}{\item} - - \renewenvironment*{theshorthands} - {\list{}{...}} - {\endlist} - \renewcommand*{\thelositem}{\item} - - replace it with: - - \defbibenvironment{bibliography} - {\list{}{...}} - {\endlist} - {\item} - - \defbibenvironment{shorthands} - {\list{}{...}} - {\endlist} - {\item} - - The new system is similar to \defbibheading: you use - \defbibenvironment to define the environment and the new 'env' - option of \printbibliography and \printshorthands to select it. - The point of the new system is that you can have different styles - for different (partial) bibliographies in a document. It's also - conceptually in line with \defbibheading now. - - I've added some compatibility code to biblatex. Older styles - using thebibliography/thebibitem and theshorthands/thelositem - will continue to work until you use \defbibenvironment for the - first time to modify the default definition. From that point on, - the old environment will be ignored. - - Updating old styles is of course highly recommended. The - compatibility code may be removed from biblatex after 1.0. The - standard styles have been updated to use the new syntax. They - will ignore any changes based on the old definitions. - -* Added \printbibheading - - \printbibheading is the heading part of \printbibliography. This - is useful for subdivided bibliographies. E.g., instead of - - \chapter{\bibname} - \printbibliography[heading=subbibliography,type={...},...] - \printbibliography[heading=subbibliography,type={...},...] - ... - - you use: - - \printbibheading % = \printbibheading[heading=bibliography] - \printbibliography[heading=subbibliography,type={...},...] - \printbibliography[heading=subbibliography,type={...},...] - ... - - The point is that the overall heading is in sync with the - subheadings. - -* Smart parentheses and brackets - - This release adds a new 'parenthesis tracker', i.e., if - parentheses and/or brackets are nested, biblatex alternates - between parentheses and brackets, depending on the nesting level. - E.g.: - - \mkbibparens{text \mkbibparens{text} text} - \mkbibbrackets{text \mkbibbrackets{text} text} - - yields - - (text [text] text) - [text (text) text] - - This also works with \bibopenparen + \bibcloseparen and - \bibopenbracket + \bibclosebracket as well as the new citation - commands \parentext and \brackettexts. - -* Open ended date ranges - - There's one thing I forgot to mention when introducing the new - date fields in the previous release. It is possible to specify an - open ended range by leaving the end date blank: - - 1988/1992 = 1988-1992 - 1988/ = 1988-today - 1988 = 1988 - - Open ended ranges are represented by a defined but empty - "endyear" component on the level of the style interface: - - date = {1988} -> day = undefined - month = undefined - year = "1988" - endday = undefined - endmonth = undefined - endyear = undefined - - date = {1988/} -> day = undefined - month = undefined - year = "1988" - endday = undefined - endmonth = undefined - endyear = EMPTY - - date = {1988/1992} -> day = undefined - month = undefined - year = "1988" - endday = undefined - endmonth = undefined - endyear = "1992" - - All high-level date commands like \printdate detect and handle - open ended ranges autoamtically. Use - - \iffieldequalstr{endyear}{} - {true} - {false} - - if you want to test for open ended ranges explicitly. - -* Extended language support: Finnish - - This release comes with a finnish.lbx file. The translations - have been contributed by Hannu V\"ais\"anen. - -* Updated language support: Greek - - This release comes with an updated greek.lbx file contributed - by biblatex user Prokopis. - -* Updated examples, some updates in the manual - - Some of the examples which ship with biblatex were not completely - up to date in the 0.9 release. They have been updated now. I've - also corrected/added a few minor points in the manual. - -RELEASE NOTES FOR VERSION 0.9 - -Several features on my 'to do' list have been deferred because they -introduce backwards compatibility issues. I wanted to implement them -all in one shot so that style authors only need to update their -styles once. This release finally takes that step. In other words: - - THIS VERSION IS NOT FULLY BACKWARDS COMPATIBLE! - -Style authors will most likely need to update their styles to make -them work with this release. You will find detailed hints about what -needs to be updated in the release notes below. Changes which raise -backwards compatibility issues are tagged as "CAVEAT". Users who -rely on styles found in: - - macros/latex/exptl/biblatex-contrib/ - -on CTAN are advised to stick with biblatex 0.8 for the time being -and defer the upgrade to 0.9 until the styles they use have been -updated. If you have accidentally installed this release and find -out that you need to downgrade, you can get the previous biblatex -release from the project page on Sourceforge: - - http://sourceforge.net/projects/biblatex/files/ - -CTAN always carries the latest version. - -I have received many inquiries about why biblatex is not yet -included in TeX Live and MikTeX and why I was maintaining that nasty -do-not-distribute clause. There seems to be some confusion about -what the term 'stable' means. The point typically brought up was -that biblatex runs well and is thus 'stable'. Well, in that sense, -biblatex has been pretty stable since version 0.1. However, it has -not been stable in the sense of maintaining backwards compatibility -since version 0.1. This release, however, is finally considered -suitable for wider distribution. - -* Distributing biblatex - - This release should be a reasonable target for TeX distributions, - even though biblatex is still tagged as 'beta' and located in the - experimental branch on CTAN. I will make the move to the stable - branch when it hits 1.0. Given the number of changes and new - features in this release, it's quite possible that some bugs - slipped in. If you start packaging biblatex now, be prepared for - some maintenance releases (i.e., 0.9a, 0.9b, etc.) in the - upcoming weeks. - - A few more notes to distributors: - - - See the README file for requirements and dependencies. - - - The *.csf files in doc/resources go into TEXMF/bibtex/csf/. - The names will not conflict with the *.csf files shipping with - biblatex8. Biblatex uses names like latin1.csf while biblatex8 - uses 88591lat.csf. - - - It would be nice to have two copies of biblatex-examples.bib - installed, one in TEXMF/doc for users looking for documentation - in the usual place and a second copy in TEXMF/bibtex/bib/. - Since users are encouraged to use this database in minimal - examples, it's handy to have it readily available. - - - Biber is the next-generation backend of biblatex. It would be - very welcome to have a Biber package as well. See the project - page on http://biblatex-biber.sourceforge.net/ for details. - Note that biblatex currently supports three backends: BibTeX - (i.e., traditional 7-bit BibTeX), bibtex8, and Biber. - BibTeX/bibtex8 support will be discontinued in biblatex 2.x. - - - A package for the contributed styles found in - - macros/latex/exptl/biblatex-contrib/ - - is also welcome because some of these styles are already very - popular. However, wait for the styles in to be updated to - biblatex 0.9 before packaging them. - -* Contributing to biblatex - - Localizing biblatex heavily depends on user contributions. I've - added a new tracker named 'Contrib' to the project page which - will hopefully help to organize this process: - - http://sourceforge.net/tracker2/?group_id=244752 - - There is one item for each language supported by biblatex. The - status of the item reflects the localization status of the - corresponding language. If the status is "open", the localization - module is incomplete or in need of peer review by a native - speaker. If the status is "closed", the module is complete and - there are no known issues (you can still post comments to closed - items and upload files if you want to suggest improvements). - - If you have updates for a language module, upload the updated - *.lbx file in the appropriate thread. If you want to contribute - support for a new language, simply open a new tracker item. - -* Updating existing biblatex styles - - As usual, the full list of changes is found in the biblatex - manual. The release notes you are just reading mention all - changes which are not backwards compatible. Pay attention to all - "CAVEAT" points. - - When you update your style, it may be a good idea to add some - code which checks that the style is running under biblatex 0.9 or - later. You can use the standard LaTeX \@ifpackagelater test for - this purpose. Here's some sample code (where 'YYYY/MM/DD' needs - to be replaced with the real release date of biblatex 0.9 and - 'MYSTYLE' with the name of your style): - - \@ifpackagelater{biblatex}{YYYY/MM/DD} - {} - {\PackageError{biblatex} - {Outdated 'biblatex' package} - {The 'MYSTYLE' style requires biblatex v0.9 or later.\MessageBreak - You are using: '\csuse{ver@biblatex.sty}'.\MessageBreak - This is a fatal error. I'm aborting now.}% - \endinput} - - Since \@ifpackagelater is in fact a 'greater than or equal' test, - you can simply replace YYYY/MM/DD with the date found in the - \ProvidesPackage declaration at the top of biblatex.sty. - -* New Biber interface - - Biber is the next-generation database backend of biblatex. It is - available from: - - http://biblatex-biber.sourceforge.net/ - - If you decide to use Biber, set 'backend=biber' (preferably in - biblatex.cfg) and upgrade to Biber 0.5 or higher. Biblatex 0.9 - uses a new interface to talk to Biber hence you must specify - backend=biber and use the latest Biber version. - - Note that biblatex and Biber use separate bug trackers. If you're - using Biber and find a bug, try your example with a different - backend. If the problem persists, report it as a biblatex bug. If - not, report it as a Biber bug. - -* [CAVEAT] Revised and expanded date fields - - All date fields have been expanded such that they support ranges - in 'start/end' format. Of course it is still possible to specify - a single date and you may also truncate dates at the end. In sum, - the following examples are all valid date specifications: - - 1850 - 1967-02 - 2009-01-31 - 1988/1992 <- this is a range (from 1988 until 1992) - 2002-01/2002-02 - 1995-01-31/1995-02-05 - - This format is supported by the following fields: 'date', - 'origdate', 'eventdate', 'urldate' (for the sake of consistency - in the case of 'urldate'). I have also removed or modified some - of the fields for date components (e.g., 'day', 'urlday', etc.): - - * [CAVEAT] The field 'day' has been removed. Use the 'date' field - instead to specify full dates. - - * [CAVEAT] The field 'year' is no longer a range field but a - literal field. Year ranges should be given in the 'date' field - instead. - - * [CAVEAT] I've removed the field 'origyear' and added 'origdate' - as a replacement. 'origdate' is similar to 'date', i.e., it - takes a date specification in 'yyyy-mm-dd' format and supports - date ranges in 'start/end' format. - - * [CAVEAT] The fields 'urlday', 'urlmonth', 'urlyear' have been - removed. Use 'urldate' instead. - - * I've added an 'eventdate' field. This is also a date range - field. - - USERS: You will probably need to update your bib files. The - changes which are most likely to cause incompatibilities are the - removal of the 'day' field and the modification of 'year'. Use - 'date' instead were required. The removal/renaming of 'origyear' - may also require a few changes. I doubt than many users are - specifying access dates using urlday+urlmonth+urlyear. Since - 'urldate' has been extended but not modified in an incompatible - way, this change should be fairly transparent. - - AUTHORS: The way the date components are made available to styles - has not changed. For example, the components of the publication - date are available as day/month/year no matter whether they were - given in the 'date' field or in 'year' and 'month'. In sum, - 'date'-like fields are split up as follows: - - *.bib file style interface - ------------------ ------------------ - - date day - month - year - endday - endmonth - endyear - - origdate origday - origmonth - origyear - origendday - origendmonth - origendyear - - eventdate eventday - eventmonth - eventyear - eventendday - eventendmonth - eventendyear - - urldate urlday - urlmonth - urlyear - urlendday - urlendmonth - urlendyear - - Fields related to date components which are not available are - undefined. E.g.: - - date = {1988} -> day = undefined - month = undefined - year = "1988" - endday = undefined - endmonth = undefined - endyear = undefined - - urldate = {2009-01-31} - -> urlday = "31" - urlmonth = "01" - urlyear = "2009" - urlendday = undefined - urlendmonth = undefined - urlendyear = undefined - - origdate = {2002-01/2002-02} - -> origday = undefined - origmonth = "01" - origyear = "2002" - origendday = undefined - origendmonth = "02" - origendyear = "2002" - - eventdate = {1995-01-31/1995-02-05} - -> eventday = "31" - eventmonth = "01" - eventyear = "1995" - eventendday = "05" - eventendmonth = "02" - eventendyear = "1995" - - If there is no 'date' field, biblatex will consider the legacy - fields 'month' and 'year'. E.g.: - - year = {1988} -> day = undefined - month = undefined - year = "1988" - endday = undefined - endmonth = undefined - endyear = undefined - - year = {1993} -> day = undefined - month = {5} month = "05" - year = "1993" - endday = undefined - endmonth = undefined - endyear = undefined - - When printing a single date component in a style, use the field - names listed in the 'style interface' column above (e.g., - "\printfield{origmonth}"). There is no 'date' field on the style - level. However, there is normally no need to fiddle with the date - component fields directly. See the next point for details. - -* [CAVEAT] Modified date interface - - The high-level date interface has been revised. The commands - \bibdate and \biburldate have been renamed and improved. Here's a - list of the new high-level commands: - - \printdate - \printurldate - \printorigdate - \printeventdate - - These commands print the respective date, handle ranges, and - localize the output format. For example, if the publication date - is a plain year, then \printdate will only print the year. If - it's a full date, it will print all date components which are - available. If it's a range, it will format the range. The - high-level commands need not be wrapped in a \printtext command. - - USERS: The change is relevant for style authors only. The standard - styles have been updated. - - AUTHORS: Where your style has code like: - - \bibdate - or \printtext{\bibdate} - - and - - \biburldate - or \printtext{\biburldate} - - use - - \printdate - - and - - \printurldate - - instead. Use \printorigdate and \printeventdate to handle the new - 'origdate' and 'eventdate' fields. - -* [CAVEAT] Modified 'labelyear' - - Adding support for date ranges has prompted a refactoring of the - 'labelyear' mechanism. Essentially, I've renamed the existing - 'labelyear' field to 'extrayear' and re-added a new 'labelyear' - field with a different role. The 'maxlabelyear' counter has been - renamed to 'maxextrayear'. The new mechanism is consistent with - labelalpha/extraalpha, e.g., 'labelyear' holds the bare year (or - year range) and 'extrayear' indicates the extra letter used for - disambiguation (as an integer). - - The new 'labelyear' field holds the year components of the 'date' - field, readily formatted using \bibdatedash as a range separator. - Identical year components in a date range are detected - automatically. If there is no 'date' field, the 'year' field will - be considered instead. Here are some examples: - - date = {2003} - -> labelyear = "2003" - - date = {1995-01-31/1995-02-05} - -> labelyear = "1995" - - date = {1995/1998} - -> labelyear = "1995\bibdatedash 1998" - - date = {1998-12-27/1999-01-03} - -> labelyear = "1998\bibdatedash 1999" - - year = {2005} - -> labelyear = "2005" - - If there is neither a 'date' nor a 'year' field then 'labelyear' - will be undefined. - - USERS: The change is relevant for style authors only. The standard - styles have been updated. - - AUTHORS: Where your style has code like: - - \printfield{year}% - \printfield{labelyear}% - - use this: - - \printfield{labelyear}% - \printfield{extrayear}% - - instead. If you want to concatenate 'extrayear' and the (full) - publication date in the bibliography, use: - - \printdateextra - - \printdateextra is similar to \printdate but incorporates the - 'extrayear' in the date specification. - -* [CAVEAT] Revised date localization - - The way date specifications are localized in lbx files has been - refactored. Only \DeclareBibliographyExtras declarations in *.lbx - files are affected by this change. - - Basically, the commands: - - \bibdatelong - \bibdateshort - \biburldatelong - \biburldateshort - - have been removed and are replaced by the generic commands: - - \mkbibdatelong - \mkbibdateshort - - The new commands take three arguments (three field names) and - arrange them as required by the respective language/locale. The - new system is more easily extensible. - - USERS: The change is relevant for style authors only. The standard - styles have been updated. - - AUTHORS: Even though this point is tagged as 'caveat', it's - rather unlikely that it will cause any trouble. The change is - only relevant for style authors who a) ship custom lbx files (or - users who have adapted some of the stock lbx files) and b) have - modified the 'extras' (as opposed to inheriting them form the - stock modules). - -* Added/extended package options for date formats - - There are now four date formats to choose from: short, long, - terse, comp. terse and comp are like short and long but render - date ranges in a more compact format. - -* Support for multiple editorial roles - - This release adds three additional fields (data type: name list) - for secondary editors: 'editora', 'editorb', 'editorc'. There are - also matching 'editor*type' fields. Biblatex now supports up to - four distinct editoral roles, e.g.: - - editor = {Eddy Editor} - editora = {Freddy Founder} - editoratype = {founder} - editorb = {Cory Continuator} - editorbtype = {continuator} - editorc = {Rudy Redactor} - editorctype = {redactor} - - USERS: The new fields are fully supported by the standard styles. - - AUTHORS: The catch-all 'byeditor+others' macro in biblatex.def - has been updated to incorporate the new fields. The 'byeditor' - macro will consider them as well. There's also a dedicated - 'byeditorx' macro which processes the 'editor[a-c]' lists. In - other words: if your style relies of the ready-made macros in - biblatex.def, it will consider the new fields automatically. If - not, have a look at biblatex.def to get an idea of how to - incorporate them in your style. - -* [CAVEAT] 'redactor' now an editorial role - - The field 'redactor' has been removed because the redactor is now - an editorial role, i.e.: - - editor = {Eddy Editor} - redactor = {Rudy Redactor} - - becomes: - - editor = {Eddy Editor} - editora = {Rudy Redactor} - editoratype = {redactor} - - USERS: You may need to update some of your bib files. - - AUTHORS: The 'byredactor' macro has been removed from - biblatex.def because this role is now handled by the - editor-related macros mentioned above. - -* [CAVEAT] Revised lbx files, simplyfied role concatenation - - I've simplyfied the role concatenation somewhat. Concatenation is - now only supported if the primary role is 'editor' (i.e., if the - 'editortype' field is undefined or holds the string 'editor'). It - turned out to be too painful to support concatenation for all - kinds of editorial roles (compiler, redactor, founder, etc.) in - all languages. This will also make the lbx files much more - readable and the whole apparatus easier to understand. - - It's all a bit difficult to describe but fairly easy to grasp if - you take a look at the strings in the lbx files. Essentially, - biblatex 0.8 would define fragmentary type* and bytype* snippets: - - typeeditor = {{editor}{...}}, - typecompiler = {{compiler}{...}}, - bytypeeditor = {{edited}{...}}, - bytypecompiler = {{compiled}{...}}, - - The full strings would then be assembled by auxiliary macros - which insert the type* and bytype* snippets into the string - definitions: - - editor = {{\lbx@typeeditor}{...}}, - editortr = {{\lbx@typeeditor\ and translator}{...}}, - byeditor = {{\lbx@bytypeeditor\ by}{...}}, - byeditortr = {{\lbx@bytypeeditor\ and translated \lbx@fromlang\ by}{...}}, - - These are the simplified strings in biblatex >=0.9: - - editor = {{editor}{...}}, - compiler = {{compiler}{...}}, - editortr = {{editor and translator}{...}}, - byeditor = {{edited by}{...}}, - bycompiler = {{compiled by}{...}}, - byeditortr = {{edited and translated \lbx@fromlang\ by}{...}}, - - The old scheme was admittedly more elegant but it simply didn't - work quite right in all languages. - -* Notes on the basic structure of role processing in biblatex.def - - The following hints may help you to find your way around the - ready-made macros and definitions in biblatex.def. - - Essentially, a role like 'editor' may be expressed as a function - or as an action, e.g.: - - Bernard Bookmaker, editor, Title, ... [function] - ... Title, edited by Bernard Bookmaker [action] - - Roles which are related to supplementary material in a book, such - as a commentary or annotations, may also be expressed as an - object: - - ... Title, annotated by Edward Expert [action] - ... Title, with annotations by Edward Expert [object] - - In biblatex.def, the names of the ready-made macros correspond to - name formats and localization keys: - - Macros like editor/translator print a role as a function. - They use - - name formats like editor/translator and - - strings like editor/translator. - - Macros like byeditor/bytranslator print a role as an action. - They use - - name formats like byeditor/bytranslator and - - strings like byeditor/bytranslator. - - Macros like withcommentator/withannotator print a role as an - object. They use - - name formats like withcommentator/withannotator and - - strings like withcommentator/withannotator. - - For example, the bibmacro 'editor' essentially boils down to the - following code: - - \printnames{editor} = \printnames[editor]{editor} - \bibstring{editor} - - The 'byeditor' macro boils down to: - - \bibstring{byeditor} - \printnames[byeditor]{editor} - - and the 'withannotator' macro to: - - \bibstring{withannotator} - \printnames[withannotator]{annotator} - - The real code is more complex because it needs to take - punctuation and additional parameters into account (such as the - 'editortype' field, role concatenation, etc.) but this is the - basic idea. - -* [CAVEAT] Revised indexing controls - - The way the indexing facilities are configured has been revised - and modified. In previous releases, the 'indexing' option would - enable and disable commands like \indexfield on a low level. - Starting with this release, the indexing commands are always - operational. The 'indexing' option controls two new tests called - \ifciteindex and \ifbibindex which should be used as explicit - tests. - - In the standard styles, indexing is handled by two bibmacros - called 'citeindex' and 'bibindex'. The old definition was: - - \newbibmacro*{citeindex}{% - \indexnames{labelname}% - \indexfield{indextitle}} - - \newbibmacro*{bibindex}{% - \indexnames{labelname}% - \indexfield{indextitle}} - - The new one is: - - \newbibmacro*{bibindex}{% - \ifbibindex - {\indexnames{labelname}% - \indexfield{indextitle}} - {}} - - \newbibmacro*{citeindex}{% - \ifciteindex - {\indexnames{labelname}% - \indexfield{indextitle}} - {}} - - The point of this change is to make commands like \indexfield - useable in a more flexible way, regardless of the setting of the - 'indexing' option. Since they are always operational now, you can - use them for tasks which require access to the bibliographic data - but do not print anything, such as setting page headers or - writing data to some external file. - - It is not advisable to use commands like \printfield for this - purpose because they interface with the punctuation tracker. Use - \printfield if you really want to print a field and \indexfield - for other tasks, indexing obviously being the most common - application. - - USERS: From a user's point of view, the new mechanism works like - the old one. - - AUTHORS: Standard citation commands like \cite should always use - the above bibmacros (citeindex/bibindex) anyway so no change is - required. You may need to incorporate the \ifciteindex and - \ifbibindex tests into text citation commands (i.e., commands - like \citeauthor and \citetitle) if you have redefined the - standard ones or provide additional ones. All predefined commands - in biblatex.def have been updated. - -* Fallback drivers - - Biblatex now supports the fallback entry type "*". If you use the - asterisk as the type argument of \DeclareBibliographyDriver or - \DeclareBibliographyAlias, the driver or alias will be used as a - fallback if no specific driver for a certain type has been - defined. E.g.: - - \DeclareBibliographyDriver{*}{<driver code>} - \DeclareBibliographyAlias{*}{misc} - -* Manual language selection - - By default, biblatex detects the babel package if it is loaded - and can adjust to the selected babel language automatically. - Using the new 'language' package option, you can now force - biblatex to load support for a certain language. This will - implicitly disable babel support and on-the-fly language - switching. The 'babel' package option is ignored in this case. - - This is mainly useful if you can't use babel for some reason. - Using the automatic babel interface is usually preferable. - -* Improved \defbibheading, introducing 'title' option - - I've extended \defbibheading and added a 'title' option to - \printbibliography and \printshorthands. These extensions are - mainly useful for subdivided bibliographies. - - This is best explained by example. With previous biblatex - releases, subdivided bibliographies required one heading - definition for each subsection since the heading definition - included both the format and the text of the heading: - - \defbibheading{books}{\section*{Books}} - \defbibheading{articles}{\section*{Articles}} - \defbibheading{online}{\section*{Online Resources}} - - \chapter{\bibname} - \printbibliography[type=book,heading=books] - \printbibliography[type=article,heading=articles] - \printbibliography[type=online,heading=online] - - When using the extended syntax of \defbibheading, the heading - definition only controls the format but the title may be - specified by using the 'title' option of \printbibliography and - \printshorthands. The value of this option will be passed to the - heading definition as paramater #1. The new optional argument of - \defbibheading defines the default text which is passed as #1 if - there is no 'title' option. - - \defbibheading{subdiv}[\bibname]{\section*{#1}} - - \chapter{\bibname} - \printbibliography[type=book,heading=subdiv,title={Books}] - \printbibliography[type=article,heading=subdiv,title={Articles}] - \printbibliography[type=online,heading=subdiv,title={Online Resources}] - - Since biblatex provides a predefined heading called - 'subbibliography' you don't even need \defbibheading in this - case. You can simply use 'heading=subbibliography', specify - 'title={...}', and rely on the predefined heading definitions - provided by biblatex which support the standard LaTeX classes, - the KOMA-Script classes, and the memoir class automatically. - - The extensions are backwards-compatible. It is still possible to - use the parameterless form of \defbibheading. Such headings will - work as expected but the 'title' option of \printbibliography and - \printshorthands will obviously be ignored in this case. - -* More options for \printshorthands, subdivided LOS - - I've added more options to \printshorthands. It now supports the - same options as \printbibliography. This is useful for a - subdivided list of shorthands. - -* Improved author-title and author-year citation styles - - I've improved the compact citation styles authortitle-comp, - authortitle-icomp, authortitle-tcomp, and authoryear-comp. The - compact format is now supported in multicite commands as well. - -* New verbose-trad3 style - - This style is similar in concept to verbose-trad2 with a slightly - different treatment of ibidem and op. cit. - -* Eprint support for Google Books/JSTOR/PubMed - - I've added eprint handlers for Google Books, JSTOR, and PubMed. - This means that, instead of - - url = {http://books.google.com/books?id=XXu4AkRVBBoC}, - - you may also use: - - eprint = {XXu4AkRVBBoC}, - eprinttype = {googlebooks}, - - PubMed support is similar. Instead of specifying the full URL - (where <pmid> is the unique and stable PubMed ID): - - url = {http://www.ncbi.nlm.nih.gov/pubmed/<pmid>}, - - you may also say: - - eprint = {<pmid>}, - eprinttype = {pubmed}, - - By default, this will be printed as "PMID: <pmid>" in the - bibliography. If hyperref support is enabled, the <pmid> will be - a clickable link to PubMed. - - JSTOR support works exactly like PubMed. When using JSTOR's - export feature to export citations in BibTeX format, JSTOR uses - the 'url' field by default (where <number> is a unique - and stable identifier): - - url = {http://www.jstor.org/stable/<number>} - - While this will work as expected, full URLs tend to clutter the - bibliography. You may also use: - - eprint = {<number>}, - eprinttype = {jstor}, - - to get the more readable "JSTOR: <number>" format which also - supports hyperlinks (the <number> becomes a clickable link). - -* More styles for compressed back references - - See 'backrefstyle' in the changelog. - -* Improved endnotes, added \pagenote support - - The \pagenote command, which is provided by the pagenote package - and the memoir class, is now supported by \mkbibendnote. - \mkbibendnote prioritizes as follows: - - 1) check for \endnote and use it if available - 2) check for \pagenote and use it if available - 3) issue a warning and fall back to \footnote - - There is also a new 'notetype' option which you may use to - convert footnotes to endnotes and vice versa (provided that - they are generated with \mkbibfootnote and \mkbibendnote, - respectively; the standard \footnote and \endnote commands will - not be modified). - -* Compatibility with UCS package - - Previous releases of biblatex were comptabile with inputenc's - standard UTF-8 module but wouldn't work with the ucs package. This - release also supports ucs. XeLaTeX's native UTF-8 support should - also work fine. If you're using UTF-8 encoding you should be - using Biber instead of BibTeX as a backend. - -* Dutch support - - This release comes with a dutch.lbx file. The translations have - been contributed by Alexander van Loon. - -* Greek support - - As of this release, biblatex speaks Greek, too. The translations - have been contributed by Apostolos Syropoulos. Note that the - greek.lbx file requires UTF-8 support. Biblatex generally works - with - - 1) LaTeX and inputenc: - - \usepackage[utf8]{inputenc} - - 2) LaTeX and inputenc+ucs: - - \usepackage{ucs} - \usepackage[utf8x]{inputenc} - - 3) XeLaTeX - - Since inputenc's standard utf8 module has no glyph mappings for - Greek, this leaves Greek users with a choice of 2) or 3). If you - choose 2), make sure to preload the Greek Unicode range: - - \usepackage{ucs} - \usepackage[utf8x]{inputenc} - \PreloadUnicodePage{3} - - You may also use \PrerenderUnicode if you prefer that. See the - section about "Known problems" in the UCS (!) manual for - explanation. You may also need to load additional packages which - set up Greek fonts. As a rule of thumb, any setup which works with - regular Greek documents should also work with biblatex. - - However, there is one fundamental limitation. As of this writing, - biblatex has no support for mixing scripts. Bibliographies in - Greek should work fine, provided that you use Biber as a backend, - but English and other titles in the bibliography may be rendered - in Greek letters. - - The problem with using LaTeX and macro-level UTF-8 support via - inputenc/ucs is that processing still happens in an 8-bit - environment. The inputenc/ucs packages can decode all of UTF-8, - but in order to typeset Unicode all input needs to be mapped to - segments of 256 glyphs each because LaTeX only supports 8-bit - output encodings. If you need multi-script bibliographies, - XeLaTeX is the only sensible choice since XeTeX uses Unicode all - the way from input to output. - -RELEASE NOTES FOR VERSION 0.8i - -This is a bug fix release. There are no new features and the manual -has not been updated. - -RELEASE NOTES FOR VERSION 0.8h - -This is a bug fix release. There are no new features and the manual -has not been updated. - -RELEASE NOTES FOR VERSION 0.8g - -This is a bug fix release. There are no new features and the manual -has not been updated. - -RELEASE NOTES FOR VERSION 0.8f - -This is a bug fix release. There are no new features and the manual -has not been updated. - -RELEASE NOTES FOR VERSION 0.8e - -* Improved concatenation of roles - - The standard styles (and the ready-made macros in biblatex.def) - have been supporting the concatenation of (editorial and other) - roles for some time. For example, if the editor and the - translator of a book are the same person, the roles are - concatenated and the name is given only once: - - Author, Title, ed. and trans. by Editor, ... - - However, if there is no author and the editor moves to the first - position, the name was, until now, printed twice: - - Editor, ed., Title, trans. by Editor, ... - - The improved bibliography styles now support concatenation in - this case as well: - - Editor, ed. and trans., Title, ... - - Since the macros which handle the concatenation are defined in - biblatex.def, adding this feature to existing styles is simple. - Where your style has code like: - - \usebibmacro{editor} - \usebibmacro{author/editor} - - simply replace that with: - - \usebibmacro{editor+others} - \usebibmacro{author/editor+others} - - The improvements also cover additional roles of the translator. - To take advantage of that, replace code like: - - \usebibmacro{translator} - \usebibmacro{author/translator} - \usebibmacro{author/editor/translator} - - with: - - \usebibmacro{translator+others} - \usebibmacro{author/translator+others} - \usebibmacro{author/editor+others/translator+others} - - On a related note, it is safe to use code like this: - - \usebibmacro{editor+others}% - \newunit - \printfield{title}% - \newunit - \usebibmacro{byeditor+others}% - - because macros like 'editor+others' macro will use \clearname to - clear all name lists already processed. For example, if the - 'editor+others' macro prints 'ed. and trans.', it locally clears - the 'editor' and 'translator' lists afterwards. The - 'byeditor+others' macro will not print them a second time. It - simply takes care of any names/roles not covered yet - (commentator, annotator, etc.), if there are any left. - -* Added some new localization keys, removed some existing ones - - The above concatenation requires a whole set of new localization - keys (see the manual for details). These keys are initialized by - default. English and German translations are already available, - the other localization modules need an update. - - The new strings are also useful for styles which use the 'first - position' format in all cases, i.e., styles which print: - - Editor, ed. and trans., Title, ... - Author, Title, in: Editor, ed. and trans., Book, ... - - instead of: - - Editor, ed. and trans., Title, ... - Author, Title, in: Book, ed. and trans. by Editor, ... - - Since the number of localization keys keeps increasing, I've - removed some of the rarely used 'country...', 'patent...', and - 'patreq...' keys. Only about half a dozen keys in each of these - groups is left, mainly to illustrate the underlying scheme. - -* New auxiliary macros for ordinals - - In the past, some localization modules have been redefining the - field formats 'edition' and 'series' because they require - ordinals and need to be adapted to use either \mkbibmascord or - \mkbibfemord if ordinals are gender specific in the respective - language. However, having lbx files redefine field formats is - rather intrusive. - - Starting with this release, there's a new, non-intrusive - solution. Biblatex provides two new macros, \mkbibordedition and - \mkbibordseries, which should be used in the respective field - formats. Where required (typically in Romanic languages), these - macros are redefined by localization modules such that they point - to \mkbibmascord or \mkbibfemord. - -* Extended language support: Brazilian Portuguese, Swedish revised - - This release adds support for Brazilian Portuguese and - preliminary support for Portuguese/Portugal. The translations - have been contributed by Augusto Ritter Stoffel. - - The Portuguese support in portuguese.lbx is mostly inherited from - brazilian.lbx. This file needs review by a native speaker from - Portugal. - - I've also added some revised Swedish translations which Per - Starb\"ack sent in some time ago to the Swedish module. - -* German localization now using "Hrsg." - - By popular request, the German module now uses the abbreviations - "Hrsg./hrsg. von" instead of "Hg./hg. von". Both forms are valid, - but most users seem to prefer the more traditional "Hrsg". - -RELEASE NOTES FOR VERSION 0.8d - -* Biber beta release - - Biber is a BibTeX replacement written in Perl. It features - Unicode support and has been designed with the requirements of - biblatex in mind. See: - - http://biblatex-biber.sourceforge.net/ - - for details. Beta testers are invited to try it out and report - any bugs on Biber's SourceForge project page. - -* Package option 'bibtex8' superseded by 'backend' - - The package option 'bibtex8' is superseded by a new option called - 'backend'. The old option is not mentioned in the manual any - more, but it is still supported for the sake of backwards - compatibility. In new documents, however, replace it as follows: - - bibtex8=false -> backend=bibtex (default setting, omissible) - bibtex8=true -> backend=bibtex8 - -RELEASE NOTES FOR VERSION 0.8c - -* Added 'idem' tracker - - I've added an 'idem' tracker which is similar in concept to the - 'ibidem' tracker except that it checks for recurrent author/ - editor names. See the 'idemtracker' package option and the - \ifciteidem test in the manual. - -RELEASE NOTES FOR VERSION 0.8b - -* Added 'usetranslator' option - - The 'usetranslator' option is similar in concept to 'useauthor' - and 'useeditor' hence usage should be fairly obvious. Style - authors should note that styles derived from the standard ones - will support this option if you replace - - \usebibmacro{author} - \usebibmacro{author/editor} - - with - - \usebibmacro{author/translator} - \usebibmacro{author/editor/translator} - - in all relevant drivers. - -RELEASE NOTES FOR VERSION 0.8a - -* SourceForge bug/feature trackers - - The user base of biblatex has been growing steadily, reaching a - point where managing bug reports and feature requests by a - combination of private email messages and Usenet postings has - become impractical. I've therefore set up a project page on - SourceForge: - - http://sourceforge.net/projects/biblatex/ - - There's no code on that site and most tools offered by - SourceForge (like cvs/subversion, web-based forums, etc.) are - currently disabled. The interesting thing are the trackers: - - http://sourceforge.net/tracker2/?group_id=244752 - - I've set up two trackers, 'Bugs' for bug reports and 'Features' - for feature requests. Please use these trackers to report bugs - and submit feature requests. - - I've also added all open bug reports and feature requests sitting - in my email inbox but I may have missed some messages posted in - public forums. If you've reported anything which doesn't show up - on the project page, you can now add it yourself by selecting the - appropriate tracker and clicking on "Add new artifact". - -* Custom localization modules - - This release adds support for custom localization modules. The - point is that styles may ship modified lbx files. See - \DeclareLanguageMapping and the changelog for further hints. - -* Configurable punctuation tracker - - The behavior of punctuation commands like \addcomma is now - configurable. See \DeclarePunctuationPairs in the manual. - -* Improved 'American-style' punctuation - - I've improved the 'American-style' punctuation feature. - american.lbx now uses \DeclarePunctuationPairs to adapt the - punctuation tracker and \mkbibquote supports nested quotes even - if American punctuation is enabled. - -* Sentence case vs. title case - - By popular request, I've added a macro which converts a string to - sentence case. See \MakeSentenceCase, \MakeSentenceCase*, and - \DeclareCaseLangs in the manual. \MakeSentenceCase supports the - BibTeX convention that anything wrapped in braces is not altered - when changing the case. - - Style authors who make use of the bibmacros in biblatex.def should - note the following. Saying: - - \DeclareFieldFormat{title}{\MakeSentenceCase{#1}} - - will not work as expected. That's because biblatex uses macros - like this one by default: - - \newbibmacro*{title}{% - \ifthenelse{\iffieldundef{title}\AND\iffieldundef{subtitle}} - {} - {\printtext[title]{% - \printfield[noformat]{title}% - \setunit{\subtitlepunct}% - \printfield[noformat]{subtitle}}% - \newunit}% - \printfield{titleaddon}} - - The 'title' format is applied by a \printtext command which - encloses both the title and the subtitle. \MakeSentenceCase would - therefore see \printfield commands rather than the field - contents. If you want to convert all titles to sentence case, - \MakeSentenceCase must be applied on the inner level, by the - \printfield commands. To facilitate that, I've modified this and - similar bibmacros slightly: - - \newbibmacro*{title}{% - \ifthenelse{\iffieldundef{title}\AND\iffieldundef{subtitle}} - {} - {\printtext[title]{% - \printfield[titlecase]{title}% - \setunit{\subtitlepunct}% - \printfield[titlecase]{subtitle}}% - \newunit}% - \printfield{titleaddon}} - - Instead of 'noformat', the nested \printfield commands now use - 'titlecase' on the inner level. These formats are defined like - this: - - \DeclareFieldFormat{titlecase}{#1} - \DeclareFieldFormat{noformat}{#1} - - In other words, the default behavior remains unchanged but - converting all titles to sentence case is as easy as saying: - - \DeclareFieldFormat{titlecase}{\MakeSentenceCase{#1}} - - You can apply additional formats on a higher level as usual: - - \DeclareFieldFormat{title}{\mkbibemph{#1}} - \DeclareFieldFormat{title}{\mkbibquote{#1}} - - Just make sure that \MakeSentenceCase always hooks in on the - innermost level such that it sees the raw field contents rather - then data commands or other formatting commands. - -RELEASE NOTES FOR VERSION 0.8 - -As usual, the full changelog is included in biblatex.pdf. What -follows are comments concerning changes 'under the hood' which are -not mentioned in the changelog, things which may break backwards -compatibility, improvements which may not be immediately obvious -from looking at the changelog, and new major features which pertain -to a set of entries in the changelog rather than a single one. - -The changelog and the release notes include changes made in the -0.7a-g maintenance releases. If you have been tracking the -development closely, some things may sound familiar. - -Note that there have been changes in the LaTeX<->BibTeX data -interface. You may want to delete all the old *.bbl and -<jobname>-blx.bib files before you start using the new version. In -fact biblatex should be able to handle the update on its own but -this will require an additional LaTeX+BibTeX cycle. In other words, -you need to go through one LaTeX/BibTeX/LaTeX cycle to update all -auxiliary files. You can ignore any warnings printed in this -process. After that, the output should stabilize as usual. - -* Hints for style developers - - I'm delighted to see that the first custom biblatex styles start - showing up on CTAN. - - One general note to style authors: unless your style is only a - minor modification of one of the standard styles which ship with - biblatex, it's a good idea to make sure it's self-contained, - i.e., that it doesn't employ \RequireCitationStyle and/or - \RequireBibliographyStyle to load code from the default styles - (but feel free to incorporate code by copying it to your style). - - While the core of biblatex is stable by now, there's still - potential for modifications in the standard styles (see below for - examples). Having said that, loading standard.bbx should be a - safe thing to do and you can also rely on code in biblatex.def - because this file is part of the core of biblatex. - -* New citation and bibliography styles - - I've added some new styles: 'authoryear-ibid' (an author-year - style with an 'ibidem' feature), 'draft' (which is a, well, draft - style), and 'reading' (a style for annotated bibliographies and - personal reading lists with abstracts, annotations, etc.). - -* Overhaul of all citation and bibliography styles - - I've overhauled all styles such that they use LaTeX (=etoolbox) - rather than plain TeX syntax for the boolean switches. E.g., - instead of: - - \newif\ifcbx@bool - \cbx@booltrue - \ifcbx@bool ...\else ...\fi - - they now use: - - \newbool{cbx:bool} - \booltrue{cbx:bool} - \ifbool{cbx:bool}{...}{...} - - This LaTeX frontend is provided by the etoolbox package. - -* Improved authoryear styles - - The authoryear styles have been improved such that they will - consider the '(short)title' field if the author/editor is - missing (or useauthor/useeditor=false is set). Note that these - styles also consider the 'label' field, if available. In sum, - the fallback chain in citations used to be: - - author -> editor -> label -> [issue warning] - - and the new chain works as follows: - - author -> editor -> label -> shorttitle -> title - - The 'shorthand' field, if defined, always takes precedence over - any other data. - -* Improved verbose-note styles - - The styles verbose-note and verbose-inote can now add a page - number to the reference pointing to the initial, full citation. - There is a style option named 'pageref' which enables this - feature. The page reference is only printed if the initial - citation is located on a different page or page spread (depending - on the setting of the 'pagetracker' option). - -* Improved numeric styles - - The numeric styles now support citations referring to set - members. See the note about reference sets below, the manual, and - the examples for details. - -* Introducing reference sets - - This release introduces the concept of a reference or entry set. - A reference set is a group of entries which are cited as a single - reference and listed as a single item in the bibliography. I'm - told that this is a matter of particular interest for users in - physics, chemistry, and possibly some other fields. See the 'set' - type, the 'entryset' field, and the special field 'entrysetcount' - in the manual. Also see \entryset and the pointers in the - changelog. - - If you are familiar with this concept, you may have used the - mcite or the mciteplus package before. The mcite and mciteplus - manuals call this type of reference a "collapsed citation". They - also talk about "grouping citations". The biblatex manual calls - it "reference set" and "entry set". It's the same thing but note - that the approach is different. With mcite(plus), sets are - defined as they are cited for the first time. Essentially, a - citation like - - \cite{key1,*key2,*key3} - - defines a set consisting of three entries (key1, key2, key3). The - first entry key serves as identifier of the entire set, which may - subsequently be cited as \cite{key1}. With biblatex, you declare - sets in the bib file using the @set type, the 'entryset' field, - and 'entryset' reverse pointers in the child entries: - - @Set{set1, - entryset = {key1,key2,key3}, - crossref = {key1}, - } - @Article{key1, - entryset = {set1}, - ... - } - @InCollection{key2, - entryset = {set1}, - ... - } - @InProceedings{key3, - entryset = {set1}, - ... - } - - See the pointers in the changelog for further explanation. - -* Support for electronic publishing information (eprint) - - See the 'eprint' and 'eprinttype' fields and related pointers in - the manual. Support for electronic publishing information has - been added to all standard bibliography styles. - - This release comes with dedicated support for arXiv references - which is usable out of the box and also serves as a model for - adding support for other resources and online archives. - -* Modified 'labelyear' field - - The 'labelyear' field is no longer a string but an integer. The - conversion of the integer to a string now takes places on the - LaTeX side of the workflow, i.e., you'll usually have a - formatting directive like this: - - \DeclareFieldFormat{labelyear}{\mknumalph{#1}} - - The \mknumalph command takes an integer in the range 1-702 as - its argument and converts it to a string as used in author-year - citations like "Jones 1995a". The format is: - - \mknumalph{1} -> a - \mknumalph{26} -> z - \mknumalph{27} -> aa - \mknumalph{702} -> zz - - There is also a 'maxlabelyear' counter which holds the highest - number found in any 'labelyear' field. This may be useful if you - want to print the 'labelyear' field as a number and pad it out - with leading zeros. - -* Modified 'labelalpha' field - - There is a similar change concerning the 'labelalpha' field, - which has been split up into 'labelalpha' and 'extraalpha'. With - a label like "Jon95a", 'labelalpha' holds "Jon95" while the extra - letter is handled by 'extraalpha'. 'extraalpha' is similar to - 'labelyear' in that it holds an integer. The conversion of the - integer to a string takes places on the LaTeX side of the - workflow, i.e., you'll usually have a formatting directive like - this: - - \DeclareFieldFormat{extraalpha}{\mknumalph{#1}} - - There is also a 'maxextraalpha' counter which holds the highest - number found in any 'extraalpha' field. - -* Modified/extended name hashes - - Starting with this release, there are two name hash fields, - 'namehash' and 'fullhash'. See the manual for details. - Essentially, the difference is that the 'namehash' is derived - from the visible 'labelname' list (subject to the 'maxnames' and - 'minnames' options) whereas 'fullhash' is always derived from the - full list. - - Note that the original behavior of 'namehash' in previous - releases used to be similar to the current behavior of - 'fullhash'. This has caused some confusion. The 'namehash' should - now be in line with the expectations of most users and style - authors. Those who actually want the original behavior may still - use the 'fullhash' field. - -* 'edition' field now more flexible/controllable by styles - - In previous biblatex releases, 'edition' was an integer-only - field. The integer test was performed on the BibTeX side of the - workflow, in biblatex.bst. Starting with this release, the test - is performed on the LaTeX side, i.e., in the format definition: - - \DeclareFieldFormat{edition}{% - \ifinteger{#1} - {\mkbibordinal{#1}~\bibstring{edition}} - {#1}% - } - - As you can see, the edition is printed as "Nth edition" if the - edition field holds an integer, and as a literal string if not. - This means that you can now put things like "5th, revised and - expanded edition" in the 'edition' field without having to resort - to the 'note' field. It also implies that styles get full control - over the 'edition' field. - - Style authors who adapt this formatting directive should note - that ordinals are gender-specific in Romanic languages ('edition' - is a feminine noun in French, Italian, and Spanish, hence the - ordinal must be feminine as well). In addition to the default - definition in biblatex.def, the 'edition' field is therefore - adapted in french.lbx, italian.lbx, and spanish.lbx. - -* Support for bibliographic data in external TeX files - - This release add a \printfile command which is similar to - \printtext but gets the text from an external file, i.e., - \printfile{file.tex} boils down to \printtext{\input{file.tex}} - but does nothing if the file does not exist. The point of all - this is that styles which print the fields 'abstract' and/or - 'annotation' may support an alternative way of adding abstracts - or annotations to the bibliography. biblatex.def provides the - following code for that: - - \newcommand*{\bibabstractprefix}{bibabstract-} - \newcommand*{\bibannotationprefix}{bibannotation-} - - \newbibmacro*{annotation}{% - \iffieldundef{annotation} - {\printfile[annotation]{\bibannotationprefix - \thefield{entrykey}.tex}}% - {\printfield{annotation}}} - - \newbibmacro*{abstract}{% - \iffieldundef{abstract} - {\printfile[abstract]{\bibabstractprefix - \thefield{entrykey}.tex}}% - {\printfield{abstract}}} - - Instead of including the text in the bib file, it may now be - stored in an external LaTeX file. For example, instead of saying - - @Article{key1, - abstract = {This is an abstract of entry `key1'.} - ... - - in the bib file, you create a file named 'bibabstract-key1.tex' - and put the abstract in this file. The name of the external file - must be the entry key prefixed with 'bibabstract-' or - 'bibannotation-', respectively. The 'reading' style makes use of - this. Also note that, when using the reference code above, a field - in the bib file takes precedence over external files. E.g., the - 'reading' style will not look for 'bibabstract-key1.tex' if the - 'key1' entry in the bib file has an 'abstract' field. - - Note that this feature needs to be enabled explicitly by setting - the package option 'loadfiles'. The option is disabled by default - for performance reasons. Using external files is strongly - recommended if you have long abstracts or a lot of annotations - since this may increase memory requirements significantly. See - the changelog for more pointers. - -* Support for 'American-style' punctuation - - Biblatex finally supports 'American-style' punctuation, i.e., - certain punctuation marks placed after a closing quote can be - moved inside the quotes automatically. - - See \DeclareQuotePunctuation and \mkbibquote in the manual. The - 'american' and 'canadian' localization modules enable this - feature for periods and commas. See the hints in the manual for - details. - -* \DeclareCapitalPunctuation replaces \(Enable|Disable)CapitalAfter - - The configuration commands \EnableCapitalAfter and - \DisableCapitalAfter have been removed and are superseded by - \DeclareQuotePunctuation. - - \DeclareQuotePunctuation works like \EnableCapitalAfter except - that it takes a list of characters as its argument. The function - of \DisableCapitalAfter is now implicit (all characters not - included in the list will not trigger capitalization). - - The change affects the configuration interface only. The default - user-level behavior of biblatex has not changed (capitalization - after periods, exclamation marks, questions marks; with the - '(n)german' and '(n)austrian' localization modules also after - colons). - -* Hyphenation exceptions in bibliography strings - - This release adds an interface for definining hyphenation - exceptions in lbx files and/or the document preamble. See - \DeclareHyphenationExceptions and \DefineHyphenationExceptions - in the manual. - -* Configurable number tests - - The number tests \ifnumeral and \ifnumerals, which are also used - by \mkpageprefix and \mkpagetotal, may be adapted. See the - commands \DeclareNumChars, \DeclareRangeChars, and - \DeclareRangeCommands for details. - -* Added 'firstinits' package option - - By popular request, I've added a package option which switches - all first names to initials. Use the \iffirstinits test to query - its state. The test has already been incorporated into the - formatting directives in biblatex.def. However, authors of custom - styles using redefined name formatting directives may want to - incorporate it into their style, too. - -* Added high-level '\bibpagespunct' macro - - \bibpagespunct is a high-level user macro similar to - \labelnamepunct and \subtitlepunct. As with the 'firstinits' - package option, it's incorporated in the standard styles so you - may want to do the same in custom styles. - -* Added some expert entry options - - See the entry options 'skipbib', 'skiplos', 'skiplab', and - 'dataonly' in the manual. - - Note that 'skiplab' and 'dataonly' are intended for hacking only! - -* Improved KOMA-Script and Memoir support - - The headings 'bibliography' and 'shorthands' are responsive to - the 'bibtotoc' and 'bibtotocnumbered' class options of the 'KOMA' - classes now. See also \ifkomabibtotoc, \ifkomabibtotocnumbered, - and \ifmemoirbibintoc. - -* Improved natbib compatibility style - - I've added some missing features to the natbib compatibility - style. Most notably, citation aliasing is now possible. Note that - this is intended for legacy files only. In newly created files, - it is preferable to use biblatex's 'shorthand' field. - -* Spaces in file names - - Whether file names may or may not contain spaces generally - depends on whether or not the underlying TeX binary supports - that. This is beyond biblatex's control. If the underlying engine - supports it, biblatex should not have any problems with spaces in - a file name. - - However, neither traditional BibTeX nor bibtex8 seem to be - capable of handling .bib files with spaces in their name. For - .bib files which supply bibliographic data, there is no fix short - of avoiding spaces in the file name. For the auxiliary .bib file - automatically generated by biblatex this release adds a - workaround. Spaces in the name of this file, which is only used - internally, will be converted to underscores. - -* New language-specific csf files for bibtex8 - - I've added some csf file for use with bibtex8 to the 'resources' - subdirectory. They implement the proper sorting order for German, - Danish, Norwegian, and Swedish in Latin 1, Latin 9, and Windows - Ansi encoding. - - German users should note that even bibtex8 is not able to handle - the German letter \ss properly. You may need to resort to fields - like 'sortname' and 'sorttitle' even when using these csf files. - -* Extended manual - - In addition to the usual manual updates related to new features, - I've also added some new material to the 'hints and caveats' - section in the author guide of the manual. - -RELEASE NOTES FOR VERSION 0.7 - -The changelog of this release is the longest list of changes in any -biblatex release so far. Skimming the full list in biblatex.pdf is -highly recommended. In the following, I will focus on changes 'under -the hood' which are not mentioned in the changelog, point out things -which may break backwards compatibility, and comment on some -improvements which may not be immediately obvious from looking at -the changelog because they pertain to a set of changes rather than a -single one. - -* User and author interface stable - - Starting with this release, the user and author interface of this - package may be considered as stable. This means that I will try - to refrain from making syntactically or functionally incompatible - changes to the core package, unless I'm forced to do so because - of a bug or because one of the most recently added features turns - out to be really awkward. Essentially, citation and bibliography - styles written for this version should work with biblatex 1.0 - with no or at most minor modifications. - - Please note that this is a development aim, but there is no - guarantee. Also note that the definitions in biblatex.def (mainly - the formatting directives) are not guaranteed to be stable at - this point. In other words: if you use the default definitions, - your style will inherit possible improvements in future versions. - If you use modified formatting directives, you may need to update - them to integrate new functions. That should be fairly easy, - though. - -* CTAN staging area for biblatex styles - - There's a new location for contributed biblatex styles, it's: - - macros/latex/exptl/biblatex-contrib/ - - Contributed styles should go into a subdirectory of the above - location. E.g., a style called 'MLA' would go into: - - macros/latex/exptl/biblatex-contrib/mla/ - - Note that the exptl/ subtree is intended for experimental or beta - code. As soon as biblatex hits 1.0 and moves out of exptl/ to - - macros/latex/biblatex/ - - there's be a corresponding biblatex-contrib. At this point, all - contributed styles should be considered experimental because the - core package is still in beta. - -* Removed biblatex.cbx and biblatex.bbx - - I've removed the files biblatex.cbx and biblatex.bbx from the - distribution. The code formerly found in biblatex.cbx has been - moved to biblatex.def. The code formerly found in biblatex.bbx - has been split up. The most generic parts have been moved to - biblatex.def. The less generic parts, which are closely tied to - biblatex's standard bibliography style, are now part of - standard.bbx. - - I've also rearranged some of the bibmacros formerly found in the - above files and renamed some of them. If you have been using some - of that code in a custom bibliography style, don't worry, all the - code is still there, but parts of it may be arranged differently - (e.g., a bibmacro may have been split up into two macros or two - macro may have been merged into one) and the names of some - bibmacros may have changed. - - Note that biblatex.def is always loaded, but standard.bbx is not. - If you have been using code which is now part of standard.bbx in - a custom bibliography style, you need to copy the relevant parts - to your style. - -* New dependency on etoolbox.sty - - Some of the most generic parts of biblatex.sty have been moved to - an independent package called 'etoolbox', which is now required. - The package is available from CTAN and may also be useful for - style authors. - -* Type-specific formatting directives - - All formatting directives may now be defined on a per-type basis; - e.g.: - - \DeclareFieldFormat[article]{title}{\mkbibquote{#1}} - - would define the format of the 'title' field of @article entries - only. The fallback mechanism for formats now works as follows. - The command \printfield{title}, when used in an @article driver, - would check for the following formats (in this order): - - title [article] - title - default - - This also applies to cases where a specific formatting directive - is requested explicitly, i.e. \printfield[myformat]{title}, would - check for these formats: - - myformat [article] - myformat - default - - The point is that you can override formats on a per-type basis - without having to hack any drivers. - -* Truncation with 'and others' now supported by literal lists - - Truncating a list with 'and others' in the .bib file is now - supported by both name lists and literal lists. This used to be - specific to name lists. See \ifandothers and \ifmoreitems as well - as \finallistdelim and \andmoredelim for details. - -* Introducing entry options and style-specific options - - This release introduces the concept of an entry option and a new - 'options' field. The 'useprefix' field has been replaced by an - entry option. Instead of: - - useprefix = {true} - - you now use - - options = {useprefix=true} - - There are two more predefined entry options called 'useauthor' and - 'useeditor'. These options may still be used globally to set the - default behavior. - - In addition to that, Bibliography and citation styles may define - additional package and entry options. See \DeclareEntryOption and - \DeclareBibliographyOption for details. - -* Introducing multicite commands - - This release introduces an entirely new class of citation - commands called 'multicite' commands. The point of a multicite - command is that its argument may be a fully qualified list of - citations where each key has its own pre- and postnote. The syntax - is straightforward. Instead of: - - \cite[See][55]{key1}; \cite[12]{key2}; \cite[93]{key3} - - you can now say: - - \cites[See][55]{key1}[12]{key2}[93]{key3} - - This is particularly useful with parenthetical citations and - citations given in footnotes. It's also possible to assign a pre- - and/or postnote to the entire list. These global notes are given - in parentheses: - - \footcites(See)(and chapter 3)[55]{key1}[12]{key2}[93]{key3} - - See \cites, \parencites, \footcites, etc. in the manual. There is - also an \autocites command (a multicite version of \autocite). - - Defining new multicite commands is very easy because they are - based on the regular citation commands. See the documentation of - \DeclareMultiCiteCommand for details. - -* Improved trackers and tracking control - - The 'trackers' provided by biblatex have been greatly improved - and extended. This release also adds new trackers which - correspond to the requirements of some common citation styles. - See the package options 'pagetracker', 'citetracker', - 'ibidtracker', 'opcittracker', and 'loccittracker' for all the - gory details. Also see \ifciteibid, \ifopcit, and \ifloccit. - It's possible to control tracking in the document, see - \pagetrackertrue/false and \citetrackertrue/false for details. - Note that text commands like \citetitle are now exluded from - tracking by default. See also the point below. - -* Tracker reset support - - It's possible to reset trackers and citation styles and several - different levels. For the built-in trackers, see the package - option 'citereset' as well as the user-level command \citereset. - For style-specific reset support, see \InitializeCitationStyle, - \InitializeBibliographyStyle, \OnManualCitation, and the - user-level command \mancite. - -* New entry types, more custom entry types - - This release adds the entry types 'periodical' and 'patent', - which are fully supported by the standard styles. Several new - custom types have also been added. The custom types are not - supported by default, but they may be useful in custom styles. - -* New field/list subtype: key field/list - - I've introduced a new field/list data subtype called key - field/key list. They may hold printable data or localization keys - and work as follows: A test is performed to determine whether the - value of the field is a known localization key. If so, the - localized string is printed. If not, the value is printed as is. - -* Improved postnote handling, alternative pagination schemes - - The handling of page numbers in the 'pages' field and in the - postnote argument to citation commands has been improved - significantly. Biblatex does range detection now and recognizes - Roman numerals as numbers. It also supports alternative - 'pagination' schemes (columns, line or verse numbers, etc.). - - See the fields 'pagination' and 'bookpagination' and related - pointers in the changelog. See also \mkpageprefix, \ppspace, - \pno, \ppno, \nopp, \psq, \psqq. - -* Support for unique names in citations - - This release introduces support for unique names in citations. - Some author-year and author-title citation styles require - unambiguous names in citations. For example, with entries such as - - John Smith 1995 - Edward Smith 1995 - - citations would be rendered as - - J. Smith 1995 - E. Smith 1995 - - rather than - - Smith 1995a - Smith 1995b - - See the package option 'uniquename' and the special counter - 'uniquename' for details. Note that this feature is now enabled - by default in the following styles: authoryear, authoryear-comp, - authortitle-terse, authortitle-tcomp. - -* Improved support for numeric labels - - The 'defernums' package option addresses the problem of - discontinuous numbering when using a numeric style in combination - with bibliography filters. If this option is enabled, the numeric - labels are assigned the first time an entry is printed in any - bibliography. This is similar to the traditional algorithm used - by LaTeX to assign numeric labels. - -* Alternative, non-inheriting cross-referencing mechanism - - This release introduces an alternative cross-referencing - mechanism which does not inherit any data. It's useful in styles - which format cross-referenced entries differently. See the - description of the field 'xref' and related pointers in the - manual. - -* Support for different encodings - - Biblatex is now capable of handling .bib files with an encoding - which is different from the encoding of the .tex file. See the - 'bibencoding' package option for details. - -* More robust handling of citation keys - - This release adds some normalization code which deals with - special characters in citation keys. A typical example are keys - which contain an underscore. This should be much more robust now. - -* Renamed fields - - The 'journal' field has been renamed to 'journaltitle' but the - old name is still supported as an alias. There's also a - 'journalsubtitle' field and fields for the title and the subtitle - of a single issue. In other words, article entries now support a - complete set of titles similar to inbook-like entry types: - journaltitle/issuetitle/title essentially correspond to - maintitle/booktitle/title. - - The field name 'id' turned out to be incompatible with JabRef. - Apart from that, the name is a bit too generic for what this - field holds anyway. It's called 'eid' now (electronic ID) and - holds an article ID used by online journals or journals which are - also available online. - -* 'labelctitle' replaced by 'singletitle' - - The 'labelctitle' field has removed in favor of a different - mechanism using a test called \ifsingletitle. The package option - 'labelctitle' has also been renamed to 'singletitle'. - -* Alphabetic label now configurable - - The alphabetic label provided in the 'labelalpha' field is now - configurable to a certain extend. It is responsive to the global - package options 'maxnames' and 'minnames'. It's also possible to - influence the handling of truncated labels by redefining - \labelalphaothers. - -* Name types - - This release introduces the concept of a name type. This is best - explained by example. Suppose a book has a compiler rather than - an editor. In previous versions of this package, there was no way - to override the string 'editor' and 'edited by'. Starting with - this release, you may specify 'compiler' as an editor type: - - @book{..., - editor = {...}, - editortype = {compiler}, - - Supported editor types are 'editor' (the default) and 'compiler'. - Note that this mechanism is hooked up to bibliography strings - hence it may be extended. See the fields 'authortype', - 'editortype', and 'name[a-c]type' in the manual. - -* Consistent set of wrappers - - I've completed the generic wrapper commands provided by biblatex - so that they form a complete set. Instead of using the solution - in the left column of the following list, use the wrapper in the - right column: - - (...) -> \mkbibparens{...} - [...] -> \mkbibbrackets{...} - \footnote{...} -> \mkbibfootnote{...} - \textsuperscript{...} -> \mkbibsuperscript{...} - \emph{...} -> \mkbibemph{...} - \enquote{...} -> \mkbibquote{...} - ``...'' -> \mkbibquote{...} - - The wrappers integrate much better with biblatex and they also - provide additional features. - -* New citation styles, some styles renamed - - I've renamed all verbose citation styles from 'authortitle-*' to - 'verbose-*' and added some new styles. See the changelog for - details. - -* natbib compatibility style - - To facilitate the move from natbib to biblatex, this release adds - a special natbib compatibility style which maps natbib's core - citation commands to equivalent biblatex commands. See the - package option 'natbib' for details. - -* All citation commands scan ahead for punctuation - - Starting with this release, all citation commands scan ahead for - punctuation to avoid double punctuation at the end of a citation. - This used to be a feature exclusive to \autocite. The 'autopunct' - package option and the \DeclareAutoPunctuation command will now - affect all citation commands, not only \autocite. - -* Support for font style adaptation of punctuation - - This release implements an alternative way of dealing with - punctuation after a field printed in a different font (for - example, a title printed in italics). The standard (La)TeX way of - dealing with this problem is to add a small amount of space (the - so-called italic correction) to avoid clashes between the final - letter of a word in italics and the following (upright) - punctuation mark. - - Biblatex is now capable of adapting the punctuation to the font - of the preceeding field. See '\mkbibemph' and '\setpunctfont' for - details. Note that this feature is experimental. It may very well - have a few quirks. Also note that it is disabled by default. Use - the 'punctfont' package option to enable it. - -* Extended language support: Norwegian, Danish - - This release comes with a norsk.lbx and a danish.lbx file. The - translations have been contributed by Johannes Wilm. - -RELEASE NOTES FOR VERSION 0.6 - -* Style-independent citations - - This release introduces a special command for style-independent - citations. The idea behind the \autocite command is to provide - higher-level citation markup which makes global switching from - inline citations to citations given in footnotes (or as - superscripts) possible. - - The \autocite command is built on top of lower-level commands - like \parencite and \footcite. The citation style provides an - \autocite definition by way of \DeclareAutoCiteCommand. This - definition may be activated by way of the 'autocite' package - option. See the documentation of \autocite in the manual for - further details. - -* Forcing capitalized name prefixes - - One thing that's been on my personal wishlist for some time is an - equivalent to natbib's \Citet command. This release finally - introduces additional citation commands which force capitalized - name prefixes (provided that there is a prefix and that it is to - be printed as part of the citation, i.e. the 'useprefix' option - is enabled). The new citation commands are defined as follows in - biblatex.cbx: - - \newcommand*{\Cite}{\bibsentence\cite} - \newcommand*{\Textcite}{\bibsentence\textcite} - \newcommand*{\Parencite}{\bibsentence\parencite} - \newcommand*{\Footcite}{\bibsentence\footcite} - \newcommand*{\Citeauthor}{\bibsentence\citeauthor} - - Here's how it works. Biblatex's punctuation tracker is based on - TeX's space factor. All the \bibsentence command does is setting - the space factor to a special sentinel value which is detected by - \bibstring. The name formatting directive used by all citation - commands now incorporates the new \ifcapital test. This test is - true if the punctuation tracker would capitalize a bibliography - string at this point. If the formatting directive detects the - sentinel value, it will capitalize the name prefix (if - applicable). A handy side-effect of this approach is that a - possible 'prenote' argument is taken into account automatically. - For example: - - '\cite{vandoren}' prints 'van Doren 1995' - - and - - '\Cite{vandoren}' prints 'Van Doren 1995' - - but - - '\Cite[See]{vandoren}' prints 'See van Doren 1995'. - - This also works in conjunction with bibliography strings. For - example, if the citation style replaces the standard citation by - something like '\bibstring{ibid}', then - - '\cite{vandoren}' prints 'ibid.' - - but - - '\Cite{vandoren}' prints 'Ibid.'. - - In other words, unless the citation style is doing something very - unusual, there is no need to define \Cite et al. explicitly with - \DeclareCiteCommand. The default definitions should work fine in - all normal cases. If the style doesn't print any names but rather - numerical or alphabetic citations then nothing is capitalized, so - that's no problem either. - -* Custom filters for \printbibliography - - See \defbibfilter and the 'filter' option of \printbibliography - in the manual. - -* Support for unsorted bibliographies - - See the package option 'sorting=none'. - -* Automatic truncation of literal lists - - This release introduces the package options 'maxitems' and - 'minitems' which are similar to 'maxnames' and 'minnames' but - affect literal lists. There are also corresponding (local) - options for \printbibliography, \printshorthands, and so on. - -* Improved support for corporate authors and editors - - There are two new name lists ('shortauthor' and 'shorteditor') - which may be helpful when dealing with corporate authors and - editors. Basically, 'author' and 'editor' are used in the - bibliography whereas 'shortauthor' and 'shorteditor' are used in - citations. The point is that you can give a short form of the name - for use in citations. For example: - - @Type{key, - author = {{National Aeronautics and Space Administration (NASA)}}, - shortauthor = {NASA}, - ... - } - - This will print "NASA" in citations but "National Aeronautics and - Space Administration (NASA)" in the bibliography. Note that - 'shortauthor' and 'shorteditor' are name lists, not literal - fields. This means that corporate names must be wrapped in an - additional pair of curly braces. - -* Improved support for articles: journal series and electronic ID - - Journal series and article IDs are now catered for by the - standard styles (entry type 'article'). Note that the 'articleid' - field has been renamed to 'eid'. See the annotated bibliography - in the 'examples' directory for examples. - -* DOI support - - The 'doi' field is now catered for by the standard styles - (complete with hyperlinks). See the annotated bibliography in the - 'examples' directory for examples. - -* Fine-grained control of title formatting - - Previous versions of this package provided two formatting - directives for the title field: 'title' (for entry types like - 'book', 'collection', etc.) and 'titlein' (for 'article', - 'inbook', 'incollection', etc.). I've enhanced this scheme such - that the format of the title may be defined on a per-type basis. - In biblatex.def you'll find the following directives for the - bibliography: - - \DeclareFieldFormat{title:book}{\emph{#1}\isdot} - \DeclareFieldFormat{title:inbook}{\enquote{#1}\midsentence} - ... - - as well as dedicated directives for the titles in citations: - - \DeclareFieldFormat{citetitle:book}{\emph{#1}\isdot} - \DeclareFieldFormat{citetitle:inbook}{\enquote{#1}\midsentence} - ... - - and in the list of shorthands: - - \DeclareFieldFormat{lostitle:book}{\emph{#1}\isdot} - \DeclareFieldFormat{lostitle:inbook}{\enquote{#1}\midsentence} - ... - - I've updated all generic definitions in biblatex.cbx, - biblatex.bbx, and standard.bbx accordingly. Note that the - 'title:type' directives are used for both the 'title' and the - 'subtitle' field (which are wrapped in a \printtext command - controlling the formatting, see the 'title+stitle' bibmacro in - biblatex.bbx for an example of how it works). In other words: - redefining the 'subtitle' field formatting directive has no - effect. - -* Rearranged localization keys - - I've rearranged and extended the localization keys quite a bit. - This also implies several changes in biblatex.bbx. - -* Support for KOMA-Script and Memoir - - The default definitions of the bibliography headings (as defined - in biblatex.def) are now automatically adapted for the - KOMA-Script classes and the Memoir class. - -* Improved Spanish support - - The Spanish localization module now handles the Spanish word - 'and' properly ('y' or 'e', depending on the context). - -* Italian support - - This release comes with a new italian.lbx file. The translations - have been contributed by Enrico Gregorio. - -RELEASE NOTES FOR VERSION 0.5 - - My original plan for 0.5 was to make minor changes only and focus - on fixing bugs. Since only a few issues turned up (memory issues - in biblatex.bst), I ended up implementing new things from the - wishlist. Please note that the wishlist is closed until after - version 1.0. - -* New author-title citation styles - - I've added some verbose author-title styles which may be of - interest for users in the humanities. The styles are called - 'authortitle-verb' and 'authortitle-cverb'. The 'traditional - style has been renamed to 'authortitle-trad' and there is an - additional new style called 'authortitle-strad'. The styles - support shorthands and are fully hyperlinked. The links point to - the first, verbose citation instead of the bibliography so these - styles may be used without a bibliography, if desired. - - I've also added a matching 'dummy' bibliography style for every - citation style. The dummy style will simply load one of the more - generic backend styles. For example, the 'authortitle-verb' style - loads the 'authortitle' style. The point is that you may simply - use the 'style' package option instead of 'citestyle' plus - 'bibstyle'. - -* Conditional special fields, optimizations in biblatex.bst - - The special fields 'labelalpha', 'labelctitle', 'labelnumber', - and 'labelyear' are conditional now. If a style requires one of - those fields, it needs to request them by setting the - corresponding package option. E.g., all numeric styles include - the line - - \ExecuteBibliographyOptions{labelnumber} - - This will instruct biblatex to provide the 'labelnumber' field - which is undefined by default now. Making these fields - conditional allows for some memory-related optimizations in - biblatex.bst. - -* Author-level support for full citations - - This version adds an author-level command which makes it possible - to execute a bibliography driver in a citation command. See - '\rundriver' in the manual. - -* Page tracker - - I've implemented a page tracker. The page tracker records the - real page on which citations, entries in the bibliography, and - entries in the list of shorthands end up. It can work on a per - page basis or per double page spread. The page tracker is - disabled by default. See the package option 'pagetracker' and the - commands '\iffirstonpage' and '\ifsamepage' in the manual. - -* Unique indentification of reference instances - - Every 'instance' of a reference is now uniquely identified by a - value of the 'citecount' counter. In other words: this counter is - incremented for every key processed by any citation command, for - every item in the bibliography and for every item in the list of - shorthands. This is required by the page tracker but it's also - useful if you need to generate a unique anchor name for - hyperlinks. - -* Extended support for hyperlinks - - I've renamed '\bibhyperlink' to '\bibhyperref' and added generic - '\bibhypertarget' and '\bibhyperlink' commands. '\bibhyperref' - creates a link from a citation to the corresponding item in the - bibliography. '\bibhypertarget' and '\bibhyperlink' are more - generic and correspond to the '\hypertarget' and '\hyperlink' - commands of the hyperref package. The point here is that you - don't need an explicit '\ifhyperref' check. If hyperlinks are - disabled, these wrappers will simply pass on their text argument. - - As an additional benefit, they also provide better anchor - placement. The anchors created by '\hypertarget' seem to be - located at the baseline, i.e. if you click on a link you get the - impression that your PDF viewer jumps to the line of text just - below the one you mean. - -* More name lists - - See the 'annotator', 'commentator', 'introduction', 'foreword', - and 'afterword' lists in the annotated example. - -* Special fields for indexing - - See the 'indextitle' and 'indexsorttitle' fields in the annotated - example and the indexing examples. - -* Spanish support - - This release comes with a preliminary spanish.lbx file. The - translations have been contributed by Ignacio Fern\'andez - Galv\'an. Some advanced features are missing from this file - because they are still under scrutiny but it should nevertheless - be perfectly funtional. - -* Examples - - I've added a biblatex showcase with some example files in the - 'examples' subdirectory. There's an example for every citation - style and some generic examples demonstrating multiple - bibliographies, split bibliographies, indexing, and so on. - -RELEASE NOTES FOR VERSION 0.4 - -* Wishlist closed - - As of this release, the wishlist is closed until after version - 1.0. There are already more wishes in the pipeline than I can - implement in time for 1.0... - -RELEASE NOTES FOR VERSION 0.3 - - The changelog for this release is shockingly long so I'll just - point out the general developments behind the individual entries - in the changelog. See the full changelog for all the gory - details. Note that styles written for version 0.2 will not work - with 0.3. - -* New data type: literal list - - This release introduces a new data type for literal lists. The - point of a literal list is that the list is split up at the 'and' - but the individual items are not dissected further. This is - intended for fields such as 'location' and 'publisher' since they - may contain a list of items but these items are not personal - names. - - I have modified the macro names of the entire data interface for - lists to match the change. All macros with the term 'list' in - their name are renamed such that 'list' is replaced by 'name(s)'. - For example, \printlist is now \printnames, \DeclareListFormat is - \DeclareNameFormat, and so on. The old names are used for new - macros which deal with literal lists. The complete list of - affected macros is given in the changelog. Note that the names of - the macros which dump the unformatted data have changes as well - (\biblist -> \thename; \thelist (new); \bibfield -> \thefield). - - These changes will require updates to all custom citation and - bibliography styles. However, the changes are only a matter of - some search & replace commands. I'm sorry about the inconvenience - but I think the new naming scheme is better than having macro - names like \printliterallist. I've decided to go for it now since - biblatex is still in beta. - - As part of these changes, the data type of the following fields - has been changed from 'literal field' to 'literal list': - location, origlocation, publisher, institution, organization. - -* Support for hyperref - - Hyperref support is available now. This means that citations may - be transformed into links pointing to the bibliography. All - standard citation styles support that out of the box, custom - styles need to use the new hyperref interface. It works like - this: the anchor (i.e. the target of the link) is set - automatically by biblatex hence the bibliography style does not - need to do anything special. The citation style is responsible - for marking the link area. This is just a matter of passing the - relevant part of the citation to a special macro or formatting - directive doing the low-level work. See the changelog for - pointers to the relevant sections of the manual. - -* Support for back references - - I've added support for back references. The page numbers are - provided in the 'pageref' field which uses the new literal list - data type. Printing them is just a matter of \printlist{pageref}. - Note that you need to enable the 'backref' package option to get - any back reference data. There is also a bibmacro called - 'pageref' in biblatex.bbx which adds a label. Bibliography styles - should print the list via \usebibmacro{pageref}. There are two - related list formatting directives in biblatex.def. The default - directive just prints the list as is, using a comma as a - separator. The directive 'pageref:comp' prints a sequence of more - than two consecutive pages as a range. The easiest way to try it - out is: \DeclareListAlias{pageref}{pageref:comp}. - - The references are restricted to page numbers, back references to - sections are not supported. This is a deliberate decision. I - haven't bothered implementing back references to sections because - LaTeX's referencing mechanism is notoriously unreliable in this - respect. It essentially provides two pieces of information: the - formatted value of the last counter incremented by way of - \refstepcounter and the page number. The latter value is usually - unambiguous but the former could refer to just about everything. - The implications of this become obvious when you're using the - backref package with its 'ref' option (rather than 'pageref') and - put \cite commands in footnotes. The bibliography will then - include something like 'sections 1, 2, 3', but these numbers do - not refer to sections, these are footnote numbers! - - Getting back references to sections right would require - reimplementing LaTeX's entire referencing mechanism (or - interfacing with a package doing that) and I don't want to get - into that business just yet. I may look into support for the zref - package later, but that's something for a post-1.0 release of - biblatex. - -* Rearranged author-title citation styles - - I've rearranged the author-title citation styles because most - people seem to expect the behavior of the old 'authortitle-verb' - style from the plain 'authortitle' style. So 'authortitle-verb' - is the plain 'authortitle' style now. The style formerly known as - 'authortitle' has been renamed to 'authortitle-terse', - 'authortitle-comp' is 'authortitle-cterse' now. I've also added a - new 'authortitle-comp' style to round off this subset of styles. - -* Handling of thebibliography/theshorthands streamlined - - The handling of thebibliography and theshorthands as well as some - related facilities has been overhauled and streamlined. See the - changelog and section 4.2.2 of the manual for details. - -* Handling of 'and others' simplified - - The way biblatex handles the string 'and others', which is used - in bib files to truncate a list of names, has been overhauled and - simplified. Essentially, I have removed 'moreauthor' and similar - fields since biblatex handles this internally now. All style - authors need to do is use \ifandothers and/or \ifmorenames. See - the manual for details. - -* Improved \addtocategory - - \addtocategory now cycles its arguments through the aux file. - This means that it may be used in the preamble and anywhere in - the document body, even after \printbibliography. - -RELEASE NOTES FOR VERSION 0.2 - -* Internal changes in bibliography styles - - I have rearranged all bibliography styles. It should be more - obvious now how many code is shared by the bibliography styles, - namely all 'driver' code. The shared code has been moved to - standard.bbx, so think of that as the biblatex standard style. - This code is used by numeric.bbx, alphabetic.bbx, - authortitle.bbx, and authoryear.bbx; standard.bbx is not meant to - be used stand-alone. A few bibmacros have also been moved to - biblatex.bbx. - -* Internal changes in citation styles - - There is only one change affecting the citation styles. The - 'postnote' bibmacro in biblatex.cbx now automatically inserts a - prefix like 'p.' or 'pp.' where applicable. - -* Optional argument for \printtext - - \printtext takes an optional argument now. The point is that you - can use \printtext as a formatting hook. The advantage of this - approach is that \printtext integrates with the punctuation - tracking. I have revised biblatex.bbx to use this approach where - applicable. - -* New fields - - There are several new fields, some of which are supported by the - standard styles. This has lead to further changes in - biblatex.bbx, including changes to the names of existing - bibmacros. |