summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/biblatex/CHANGES.md
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/biblatex/CHANGES.md')
-rw-r--r--Master/texmf-dist/doc/latex/biblatex/CHANGES.md122
1 files changed, 122 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/biblatex/CHANGES.md b/Master/texmf-dist/doc/latex/biblatex/CHANGES.md
index 6bc039b0134..ed0c8706740 100644
--- a/Master/texmf-dist/doc/latex/biblatex/CHANGES.md
+++ b/Master/texmf-dist/doc/latex/biblatex/CHANGES.md
@@ -1,3 +1,125 @@
+# RELEASE NOTES FOR VERSION 3.12
+- **INCOMPATIBLE CHANGE** The syntax for defining data annotations in the
+ BibLaTeXML data source format has changed to accommodate named
+ annotations. Annotations are no longer attributes but are fully-fledged
+ elements. It is not expected that this will impact any current users.
+- **INCOMPATIBLE CHANGE** The field/fieldset argument to the `\translit`
+ command is now mandatory to allow for a new optional argument which
+ restricts transliteration to entries with particular `langid` fields.
+- The field `sortyear` is an integer field now and not a literal. This is
+ because the `sortX` fields should be the same datatype as the `X` field
+ as sorting depends on this. This fixes an issue where years were not
+ sorted properly as integers. `sortyear` was sometimes used to tune date
+ sorting as in "1984-1", "1984-2" etc. for multi-volume collections with
+ the same year. However, this is really an abuse of the sorting template
+ system since this should be done by having a semantically more granular
+ sorting item to differentiate below the year level (typically, `volume`
+ does this for multi-volume works and this is already part of all default
+ sorting templates). The example .bib that comes with biblatex has been
+ changed to remove such `sortyear` abuses and the sorting is not impacted
+ as they examples using this already have either `volume` or `sorttitle`
+ which made this abuse of `sortyear` unnecessary anyway.
+- The field `number` is a literal field now and not an integer. This allows for
+ a wider range of possible input such as "S1", "Suppl. 1", "1-3".
+ If you want to sort by `number` and only have integers in there, you should
+ consider using a custom data model to turn `number` back into an integer type
+ field, since sorting integers as literals has performance implications and
+ might lead to undesired sorting such as "1", "10", "2".
+- **INCOMPATIBLE CHANGE** Removed the 'semi-hidden' option `noerroretextools`.
+ If you want to load `noerroretextools` now, you need to define the macro
+ `\blx@noerroretextools` instead. This can for example be done with
+ ```
+ \usepackage{etoolbox}
+ \cslet{blx@noerroretextools}\empty
+ \usepackage{biblatex}
+ ```
+ or
+ ```
+ \makeatletter
+ \let\blx@noerroretextools\@empty
+ \makeatother
+ \usepackage{biblatex}
+ ```
+ You still need to make sure that all macros used by `biblatex` are restored
+ to their `etoolbox` definitions before loading `biblatex`.
+- New macro `\abx@missing@entry` to style missing entrykeys in citations.
+- Added field format deprecation macros `\DeprecateFieldFormatWithReplacement`
+ and friends.
+- Add `\ifdateyearsequal` to check if two dates have the same year and era
+ date part. Since `year`s are always non-negative integers and the 'sign' is
+ stored as the `era`, you should use `\ifdateyearsequal` instead of a simple
+ `\iffieldequals{#1year}{#2year}` to compare years. The latter can lead to
+ undesired results if the years have opposite signs, but are otherwise the
+ same.
+- New values `part+`, `chapter+`, `section+` and `subsection+` for 'section'-
+ valued options `refsection`, `refsegment` and `citereset`. These options
+ are then executed at not only the specified level of sectioning, but also
+ all higher levels.
+- Add second optional argument to `\DeclareDelimAlias*`.
+- Allow keywords for dataonly/skipped entries as well.
+- Added `maxcitecounter`.
+- Deprecate `\labelnamepunct` in favour of the context-sensitive
+ `nametitledelim`.
+ For compatibility reasons `\labelnamepunct` still pops up in the code here
+ and there, but `nametitledelim` should be preferred now.
+- The `xstring` package is not loaded by default any more.
+ Style developers whose styles make use of that package should load it
+ explicitly.
+- `authoryear.bbx` now has a macro `bbx:ifmergeddate` that can be used to
+ check whether the date has been printed at the beginning of an entry
+ and can thus be suppressed later in the `date` and `issue+date` macros.
+ The macro works like a test and expands to the `<true>` branch if the date
+ has been merged and can be suppressed, it expands to `<false>` if the date
+ has not been merged. In practice `\printdate` should then be issued
+ if and only if the test yields false.
+
+ This change means that the definition of the `date` macro can be the same for
+ all mergedate settings and that only `bbx:ifmergeddate` is redefined for
+ each different value. No backwards compatibility issues are expected,
+ but style authors are encouraged to test the changes and see if the new
+ macro could be useful for their styles.
+- For a long time `biblatex` has defined `\enquote` if `csquotes` was not
+ loaded. This behaviour was not documented, the official command intended
+ for quotation marks was always `\mkbibquote`. Because `biblatex` should not
+ (re)define user-level commands that are not primarily associated with
+ citations or the bibliography, from this release on `\enquote` is not defined
+ any more, instead the internal command `\blx@enquote` is defined and used.
+ The same holds for `\initoquote`, `\initiquote`, `\textooquote`,
+ `\textcoquote`, `\textoiquote`, `\textciquote`.
+ `biblatex` still defines the internal commands `\@quotelevel`, `\@quotereset`
+ and `\@setquotesfcodes` if `csquotes` is not loaded.
+
+ Users are encouraged to use `csquotes` for proper quotation marks, but can
+ get back the old behaviour with
+ ```
+ \makeatletter
+ \providerobustcmd*{\enquote}{\blx@enquote}
+ \makeatother
+ ```
+ or
+ ```
+ \newrobustcmd*{\enquote}{\mkbibquote}
+ ```
+- Add new list wrapper and name wrapper formats (`\DeclareListWrapperFormat`,
+ `\DeclareNameWrapperFormat`) to style a (name) lists in its entirety.
+ This is useful because name and lists formats normally style only one
+ particular item of the list. The wrapper format can be used to easily format
+ the entire list in italics, for example.
+- `\DeclareCitePunctuationPosition` can be used to configure the punctuation
+ position for citation commands similar to the optional `position` argument
+ of `\DeclareAutoCiteCommand`.
+- If the `\pdfmdfivesum` primitive is available (via `pdftexcmds`'
+ `\pdf@mdfivesum`) the `labelprefix` value is hashed for internal use, making
+ it safer for construction of macro names and the like. If you don't like
+ that you can turn off the behaviour by redefining `\blx@mdfivesum`. The
+ fallback in case `\pdf@mdfivesum` is unavailable is
+ ```
+ \let\blx@mdfivesum\@firstofone
+ ```
+
+ As before the labelprefix value is fully expanded before use. If its contents
+ are unexpandable you need to avoid expansion with `\detokenize`.
+
# RELEASE NOTES FOR VERSION 3.11
- `\printbiblist` now supports `driver` and `biblistfilter` options
to change the defaults set by the biblistname.