diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/biblatex/CHANGES.md')
-rw-r--r-- | Master/texmf-dist/doc/latex/biblatex/CHANGES.md | 210 |
1 files changed, 210 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/biblatex/CHANGES.md b/Master/texmf-dist/doc/latex/biblatex/CHANGES.md index 73848adcd2f..8387b31a670 100644 --- a/Master/texmf-dist/doc/latex/biblatex/CHANGES.md +++ b/Master/texmf-dist/doc/latex/biblatex/CHANGES.md @@ -1,12 +1,222 @@ +# RELEASE NOTES FOR VERSION 3.15 +- Fixed a long-standing issue with `\intitlepunct`. + The old definition + ``` + \newbibmacro*{in:}{% + \printtext{% + \bibstring{in}\intitlepunct}} + ``` + would print `\intitlepunct` directly and not via the punctuation + buffer. Since the `\add...` punctuation macros guard against + undesired double punctuation, this would usually not show as an + issue (except in edge cases https://tex.stackexchange.com/q/175730/, + https://github.com/plk/biblatex/issues/943). + The new definition uses the punctuation tracker to print + `\intitlepunct`. + ``` + \newbibmacro*{in:}{% + \bibstring{in}% + \printunit{\intitlepunct}} + ``` + `\printunit` is needed instead of `\setunit` to stop subsequent + `\setunit`s from overriding `\intitlepunct` in case of missing + fields. +- Define `volcitepages` and `multipostnote` as a field alias of `postnote` + and `multiprenote` as an alias of `prenote`. + That should make it easier to change all post- and prenote formats at once. + A change to `postnote` will automatically apply to `multipostnote` + and `volcitepages` as well. Similarly for `multiprenote`. + In case that is not desired, the original definitions can be restored with + ``` + \DeclareFieldFormat{volcitepages}{\mkpageprefix[pagination][\mknormrange]{#1}} + \DeclareFieldFormat{multiprenote}{#1\isdot} + \DeclareFieldFormat{multipostnote}{\mkpageprefix[pagination][\mknormrange]{#1}} + ``` +- Unified DOI, eprint and URL printing across all entry types. + The fields `doi`, `eprint`, `eprintclass`, `eprinttype` and `url` + are now valid for all entry types. + `@online` and `@unpublished` now also use the bibmacro + `doi+eprint+url`. + This means `@online` now responds to the `url` option. + That does not mean, however, that a global `url=false,` + suppresses URLs for `@online` entries, since `url=true,` + is set on a per-type level to ensure backwards compatibility + as far as possible. + In case eprint information should be suppressed for `@online` + and `@unpublished`, add + ``` + \ExecuteBibliographyOptions[online,unpublished]{eprint=false} + ``` +- Added `eid` to more entry types. + To avoid issues with backwards compatibility of widely used bibmacros, + the bibmacro `chapter+pages` was redefined from + ``` + \newbibmacro*{chapter+pages}{% + \printfield{chapter}% + \setunit{\bibpagespunct}% + \printfield{pages}% + \newunit} + ``` + to + ``` + \newbibmacro*{chapter+pages}{% + \printfield{chapter}% + \setunit{\bibeidpunct}% + \printfield{eid}% + \setunit{\bibpagespunct}% + \printfield{pages}% + \newunit} + ``` +- Added `\bibeidpunct` in analogy to `\bibpagespunct`. +- Added `issuetitleaddon` and `journaltitleaddon` fields. +- Added options `backreffloats` and `trackfloats` to enable/disable + citation tracking and back references in floats. + Note that citation tracking in floats can lead to undesirable + results in case the float objects floats too far from its "natural" + position. +- **INCOMPATIBLE CHANGE** `numeric-comp` compresses subentry set + references now. + This behaviour can be disabled with `subentrycomp=false`. +- Added `subentrycomp` option to `numeric-comp` citation style. + The option is only relevant with `subentry=true`. + With `subentrycomp=true` set citations will be compressed + to "1a-c" instead of "1a; 1b; 1c". + The option is mainly intended for backwards compatibility; + the behaviour of previous `biblatex` versions can be restored + with `subentrycomp=false`. +- Added `\multiciterangedelim`, `\multicitesubentrydelim`, + `\multicitesubentryrangedelim`, `\superciterangedelim`, + `\supercitesubentrydelim`, and `\supercitesubentryrangedelim` for + finer control over (compressed) subentry citations in `numeric-comp`. +- **CRITICAL CHANGE** The structure of the bibmacros in `numeric-comp` + has been reworked to make it easier to customise the printed output. + Documents that relied on patching internal bibmacros or heavily + redefined them may have to adapt. +- **CRITICAL CHANGE** + Implemented better `@set` support for BibTeX, `@set`s should now + sort properly. + This is achieved with a two-pass structure and (hidden) copies of + the set entries. + The two-pass structure means that the compilation sequence becomes + LaTeX, BibTeX, LaTeX, BibTeX, LaTeX, LaTeX. +- **CRITICAL CHANGE** + The case change functions now make use of the `expl3` module `l3text` + if the available `expl3` version is recent enough. + If `expl3` is too old the old LaTeX2e implementation is used. + If desired the implementation of the case changing functions + can be selected at load-time with the `casechanger` option, which + accepts the values `expl3`, `latex2e` and `auto` (which selects + `expl3` if the `expl3` version not older than 2020-04-06, this + is the default). + + The `expl3` implementation of the case changer is slightly more + robust than the home-grown `latex2e` code. +- The option `bibtexcaseprotection` can be used to turn off the + case protection via curly braces. This allows for a saner approach + to case protection where text is protected solely via a macro + like `\NoCaseChange`, e.g. + ``` + title = {The Story of \NoCaseChange{HMS \emph{Erebus}} + in \emph{Really} Strong Wind}, + ``` + instead of + ``` + title = {The Story of {HMS} \emph{Erebus} + in {\emph{Really}} Strong Wind}, + ``` +- Added `\mautocite` and `\Mautocite`. +- Added `\NumsCheckSetup` and `\PagesCheckSetup` for finer control + of the `\ifnumerals` and `\ifpages` checks. +- Deprecate the starred `\DeclareDelimAlias*` in favour of + `\DeclareDelimAlias` with optional arguments. +- **INCOMPATIBLE CHANGE** + `biblatex` no longer falls back to English for unknown languages. + Warnings will be triggered if undefined language strings or extras + are used. +- **INCOMPATIBLE CHANGE** + Bibliography strings and bibliography extras can now be written + either to `\captions<language>` or to `\extras<language>` + (this is controlled with the `langhook` option). + Previously, they were written to `\extras<language>`, but upon + reflection `\captions<language>` appears to be a more sensible + place for these definitions. + The new default is to write to `\captions<language>` + (i.e. `langhook=captions`). + The previous behaviour can be restored with `langhook=extras`. +- **INCOMPATIBLE CHANGE** Moved `\delimcontext{bib}` to `\AtUsedriver`, + this makes it easier to override the delimiter context in `\usedriver` + calls. `\AtUsedriver*` calls may have to be amended to include + `\delimcontext{bib}`. The new default is + ``` + \AtUsedriver{% + \delimcontext{bib}% + \let\finentry\blx@finentry@usedrv + \let\newblock\relax + \let\abx@macro@bibindex\@empty + \let\abx@macro@pageref\@empty} + ``` + Note that this definition is backwards compatible + and can be used in older versions as well (down to v3.4 2016-05-10). +- `biblatex` now tests if a requested backend (re)run happened by + comparing the MD5 hashes of the new and old `.bbl` files. +- Added file hooks `\blx@filehook@preload@<filename>`, + `\blx@filehook@postload@<filename>` + and `\blx@filehook@failure@<filename>` + to execute hooks before or after a file is loaded + or if the loading fails. + `\blx@lbxfilehook@simple@preload@<filename>`, + `\blx@lbxfilehook@simple@postload@<filename>` + and `\blx@lbxfilehook@simple@failure@<filename>` + as well as + `\blx@lbxfilehook@once@preload@<filename>`, + `\blx@lbxfilehook@once@postload@<filename>` + and `\blx@lbxfilehook@once@failure@<filename>` + are the equivalents for `.lbx` loading, where + files may be loaded several times in some situations. +- Added limited support for 'nodate' with BibTeX. +- Improved `babel` and `polyglossia` interfacing (avoids more or less + unsupported patches). + This should work with `babel` at least v3.9r (2016/04/23) + and polyglossia `polyglossia` v1.49 (2020/04/08) or later. +- **INCOMPATIBLE CHANGE** Removed list and name index wrappers + (`\DeclareIndexNameWrapperFormat`, `\DeclareIndexListWrapperFormat` + and friends). Those wrappers make no sense, since the indexed + names are not printed 'together' in any useful sense of the word + and were never working anyway. +- **CRITICAL CHANGE** Generalised some keyval macros. + `biblatex`-related uses of `\define@key` should ideally replaced with + `\blx@kv@defkey`. + Style authors are advised not to rely too much on the internal + implementation of certain keyval interfaces. + Users who want to experiment with using a different underlying + keyval parser need only provide replacements of the `\blx@kv@...` + macros (which are defined via `\provide...` so that they will + not overwrite existing definitions; in particular users can define + those replacements before loading `biblatex`). +- Deprecate `\ifkomabibtotoc` and `\ifkomabibtotocnumbered`. + With newer versions of KOMA-Script these tests are no longer used + and their implementation was always a bit shifty (they would only pick + up globally set options). + + # RELEASE NOTES FOR VERSION 3.14 - biber from version 2.14 has extended, granular XDATA functionality to allow referencing from and to parts of fields. This makes XDATA entries into more general data sharing containers. +- Biber applies Perl's Unicode case folding to normalise the + capitalisation of field names and entry types when reading from the + `.bib` file. The output in the `.bbl` (what comes out on the + `biblatex` side uses the capitalisation from the data model; the only + exception are unknown entry types which are passed on *exactly* + as they are given in the `.bib` file - of course it is strongly + recommended to define all entry types one intends to use in the + data model). - `biblatex` now interfaces with `polyglossia` much better and can deal with language variants. Note that `polyglossia` v1.45 (2019/10/27) is required for this to work properly, it is strongly recommended to update `polyglossia` to this or a later (current) version. + # RELEASE NOTES FOR VERSION 3.13 - **INCOMPATIBLE CHANGE** Any custom per-entry options in datasources must be defined with `\DeclareEntryOption` in order for biber to recognise |