texlive[46851] Master: biblatex (4mar18)

commits+karl at tug.org commits+karl at tug.org
Mon Mar 5 23:15:53 CET 2018


Revision: 46851
          http://tug.org/svn/texlive?view=revision&revision=46851
Author:   karl
Date:     2018-03-05 23:15:52 +0100 (Mon, 05 Mar 2018)
Log Message:
-----------
biblatex (4mar18)

Modified Paths:
--------------
    trunk/Master/texmf-dist/bibtex/bst/biblatex/biblatex.bst
    trunk/Master/texmf-dist/doc/latex/biblatex/CHANGES.md
    trunk/Master/texmf-dist/doc/latex/biblatex/README
    trunk/Master/texmf-dist/doc/latex/biblatex/biblatex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/biblatex.tex
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/01-introduction-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/01-introduction-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/02-annotations-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/02-annotations-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/03-localization-keys-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/03-localization-keys-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/03-localization-keys.tex
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/04-delimiters-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/04-delimiters-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/10-references-per-section-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/10-references-per-section-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/11-references-by-section-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/11-references-by-section-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/12-references-by-segment-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/12-references-by-segment-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/13-references-by-keyword-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/13-references-by-keyword-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/14-references-by-category-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/14-references-by-category-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/15-references-by-type-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/15-references-by-type-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/16-numeric-prefixed-1-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/16-numeric-prefixed-1-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/17-numeric-prefixed-2-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/17-numeric-prefixed-2-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/18-numeric-hybrid-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/18-numeric-hybrid-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/19-alphabetic-prefixed-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/19-alphabetic-prefixed-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-single-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-single-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-multiple-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-multiple-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/22-indexing-subentry-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/22-indexing-subentry-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/30-style-numeric-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/30-style-numeric-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/31-style-numeric-comp-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/31-style-numeric-comp-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/32-style-numeric-verb-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/32-style-numeric-verb-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/40-style-alphabetic-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/40-style-alphabetic-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/41-style-alphabetic-verb-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/41-style-alphabetic-verb-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/42-style-alphabetic-template-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/42-style-alphabetic-template-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/50-style-authoryear-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/50-style-authoryear-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/51-style-authoryear-ibid-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/51-style-authoryear-ibid-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/51-style-authoryear-ibid.tex
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/52-style-authoryear-comp-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/52-style-authoryear-comp-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/53-style-authoryear-icomp-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/53-style-authoryear-icomp-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/53-style-authoryear-icomp.tex
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/60-style-authortitle-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/60-style-authortitle-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/61-style-authortitle-ibid-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/61-style-authortitle-ibid-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/61-style-authortitle-ibid.tex
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/62-style-authortitle-comp-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/62-style-authortitle-comp-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/63-style-authortitle-icomp-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/63-style-authortitle-icomp-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/63-style-authortitle-icomp.tex
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/64-style-authortitle-terse-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/64-style-authortitle-terse-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/65-style-authortitle-tcomp-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/65-style-authortitle-tcomp-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/66-style-authortitle-ticomp-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/66-style-authortitle-ticomp-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/66-style-authortitle-ticomp.tex
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/70-style-verbose-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/70-style-verbose-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/71-style-verbose-ibid-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/71-style-verbose-ibid-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/71-style-verbose-ibid.tex
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/72-style-verbose-note-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/72-style-verbose-note-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/73-style-verbose-inote-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/73-style-verbose-inote-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/73-style-verbose-inote.tex
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/74-style-verbose-trad1-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/74-style-verbose-trad1-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/74-style-verbose-trad1.tex
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/75-style-verbose-trad2-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/75-style-verbose-trad2-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/75-style-verbose-trad2.tex
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/76-style-verbose-trad3-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/76-style-verbose-trad3-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/80-style-reading-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/80-style-reading-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/81-style-draft-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/81-style-draft-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/82-style-debug-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/82-style-debug-bibtex.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/90-related-entries-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/91-sorting-schemes-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/92-bibliographylists-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/93-nameparts-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/94-labelprefix-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/95-customlists-biber.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex/examples/96-dates-biber.pdf
    trunk/Master/texmf-dist/tex/latex/biblatex/bbx/standard.bbx
    trunk/Master/texmf-dist/tex/latex/biblatex/biblatex.def
    trunk/Master/texmf-dist/tex/latex/biblatex/biblatex.sty
    trunk/Master/texmf-dist/tex/latex/biblatex/blx-dm.def
    trunk/Master/texmf-dist/tex/latex/biblatex/blx-unicode.def
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/brazilian.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/bulgarian.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/catalan.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/croatian.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/czech.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/english.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/estonian.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/finnish.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/galician.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/german.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/icelandic.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/italian.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/norsk.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/nynorsk.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/polish.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/russian.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/slovak.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/slovene.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/ukrainian.lbx
    trunk/Master/tlpkg/tlpsrc/biber.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/tex/latex/biblatex/lbx/latvian.lbx

Modified: trunk/Master/texmf-dist/bibtex/bst/biblatex/biblatex.bst
===================================================================
--- trunk/Master/texmf-dist/bibtex/bst/biblatex/biblatex.bst	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/bibtex/bst/biblatex/biblatex.bst	2018-03-05 22:15:52 UTC (rev 46851)
@@ -1,5 +1,5 @@
 % Copyright (c) 2006-2011 Philipp Lehman.
-%               2012-2016 Philip Kime, Audrey Boruvka, Joseph Wright
+%               2012-2018 Philip Kime, Audrey Boruvka, Joseph Wright
 %
 % Permission is granted to copy, distribute and/or modify this
 % software under the terms of the LaTeX Project Public License

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/CHANGES.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/biblatex/CHANGES.md	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/doc/latex/biblatex/CHANGES.md	2018-03-05 22:15:52 UTC (rev 46851)
@@ -1,3 +1,63 @@
+# RELEASE NOTES FOR VERSION 3.11
+- `\printbiblist` now supports `driver` and `biblistfilter` options
+  to change the defaults set by the biblistname.
+- Add `\mknormrange` to normalise page ranges without compressing them.
+- **INCOMPATIBLE CHANGE** The format for `postnote` (`multipostnote`,
+  `volcitepages`) normalises page ranges with `\mknormrange`.
+  Since `\mknormrange` acts only on page ranges as detected by
+  `\ifpages`, this does not affect text other than page ranges.
+  Hyphens and dashes in page ranges will be transformed to
+  `\bibrangedash`, commas and semi-colons to `\bibrangesep`.
+  This is analogous to Biber's treatment of page-like fields.
+  If you always separated page ranges with `--` or `\bibrangedash`
+  anyway, this should not change the output you get.
+  If you used a single hyphen to separate page ranges (e.g., `23-27`)
+  you will now get the arguably more aesthetically pleasing output
+  with `\bibrangedash`.
+  In case you want to restore the old behaviour where page ranges were
+  not normalised add the following three lines to your preamble.
+  ```
+  \DeclareFieldFormat{postnote}{\mkpageprefix[pagination]{#1}}
+  \DeclareFieldFormat{volcitepages}{\mkpageprefix[pagination]{#1}}
+  \DeclareFieldFormat{multipostnote}{\mkpageprefix[pagination]{#1}}
+  ```
+  Style developers may note that the field format for `pages`
+  was not changed to include `\mknormrange` because the contents
+  of that field are prepared by the backend and Biber already does
+  the page range normalisation out of the box.
+- The standard definitions for headings were changed to be as close to the
+  defaults of the standard document classes or KOMA/memoir as possible.
+  **PLEASE CHECK** if your document headers relied on the behaviour of older
+  versions.
+- The `@unpublished` entry type now also supports `type`, `eventtitle`,
+  `eventdate` and `venue`.
+- A long-standing bug with punctuation before `eventdate` and `venue` was fixed.
+  Originally the round brackets were supposed to be preceded only by a space,
+  the addition of other fields caused this space to be replaced by new unit
+  punctuation. **PLEASE CHECK** if you can accept the changed output.
+- Added `\ifdateannotation`. Added optional argument for field and item to
+  `\iffieldannotation`, `\ifitemannotation`, and `\ifpartannotation`.
+- `\DeclareSourcemap` can now be used multiple times.
+- **INCOMPATIBLE CHANGE** Language aliases are now also resolved when loading
+  localisation files, only infinite recursion is avoided.
+  Assuming `\DeclareLanguageMappingSuffix{-apa}`, loading `ngerman` localisation
+  causes `ngerman-apa.lbx` to be read. If that file inherits from `german`,
+  `german-apa.lbx` will be read. Previously only `german.lbx` would have been
+  read at that point. Of course if `german-apa.lbx` inherits from `german`,
+  `german.lbx` is loaded at that point, so infinite recursion is avoided.
+- **CRITICAL CHANGE** The code to load localisation files was changed.
+  This is a an internal change and should not influence document output,
+  save for a few bug fixes. Style authors should check if the changes introduce
+  any bugs for their localisation handling and report them.
+- Added `\begrelateddelim` and `\begrelateddelim<relatedtype>` for punctuation
+  before the related block. **PLEASE CHECK** that this change does not interfere
+  with your punctuation settings. The change should be backwards compatible,
+  but might give different results if `\usebibmacro{related}` is used in
+  unusual positions.
+- Added `locallabelwidth` option to control the label spacing in bibliographies,
+  if set to true, the label width will be calculated locally for the current
+  bibliography and not globally from a list of all citation.
+
 # RELEASE NOTES FOR VERSION 3.10
 - **INCOMPATIBLE CHANGE** The recent ISO8601:201x standard supersedes
   the draft EDTF (Extended Date Time Format) extensions. Biblatex therefore
@@ -85,13 +145,14 @@
   `93-nameparts.tex` example file.
 
 ## `extrayear` is now `extradate` and the information used to track this can be customised
-- `extrayear` is called `extradate` now. Limited backwards compatibility is
+- **INCOMPATIBLE CHANGE** `extrayear` is called `extradate` now.
+  Limited backwards compatibility is
   in place to allow a smooth transition, but style developers should use the new name.
-- The new \DeclareExtradate command allows users to track authoryear
+- The new `\DeclareExtradate` command allows users to track authoryear
   disambiguation in arbitrary ways now, for example allowing disambiguation
   at month or day level instead of just year. See the PDF doc for details.
-- Some bibmacros from the `authoryear` style family were renamed,
-  `cite:labelyear+extrayear` becomes `cite:labeldate+extradate`,
+- **INCOMPATIBLE CHANGE** Some bibmacros from the `authoryear` style family
+  were renamed, `cite:labelyear+extrayear` becomes `cite:labeldate+extradate`,
   `cite:extrayear` is `cite:extradate` now, and `date+extrayear`
   is `date+extradate`. Some backwards compatibility code is present,
   but developers should make sure their code works as expected.
@@ -134,36 +195,35 @@
   option.
 
 ## Localisation and styles
-- Styles which supply their own location strings in .lbx files typically
-  use \DeclareLanguageMapping to map a document language to the supplied
+- Styles which supply their own location strings in `.lbx` files typically
+  use `\DeclareLanguageMapping` to map a document language to the supplied
   language files. This is not ideal because the mapping has to be done by
   the user depending on the specific language. For example, for the APA
-  style, in a document using American english, this line is necessary in
+  style, in a document using American English, this line is necessary in
   every document:
-
+  ```
   \DeclareLanguageMapping{american}{american-apa}
-
-  so that the style supplied america-apa.lbx file is loaded. In a document
-  using the german language, the user would have to use:
-
+  ```
+  so that the style supplied `america-apa.lbx` file is loaded.
+  In a document using the German language, the user would have to use:
+  ```
   \DeclareLanguageMapping{german}{german-apa}
-
-  A new macro \DeclareLanguageMappingSuffix is now supplied which allows
+  ```
+  A new macro `\DeclareLanguageMappingSuffix` is now supplied which allows
   styles to register a global localisation file suffix which is appended to
   any document language automatically. This removes the need for
-  \DeclareLanguageMapping in user documents as it ensures that the correct
-  localisation file will be read nomatter what the document language. For
-  example, the APA style (from version v7.5) now has this in apa.bbx:
-
+  `\DeclareLanguageMapping` in user documents as it ensures that the
+  correct localisation file will be read nomatter what the document language.
+  For example, the APA style (from version v7.5) now has this
+  in `apa.bbx`:
+  ```
   \DeclareLanguageMappingSuffix{-apa}
+  ```
+  which means that for a given document language `<lang>`
+  the localisation file `<lang>-apa.lbx` will be loaded.
+  `\DeclareLanguageMapping`, if present, will override
+  `\DeclareLanguageMappingSuffix`.
 
-  which means that for a given document language <lang>, the localisation file:
-
-  <lang>-apa.lbx
-
-  will be loaded. \DeclareLanguageMapping, if present, will override
-  \DeclareLanguageMappingSuffix.
-
 ## Context-sensitive delimiters
 - Several delimiter macros now use the context-sensitive delimiter interface
   introduced in version 3.4 (`\DeclareDelimFormat`). This change is fully

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/biblatex/README	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/doc/latex/biblatex/README	2018-03-05 22:15:52 UTC (rev 46851)
@@ -162,4 +162,4 @@
 CHANGES
 
 A list of changes relevant to users of this package is included at
-the end of 'biblatex.pdf'. See also the release notes in 'CHANGES.org'.
+the end of 'biblatex.pdf'. See also the release notes in 'CHANGES.md'.

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/biblatex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/biblatex.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/biblatex/biblatex.tex	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/doc/latex/biblatex/biblatex.tex	2018-03-05 22:15:52 UTC (rev 46851)
@@ -58,15 +58,15 @@
   title={The \biblatex Package},
   subtitle={Programmable Bibliographies and Citations},
   url={\biblatexhome},
-  author={Philipp Lehman \\(with Philip Kime, Audrey Boruvka and Joseph Wright)},
+  author={Philipp Lehman \\(with Philip Kime, Moritz Wemheuer, Audrey Boruvka and Joseph Wright)},
   email={},
-  revision={3.10},
+  revision={3.11},
   date={\today}}
 
 \hypersetup{%
   pdftitle={The \biblatex Package},
   pdfsubject={Programmable Bibliographies and Citations},
-  pdfauthor={Philipp Lehman, Philip Kime},
+  pdfauthor={Philipp Lehman, Philip Kime, Moritz Wemheuer},
   pdfkeywords={tex, latex, bibtex, bibliography, references, citation}}
 
 % tables
@@ -168,7 +168,7 @@
 
 \subsection{License}
 
-Copyright \textcopyright\ 2006--2012 Philipp Lehman, 2012--2017 Philip Kime, Audrey Boruvka, Joseph Wright. Permission is granted to copy, distribute and\slash or modify this software under  the terms of the \lppl, version 1.3.\fnurl{http://www.latex-project.org/lppl.txt}
+Copyright \textcopyright\ 2006--2012 Philipp Lehman, 2012--2017 Philip Kime, Audrey Boruvka, Joseph Wright, 2018- Philip Kime and Moritz Wemheuer. Permission is granted to copy, distribute and\slash or modify this software under  the terms of the \lppl, version 1.3.\fnurl{http://www.latex-project.org/lppl.txt}
 
 \subsection{Feedback}
 \label{int:feb}
@@ -192,7 +192,8 @@
 Apostolos Syropoulos, Prokopis (Greek);
 Baldur Kristinsson (Icelandic);
 Enrico Gregorio, Andrea Marchitelli (Italian);
-Håkon Malmedal (Norwegian);
+Rihards Skuja (Latvian);
+Håkon Malmedal, Hans Fredrik Nordhaug (Norwegian);
 Anastasia Kandulina, Yuriy Chernyshov (Polish);
 José Carlos Santos (Portuguese);
 Oleg Domanov (Russian);
@@ -200,8 +201,7 @@
 Tea Tušar and Bogdan Filipič (Slovene);
 Ignacio Fernández Galván (Spanish);
 Per Starbäck, Carl-Gustav Werner, Filip Åsblom (Swedish);
-Sergiy M. Ponomarenko (Ukrainian);
-Hans Fredrik Nordhaug (Norwegian)
+Sergiy M. Ponomarenko (Ukrainian).
 
 \subsection{Prerequisites}
 \label{int:pre}
@@ -326,7 +326,7 @@
 The \sty{splitbib} package provides support for bibliographies subdivided by topic. See \sty{bibtopic}.
 
 \item[titlesec]
-The \sty{titlesec} package redefines user-level document division commands such as \cmd{chapter} or \cmd{section}. This approach is not compatible with internal command changes applied by the \biblatex \texttt{refsection} and \texttt{refsegment} option settings described in \secref{use:opt:pre:gen}.
+The \sty{titlesec} package redefines user-level document division commands such as \cmd{chapter} or \cmd{section}. This approach is not compatible with internal command changes applied by the \biblatex \opt{refsection}, \opt{refsegment} and \opt{citereset} option settings described in \secref{use:opt:pre:gen}.
 
 \item[ucs]
 The \sty{ucs} package provides support for \utf encoded input. Either use \sty{inputenc}'s standard \file{utf8} module or a Unicode enabled engine such as \xetex or \luatex instead.
@@ -357,6 +357,7 @@
 \sffamily\bfseries\spotcolor Biber version
   & \sffamily\bfseries\spotcolor \biblatex\ version\\
 \midrule
+2.11 & 3.11\\
 2.10 & 3.10\\
 2.9 & 3.9\\
 2.8 & 3.8\\
@@ -574,7 +575,7 @@
 A work with an author and a title which has not been formally published, such as a manuscript or the script of a talk. Use the fields \bibfield{howpublished} and \bibfield{note} to supply additional information in free format, if applicable.
 
 \reqitem{author, title, year/date}
-\optitem{subtitle, titleaddon, language, howpublished, note, location, isbn, date, month, year, addendum, pubstate, url, urldate}
+\optitem{subtitle, titleaddon, type, eventtitle, eventtitleaddon, eventdate, venue, language, howpublished, note, location, isbn, date, month, year, addendum, pubstate, url, urldate}
 
 \typeitem{xdata}
 
@@ -1170,7 +1171,7 @@
 
 \begin{table}
 \tablesetup
-\begin{tabularx}{\textwidth}{@{}p{80pt}@{}p{170pt}@{}X@{}}
+\begin{tabularx}{\textwidth}{@{}p{90pt}@{}p{160pt}@{}X@{}}
 \toprule
 \multicolumn{1}{@{}H}{Language} &
 \multicolumn{1}{@{}H}{Region/Dialect} &
@@ -1197,8 +1198,11 @@
              & Austria        & \opt{naustrian} \\
              & Switzerland    & \opt{nswissgerman} \\
 Greek        & Greece         & \opt{greek} \\
+Icelandic    & Iceland        & \opt{icelandic} \\
 Italian      & Italy          & \opt{italian} \\
-Norwegian    & Norway         & \opt{norsk}, \opt{nynorsk} \\
+Latvian      & Latvia         & \opt{latvian} \\
+Norwegian (Bokmål)  & Norway  & \opt{norsk} \\
+Norwegian (Nynorsk) & Norway  & \opt{nynorsk} \\
 Polish       & Poland         & \opt{polish} \\
 Portuguese   & Brazil         & \opt{brazil} \\
              & Portugal       & \opt{portuguese}, \opt{portuges} \\
@@ -1708,7 +1712,7 @@
 0343-02-03 & 343-02-02 CE & with \opt{dateeraauto=400} and \opt{julian} \\
 1723\textasciitilde & circa 1723 & using \cmd{ifdatecirca} test\\
 1723? & 1723? & using \cmd{ifdateuncertain} test\\
-1723?\textasciitilde & circa 1723? & using \cmd{ifdateuncertain} and \cmd{ifdatecirca} tests\\
+1723\% & circa 1723? & using \cmd{ifdateuncertain} and \cmd{ifdatecirca} tests\\
 2004-22 & 2004 & also, \bibfield{season} is set to the localisation string <summer>\\
 2004-24 & 2004 & also, \bibfield{season} is set to the localisation string <winter>\\
 \bottomrule
@@ -2021,7 +2025,7 @@
 
 This option corresponds to \biber's \opt{--sortupper} command-line option. If enabled, the bibliography is sorted in <uppercase before lowercase> order. Disabling this option means <lowercase before uppercase> order.
 
-\optitem{sortlocale}{\opt{auto}, \prm{locale}}
+\optitem[auto]{sortlocale}{\opt{auto}, \prm{locale}}
 
 This option sets the global sorting locale. Every sorting template inherits this locale if none is specified using the \prm{locale} option to \cmd{printbibliography}. Setting this to \opt{auto} requests that it be set to the \sty{babel}/\sty{polyglossia} main document language identifier, if these packages are used and \texttt{en\_US} otherwise. \biber will map \sty{babel}/\sty{polyglossia} language identifiers into sensible locale identifiers (see the \biber documentation). You can therefore specify either a normal locale identifier like \texttt{de\_DE\_phonebook}, \texttt{es\_ES} or one of the supported \sty{babel}/\sty{polyglossia} language identifiers if the mapping \biber makes of this is fine for you.
 
@@ -2128,6 +2132,10 @@
 
 The \cmd{newblockpunct} command may also be redefined directly to achieve different results, see \secref{use:fmt:fmt}. Also see \secref{aut:pct:new} for additional information.
 
+\boolitem[false]{locallabelwidth}
+
+This option controls whether \cmd{printbibliography} uses a locally calculated value for \cmd{labelnumberwidth} and \cmd{labelalphawidth} or the global value calculated from all entries. The local value is calculated separately for each bibliography and takes into account only the entries displayed in that bibliography. This option is useful if there are several bibliographies with wildly varying label lengths in the same document.
+
 \optitem[foot+end]{notetype}{\opt{foot+end}, \opt{footonly}, \opt{endonly}}
 
 This option controls the behavior of \cmd{mkbibfootnote}, \cmd{mkbibendnote}, and similar wrappers from \secref{aut:fmt:ich}. The possible choices are:
@@ -2420,7 +2428,7 @@
 
 \optitem[auto]{bibencoding}{\opt{auto}, \prm{encoding}}
 
-Specifies the encoding of the \file{bib} files. This corresponds to \biber's \opt{--input-encoding} option. The following choices are available:
+Specifies the encoding of the \file{bib} files. This option corresponds to \biber's \opt{--input-encoding} option. The following choices are available:
 
 \begin{valuelist}
 
@@ -2634,7 +2642,7 @@
 \cmidrule(r){1-1}\cmidrule(r){2-2}\cmidrule(r){3-3}
 singletitle & \cmd{ifsingletitle} & labelname\\
 uniquetitle & \cmd{ifuniquetitle} & labeltitle\\
-uniquebaretitle & \cmd{ifuniquebaretitle} & labeltitle when labelname is null\\
+uniquebaretitle & \cmd{ifuniquebaretitle} & labeltitle {\rmfamily when} labelname {\rmfamily is null}\\
 uniquework  & \cmd{ifuniquework}  & labelname+labeltitle\\
 \bottomrule
 \end{tabularx}
@@ -2726,8 +2734,8 @@
                & labelendseason   &                &  \\
                & labeltimezone    &                &  \\
                & labelendtimezone &                &  \\
-labeltitle     & \rmfamily{---}   & extratitle     &  labelname+labeltitle\\
-labeltitleyear & \rmfamily{---}   & extratitleyear &  labeltitle+labelyear\\
+labeltitle     & {\rmfamily ---}  & extratitle     &  labelname+labeltitle\\
+labeltitleyear & {\rmfamily ---}  & extratitleyear &  labeltitle+labelyear\\
 \bottomrule
 \end{tabularx}
 \caption{Disambiguation counters}
@@ -3174,21 +3182,27 @@
 
 \begin{ltxsyntax}
 
-\cmditem{iffieldannotation}{annotation}{true}{false}
+\cmditem{iffieldannotation}[field]{annotation}{true}{false}
 
-Executes \prm{true} if the current data field has an annotation \prm{annotation} and false otherwise.
+Executes \prm{true} if the data field \prm{field} has an annotation \prm{annotation} and false otherwise. If \prm{field} is not given, the current data field as indicated by \cmd{currentfield}, \cmd{currentlist} or \cmd{currentname} (see \secref{aut:bib:fmt}) is assumed. Of course, this is only possible if these commands are defined, that is, inside formatting directives.
 
-\cmditem{ifitemannotation}{annotation}{true}{false}
+\cmditem{ifitemannotation}[field][item]{annotation}{true}{false}
 
-Executes \prm{true} if the current item in the current data field has an annotation \prm{annotation} and false otherwise.
+Executes \prm{true} if the item \prm{item} in the data field \prm{field} has an annotation \prm{annotation} and false otherwise. The optional argument \prm{field} can be inferred if not provided as with \cmd{iffieldannotation}. If \prm{item} is not given, the number of the item currently being processed as given by \cnt{listcount} is used.
 
-\cmditem{ifpartannotation}{part}{annotation}{true}{false}
+\cmditem{ifpartannotation}[field][item]{part}{annotation}{true}{false}
 
-Executes \prm{true} if the part named \prm{part} in current item in the current data field has an annotation \prm{annotation} and false otherwise.
+Executes \prm{true} if the part named \prm{part} in item \prm{item} in the data field \prm{field} has an annotation \prm{annotation} and false otherwise. The two optional arguments \prm{field} and \prm{item} can be inferred as in \cmd{ifitemannotation}. The parameter \prm{part} can never be inferred and is therefore a mandatory argument.
 
+Date fields are special and handled in a context where \cmd{currentfield} is not accessible. Thus there is a fourth command to access annotations for dates.
+
+\cmditem{ifdateannotation}{datetype}{annotation}{true}{false}
+
+Executes \prm{true} if the date field \prm{datetype} has an annotation \prm{annotation} and false otherwise. The \prm{datetype} argument is mandatory, because it can not be inferred in most contexts where \cmd{ifdateannotation} will be used.
+
 \end{ltxsyntax}
 %
-These macros are available in the same places as \cmd{currentfield}, \cmd{currentlist} and \cmd{currentname} (see \secref{aut:bib:fmt}), that is, inside formatting directives. They automatically determine the name of the current data field being processed and also the current \opt{listcount} value which determines the current item in list fields. Parts such as name parts need to be named explicitly. As an example of how to use the annotation information to solve the problem originally presented in this section, this could be used in the name formatting directives to put an asterisk after all family names annotated as «student»:
+As an example of how to use the annotation information to solve the problem originally presented in this section, this could be used in the name formatting directives to put an asterisk after all family names annotated as «student»:
 
 \begin{lstlisting}[style=latex]{}
   \ifpartannotation{family}{student}
@@ -3358,6 +3372,10 @@
 
 This option applies to numerical citation\slash bibliography styles only and requires that the \opt{defernumbers} option from \secref{use:opt:pre:gen} be enabled globally. If enabled, \biblatex will not assign a numerical label to the entries in the respective bibliography. This is useful when mixing a numerical subbibliography with one or more subbibliographies using a different scheme (\eg author-title or author-year).
 
+\boolitem[false]{locallabelwidth}
+
+Calculate \cmd{labelnumberwidth}, \cmd{labelalphawidth} and similar lengths locally for the present bibliography and not globally for all entries. See also \opt{labelnumberwidth} in \secref{use:opt:pre:gen}.
+
 \end{optionlist*}
 
 \begin{ltxsyntax}
@@ -3391,21 +3409,35 @@
 
 \begin{ltxsyntax}
 
-\cmditem{printbiblist}[key=value, \dots]{$<$biblistname$>$}
+\cmditem{printbiblist}[key=value, \dots]{biblistname}
 
-This command prints a bibliography list. It takes an optional argument, which is a list of options given in \keyval notation. Valid options are all options supported by \cmd{printbibliography} (\secref{use:bib:bib}) except \opt{resetnumbers} and \opt{omitnumbers}. If there are any \env{refsection} environments in the document, the bibliography list will be local to these environments; see \secref{use:bib:sec} for details. By default, this command uses the heading \texttt{biblist}. See \secref{use:bib:hdg} for details.
+This command prints a bibliography list. It takes an optional argument, which is a list of options given in \keyval notation. Valid options are all options supported by \cmd{printbibliography} (\secref{use:bib:bib}) except \opt{resetnumbers} and \opt{omitnumbers}. Additionaly, the two options \opt{driver} and \opt{biblistfilter} are available. If there are any \env{refsection} environments in the document, the bibliography list will be local to these environments; see \secref{use:bib:sec} for details. By default, this command uses the heading \texttt{biblist}. See \secref{use:bib:hdg} for details.
 
+
 The \prm{biblistname} is a mandatory argument which names the bibliography list. This name is used to identify:
 \begin{itemize}
 \item The default bibliography driver used to print the list entries
-\item A default filter declared with \cmd{DeclareBiblistFilter} (see \secref{aut:ctm:bibfilt}) used to filter the entries returned from \biber
+\item A default bibliography list filter declared with \cmd{DeclareBiblistFilter} (see \secref{aut:ctm:bibfilt}) used to filter the entries returned from \biber
 \item A default check declared with \cmd{defbibcheck} (see \secref{use:bib:flt}) used to post-process the list entries
 \item The default bib environment to use
 \item The default sorting template to use
 \end{itemize}
 
-In terms of sorting the list, the default is to sort use the sorting template named after the bibliography list (if it exists) and only then to fall back to the current context sorting template is this is not defined (see \secref{use:bib:context}).
+The two additional options can be used to change some of the defaults set by the mandatory argument.
 
+\begin{optionlist*}
+\valitem[\prm{biblistname}]{driver}{driver}
+
+Change the bibliography driver used to print the list entries.
+% \prm{driver} must be a valid driver declared with \cmd{DeclareBibliographyDriver} (see \secref{aut:bbx:bbx}).
+
+\valitem[\prm{biblistname}]{biblistfilter}{biblistfilter}
+
+Change the bibliography list filter used to filter the entries. \prm{biblistfilter} must be a valid bibliography list filter defined with \cmd{DeclareBiblistFilter} (see \secref{aut:ctm:bibfilt}).
+\end{optionlist*}
+
+In terms of sorting the list, the default is to sort using the sorting template named after the bibliography list (if it exists) and only then to fall back to the current context sorting template if this is not defined (see \secref{use:bib:context}).
+
 The most common bibliography list is a list of shorthand abbreviations for certain entries and so this has a convenience alias \cmd{printshorthands[\dots]} for backwards compatibility which is defined as:
 
 \begin{ltxexample}
@@ -3477,7 +3509,7 @@
 
 \envitem{refsection}[resource, \dots]
 
-The optional argument is a comma"=separated list of resources specific to the reference section. If the argument is omitted, the reference section will use the default resource list, as specified with \cmd{addbibresource} in the preamble. If the argument is provided, it replaces the default resource list. Global resources specified with \cmd{addglobalbib} are always considered. \env{refsection} environments may not be nested, but you may use \env{refsegment} environments within a \env{refsection} to subdivide it into segments. Use the \opt{section} option of \cmd{printbibliography} to select a section when printing the bibliography, and the corresponding option of \cmd{printbiblist} when printing bibliography lists. Bibliography sections are numbered starting at~\texttt{1}. The number of the current section is also written to the transcript file. All citations given outside a \env{refsection} environment are assigned to section~0. If \cmd{printbibliography} is used within a \env{refsection}, it will automatically select the current section. The \opt{section} option is not required in this case. This also applies to \cmd{printbiblist}.
+The optional argument is a comma"=separated list of resources specific to the reference section. If the argument is omitted, the reference section will use the default resource list, as specified with \cmd{addbibresource} in the preamble. If the argument is provided, it replaces the default resource list. Global resources specified with \cmd{addglobalbib} are always considered. \env{refsection} environments may not be nested, but you may use \env{refsegment} environments within a \env{refsection} to subdivide it into segments. Use the \opt{section} option of \cmd{printbibliography} to select a section when printing the bibliography, and the corresponding option of \cmd{printbiblist} when printing bibliography lists. Bibliography sections are numbered starting at~\texttt{1}. The number of the current section is also written to the transcript file. All citations given outside a \env{refsection} environment are assigned to section~0. If \cmd{printbibliography} is used within a \env{refsection}, it will automatically select the current section. The \opt{section} option is not required in this case. This also applies to \cmd{printbiblist}. Beginning a new reference section automatically ends the active reference context (see \secref{use:bib:context}).
 
 \cmditem{newrefsection}[resource, \dots]
 
@@ -3644,7 +3676,7 @@
 
 Here is an example of a filter expression:
 
-\begin{ltxexample}[style=latex,keywords={and,or,not,type,keyword}]{}
+\begin{ltxexample}[style=latex,keywords={and,or,not,type,keyword}]
 \defbibfilter{example}{%
   ( type=book or type=inbook )
   and keyword=abc
@@ -3654,7 +3686,7 @@
 %
 This filter will match all entries whose entry type is either \bibtype{book} or \bibtype{inbook} and whose \bibfield{keywords} field includes the keyword <\texttt{abc}> but not <\texttt{x y z}>. As seen in the above example, all elements are separated by whitespace (spaces, tabs, or line endings). There is no spacing around the equal sign. The logical operators are evaluated with the \cmd{ifboolexpr} command from the \sty{etoolbox} package. See the \sty{etoolbox} manual for details about the syntax. The syntax of the \cmd{ifthenelse} command from the \sty{ifthen} package, which has been employed in older versions of \biblatex, is still supported. This is the same test using \sty{ifthen}-like syntax:
 
-\begin{ltxexample}[style=ifthen,morekeywords={\\type,\\keyword}]{}
+\begin{ltxexample}[style=ifthen,morekeywords={\\type,\\keyword}]
 \defbibfilter{example}{%
   \( \type{book} \or \type{inbook} \)
   \and \keyword{abc}
@@ -3756,7 +3788,7 @@
 
 By default, data for a citation is drawn from the reference context of the last bibliography in which it was printed. For example:
 
-\begin{ltxexample}[style=latex]{}
+\begin{ltxexample}[style=latex]
 \DeclareRefcontext{ap}{labelprefix=A}
 \begin{document}
 
@@ -3831,7 +3863,7 @@
 %
 At the beginning of the document, there is always a global context containing global settings for each of the reference context options. Here is an example summarising the reference contexts with various settings:
 
-\begin{ltxexample}[style=latex]{}
+\begin{ltxexample}[style=latex]
 \usepackage[sorting=nty]{biblatex}
 
 \DeclareRefcontext{testrc}{sorting=nyt}
@@ -3893,7 +3925,7 @@
 \end{ltxsyntax}
 These commands automate putting citations into refcontexts when the default behaviour is not sufficient. The \prm{key=value} options are as for \cmd{DeclareRefcontext}. The default behaviour is that the data for a citation is drawn from the refcontext of the last bibliography in which it was printed. For citations that are used in some way but not printed in a bibliography or bibliography list, they default to drawing their data from the global refcontext established at the beginning of the document. To override this behaviour, instead of manually wrapping citation commands in \env{refcontext} environments, which might be error-prone and tedious, you can register a comma"=separated list of \prm{keywords}, \prm{categories} or \prm{entrykeys} which, respectively, make the entries with any of the specified keywords, entries in any of the specified categories (see \secref{use:use:div}) or entries with any of the specified citation keys draw their data from a particular refcontext specified by the \prm{refcontext key/values} which are parsed as the per the corresponding \env{refcontext} options. Such refcontext auto-assignments are specific to the current refsection. You may specify the same citation key in any of these commands but be aware that assignment is done in the order \prm{keywords}, \prm{categories}, \prm{entrykeys} with the later specifications overriding the earlier. \cmd{assignrefcontextentries} accepts a single asterisk instead of a list of entrykeys which allows the assignment of all keys in a refsection to a refcontext with having to explicitly list them. An example:
 
-\begin{ltxexample}[style=latex]{}
+\begin{ltxexample}[style=latex]
 \assignrefcontextentries[labelprefix=A]{key2}
 \cite{key1}
 \begin{refcontext}[labelprefix=B]
@@ -3904,7 +3936,7 @@
 Here, the data for the citation of \bibfield{key2} will be drawn from refcontext \opt{labelprefix=A} and not \opt{labelprefix=B} (resulting in a label with prefix <A> and not <B>).
 The starred versions do not override a local refcontext and so with:
 
-\begin{ltxexample}[style=latex]{}
+\begin{ltxexample}[style=latex]
 \assignrefcontextentries*[labelprefix=A]{key2}
 \cite{key1}
 \begin{refcontext}[labelprefix=B]
@@ -4020,7 +4052,7 @@
 %
 Note that the multicite commands keep on scanning for arguments until they encounter a token that is not the start of an optional or mandatory argument. If a left brace or bracket follows a multicite command, you need to mask it by adding \cmd{relax} or a control space (a backslash followed by a space) after the last valid argument. This will cause the scanner to stop.
 
-\begin{ltxexample}[style=latex,showspaces]{}
+\begin{ltxexample}[style=latex,showspaces]
 \parencites[35]{key1}[78]{key2}<<\relax>>[...]
 \parencites[35]{key1}[78]{key2}<<\ >>{...}
 \end{ltxexample}
@@ -4365,7 +4397,7 @@
 \mcite{<<set1>>,*glashow,*salam,*weinberg}
 \end{ltxexample}
 %
-Once defined, an entry set is handled like any regular entry in a \file{bib} file. When using one of the \texttt{numeric} styles which come with \texttt{biblatex} and activating its \opt{subentry} option, it is even possible to refer to set members. See \tabref{use:cit:mct:tab2} for some examples. Restating the original definition of the set is redundant, but permissible. In contrast to \sty{mciteplus}, however, restating a part of the original definition is invalid. Use the entry key of the set instead.
+Once defined, an entry set is handled like any regular entry in a \file{bib} file. When using one of the \texttt{numeric} styles which come with \biblatex and activating its \opt{subentry} option, it is even possible to refer to set members. See \tabref{use:cit:mct:tab2} for some examples. Restating the original definition of the set is redundant, but permissible. In contrast to \sty{mciteplus}, however, restating a part of the original definition is invalid. Use the entry key of the set instead.
 
 \begin{table}
 \tablesetup
@@ -4704,8 +4736,7 @@
 The generic separator between the data of multiple related entries. The default definition is an optional dot plus linebreak. Here is an example where volumes A-E are related entries of the 5 volume main work:
 
 \begin{ltxexample}
-Donald E. Knuth. Computers & Typesetting. 5 vols. Reading, Mass.: Addison-
-Wesley, 1984-1986.
+Donald E. Knuth. Computers & Typesetting. 5 vols. Reading, Mass.: Addison-Wesley, 1984-1986.
 Vol. A: The TEXbook. 1984.
 Vol. B: TEX: The Program. 1986.
 Vol. C: The METAFONTbook. By. 1986.
@@ -4716,6 +4747,12 @@
 \csitem{relateddelim$<$relatedtype$>$}
 The separator between the data of multiple related entries inside related entries of type <relatedtype>. There is no default, if such a type-specific delimiter does not exist, \cmd{relateddelim} is used.
 
+\csitem{begrelateddelim}
+The generic separator before the block of related entries. The default definition is \cmd{newunitpunct}.
+
+\csitem{begrelateddelim$<$relatedtype$>$}
+The separator between the block of related entries of type <relatedtype>. There is no default, if such a type-specific delimiter does not exist, \cmd{relateddelim} is used.
+
 \end{ltxsyntax}
 
 \subsubsection{Context-sensitive Delimiters}
@@ -4761,7 +4798,7 @@
 which aliases the context \prm{alias} to the context \prm{name}. For
 example:
 
-\begin{ltxexample}[style=latex]{}
+\begin{ltxexample}[style=latex]
 \DeclareDelimcontextAlias{cbx at textcite}{textcite}
 \end{ltxexample}
 % 
@@ -4782,7 +4819,7 @@
 
 For example, the defaults for \cmd{nametitledelim} are:
 
-\begin{ltxexample}[style=latex]{}
+\begin{ltxexample}[style=latex]
 \DeclareDelimFormat{nametitledelim}{\addcomma\space}
 \DeclareDelimFormat[textcite]{nametitledelim}{\addspace}
 \end{ltxexample}
@@ -4789,13 +4826,13 @@
 %
 This means that \cmd{nametitledelim} is defined globally as <\cmd{addcomma}\cmd{space}> as per the standard delimiter interface. However, in addition, the delimiter can be printed using \cmd{printdelim} which would print the same as \cmd{nametitledelim} apart from inside a \cmd{textcite}, in which it would print \cmd{addspace} which is more suitable for running text. If desired, a context can be forced with the optional argument to \cmd{printdelim}, so
 
-\begin{ltxexample}[style=latex]{}
+\begin{ltxexample}[style=latex]
 \printdelim[textcite]{nametitledelim}
 \end{ltxexample}
 %
 Would print \cmd{addspace} regardless of the surrounding context of the \cmd{printdelim}. Contexts are just arbitrary strings and so you can establish them at any time, using \cmd{delimcontext}. If \cmd{printdelim} finds no special value for the delimiter \prm{name} in the current context, it simply prints \cmd{name}. This means that style authors can use \cmd{printdelim} and users expecting to be able to use \cmd{renewcommand} to redefine delimiters can do so with one caveat---such a definition won't change any context-specific delimiters which are defined:
 
-\begin{ltxexample}[style=latex]{}
+\begin{ltxexample}[style=latex]
 \DeclareDelimFormat{delima}{X}
 \DeclareDelimFormat[textcite]{delima}{Y}
 \renewcommand*{\delima}{Z}
@@ -6332,6 +6369,7 @@
 %
 will tell you if the corresponding date is defined and an open"=ended range. Open"=ended ranges are indicated by an empty \texttt{endyear} component (as opposed to an undefined \texttt{endyear} component). See \secref{bib:use:dat} and \tabref{bib:use:tab1} on page~\pageref{bib:use:tab1} for further examples.
 
+\begingroup
 \tablesetup
 \begin{longtable}[l]{%
 	@{}V{0.15\textwidth}%
@@ -6480,6 +6518,7 @@
 \caption{Date Interface}
 \label{aut:bbx:fld:tab1}
 \end{longtable}
+\endgroup
 
 \begin{fieldlist}
 
@@ -6994,7 +7033,7 @@
 \subsubsection{Formatting Directives}
 \label{aut:bib:fmt}
 
-This section introduces the commands used to define the formatting directives required by the data commands from \secref{aut:bib:dat}. Note that all standard formats are defined in \path{biblatex_.def}.
+This section introduces the commands used to define the formatting directives required by the data commands from \secref{aut:bib:dat}. Note that all standard formats are defined in \path{biblatex.def}.
 
 \begin{ltxsyntax}
 
@@ -7138,7 +7177,7 @@
 
 \end{ltxsyntax}
 
-\begin{ltxexample}[style=latex]{}
+\begin{ltxexample}[style=latex]
 \DeclareDatafieldSet{setnames}{
   \member[datatype=name, fieldtype=list]
 }
@@ -7192,7 +7231,7 @@
   reference section
 \end{itemize}
 
-The \prm{specification} is an undelimited list of \cmd{maps} directives which specify containers for mappings rules applying to a particular data source type (\secref{use:bib:res}). Spaces, tabs, and line endings may be used freely to visually arrange the \prm{specification}. Blank lines are not permissible. This command may only be used in the preamble and may only be used once---subsequent uses will overwrite earlier definitions.
+The \prm{specification} is an undelimited list of \cmd{maps} directives which specify containers for mappings rules applying to a particular data source type (\secref{use:bib:res}). Spaces, tabs, and line endings may be used freely to visually arrange the \prm{specification}. Blank lines are not permissible. This command may only be used in the preamble and can be used multiple times, the maps being run in order of definition.
 
 \cmditem{maps}[options]{elements}
 
@@ -7226,7 +7265,7 @@
 to each of the comma-separated values contained in \prm{loopval}. \prm{loopval} can either be the name of a datafield set defined with \cmd{DeclareDatafieldSet} (see \secref{aut:ctm:dsets}), a datasource field which is fetched and parsed as a comma"=separated values list or an explicit comma"=separated values list. \prm{loopval} is determined in this order. This allows the user to repeat a group of \cmd{step}s for each value \prm{loopval}. Using regexp maps, it is possible to create a CSV field for use with this functionality. The special variable |$MAPUNIQ| %$
 may also be used the \cmd{step}s to generate a random unique string. This can be useful when creating keys for new entries. An example:
 
-\begin{ltxexample}[style=latex]{}
+\begin{ltxexample}[style=latex]
 \DeclareSourcemap{
   \maps[datatype=bibtex]{
     \map[overwrite, foreach={author,editor, translator}]{
@@ -7275,6 +7314,7 @@
 \valitem{entrynew}{entrynewkey}
 \valitem{entrynewtype}{string}
 \valitem{entrytarget}{string}
+\boolitem[false]{entrynocite}
 \boolitem[false]{entrynull}
 \boolitem[false]{append}
 \boolitem[false]{final}
@@ -7296,6 +7336,9 @@
   created by \texttt{entrynew}, the target for the field set will be the \texttt{entrytarget} entry
   rather than the entry being currently processed. This allows users to create new entries and set
   fields in them.
+\item If \texttt{entrynocite} is used in a \texttt{entrynew} or
+  \texttt{entryclone} step, the new/clone entry will be included in the
+  \file{.bbl} as if the entry/clone had been \cmd{nocite}ed in the document.
 \item If \texttt{entrynull} is set, processing of the \cmd{map}
   immediately terminates and the current entry is not created. It is
   as if it did not exist in the datasource. Obviously, you should
@@ -8664,8 +8707,8 @@
   & \sffamily\bfseries\spotcolor To
   & Description\\
 \midrule
-iast & devanagari & Sanskrit IAST\footnote{International Alphabet of Sanskrit Transliteration} to Devanāgarī\\
-russian & ala-lc & ALA-LC\footnote{American Library Association---Library of Congress} romanisation for Russian\\
+iast & devanagari & Sanskrit IAST to Devanāgarī\\
+russian & ala-lc & ALA-LC romanisation for Russian\\
 russian & bgn/pcgn-standard & BGN/PCGN:1947 (Standard Variant), Cyrillic to Latin, Russian\\
  \bottomrule
 \end{tabular}
@@ -9326,6 +9369,18 @@
 
 As \cmd{ifend$<$datetype$>$dateuncertain} but for use in \cmd{mkbibdate*} formatting commands (\secref{aut:fmt:lng}) inside which the appropriate \cmd{ifend$<$datetype$>$dateuncertain} command is aliased to this command.
 
+\cmditem{if$<$datetype$>$dateunknown}{true}{false}
+
+Expands to \prm{true} if the date <datetype>date (\opt{date}, \opt{urldate}, \opt{eventdate} etc.) is marked as unknown (as opposed to open) in the source and \prm{false} otherwise.  See \secref{bib:use:dat}.
+
+\cmditem{ifdateunknown}{true}{false}
+
+As \cmd{if$<$datetype$>$dateunknown} but for use in \cmd{mkbibdate*} formatting commands (\secref{aut:fmt:lng}) inside which the appropriate \cmd{if$<$datetype$>$dateunknown} command is aliased to this command.
+
+\cmditem{ifenddateunknown}{true}{false}
+
+As \cmd{ifend$<$datetype$>$dateunknown} but for use in \cmd{mkbibdate*} formatting commands (\secref{aut:fmt:lng}) inside which the appropriate \cmd{ifend$<$datetype$>$dateunknown} command is aliased to this command.
+
 \cmditem{iflabeldateisdate}{true}{false}
 
 Expands to \prm{true} if labeldate is defined and was obtained from date, and to \prm{false} otherwise.
@@ -9854,11 +9909,10 @@
 This command is intended for use in field formatting directives which format the page numbers in the \prm{postnote} argument of citation commands and the \bibfield{pages} field of bibliography entries. It will parse its \prm{text} argument and prefix it with <p.> or <pp.> by default. The optional \prm{pagination} argument holds the name of a field indicating the pagination type. This may be either \bibfield{pagination} or \bibfield{bookpagination}, with \bibfield{pagination} being the default. The spacing between the prefix and the \prm{text} may be modified by redefining \cmd{ppspace}. The default is an unbreakable interword space. See \secref{bib:use:pag, use:cav:pag} for further details. See also \cmd{DeclareNumChars}, \cmd{DeclareRangeChars}, \cmd{DeclareRangeCommands}, and \cmd{NumCheckSetup}. The optional \prm{postpro} argument specifies a macro to be used for post-processing the \prm{text}. If only one optional argument is given, it is taken as \prm{pagination}. Here are two typical examples:
 
 \begin{ltxexample}
-\DeclareFieldFormat{postnote}{<<\mkpageprefix[pagination]{#1}>>}
+\DeclareFieldFormat{postnote}{<<\mkpageprefix[pagination][\mknormrange]{#1}>>}
 \DeclareFieldFormat{pages}{<<\mkpageprefix[bookpagination]{#1}>>}
 \end{ltxexample}
 %
-The optional argument \bibfield{pagination} in the first example is omissible.
 
 \cmditem{mkpagetotal}[pagination][postpro]{text}
 
@@ -9910,7 +9964,7 @@
 \cmditem{mkcomprange}[postpro]{text}
 \cmditem*{mkcomprange*}[postpro]{text}
 
-This command, which is intended for use in field formatting directives, will parse its \prm{text} argument for page ranges and compress them. For example, «125--129» may be formatted as «125--9». You may configure the behavior of \cmd{mkcomprange} by adjusting the \latex counters \cnt{mincomprange}, \cnt{maxcomprange}, and \cnt{mincompwidth}, as illustrated in \tabref{aut:aux:tab1}. The default settings are \texttt{10}, \texttt{100000}, and \texttt{1}, respectively. This means that the command tries to compress as much as possible by default. Use \cmd{setcounter} to adjust the parameters. The scanner recognises \cmd{bibrangedash} and hyphens as range dashes. It will normalize the dash by replacing any number of consecutive hyphens with \cmd{bibrangedash}. Lists of ranges delimited with \cmd{bibrangessep} are also supported. The backend will normalise any comma or semi-colons surrounded by optional space by replacing them with \cmd{bibrangessep}. If you want to hide a character from the list/range scanner for some reason, wrap the character or the entire string in curly braces. The optional \prm{postpro} argument specifies a macro to be used for post-processing the \prm{text}. This is important if you want to combine \cmd{mkcomprange} with other formatting macros which also need to parse their \prm{text} argument, such as \cmd{mkpageprefix}. Simply nesting these commands will not work as expected. Use the \prm{postpro} argument to set up the processing chain as follows:
+This command, which is intended for use in field formatting directives, will parse its \prm{text} argument for page ranges and compress them. For example, «125--129» may be formatted as «125--9». You may configure the behavior of \cmd{mkcomprange} by adjusting the \latex counters \cnt{mincomprange}, \cnt{maxcomprange}, and \cnt{mincompwidth}, as illustrated in \tabref{aut:aux:tab1}. The default settings are \texttt{10}, \texttt{100000}, and \texttt{1}, respectively. This means that the command tries to compress as much as possible by default. Use \cmd{setcounter} to adjust the parameters. The scanner recognises \cmd{bibrangedash} and hyphens as range dashes. It will normalize the dash by replacing any number of consecutive hyphens with \cmd{bibrangedash}. Lists of ranges delimited with \cmd{bibrangessep} are also supported. The scanner will normalise any comma or semi-colons surrounded by optional space by replacing them with \cmd{bibrangessep}. If you want to hide a character from the list/range scanner for some reason, wrap the character or the entire string in curly braces. The optional \prm{postpro} argument specifies a macro to be used for post-processing the \prm{text}. This is important if you want to combine \cmd{mkcomprange} with other formatting macros which also need to parse their \prm{text} argument, such as \cmd{mkpageprefix}. Simply nesting these commands will not work as expected. Use the \prm{postpro} argument to set up the processing chain as follows:
 
 \begin{ltxexample}
 \DeclareFieldFormat{postnote}{\mkcomprange[<<{>>\mkpageprefix[pagination]<<}>>]{#1}}
@@ -9930,6 +9984,11 @@
 p. 5, pp. 123-9, pp. 423-39
 \end{ltxexample}
 
+\cmditem{mknormrange}[postpro]{text}
+\cmditem*{mknormrange*}[postpro]{text}
+
+This command, which is intended for use in field formatting directives, will parse its \prm{text} argument for page ranges and will normalise them. The command is similar to \cmd{mkcomprange} except that the page ranges will not be compressed. The scanner recognises \cmd{bibrangedash} and hyphens as range dashes. It will normalize the dash by replacing any number of consecutive hyphens with \cmd{bibrangedash}. Lists of ranges delimited with \cmd{bibrangessep} are also supported. The scanner will normalise any comma or semi-colons surrounded by optional space by replacing them with \cmd{bibrangessep}. If you want to hide a character from the list/range scanner for some reason, wrap the character or the entire string in curly braces. The optional \prm{postpro} argument specifies a macro to be used for post-processing the \prm{text}. See \cmd{mkcomprange} on how to use this argument. The starred version of this command differs from the regular one in the way the \prm{postpro} argument is applied to a list of values.
+
 \cmditem{mkfirstpage}[postpro]{text}
 \cmditem*{mkfirstpage*}[postpro]{text}
 
@@ -9999,9 +10058,9 @@
 \DeclareRangeChars{~,;-+/}
 \end{ltxexample}
 
-On engines that fully support Unicode the default is
-\begin{ltxexample}
-\DeclareRangeChars{~,;-–—+/}
+For engines that fully support Unicode these defaults are extended with
+\begin{ltxexample}[escapeinside={(*@}{@*)}]
+\DeclareRangeChars*{(*@–—@*)}
 \end{ltxexample}
 %
 This means that strings like <3--5>, <35+>, <8/9> and so on will be considered as a range by \cmd{ifnumerals} and \cmd{ifpages}. Non-range characters in such strings are recognized as numbers. So strings like <3a--5a> and <35b+> are not deemed to be ranges by default. See also \secref{bib:use:pag, use:cav:pag} for further details.
@@ -10047,14 +10106,17 @@
 This command is similar to \cmd{PackageWarning} but prints the entry key of the entry currently being processed in addition to the input line number. It may be used in the bibliography as well as in citation commands. If the \prm{message} is fairly long, use \cmd{MessageBreak} to include line breaks. Note that the standard \cmd{PackageWarning} command does not provide a meaningful clue when used in the bibliography since the input line number is the line on which the \cmd{printbibliography} command was given.
 
 \boolitem{pagetracker}
+\leavevmode\vspace{\numexpr2\baselineskip}% fix margin spilling into the text
 
 These commands activate or deactivate the citation tracker locally (this will affect the \cmd{iffirstonpage} and \cmd{ifsamepage} test from \secref{aut:aux:tst}). They are intended for use in the definition of citation commands or anywhere in the document body. If a citation command is to be excluded from page tracking, use \cmd{pagetrackerfalse} in the \prm{precode} argument of \cmd{DeclareCiteCommand}. See \secref{aut:cbx:cbx} for details. Note that these commands have no effect if page tracking has been disabled globally.
 
 \boolitem{citetracker}
+\leavevmode\vspace{\numexpr2\baselineskip}% fix margin spilling into the text
 
 These commands activate or deactivate all citation trackers locally (this will affect the \cmd{ifciteseen}, \cmd{ifentryseen}, \cmd{ifciteibid}, and \cmd{ifciteidem} tests from \secref{aut:aux:tst}). They are intended for use in the definition of citation commands or anywhere in the document body. If a citation command is to be excluded from tracking, use \cmd{citetrackerfalse} in the \prm{precode} argument of \cmd{DeclareCiteCommand}. See \secref{aut:cbx:cbx} for details. Note that these commands have no effect if tracking has been disabled globally.
 
 \boolitem{backtracker}
+\leavevmode\vspace{\numexpr2\baselineskip}% fix margin spilling into the text
 
 These commands activate or deactivate the \texttt{backref} tracker locally. They are intended for use in the definition of citation commands or anywhere in the document body. If a citation command is to be excluded from backtracking, use \cmd{backtrackerfalse} in the \prm{precode} argument of \cmd{DeclareCiteCommand}. Note that these commands have no effect if the \texttt{backref} option has been not been set globally.
 
@@ -10246,16 +10308,15 @@
 \cmditem{DeclarePrefChars}{characters}
 \cmditem*{DeclarePrefChars*}{characters}
 
-This command declares characters that are to be treated specially when testing to see if \cmd{bibnamedelimc} is to be inserted between a name prefix and a family name. If a character is in the list of \prm{characters}, \cmd{bibnamedelimc} is not inserted. It is used to allow abbreviated name prefices like <d'Argent> where no space should be inserted after the apostrophe. The starred version appends its argument to the list of prefix characters, the unstarred version replaces current setting. The default setting is:
+This command declares characters that are to be treated specially when testing to see if \cmd{bibnamedelimc} is to be inserted between a name prefix and a family name. If a character is in the list of \prm{characters}, \cmd{bibnamedelimc} is not inserted. It is used to allow abbreviated name prefices like <d'Argent> where no space should be inserted after the apostrophe. The starred version appends its argument to the list of prefix characters, the unstarred version replaces the current setting. The default setting is:
 
 \begin{ltxexample}
 \DeclarePrefChars{'-}
 \end{ltxexample}
 
-On engines that fully support Unicode the default is
-
-\begin{ltxexample}
-\DeclarePrefChars{'’-}
+For engines that fully support Unicode these defaults are extended with
+\begin{ltxexample}[escapeinside={(*@}{@*)}]
+\DeclarePrefChars*{(*@’@*)}
 \end{ltxexample}
 
 \cmditem{DeclareAutoPunctuation}{characters}
@@ -10512,7 +10573,7 @@
 %
 When the document language is <german>, \biblatex will look for the file \file{german-apa.lbx} which defines some APA specific strings and in turn loads \file{german.lbx}. If \cmd{DeclareLanguageMapping} is defined for a language, this overrides \cmd{DeclareLanguageMappingSuffix}.
 
-Note that the suffix will not be applied to language files loaded recursively by the loading of a language file. For example, given the suffix defined above, when loading <ngerman>, \biblatex will look for the file \file{ngerman-apa.lbx} and if this recursively loads <german>, then biblatex will look for \file{german.lbx} and \emph{not} \file{german-apa.lbx}.
+The suffix will be applied to other language files loaded recursively by the loading of a language file. For example, given the suffix defined above, when loading <ngerman>, \biblatex will look for the file \file{ngerman-apa.lbx} and if this recursively loads <german>, then biblatex will look for \file{german-apa.lbx}. Infinite recursion is of course avoided.
 
 \cmditem{NewBibliographyString}{key}
 
@@ -11009,6 +11070,7 @@
 \item[langitalian] The language <Italian>.
 \item[langjapanese] The language <Japanese>.
 \item[langlatin] The language <Latin>.
+\item[langlatvian] The language <Latvian>.
 \item[langnorwegian] The language <Norwegian>.
 \item[langpolish] The language <Polish>.
 \item[langportuguese] The language <Portuguese>.
@@ -11040,6 +11102,7 @@
 \item[fromitalian] The expression <from [the] Italian>.
 \item[fromjapanese] The expression <from [the] Japanese>.
 \item[fromlatin] The expression <from [the] Latin>.
+\item[fromlatvian] The expression <from [the] Latvian>.
 \item[fromnorwegian] The expression <from [the] Norwegian>.
 \item[frompolish] The expression <from [the] Polish>.
 \item[fromportuguese] The expression <from [the] Portuguese>.
@@ -11293,6 +11356,12 @@
 \csitem{relateddelim$<$relatedtype$>$}
 The separator between the data of multiple related entries inside related entries of type <relatedtype>. There is no default, if such a type-specific delimiter does not exist, \cmd{relateddelim} is used.
 
+\csitem{begrelateddelim}
+The generic separator before the block of related entries. The default definition is \cmd{newunitpunct}.
+
+\csitem{begrelateddelim$<$relatedtype$>$}
+The separator between the block of related entries of type <relatedtype>. There is no default, if such a type-specific delimiter does not exist, \cmd{relateddelim} is used.
+
 \end{ltxsyntax}
 
 \subsubsection{Language-specific Commands}
@@ -12516,6 +12585,8 @@
 \DeclareLanguageMapping{american}{american-mla}
 \end{ltxexample}
 %
+Use \cmd{DeclareLanguageMappingSuffix} (see \secref{aut:lng:cmd}) to define such a mapping for all languages.
+
 Since the alternative \file{lbx} file can inherit strings from the standard \path{american.lbx} module, \path{american-mla.lbx} may be as short as this:
 
 \begin{ltxexample}
@@ -13222,9 +13293,20 @@
 \section{Revision History}
 \label{apx:log}
 
-This revision history is a list of changes relevant to users of this package. Changes of a more technical nature which do not affect the user interface or the behavior of the package are not included in the list. More technical details are to be found in the \file{CHANGES.org} file. The numbers on the right indicate the relevant section of this manual.
+This revision history is a list of changes relevant to users of this package. Changes of a more technical nature which do not affect the user interface or the behavior of the package are not included in the list. More technical details are to be found in the \file{CHANGES.md} file. The numbers on the right indicate the relevant section of this manual.
 
 \begin{changelog}
+\begin{release}{3.11}{2018-02-20}
+\item Added \opt{entrynocite} option to sourcemapping\see{aut:ctm:map}
+\item Added \opt{driver} and \opt{biblistfilter} options to \cmd{printbiblist}\see{use:bib:biblist}
+\item Added \cmd{mknormrange}\see{aut:aux:msc}
+\item Added \cmd{ifdateannotation}\see{use:annote}
+\item Extended \cmd{iffieldannotation} and friends\see{use:annote}
+\item Changed \cmd{DeclareSourcemap} so that it can be used multiple times\see{aut:ctm:map}
+\item Added Latvian localisation (Rihards Skuja)
+\item Added \opt{locallabelwidth} option\see{use:opt:pre:gen}
+\end{release}
+
 \begin{release}{3.10}{2017-12-19}
 \item Changed \opt{edtf} to \opt{iso}\see{use:opt:pre:gen}
 \item Added \opt{noerroretextools} option\see{int:pre:inc}

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/01-introduction-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/01-introduction-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/02-annotations-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/02-annotations-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/03-localization-keys-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/03-localization-keys-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/03-localization-keys.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/biblatex/examples/03-localization-keys.tex	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/doc/latex/biblatex/examples/03-localization-keys.tex	2018-03-05 22:15:52 UTC (rev 46851)
@@ -592,6 +592,7 @@
 \keyitem{langitalian} The language <Italian>.
 \keyitem{langjapanese} The language <Japanese>.
 \keyitem{langlatin} The language <Latin>.
+\keyitem{langlatvian} The language <Latvian>.
 \keyitem{langnorwegian} The language <Norwegian>.
 \keyitem{langpolish} The language <Polish>.
 \keyitem{langportuguese} The language <Portuguese>.
@@ -623,6 +624,7 @@
 \keyitem{fromitalian} The expression <from [the] Italian>.
 \keyitem{fromjapanese} The expression <from [the] Japanese>.
 \keyitem{fromlatin} The expression <from [the] Latin>.
+\keyitem{fromlatvian} The expression <from [the] Latvian>.
 \keyitem{fromnorwegian} The expression <from [the] Norwegian>.
 \keyitem{frompolish} The expression <from [the] Polish>.
 \keyitem{fromportuguese} The expression <from [the] Portuguese>.

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/04-delimiters-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/04-delimiters-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/10-references-per-section-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/10-references-per-section-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/11-references-by-section-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/11-references-by-section-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/12-references-by-segment-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/12-references-by-segment-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/13-references-by-keyword-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/13-references-by-keyword-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/14-references-by-category-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/14-references-by-category-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/15-references-by-type-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/15-references-by-type-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/16-numeric-prefixed-1-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/16-numeric-prefixed-1-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/17-numeric-prefixed-2-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/17-numeric-prefixed-2-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/18-numeric-hybrid-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/18-numeric-hybrid-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/19-alphabetic-prefixed-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/19-alphabetic-prefixed-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-single-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-single-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-multiple-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-multiple-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/22-indexing-subentry-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/22-indexing-subentry-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/30-style-numeric-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/30-style-numeric-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/31-style-numeric-comp-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/31-style-numeric-comp-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/32-style-numeric-verb-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/32-style-numeric-verb-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/40-style-alphabetic-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/40-style-alphabetic-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/41-style-alphabetic-verb-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/41-style-alphabetic-verb-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/42-style-alphabetic-template-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/42-style-alphabetic-template-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/50-style-authoryear-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/50-style-authoryear-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/51-style-authoryear-ibid-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/51-style-authoryear-ibid-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/51-style-authoryear-ibid.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/biblatex/examples/51-style-authoryear-ibid.tex	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/doc/latex/biblatex/examples/51-style-authoryear-ibid.tex	2018-03-05 22:15:52 UTC (rev 46851)
@@ -35,7 +35,7 @@
 both `same author~+ same title' and `same author~+ same title~+ same
 page' in traditional citation schemes. By default, this is not the
 case with this style because it may lead to ambiguous citations.
-With \texttt{ibidpage=true} a page range postnote will be suppresse
+With \texttt{ibidpage=true} a page range postnote will be suppressed
 in an \emph{ibidem} citation if the last citation was to the same
 page range. With \texttt{ibidpage=false} the postnote is not omitted.
 Citations to different page ranges than the previous always produce

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/52-style-authoryear-comp-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/52-style-authoryear-comp-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/53-style-authoryear-icomp-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/53-style-authoryear-icomp-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/53-style-authoryear-icomp.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/biblatex/examples/53-style-authoryear-icomp.tex	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/doc/latex/biblatex/examples/53-style-authoryear-icomp.tex	2018-03-05 22:15:52 UTC (rev 46851)
@@ -33,7 +33,7 @@
 both `same author~+ same title' and `same author~+ same title~+ same
 page' in traditional citation schemes. By default, this is not the
 case with this style because it may lead to ambiguous citations.
-With \texttt{ibidpage=true} a page range postnote will be suppresse
+With \texttt{ibidpage=true} a page range postnote will be suppressed
 in an \emph{ibidem} citation if the last citation was to the same
 page range. With \texttt{ibidpage=false} the postnote is not omitted.
 Citations to different page ranges than the previous always produce

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/60-style-authortitle-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/60-style-authortitle-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/61-style-authortitle-ibid-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/61-style-authortitle-ibid-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/61-style-authortitle-ibid.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/biblatex/examples/61-style-authortitle-ibid.tex	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/doc/latex/biblatex/examples/61-style-authortitle-ibid.tex	2018-03-05 22:15:52 UTC (rev 46851)
@@ -31,7 +31,7 @@
 both `same author~+ same title' and `same author~+ same title~+ same
 page' in traditional citation schemes. By default, this is not the
 case with this style because it may lead to ambiguous citations.
-With \texttt{ibidpage=true} a page range postnote will be suppresse
+With \texttt{ibidpage=true} a page range postnote will be suppressed
 in an \emph{ibidem} citation if the last citation was to the same
 page range. With \texttt{ibidpage=false} the postnote is not omitted.
 Citations to different page ranges than the previous always produce

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/62-style-authortitle-comp-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/62-style-authortitle-comp-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/63-style-authortitle-icomp-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/63-style-authortitle-icomp-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/63-style-authortitle-icomp.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/biblatex/examples/63-style-authortitle-icomp.tex	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/doc/latex/biblatex/examples/63-style-authortitle-icomp.tex	2018-03-05 22:15:52 UTC (rev 46851)
@@ -29,7 +29,7 @@
 both `same author~+ same title' and `same author~+ same title~+ same
 page' in traditional citation schemes. By default, this is not the
 case with this style because it may lead to ambiguous citations.
-With \texttt{ibidpage=true} a page range postnote will be suppresse
+With \texttt{ibidpage=true} a page range postnote will be suppressed
 in an \emph{ibidem} citation if the last citation was to the same
 page range. With \texttt{ibidpage=false} the postnote is not omitted.
 Citations to different page ranges than the previous always produce

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/64-style-authortitle-terse-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/64-style-authortitle-terse-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/65-style-authortitle-tcomp-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/65-style-authortitle-tcomp-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/66-style-authortitle-ticomp-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/66-style-authortitle-ticomp-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/66-style-authortitle-ticomp.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/biblatex/examples/66-style-authortitle-ticomp.tex	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/doc/latex/biblatex/examples/66-style-authortitle-ticomp.tex	2018-03-05 22:15:52 UTC (rev 46851)
@@ -28,7 +28,7 @@
 both `same author~+ same title' and `same author~+ same title~+ same
 page' in traditional citation schemes. By default, this is not the
 case with this style because it may lead to ambiguous citations.
-With \texttt{ibidpage=true} a page range postnote will be suppresse
+With \texttt{ibidpage=true} a page range postnote will be suppressed
 in an \emph{ibidem} citation if the last citation was to the same
 page range. With \texttt{ibidpage=false} the postnote is not omitted.
 Citations to different page ranges than the previous always produce

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/70-style-verbose-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/70-style-verbose-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/71-style-verbose-ibid-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/71-style-verbose-ibid-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/71-style-verbose-ibid.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/biblatex/examples/71-style-verbose-ibid.tex	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/doc/latex/biblatex/examples/71-style-verbose-ibid.tex	2018-03-05 22:15:52 UTC (rev 46851)
@@ -29,7 +29,7 @@
 both `same author~+ same title' and `same author~+ same title~+ same
 page' in traditional citation schemes. By default, this is not the
 case with this style because it may lead to ambiguous citations.
-With \texttt{ibidpage=true} a page range postnote will be suppresse
+With \texttt{ibidpage=true} a page range postnote will be suppressed
 in an \emph{ibidem} citation if the last citation was to the same
 page range. With \texttt{ibidpage=false} the postnote is not omitted.
 Citations to different page ranges than the previous always produce

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/72-style-verbose-note-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/72-style-verbose-note-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/73-style-verbose-inote-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/73-style-verbose-inote-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/73-style-verbose-inote.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/biblatex/examples/73-style-verbose-inote.tex	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/doc/latex/biblatex/examples/73-style-verbose-inote.tex	2018-03-05 22:15:52 UTC (rev 46851)
@@ -40,7 +40,7 @@
 both `same author~+ same title' and `same author~+ same title~+ same
 page' in traditional citation schemes. By default, this is not the
 case with this style because it may lead to ambiguous citations.
-With \texttt{ibidpage=true} a page range postnote will be suppresse
+With \texttt{ibidpage=true} a page range postnote will be suppressed
 in an \emph{ibidem} citation if the last citation was to the same
 page range. With \texttt{ibidpage=false} the postnote is not omitted.
 Citations to different page ranges than the previous always produce

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/74-style-verbose-trad1-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/74-style-verbose-trad1-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/74-style-verbose-trad1.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/biblatex/examples/74-style-verbose-trad1.tex	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/doc/latex/biblatex/examples/74-style-verbose-trad1.tex	2018-03-05 22:15:52 UTC (rev 46851)
@@ -129,7 +129,7 @@
 both `same author~+ same title' and `same author~+ same title~+ same
 page' in traditional citation schemes. By default, this is not the
 case with this style because it may lead to ambiguous citations.
-With \texttt{ibidpage=true} a page range postnote will be suppresse
+With \texttt{ibidpage=true} a page range postnote will be suppressed
 in an \emph{ibidem} citation if the last citation was to the same
 page range. With \texttt{ibidpage=false} the postnote is not omitted.
 Citations to different page ranges than the previous always produce

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/75-style-verbose-trad2-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/75-style-verbose-trad2-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/75-style-verbose-trad2.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/biblatex/examples/75-style-verbose-trad2.tex	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/doc/latex/biblatex/examples/75-style-verbose-trad2.tex	2018-03-05 22:15:52 UTC (rev 46851)
@@ -47,7 +47,7 @@
 both `same author~+ same title' and `same author~+ same title~+ same
 page' in traditional citation schemes. By default, this is not the
 case with this style because it may lead to ambiguous citations.
-With \texttt{ibidpage=true} a page range postnote will be suppresse
+With \texttt{ibidpage=true} a page range postnote will be suppressed
 in an \emph{ibidem} citation if the last citation was to the same
 page range. With \texttt{ibidpage=false} the postnote is not omitted.
 Citations to different page ranges than the previous always produce

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/76-style-verbose-trad3-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/76-style-verbose-trad3-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/80-style-reading-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/80-style-reading-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/81-style-draft-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/81-style-draft-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/82-style-debug-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/82-style-debug-bibtex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/90-related-entries-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/91-sorting-schemes-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/92-bibliographylists-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/93-nameparts-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/94-labelprefix-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/95-customlists-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex/examples/96-dates-biber.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/bbx/standard.bbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/bbx/standard.bbx	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/bbx/standard.bbx	2018-03-05 22:15:52 UTC (rev 46851)
@@ -668,6 +668,10 @@
   \newunit\newblock
   \printfield{howpublished}%
   \newunit\newblock
+  \printfield{type}%
+  \newunit\newblock
+  \usebibmacro{event+venue+date}%
+  \newunit\newblock
   \printfield{note}%
   \newunit\newblock
   \usebibmacro{location+date}%
@@ -795,7 +799,7 @@
     test {\iffieldundef{eventyear}}
   }
     {}
-    {\setunit*{\addspace}%
+    {\setunit{\addspace}%
      \printtext[parens]{%
        \printfield{venue}%
        \setunit*{\addcomma\space}%
@@ -892,7 +896,10 @@
 \newbibmacro*{related}{%
   \ifboolexpr{ test {\iffieldundef{related}} or test {\ifrelatedloop} }
     {}
-    {\usebibmacro{begrelated}%
+    {\ifcsundef{begrelateddelim\strfield{relatedtype}}
+       {\printunit{\begrelateddelim}}
+       {\printunit{\csuse{begrelateddelim\strfield{relatedtype}}}}%
+     \usebibmacro{begrelated}%
      \def\bbx at tempa{}%
      \setcounter{bbx:relatedtotal}{0}%
      \def\do##1{%
@@ -913,8 +920,8 @@
           \stepcounter{bbx:relatedcount}%
           \ifnumgreater{\value{bbx:relatedcount}}{1}
             {\ifcsundef{relateddelim\strfield{relatedtype}}
-              {\printtext{\relateddelim}}
-              {\printtext{\csuse{relateddelim\strfield{relatedtype}}}}}
+              {\printunit{\relateddelim}}
+              {\printunit{\csuse{relateddelim\strfield{relatedtype}}}}}
             {}}%
         \ifbibmacroundef{related:\strfield{relatedtype}}
           {\appto{\do}{\usebibmacro{related:default}}}

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/biblatex.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/biblatex.def	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/biblatex.def	2018-03-05 22:15:52 UTC (rev 46851)
@@ -177,6 +177,11 @@
          {\textemdash}}}}
 \newcommand*{\relatedpunct}{\addspace}
 \newcommand*{\relateddelim}{\adddot\par\nobreak}
+\newcommand*{\begrelateddelim}{\newunitpunct}
+\newcommand*{\begrelateddelimmultivolume}{\newunitpunct\par\nobreak}
+% Examples of use, uncommenting these would break backwards compatibility
+%\newcommand*{\begrelateddelimorigpubin}{\addspace}
+%\newcommand*{\begrelateddelimorigpubas}{\addspace}
 \newcommand{\mkrelatedstring}{\mainlang}
 
 % Used for indexing
@@ -419,9 +424,9 @@
   \ifcapital{\MakeCapital{#1}}{#1}\isdot}
 % citation commands
 \DeclareFieldFormat{prenote}{#1\isdot}
-\DeclareFieldFormat{postnote}{\mkpageprefix[pagination]{#1}}
+\DeclareFieldFormat{postnote}{\mkpageprefix[pagination][\mknormrange]{#1}}
 \DeclareFieldFormat{volcitevolume}{\bibstring{volume}\ppspace#1}
-\DeclareFieldFormat{volcitepages}{\mkpageprefix[pagination]{#1}}
+\DeclareFieldFormat{volcitepages}{\mkpageprefix[pagination][\mknormrange]{#1}}
 \DeclareFieldFormat{volcitenote}{\mkvolcitenote#1}
 \newrobustcmd*{\mkvolcitenote}[2]{%
   \printtext[volcitevolume]{#1}%
@@ -429,7 +434,7 @@
 
 % multicite commands
 \DeclareFieldFormat{multiprenote}{#1\isdot}
-\DeclareFieldFormat{multipostnote}{\mkpageprefix[pagination]{#1}}
+\DeclareFieldFormat{multipostnote}{\mkpageprefix[pagination][\mknormrange]{#1}}
 
 % Used by \citeurl
 
@@ -466,7 +471,7 @@
 \DeclareFieldFormat{eprint:arxiv}{%
   arXiv\addcolon\space
   \ifhyperref
-    {\href{http://arxiv.org/\abx@arxivpath/#1}{%
+    {\href{https://arxiv.org/\abx@arxivpath/#1}{%
        \nolinkurl{#1}%
        \iffieldundef{eprintclass}
          {}
@@ -531,7 +536,7 @@
 \DeclareFieldFormat[article,periodical]{volume}{#1}% volume of a journal
 \DeclareFieldFormat{volumes}{#1~\bibstring{volumes}}
 \DeclareFieldFormat{related}{#1}
-\DeclareFieldFormat{related:multivolume}{\par\nobreak#1}
+\DeclareFieldFormat{related:multivolume}{#1}
 \DeclareFieldFormat{related:origpubin}{\mkbibparens{#1}}
 \DeclareFieldFormat{related:origpubas}{\mkbibparens{#1}}
 \DeclareFieldFormat{relatedstring:default}{#1\printunit{\relatedpunct}}
@@ -1752,48 +1757,23 @@
 
 \def\abx at MakeMarkcase{\MakeUppercase}
 \AtEndPreamble{%
-  \ifcsundef{MakeMarkcase}{}{\def\abx at MakeMarkcase{\MakeMarkcase}}%
-  \providecommand*{\@mkdouble}[1]{\@mkboth{#1}{#1}}%
-  \providecommand*{\@mkright}{%
-    \begingroup
-      \ifx\@mkboth\markboth \aftergroup\markright
-      \else
-        \ifx\@mkboth\@gobbletwo \aftergroup\@gobble
-        \else \def\@gobbletwo##1##2{}%
-          \ifx \@mkboth\@gobbletwo \aftergroup\@gobble
-          \else
-            \PackageWarning{biblatex}{% changed for biblatex
-              package incompatibility detected!\MessageBreak
-              \string\@mkboth it neither \string\markboth nor any\MessageBreak
-              kind of two arguments gobbling,\MessageBreak
-              e.g., \string\@gobbletwo.\MessageBreak
-              So I don't known, what to do\MessageBreak
-              with \string\@mkright.\MessageBreak
-              Nevertheless, \string\markright\space will be\MessageBreak
-              used%
-            }%
-            \aftergroup\markright
-          \fi
-        \fi
-      \fi
-    \endgroup
-  }}
+  \ifcsundef{MakeMarkcase}{}{\def\abx at MakeMarkcase{\MakeMarkcase}}}
 
 \ifcase\abx at classtype\relax % article
   \defbibheading{bibliography}[\refname]{%
     \section*{#1}%
-    \@mkdouble{\abx at MakeMarkcase{#1}}}
+    \@mkboth{\abx at MakeMarkcase{#1}}{\abx at MakeMarkcase{#1}}}
   \defbibheading{biblist}[\biblistname]{%
     \section*{#1}%
-    \@mkdouble{\abx at MakeMarkcase{#1}}}
+    \@mkboth{\abx at MakeMarkcase{#1}}{\abx at MakeMarkcase{#1}}}
   \defbibheading{bibintoc}[\refname]{%
     \section*{#1}%
     \addcontentsline{toc}{section}{#1}%
-    \@mkdouble{\abx at MakeMarkcase{#1}}}
+    \@mkboth{\abx at MakeMarkcase{#1}}{\abx at MakeMarkcase{#1}}}
   \defbibheading{biblistintoc}[\biblistname]{%
     \section*{#1}%
     \addcontentsline{toc}{section}{#1}%
-    \@mkdouble{\abx at MakeMarkcase{#1}}}
+    \@mkboth{\abx at MakeMarkcase{#1}}{\abx at MakeMarkcase{#1}}}
   \defbibheading{bibnumbered}[\refname]{%
     \section{#1}}
   \defbibheading{biblistnumbered}[\biblistname]{%
@@ -1809,18 +1789,18 @@
 \or % book/report
   \defbibheading{bibliography}[\bibname]{%
     \chapter*{#1}%
-    \@mkdouble{\abx at MakeMarkcase{#1}}}
+    \@mkboth{\abx at MakeMarkcase{#1}}{\abx at MakeMarkcase{#1}}}
   \defbibheading{biblist}[\biblistname]{%
     \chapter*{#1}%
-    \@mkdouble{\abx at MakeMarkcase{#1}}}
+    \@mkboth{\abx at MakeMarkcase{#1}}{\abx at MakeMarkcase{#1}}}
   \defbibheading{bibintoc}[\bibname]{%
     \chapter*{#1}%
     \addcontentsline{toc}{chapter}{#1}%
-    \@mkdouble{\abx at MakeMarkcase{#1}}}
+    \@mkboth{\abx at MakeMarkcase{#1}}{\abx at MakeMarkcase{#1}}}
   \defbibheading{biblistintoc}[\biblistname]{%
     \chapter*{#1}%
     \addcontentsline{toc}{chapter}{#1}%
-    \@mkdouble{\abx at MakeMarkcase{#1}}}
+    \@mkboth{\abx at MakeMarkcase{#1}}{\abx at MakeMarkcase{#1}}}
   \defbibheading{bibnumbered}[\bibname]{%
     \chapter{#1}}
   \defbibheading{biblistnumbered}[\biblistname]{%
@@ -1843,7 +1823,9 @@
          {\ifkomabibtotoc
             {\addsec{#1}}
             {\section*{#1}%
-             \@mkdouble{\abx at MakeMarkcase{#1}}}}}
+             \ifcsundef{@mkdouble}
+               {\@mkboth{\abx at MakeMarkcase{#1}}{\abx at MakeMarkcase{#1}}}
+               {\@mkdouble{\abx at MakeMarkcase{#1}}}}}}
       {\bibliography at heading{#1}}}
   \defbibheading{biblist}[\biblistname]{%
     \ifcsundef{bibliography at heading}
@@ -1852,7 +1834,9 @@
          {\ifkomabibtotoc
             {\addsec{#1}}
             {\section*{#1}%
-             \@mkdouble{\abx at MakeMarkcase{#1}}}}}
+             \ifcsundef{@mkdouble}
+               {\@mkboth{\abx at MakeMarkcase{#1}}{\abx at MakeMarkcase{#1}}}
+               {\@mkdouble{\abx at MakeMarkcase{#1}}}}}}
       {\bibliography at heading{#1}}}
   \defbibheading{bibintoc}[\refname]{%
     \addsec{#1}}
@@ -1864,11 +1848,15 @@
     \section{#1}}
   \defbibheading{subbibliography}[\refname]{%
     \subsection*{#1}%
-    \@mkright{\abx at MakeMarkcase{#1}}}
+    \ifcsundef{@mkright}
+      {\ifx\@mkboth\@gobbletwo\else\markright{\abx at MakeMarkcase{#1}}\fi}
+      {\@mkright{\abx at MakeMarkcase{#1}}}}
   \defbibheading{subbibintoc}[\refname]{%
     \subsection*{#1}%
     \addcontentsline{toc}{subsection}{#1}%
-    \@mkright{\abx at MakeMarkcase{#1}}}
+    \ifcsundef{@mkright}
+      {\ifx\@mkboth\@gobbletwo\else\markright{\abx at MakeMarkcase{#1}}\fi}
+      {\@mkright{\abx at MakeMarkcase{#1}}}}
   \defbibheading{subbibnumbered}[\refname]{%
     \subsection{#1}}
 
@@ -1880,7 +1868,9 @@
          {\ifkomabibtotoc
             {\addchap{#1}}
             {\chapter*{#1}
-             \@mkdouble{\abx at MakeMarkcase{#1}}}}}
+             \ifcsundef{@mkdouble}
+               {\@mkboth{\abx at MakeMarkcase{#1}}{\abx at MakeMarkcase{#1}}}
+               {\@mkdouble{\abx at MakeMarkcase{#1}}}}}}
       {\bibliography at heading{#1}}}
   \defbibheading{biblist}[\biblistname]{%
     \ifcsundef{bibliography at heading}
@@ -1889,7 +1879,9 @@
          {\ifkomabibtotoc
             {\addchap{#1}}
             {\chapter*{#1}
-             \@mkdouble{\abx at MakeMarkcase{#1}}}}}
+             \ifcsundef{@mkdouble}
+               {\@mkboth{\abx at MakeMarkcase{#1}}{\abx at MakeMarkcase{#1}}}
+               {\@mkdouble{\abx at MakeMarkcase{#1}}}}}}
       {\bibliography at heading{#1}}}
   \defbibheading{bibintoc}[\bibname]{%
     \addchap{#1}}
@@ -1901,7 +1893,9 @@
     \chapter{#1}}
   \defbibheading{subbibliography}[\refname]{%
     \section*{#1}%
-    \@mkright{\abx at MakeMarkcase{#1}}}
+    \ifcsundef{@mkright}
+      {\ifx\@mkboth\@gobbletwo\else\markright{\abx at MakeMarkcase{#1}}\fi}
+      {\@mkright{\abx at MakeMarkcase{#1}}}}
   \defbibheading{subbibintoc}[\refname]{%
     \addsec{#1}}
   \defbibheading{subbibnumbered}[\refname]{%

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/biblatex.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/biblatex.sty	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/biblatex.sty	2018-03-05 22:15:52 UTC (rev 46851)
@@ -1,5 +1,6 @@
 % Copyright (c) 2006-2011 Philipp Lehman.
 %               2012-2017 Philip Kime, Audrey Boruvka, Joseph Wright
+%               2018- Philip Kime, Moritz Wemheuer
 %
 % Permission is granted to copy, distribute and/or modify this
 % software under the terms of the LaTeX Project Public License
@@ -11,12 +12,12 @@
 % particular purpose.
 
 % Set up the version strings here
-\def\abx at date{2017/12/19}
-\def\abx at version{3.10}
-\def\abx at bbxid{\abx at date\space v\abx at version\space biblatex bibliography style (PK/JW/AB)}
-\def\abx at cbxid{\abx at date\space v\abx at version\space biblatex citation style (PK/JW/AB)}
-\def\abx at lbxid{\abx at date\space v\abx at version\space biblatex localization (PK/JW/AB)}
-\def\abx at cptid{\abx at date\space v\abx at version\space biblatex compatibility (PK/JW/AB)}
+\def\abx at date{2018/03/04}
+\def\abx at version{3.11}
+\def\abx at bbxid{\abx at date\space v\abx at version\space biblatex bibliography style (PK/MW)}
+\def\abx at cbxid{\abx at date\space v\abx at version\space biblatex citation style (PK/MW)}
+\def\abx at lbxid{\abx at date\space v\abx at version\space biblatex localization (PK/MW)}
+\def\abx at cptid{\abx at date\space v\abx at version\space biblatex compatibility (PK/MW)}
 
 % This is not updated by build script as the control file version
 % does not necessarily change with the package version.
@@ -30,7 +31,7 @@
 
 \NeedsTeXFormat{LaTeX2e}[2005/12/01]
 \ProvidesPackage{biblatex}
-[\abx at date\space v\abx at version\space programmable bibliographies (PK/JW/AB)]
+[\abx at date\space v\abx at version\space programmable bibliographies (PK/MW)]
 
 %% Dependencies
 \RequirePackage{pdftexcmds}
@@ -613,7 +614,6 @@
 \newtoggle{blx at bibindex}
 \newtoggle{blx at localnumber}
 \newtoggle{blx at refcontext}
-\newtoggle{blx at nosuffrecurse}
 
 % Nice command from etextools which causes too many problems if you load
 % the whole package
@@ -681,15 +681,15 @@
 \newrobustcmd*{\DeprecateField}[2]{%
   \csdef{abx at field@#1}{%
     \ifcsundef{abx at field@legacy at warning@#1}{\blx at warning@noline{Field '#1' is deprecated. #2}}{}%
-    \global\csdef{abx at field@legacy at warning@#1}{}}}%
+    \global\cslet{abx at field@legacy at warning@#1}\@empty}}%
 \newrobustcmd*{\DeprecateList}[2]{%
   \csdef{abx at list@#1}{%
     \ifcsundef{abx at list@legacy at warning@#1}{\blx at warning@noline{List '#1' is deprecated. #2}}{}%
-    \global\csdef{abx at list@legacy at warning@#1}{}}}%
+    \global\cslet{abx at list@legacy at warning@#1}\@empty}}%
 \newrobustcmd*{\DeprecateName}[2]{%
   \csdef{abx at name@#1}{%
     \ifcsundef{abx at name@legacy at warning@#1}{\blx at warning@noline{Name '#1' is deprecated. #2}}{}%
-    \global\csdef{abx at name@legacy at warning@#1}{}}}%
+    \global\cslet{abx at name@legacy at warning@#1}\@empty}}%
 
 \let\blx at aliasfields\@empty
 
@@ -704,7 +704,7 @@
              Please use '#2' instead.\MessageBreak
              Using '#2' now}}
           {}%
-        \global\csdef{abx at field@legacy at warning@#1}{}}}}}
+        \global\cslet{abx at field@legacy at warning@#1}\@empty}}}}
 
 \newrobustcmd*{\DeprecateListWithReplacement}[2]{%
   \appto\blx at aliasfields{%
@@ -717,7 +717,7 @@
              Please use '#2' instead.\MessageBreak
              Using '#2' now}}
           {}%
-        \global\csdef{abx at list@legacy at warning@#1}{}}}}}
+        \global\cslet{abx at list@legacy at warning@#1}\@empty}}}}
 
 \newrobustcmd*{\DeprecateNameWithReplacement}[2]{%
   \appto\blx at aliasfields{%
@@ -730,7 +730,7 @@
              Please use '#2' instead.\MessageBreak
              Using '#2' now}}
           {}%
-        \global\csdef{abx at name@legacy at warning@#1}{}}}}}
+        \global\cslet{abx at name@legacy at warning@#1}\@empty}}}}
 
 %% Initialisation
 \def\blx at blxinit{%
@@ -900,11 +900,11 @@
     {\blx at info@noline{Trying to load #2..}%
      \IfFileExists{#1}
        {\blx at info@noline{... file '#1' found}%
+        #3\@@input\@filef at und#4#5%
         \listxadd\blx at list@req at stat{#1}%
-        #3\@@input\@filef at und#4#5}
+        \@addtofilelist{#1}}
        {\blx at info@noline{... file '#1' not found}#6}%
-     \global\csdef{blx at file@#1}{}%
-     \@addtofilelist{#1}}
+     \global\cslet{blx at file@#1}\@empty}
     {#5}}
 
 % {<write>}{<precode>}{<string>}
@@ -1152,7 +1152,8 @@
   #2}
 
 \protected\def\blx at warn@nostring#1{%
-  \blx at warning@entry{Bibliography string '#1' undefined}%
+  \blx at warning@entry{Bibliography string '#1'
+                     \ifcsundef{KV at blx@lbx@#1}{undefined}{untranslated}}%
   \abx at missing{#1}}
 
 \def\blx at warn@conflopt#1{%
@@ -2978,60 +2979,94 @@
     {}}
 
 % <*>[<postpro>]{<string>}
-\newrobustcmd*{\mkcomprange}{%
+\newrobustcmd*{\mknormrange}{%
   \begingroup
   \@ifstar
-    {\blx at comprange\blx at comprange@ii}
-    {\blx at comprange\blx at comprange@i}}
+    {\blx at range@aux\blx at normrange@ii}
+    {\blx at range@aux\blx at normrange@i}}
 
-\def\blx at comprange#1{%
+\def\blx at range@aux#1{%
   \@ifnextchar[{#1}{#1[\@firstofone]}}
 
-\def\blx at comprange@i[#1]#2{%
+\def\blx at normrange@i[#1]#2{%
   \let\blx at tempa\@empty
   \protected\def\blx at range@out at value{\appto\blx at tempa}%
   \let\blx at range@out at delim\blx at range@out at value
-  \let\blx at range@split\blx at comprange@split
+  \let\blx at range@split\blx at normrange@split
+  \let\blx at range@process\blx at normrange@process
   \blx at range@chunk{#2}%
   \edef\blx at tempa{\endgroup
     \unexpanded{#1}{\expandonce\blx at tempa}}%
   \blx at tempa}
 
-\def\blx at comprange@ii[#1]#2{%
+\def\blx at normrange@ii[#1]#2{%
   \protected\def\blx at range@out at value{#1}%
   \let\blx at range@out at delim\@firstofone
-  \let\blx at range@split\blx at comprange@split
+  \let\blx at range@split\blx at normrange@split
+  \let\blx at range@process\blx at normrange@process
   \blx at range@chunk{#2}%
   \endgroup}
 
-\def\blx at comprange@split#1{%
-  \def\blx at comprange@abort{\blx at range@out at value{#1}}%
+\def\blx at range@chunk#1{%
+  \blx at range@chunk at semcol#1;&}
+
+\def\blx at range@chunk at semcol#1;#2&{%
+  \notblank{#1}
+    {\blx at range@chunk at comma#1,&}
+    {}%
+  \notblank{#2}
+    {\notblank{#1}{\blx at range@out at delim{\bibrangessep}}{}%
+     \blx at range@chunk at semcol#2&}
+    {}}
+
+\def\blx at range@chunk at comma#1,#2&{%
+  \notblank{#1}
+    {\blx at range@chunk at sep#1\bibrangessep&}
+    {}%
+  \notblank{#2}
+    {\notblank{#1}{\blx at range@out at delim{\bibrangessep}}{}%
+     \blx at range@chunk at comma#2&}
+    {}}
+
+\def\blx at range@chunk at sep#1\bibrangessep#2&{%
+  \notblank{#1}
+    {\expandafter\blx at range@split
+     \expandafter{\@firstofone#1}}
+    {}%
+  \notblank{#2}
+    {\notblank{#1}{\blx at range@out at delim{\bibrangessep}}{}%
+     \blx at range@chunk at sep#2&}
+    {}}
+
+% Unicode en-dashes are supported in blx-unicode.def
+\def\blx at normrange@split#1{%
+  \def\blx at normrange@abort{\blx at range@out at value{#1}}%
   \blx at imc@ifpages{#1}
-    {\blx at comprange@range#1\bibrangedash\bibrangedash&}
-    {\blx at comprange@abort}}
+    {\blx at normrange@range#1\bibrangedash\bibrangedash&}
+    {\blx at normrange@abort}}
 
-\def\blx at comprange@range#1\bibrangedash#2\bibrangedash#3&{%
+\def\blx at normrange@range#1\bibrangedash#2\bibrangedash#3&{%
   \ifblank{#3}
-    {\blx at comprange@hyphen#1--&}
+    {\blx at normrange@hyphen#1--&}
     {\ifblank{#2}
        {\blx at range@out at value{#1\bibrangedash}}
        {\ifblank{#1}
           {\blx at range@out at value{\bibrangedash#2}}
-          {\blx at comprange@check{#1}{#2}}}}}
+          {\blx at range@process{#1}{#2}}}}}
 
-\def\blx at comprange@hyphen#1-#2-#3&{%
+\def\blx at normrange@hyphen#1-#2-#3&{%
   \ifblank{#3}
-    {\blx at comprange@abort}
+    {\blx at normrange@abort}
     {\ifblank{#2}
        {\ifblank{#1}
           {\let\blx at tempb\@empty}
           {\def\blx at tempb{#1}}%
-        \blx at comprange@hyphen at i#3&}
+        \blx at normrange@hyphen at i#3&}
        {\ifblank{#1}
           {\blx at range@out at value{\bibrangedash#2}}
-          {\blx at comprange@check{#1}{#2}}}}}
+          {\blx at range@process{#1}{#2}}}}}
 
-\def\blx at comprange@hyphen at i#1-#2&{%
+\def\blx at normrange@hyphen at i#1-#2&{%
   \ifblank{#1#2}
     {\expandafter\blx at range@out at value
      \expandafter{\blx at tempb\bibrangedash}}
@@ -3038,10 +3073,39 @@
     {\notblank{#1}
        {\ifdefempty\blx at tempb
           {\blx at range@out at value{\bibrangedash#1}}
-          {\expandafter\blx at comprange@check
+          {\expandafter\blx at range@process
            \expandafter{\blx at tempb}{#1}}}
-       {\blx at comprange@hyphen at i#2&}}}
+       {\blx at normrange@hyphen at i#2&}}}
 
+\def\blx at normrange@process#1#2{%
+  \blx at range@out at value{#1\bibrangedash#2}}
+
+% <*>[<postpro>]{<string>}
+\newrobustcmd*{\mkcomprange}{%
+  \begingroup
+  \@ifstar
+    {\blx at range@aux\blx at comprange@ii}
+    {\blx at range@aux\blx at comprange@i}}
+
+\def\blx at comprange@i[#1]#2{%
+  \let\blx at tempa\@empty
+  \protected\def\blx at range@out at value{\appto\blx at tempa}%
+  \let\blx at range@out at delim\blx at range@out at value
+  \let\blx at range@split\blx at normrange@split
+  \let\blx at range@process\blx at comprange@check
+  \blx at range@chunk{#2}%
+  \edef\blx at tempa{\endgroup
+    \unexpanded{#1}{\expandonce\blx at tempa}}%
+  \blx at tempa}
+
+\def\blx at comprange@ii[#1]#2{%
+  \protected\def\blx at range@out at value{#1}%
+  \let\blx at range@out at delim\@firstofone
+  \let\blx at range@split\blx at normrange@split
+  \let\blx at range@process\blx at comprange@check
+  \blx at range@chunk{#2}%
+  \endgroup}
+
 \def\blx at comprange@check#1#2{%
   \blx at imc@ifinteger{#1}
     {\blx at imc@ifinteger{#2}
@@ -3102,37 +3166,6 @@
     \expandafter\blx at comprange@end
   \fi}
 
-\def\blx at range@chunk#1{%
-  \blx at range@chunk at semcol#1;&}
-
-\def\blx at range@chunk at semcol#1;#2&{%
-  \notblank{#1}
-    {\blx at range@chunk at comma#1,&}
-    {}%
-  \notblank{#2}
-    {\notblank{#1}{\blx at range@out at delim{\bibrangessep}}{}%
-     \blx at range@chunk at semcol#2&}
-    {}}
-
-\def\blx at range@chunk at comma#1,#2&{%
-  \notblank{#1}
-    {\blx at range@chunk at sep#1\bibrangessep&}
-    {}%
-  \notblank{#2}
-    {\notblank{#1}{\blx at range@out at delim{\bibrangessep}}{}%
-     \blx at range@chunk at comma#2&}
-    {}}
-
-\def\blx at range@chunk at sep#1\bibrangessep#2&{%
-  \notblank{#1}
-    {\expandafter\blx at range@split
-     \expandafter{\@firstofone#1}}
-    {}%
-  \notblank{#2}
-    {\notblank{#1}{\blx at range@out at delim{\bibrangessep}}{}%
-     \blx at range@chunk at sep#2&}
-    {}}
-
 % <*>[<postpro>]{<string>}
 \newrobustcmd*{\mkfirstpage}{%
   \begingroup
@@ -3160,6 +3193,7 @@
   \blx at range@chunk{#2}%
   \endgroup}
 
+% Unicode en-dashes are supported in blx-unicode.def
 \def\blx at firstpage@split#1{%
   \def\blx at firstpage@abort{\blx at range@out at value{#1}}%
   \blx at firstpage@range#1\bibrangedash\bibrangedash&}
@@ -3213,8 +3247,11 @@
     {\blx at declaredelim}}
 
 \newrobustcmd*{\blx at declaredelimclear}[3][]{%
-  \def\do##1{\global\cslet{blx at printdelim@##1@#2}=\undefined}%
-  \dolistcsloop{blx at declaredelimcontexts@#2}%
+  \ifcsvoid{blx at declaredelimcontexts@#2}
+    {}
+    {\def\do##1{\csundef{blx at printdelim@##1@#2}}%
+     \dolistcsloop{blx at declaredelimcontexts@#2}}%
+  \cslet{blx at declaredelimcontexts@#2}\@empty
   \ifblank{#1}
     {\blx at declaredelim{#2}{#3}}
     {\blx at declaredelim[#1]{#2}{#3}}}
@@ -3223,19 +3260,17 @@
   \ifblank{#1}
     {\blx at declaredelim@i{}{}{#2}{#3}}
     {\def\do##1{%
-      \listcsgadd{blx at declaredelimcontexts@#2}{##1}%
-      \blx at declaredelim@i{blx at printdelim@##1@}{##1}{#2}{#3}}%
+       \listcsadd{blx at declaredelimcontexts@#2}{##1}%
+       \blx at declaredelim@i{blx at printdelim@##1@}{##1}{#2}{#3}}%
      \docsvlist{#1}}}%
 
 \def\blx at declaredelim@i#1#2#3#4{%
-  \begingroup
-  \def\do##1{%
+  \def\do at i##1{%
     \ifcsdef{#1##1}
       {\blx at inf@delimdeclare{##1}{#2}}
       {}%
-    \csgdef{#1##1}{#4}}%
-  \docsvlist{#3}%
-  \endgroup}
+    \csdef{#1##1}{#4}}%
+  \forcsvlist{\do at i}{#3}}
 
 % *[<contextname, ...>]{<alias>}{<delim>}
 \newrobustcmd*{\DeclareDelimAlias}{%
@@ -3247,7 +3282,7 @@
   \ifblank{#1}
     {\blx at declaredelimalias@i{}{#2}{#3}}
     {\def\do##1{%
-      \blx at declaredelimalias@i{blx at printdelim@##1@}{#2}{#3}}%
+       \blx at declaredelimalias@i{blx at printdelim@##1@}{#2}{#3}}%
      \docsvlist{#1}}}
 
 \newrobustcmd*{\blx at declaredelimaliasauto}[2]{%
@@ -3262,7 +3297,7 @@
   \ifcsdef{#1#2}
     {\blx at inf@delimdeclare{#2}{#1}}
     {}%
-  \global\csletcs{#1#2}{#1#3}}
+  \csdef{#1#2}{\csuse{#1#3}}}
 
 \def\blx at delimcontext{none}
 \newcommand*{\printdelim}[2][]{%
@@ -4249,11 +4284,17 @@
      \blx at imc@clearlist{pageref}%
      \blx at getdata{#1}%
      \blx at setoptions@type\abx at field@entrytype
+     \blx at setoptions@entry
      \def\abx at field@entrysetcount{1}%
+     \blx at execute
+     \blx at beglangbib
+     \blx at begunit
      \blx at anchor
      \blx at entryset@precode
      \blx at driver{\blx at imc@thefield{entrytype}}%
      \blx at entryset@postcode
+     \blx at endunit
+     \blx at endlangbib
      \endgroup}
     {}%
   \let\do\blx at entryset@i}
@@ -4268,11 +4309,11 @@
      \blx at setoptions@entry
      \addtocounter{instcount}\@ne
      \blx at execute
+     \blx at beglangbib
      \blx at begunit
      \blx at anchor
-     \blx at beglangbib
      \blx at entryset@precode
-     \blx at driver{\blx at imc@thefield{entrytype}}
+     \blx at driver{\blx at imc@thefield{entrytype}}%
      \blx at entryset@postcode
      \blx at endunit
      \blx at endlangbib
@@ -4782,6 +4823,7 @@
   \do{langitalian}%
   \do{langjapanese}%
   \do{langlatin}%
+  \do{langlatvian}%
   \do{langnorwegian}%
   \do{langpolish}%
   \do{langportuguese}%
@@ -4809,6 +4851,7 @@
   \do{fromitalian}%
   \do{fromjapanese}%
   \do{fromlatin}%
+  \do{fromlatvian}%
   \do{fromnorwegian}%
   \do{frompolish}%
   \do{fromportuguese}%
@@ -4866,8 +4909,7 @@
 % in *.cbx/bbx/tex: (implicit)
 % in *.lbx:         inherit = {<language>},
 \define at key{blx at lbx}{inherit}{%
-  \global\toggletrue{blx at nosuffrecurse}%
-  \blx at lbxinput{#1}{}{\blx at err@nolang{#1}}%
+  \blx at lbxinput@strings{#1}{}{\blx at err@nolang{#1}}%
   \csuse{abx at strings@#1}}
 
 \def\blx at cfg@defstring#1#2{%
@@ -4910,8 +4952,7 @@
 
 % {<language>}{<language>}
 \def\blx at letbibextras#1#2{%
-  \global\toggletrue{blx at nosuffrecurse}%
-  \blx at lbxinput{#2}{}{\blx at err@nolang{#2}}%
+  \blx at lbxinput@extras{#2}{}{\blx at err@nolang{#2}}%
   \global\csletcs{abx at extras@#1}{abx at extras@#2}
   \global\csletcs{abx at noextras@#1}{abx at noextras@#2}}%
 
@@ -4955,8 +4996,7 @@
 
 % {<language>}{<language>}
 \def\blx at letbibstrings#1#2{%
-  \global\toggletrue{blx at nosuffrecurse}%
-  \blx at lbxinput{#2}{}{\blx at err@nolang{#2}}%
+  \blx at lbxinput@strings{#2}{}{\blx at err@nolang{#2}}%
   \global\csletcs{abx at strings@#1}{abx at strings@#2}}%
 
 % {<language>}{<exceptions>}
@@ -4987,78 +5027,140 @@
   \csgdef{blx at lng@explicit@#1}{#2}}
 \@onlypreamble\DeclareLanguageMapping
 
+% to avoid copying, these commands simply redefine the input handlers and
+% process and postprocess code
 % {<language>}{<success>}{<failure>}
 \def\blx at lbxinput#1{%
-  \ifdefempty\blx at lng@suff
-    {}
-    {\ifcsdef{blx at lng@explicit@#1}% \DeclareLanguageMapping overrides \DeclareLanguageMappingSuffix
-      {}
-      {\nottoggle{blx at nosuffrecurse}
-        {\csgdef{blx at lng@#1}{#1\blx at lng@suff}}
-        {}}}%
-    \blx at lbxinput@0{#1}}
+  \csletcs{blx at lbx@input at handler}{blx at lbx@input at handler@once}%
+  \csletcs{blx at lbx@input at process}{blx at lbx@input at process@all}%
+  \csletcs{blx at lbx@input at postprocess}{blx at lbx@input at postprocess@all}%
+  \blx at lbxinput@i{#1}}
 
-\def\blx at lbxinput@0#1{%
+\def\blx at lbxinput@strings#1{%
+  \csletcs{blx at lbx@input at handler}{blx at lbx@input at handler@simple}%
+  \csletcs{blx at lbx@input at process}{blx at lbx@input at process@strings}%
+  \csletcs{blx at lbx@input at postprocess}{blx at lbx@input at postprocess@strings}%
+  \blx at lbxinput@i{#1}}
+
+\def\blx at lbxinput@extras#1{%
+  \csletcs{blx at lbx@input at handler}{blx at lbx@input at handler@simple}%
+  \csletcs{blx at lbx@input at process}{blx at lbx@input at process@extras}%
+  \csletcs{blx at lbx@input at postprocess}{blx at lbx@input at postprocess@extras}%
+  \blx at lbxinput@i{#1}}
+
+\def\blx at lbxinput@i#1{%
+  \ifcsundef{blx at nolbxrecurse@#1}
+    {\ifcsdef{blx at lng@explicit@#1}
+       {\global\csletcs{blx at lng@#1}{blx at lng@explicit@#1}}
+       {\ifdefempty\blx at lng@suff
+          {}
+          {\csgdef{blx at lng@#1}{#1\blx at lng@suff}}}}
+    {}%
+  \blx at lbxinput@ii{#1}}
+
+\def\blx at lbxinput@ii#1{%
   \ifcsdef{blx at lng@#1}
-    {\expandafter\expandafter\expandafter\blx at lbxinput@i
+    {\expandafter\expandafter\expandafter\blx at lbxinput@iii
      \expandafter\expandafter\expandafter{%
        \csname blx at lng@#1\endcsname}{#1}}
-    {\blx at lbxinput@ii{#1}{#1}{language '#1'}}}
+    {\blx at lbxinput@iv{#1}{#1}{language '#1'}}}
 
 % {<mapping>}{<language>}
-\def\blx at lbxinput@i#1#2{%
+\def\blx at lbxinput@iii#1#2{%
   \global\csundef{blx at lng@#2}%
   \IfFileExists{#1.lbx}
-    {\blx at lbxinput@ii{#2}{#1}{language '#2' -> '#1'}}
+    {\blx at lbxinput@iv{#2}{#1}{language '#2' -> '#1'}}
     {\ifcsdef{blx at suffmaptried@#2}
       {}
       {\blx at warning@noline{%
           File '#1.lbx' not found!\MessageBreak
           Ignoring mapping '#2' -> '#1'}%
-       \cslet{blx at suffmaptried@#2}\@empty}%
-     \blx at lbxinput@0{#2}}}
+       \global\cslet{blx at suffmaptried@#2}\@empty}%
+     \blx at lbxinput@iv{#2}{#2}{language '#2'}}}
 
+% .lbx files must be read with one of the two following commands,
+% do not use \blx at inputonce. Only the commands here make sure that the file
+% is read as many times as necessary.
+% {<file>}{<message>}{<preload>}{<postload>}{<success>}{<failure>}
+\protected\long\def\blx at lbx@input at handler@simple#1#2#3#4#5#6{%
+  \blx at info@noline{Trying to load #2..}%
+  \IfFileExists{#1}
+    {\blx at info@noline{... file '#1' found}%
+     #3\@@input\@filef at und#4#5%
+     \ifcsundef{blx at file@lbx@#1}
+       {\listxadd\blx at list@req at stat{#1}%
+        \@addtofilelist{#1}%
+        \global\cslet{blx at file@lbx@#1}\@empty}
+       {}}
+    {\blx at info@noline{... file '#1' not found}#6}}
+
+% {<file>}{<message>}{<preload>}{<postload>}{<success>}{<failure>}
+\protected\long\def\blx at lbx@input at handler@once#1#2#3#4#5#6{%
+  \ifcsundef{blx at file@lbx@#1}
+    {\blx at info@noline{Trying to load #2..}%
+     \global\cslet{blx at file@lbx@#1}\@empty
+     \IfFileExists{#1}
+       {\blx at info@noline{... file '#1' found}%
+        #3\@@input\@filef at und#4#5%
+        \listxadd\blx at list@req at stat{#1}%
+        \@addtofilelist{#1}}
+       {\blx at info@noline{... file '#1' not found}#6}}
+    {#5}}
+
+\def\blx at lbx@input at process@strings#1{
+  \global\cslet{abx at strings@#1}\@empty
+  \def\InheritBibliographyStrings{%
+    \blx at letbibstrings{#1}}%
+  \def\DeclareBibliographyStrings##1{%
+    \begingroup
+      \let\blx at defstring\blx at lbx@defstring
+      \blx at defbibstrings{#1}{##1}%
+    \endgroup}}
+
+\def\blx at lbx@input at process@extras#1{%
+  \global\cslet{abx at extras@#1}\@empty
+  \global\cslet{abx at noextras@#1}\@empty
+  \def\InheritBibliographyExtras{\blx at letbibextras{#1}}%
+  \def\DeclareBibliographyExtras{\blx at defbibextras{#1}}%
+  \def\UndeclareBibliographyExtras{\blx at undefbibextras{#1}}}
+
+\def\blx at lbx@input at process@all#1{%
+  \blx at lbx@input at process@strings{#1}%
+  \blx at lbx@input at process@extras{#1}%
+  \def\DeclareHyphenationExceptions{\blx at hyphexcept{#1}}}
+
+\def\blx at lbx@input at postprocess@strings#1{
+  \csuse{blx at hook@strings@#1}}
+
+\def\blx at lbx@input at postprocess@extras#1{%
+  \csuse{blx at hook@extras@#1}%
+  \csuse{blx at hook@noextras@#1}}
+
+\def\blx at lbx@input at postprocess@all#1{%
+  \blx at lbx@input at postprocess@strings{#1}%
+  \blx at lbx@input at postprocess@extras{#1}%
+  \csuse{blx at hook@hyph@#1}}
+
 % {<language>}{<lbxfile>}{<message>}
-% toggle 'blx at nosuffrecurse' is set to true at the places where recursion into here
-% can occur when loading a .lbx otherwise, when using \DeclareLanguageMappingSuffix
-% it is possible to get into infinite loops. We only want to apply the suffix to explicitly
-% loaded languages, not those loaded by recursion.
-\def\blx at lbxinput@ii#1#2#3{%
+\def\blx at lbxinput@iv#1#2#3{%
   \begingroup
-  \setbox\@tempboxa=\hbox\bgroup
-    \aftergroup\endgroup
-    \blx at inputonce{#2.lbx}{#3}
-      {\global\cslet{abx at strings@#1}\@empty
-       \global\cslet{abx at extras@#1}\@empty
-       \global\cslet{abx at noextras@#1}\@empty
-       \blx at maplang{#1}{#1}%
-       \def\InheritBibliographyStrings{%
-         \blx at letbibstrings{#1}}%
-       \def\DeclareBibliographyStrings####1{%
-         \begingroup
-         \let\blx at defstring\blx at lbx@defstring
-         \blx at defbibstrings{#1}{####1}%
-         \endgroup}%
-       \def\InheritBibliographyExtras{\blx at letbibextras{#1}}%
-       \def\DeclareBibliographyExtras{\blx at defbibextras{#1}}%
-       \def\UndeclareBibliographyExtras{\blx at undefbibextras{#1}}%
-       \def\DeclareHyphenationExceptions{\blx at hyphexcept{#1}}%
+    \blx at lbx@input at handler{#2.lbx}{#3}
+      {\blx at maplang{#1}{#1}%
+       \let\InheritBibliographyStrings\@gobble
+       \let\DeclareBibliographyStrings\@gobble
+       \let\InheritBibliographyExtras\@gobble
+       \let\DeclareBibliographyExtras\@gobble
+       \let\UndeclareBibliographyExtras\@gobble
+       \blx at lbx@input at process{#1}%
        \begingroup
+       \cslet{blx at nolbxrecurse@#1}\@empty
        \blx at saneccodes
        \makeatletter}
       {\endgroup
-       \csuse{blx at hook@strings@#1}%
-       \csuse{blx at hook@strings@#2}%
-       \csuse{blx at hook@extras@#1}%
-       \csuse{blx at hook@extras@#2}%
-       \csuse{blx at hook@noextras@#1}%
-       \csuse{blx at hook@noextras@#2}%
-       \csuse{blx at hook@hyph@#1}%
-       \csuse{blx at hook@hyph@#2}%
-       \global\togglefalse{blx at nosuffrecurse}}
+       \blx at lbx@input at postprocess{#1}}
       {\aftergroup\@firstoftwo}
       {\aftergroup\@secondoftwo}%
-  \egroup}
+  \endgroup}
 
 % {<language>}
 \def\blx at langsetup#1{%
@@ -5098,6 +5200,7 @@
 \newrobustcmd*{\mkdaterangecompextra}{%
   \mkdaterangetruncextra{long}}
 
+% calls to \blx at metadateinfo should be grouped to avoid name clashes
 \def\blx at metadateinfo#1{%
   \letcs\ifdateera{if#1dateera}%
   \letcs\ifenddateera{if#1enddateera}%
@@ -5106,7 +5209,9 @@
   \letcs\ifdatejulian{if#1datejulian}%
   \letcs\ifenddatejulian{if#1enddatejulian}%
   \letcs\ifdateuncertain{if#1dateuncertain}%
-  \letcs\ifenddateuncertain{if#1enddateuncertain}}
+  \letcs\ifenddateuncertain{if#1enddateuncertain}%
+  \letcs\ifdateunknown{if#1dateunknown}%
+  \letcs\ifenddateunknown{if#1enddateunknown}}
 
 \expandafter\newrobustcmd\expandafter*\csname mktimerange24h\endcsname{%
   \mktimerange{24h}}
@@ -5158,139 +5263,145 @@
 
 % {<short|long>}{<datetype>}
 \newrobustcmd*{\mkdaterangefull}[2]{%
-  \blx at metadateinfo{#2}%
-  \iffieldundef{#2year}
-    {}
-    {\datecircaprint
-     \printtext[#2date]{%
-       % Such a season component can only come from an ISO8601 season which replaces
-       % a normal month so if it exists, we know that a normal date print is ruled out
-       \iffieldundef{#2season}
-         {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
-          % Optionally print the time after the date
-          \blx at printtime{#2}{}}
-         {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
-       \dateuncertainprint
-       \dateeraprint{#2year}%
-       \iffieldundef{#2endyear}
-         {}
-         {\iffieldequalstr{#2endyear}{}
-            {\mbox{\bibdaterangesep}}
-            {\bibdaterangesep
-             \enddatecircaprint
-             \iffieldundef{#2season}
-               {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}%
-                % Optionally print the time after the date
-                \blx at printtime{#2}{end}}
-               {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
-             \enddateuncertainprint
-             \dateeraprint{#2endyear}}}}}}
-
-\newrobustcmd*{\mkdaterangetrunc}[2]{%
-  \blx at metadateinfo{#2}%
-  \iffieldundef{#2year}
-    {}
-    {\datecircaprint
-     \printtext[#2date]{%
-       % Such a season component can only come from an ISO8601 season which replaces
-       % a normal month so if it exists, we know that a normal date print is ruled out
-       \iffieldundef{#2season}
-         {\iffieldsequal{#2year}{#2endyear}
-            {\iffieldsequal{#2month}{#2endmonth}
-               {\csuse{mkbibdate#1}{}{}{#2day}}
-               {\csuse{mkbibdate#1}{}{#2month}{#2day}}}
-            {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
-             \iffieldsequal{#2dateera}{#2enddateera}{}
-              {\dateeraprint{#2year}}}}
-         {\iffieldsequal{#2year}{#2endyear}
-           {\csuse{mkbibseasondate#1}{}{#2season}}
-           {\csuse{mkbibseasondate#1}{#2year}{#2season}%
-            \iffieldsequal{#2dateera}{#2enddateera}{}
-              {\dateeraprint{#2year}}}}%
-       \dateuncertainprint
-       \iffieldundef{#2endyear}
-         {}
-         {\iffieldequalstr{#2endyear}{}
-            {\mbox{\bibdaterangesep}}
-            {\bibdaterangesep
-             \enddatecircaprint
-             \iffieldundef{#2season}
-               {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
-               {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
-             \enddateuncertainprint
-             \dateeraprint{#2endyear}}}}}}
-
-\newrobustcmd*{\mkdaterangefullextra}[2]{%
-  \blx at metadateinfo{#2}%
-  \iffieldundef{#2year}
-    {}
-    {\datecircaprint
-     \printtext[#2date]{%
-       \printtext{%
-       % Such a season component can only come from an ISO8601 season which replaces
-       % a normal month so if it exists, we know that a normal date print is ruled out
-       \iffieldundef{#2season}
-         {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
-          % Optionally print the time after the date
-          \blx at printtime{#2}{}}
-         {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
-       \dateuncertainprint
-       \dateeraprint{#2year}%
-       \iffieldundef{#2endyear}
-         {\printfield{extradate}}
-         {\iffieldequalstr{#2endyear}{}
-            {\printfield{extradate}%
-             \printtext{\mbox{\bibdaterangesep}}}
-            {\printtext{%
-               \bibdaterangesep
+  \begingroup
+    \blx at metadateinfo{#2}%
+    \iffieldundef{#2year}
+      {}
+      {\printtext[#2date]{%
+         \datecircaprint
+         % Such a season component can only come from an ISO8601 season which replaces
+         % a normal month so if it exists, we know that a normal date print is ruled out
+         \iffieldundef{#2season}
+           {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
+            % Optionally print the time after the date
+            \blx at printtime{#2}{}}
+           {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
+         \dateuncertainprint
+         \dateeraprint{#2year}%
+         \iffieldundef{#2endyear}
+           {}
+           {\iffieldequalstr{#2endyear}{}
+              {\mbox{\bibdaterangesep}}
+              {\bibdaterangesep
                \enddatecircaprint
                \iffieldundef{#2season}
                  {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}%
                   % Optionally print the time after the date
                   \blx at printtime{#2}{end}}
-                 {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
-               \printfield{extradate}%
+                 {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
                \enddateuncertainprint
-               \dateeraprint{#2endyear}}}}}}}
+               \dateeraprint{#2endyear}}}}}%
+  \endgroup}
 
-\newrobustcmd*{\mkdaterangetruncextra}[2]{%
-  \blx at metadateinfo{#2}%
-  \iffieldundef{#2year}
-    {}
-    {\datecircaprint
-     \printtext[#2date]{%
-       \printtext{%
-       % Such a season component can only come from an ISO8601 season which replaces
-       % a normal month so if it exists, we know that a normal date print is ruled out
-       \iffieldundef{#2season}
-         {\iffieldsequal{#2year}{#2endyear}
-            {\iffieldsequal{#2month}{#2endmonth}
-               {\csuse{mkbibdate#1}{}{}{#2day}}
-               {\csuse{mkbibdate#1}{}{#2month}{#2day}}}
-            {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
-             \iffieldsequal{#2dateera}{#2enddateera}{}
-               {\dateeraprint{#2year}}}}
-         {\iffieldsequal{#2year}{#2endyear}
-           {\csuse{mkbibseasondate#1}{}{#2season}}
-           {\csuse{mkbibseasondate#1}{#2year}{#2season}%
-             \iffieldsequal{#2dateera}{#2enddateera}{}
-              {\dateeraprint{#2year}}}}%
-       \dateuncertainprint
-       \iffieldundef{#2endyear}
-         {\printfield{extradate}}
-         {\iffieldequalstr{#2endyear}{}
-            {\printfield{extradate}%
-             \printtext{\mbox{\bibdaterangesep}}}
-            {\printtext{%
-               \bibdaterangesep
+\newrobustcmd*{\mkdaterangetrunc}[2]{%
+  \begingroup
+    \blx at metadateinfo{#2}%
+    \iffieldundef{#2year}
+      {}
+      {\printtext[#2date]{%
+         \datecircaprint
+         % Such a season component can only come from an ISO8601 season which replaces
+         % a normal month so if it exists, we know that a normal date print is ruled out
+         \iffieldundef{#2season}
+           {\iffieldsequal{#2year}{#2endyear}
+              {\iffieldsequal{#2month}{#2endmonth}
+                 {\csuse{mkbibdate#1}{}{}{#2day}}
+                 {\csuse{mkbibdate#1}{}{#2month}{#2day}}}
+              {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
+               \iffieldsequal{#2dateera}{#2enddateera}{}
+                {\dateeraprint{#2year}}}}
+           {\iffieldsequal{#2year}{#2endyear}
+             {\csuse{mkbibseasondate#1}{}{#2season}}
+             {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+              \iffieldsequal{#2dateera}{#2enddateera}{}
+                {\dateeraprint{#2year}}}}%
+         \dateuncertainprint
+         \iffieldundef{#2endyear}
+           {}
+           {\iffieldequalstr{#2endyear}{}
+              {\mbox{\bibdaterangesep}}
+              {\bibdaterangesep
                \enddatecircaprint
                \iffieldundef{#2season}
                  {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
-                 {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
-               \printfield{extradate}%
+                 {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
                \enddateuncertainprint
-               \dateeraprint{#2endyear}}}}}}}
+               \dateeraprint{#2endyear}}}}}%
+  \endgroup}
 
+\newrobustcmd*{\mkdaterangefullextra}[2]{%
+  \begingroup
+    \blx at metadateinfo{#2}%
+    \iffieldundef{#2year}
+      {}
+      {\printtext[#2date]{%
+         \datecircaprint
+         % Such a season component can only come from an ISO8601 season which replaces
+         % a normal month so if it exists, we know that a normal date print is ruled out
+         \iffieldundef{#2season}
+           {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
+            % Optionally print the time after the date
+            \blx at printtime{#2}{}}
+           {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
+         \dateuncertainprint
+         \dateeraprint{#2year}%
+         \iffieldundef{#2endyear}
+           {\printfield{extradate}}
+           {\iffieldequalstr{#2endyear}{}
+              {\printfield{extradate}%
+               \printtext{\mbox{\bibdaterangesep}}}
+              {\printtext{%
+                 \bibdaterangesep
+                 \enddatecircaprint
+                 \iffieldundef{#2season}
+                   {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}%
+                    % Optionally print the time after the date
+                    \blx at printtime{#2}{end}}
+                   {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+                 \printfield{extradate}%
+                 \enddateuncertainprint
+                 \dateeraprint{#2endyear}}}}}%
+  \endgroup}
+
+\newrobustcmd*{\mkdaterangetruncextra}[2]{%
+  \begingroup
+    \blx at metadateinfo{#2}%
+    \iffieldundef{#2year}
+      {}
+      {\printtext[#2date]{%
+         \datecircaprint
+         % Such a season component can only come from an ISO8601 season which replaces
+         % a normal month so if it exists, we know that a normal date print is ruled out
+         \iffieldundef{#2season}
+           {\iffieldsequal{#2year}{#2endyear}
+              {\iffieldsequal{#2month}{#2endmonth}
+                 {\csuse{mkbibdate#1}{}{}{#2day}}
+                 {\csuse{mkbibdate#1}{}{#2month}{#2day}}}
+              {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
+               \iffieldsequal{#2dateera}{#2enddateera}{}
+                 {\dateeraprint{#2year}}}}
+           {\iffieldsequal{#2year}{#2endyear}
+             {\csuse{mkbibseasondate#1}{}{#2season}}
+             {\csuse{mkbibseasondate#1}{#2year}{#2season}%
+               \iffieldsequal{#2dateera}{#2enddateera}{}
+                {\dateeraprint{#2year}}}}%
+         \dateuncertainprint
+         \iffieldundef{#2endyear}
+           {\printfield{extradate}}
+           {\iffieldequalstr{#2endyear}{}
+              {\printfield{extradate}%
+               \printtext{\mbox{\bibdaterangesep}}}
+              {\printtext{%
+                 \bibdaterangesep
+                 \enddatecircaprint
+                 \iffieldundef{#2season}
+                   {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
+                   {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+                 \printfield{extradate}%
+                 \enddateuncertainprint
+                 \dateeraprint{#2endyear}}}}}%
+  \endgroup}
+
 \newrobustcmd*{\mkdaterangeyear}[1]{%
   \blx at imc@clearfield{#1season}%
   \blx at imc@clearfield{#1month}%
@@ -5313,65 +5424,69 @@
 
 % {<datetype>}
 \newrobustcmd*{\mkdaterangeymd}[1]{%
-  \blx at metadateinfo{#1}%
-  \iffieldundef{#1year}
-    {}
-    {\datecircaprint
-     \printtext[#1date]{%
-       % Such a season component can only come from an  ISO8601 season which replaces
-       % a normal month so if it exists, we know that a normal date print is ruled out
-       \iffieldundef{#1season}
-         {\blx at ymddate{#1}{}%
-          % Optionally print the time after the date
-          \blx at printtime{#1}{}}
-         {\csuse{mkbibseasondateshort}{#1year}{#1season}}%
-       \dateuncertainprint
-       \dateeraprint{#1year}%
-       \iffieldundef{#1endyear}
-         {}
-         {\iffieldequalstr{#1endyear}{}
-            {\mbox{\bibdaterangesep}}
-            {\bibdaterangesep
-             \enddatecircaprint
-             \iffieldundef{#1season}
-               {\blx at ymddate{#1}{end}%
-                % Optionally print the time after the date
-                \blx at printtime{#1}{end}}
-               {\csuse{mkbibseasondateshort}{#1endyear}{#1endseason}}%
-             \enddateuncertainprint
-             \dateeraprint{#1endyear}}}}}}
-
-% {<datetype>}
-\newrobustcmd*{\mkdaterangeymdextra}[1]{%
-  \blx at metadateinfo{#1}%
-  \iffieldundef{#1year}
-    {}
-    {\datecircaprint
-     \printtext[#1date]{%
-       % Such a season component can only come from an ISO8601 season which replaces
-       % a normal month so if it exists, we know that a normal date print is ruled out
-       \iffieldundef{#1season}
-         {\blx at ymddate[extradate]{#1}{}%
-          % Optionally print the time after the date
-          \blx at printtime{#1}{}}
-         {\csuse{mkbibseasondateshort}{#1year}{#1season}}%
-       \dateuncertainprint
-       \dateeraprint{#1year}%
-       \iffieldundef{#1endyear}
-         {}
-         {\iffieldequalstr{#1endyear}{}
-            {\mbox{\bibdaterangesep}}
-            {\printtext{%
-               \bibdaterangesep
+  \begingroup
+    \blx at metadateinfo{#1}%
+    \iffieldundef{#1year}
+      {}
+      {\printtext[#1date]{%
+         \datecircaprint
+         % Such a season component can only come from an  ISO8601 season which replaces
+         % a normal month so if it exists, we know that a normal date print is ruled out
+         \iffieldundef{#1season}
+           {\blx at ymddate{#1}{}%
+            % Optionally print the time after the date
+            \blx at printtime{#1}{}}
+           {\csuse{mkbibseasondateshort}{#1year}{#1season}}%
+         \dateuncertainprint
+         \dateeraprint{#1year}%
+         \iffieldundef{#1endyear}
+           {}
+           {\iffieldequalstr{#1endyear}{}
+              {\mbox{\bibdaterangesep}}
+              {\bibdaterangesep
                \enddatecircaprint
                \iffieldundef{#1season}
                  {\blx at ymddate{#1}{end}%
                   % Optionally print the time after the date
                   \blx at printtime{#1}{end}}
-                 {\csuse{mkbibseasondateshort}{#1endyear}{#1endseason}}}%
-             \enddateuncertainprint
-             \dateeraprint{#1endyear}}}}}}
+                 {\csuse{mkbibseasondateshort}{#1endyear}{#1endseason}}%
+               \enddateuncertainprint
+               \dateeraprint{#1endyear}}}}}%
+  \endgroup}
 
+% {<datetype>}
+\newrobustcmd*{\mkdaterangeymdextra}[1]{%
+  \begingroup
+    \blx at metadateinfo{#1}%
+    \iffieldundef{#1year}
+      {}
+      {\printtext[#1date]{%
+         \datecircaprint
+         % Such a season component can only come from an ISO8601 season which replaces
+         % a normal month so if it exists, we know that a normal date print is ruled out
+         \iffieldundef{#1season}
+           {\blx at ymddate[extradate]{#1}{}%
+            % Optionally print the time after the date
+            \blx at printtime{#1}{}}
+           {\csuse{mkbibseasondateshort}{#1year}{#1season}}%
+         \dateuncertainprint
+         \dateeraprint{#1year}%
+         \iffieldundef{#1endyear}
+           {}
+           {\iffieldequalstr{#1endyear}{}
+              {\mbox{\bibdaterangesep}}
+              {\printtext{%
+                 \bibdaterangesep
+                 \enddatecircaprint
+                 \iffieldundef{#1season}
+                   {\blx at ymddate{#1}{end}%
+                    % Optionally print the time after the date
+                    \blx at printtime{#1}{end}}
+                   {\csuse{mkbibseasondateshort}{#1endyear}{#1endseason}}}%
+               \enddateuncertainprint
+               \dateeraprint{#1endyear}}}}}%
+  \endgroup}
+
 % [extradate]{<datetype>}{''|end}
 \newrobustcmd*{\blx at ymddate}[3][]{%
   \dateeraprintpre{#2#3year}%
@@ -5411,64 +5526,68 @@
     {}}
 
 \newrobustcmd*{\mkdaterangeiso}[1]{%
-  \blx at metadateinfo{#1}%
-  \def\bibdatetimesep{T}%
-  \iffieldundef{#1year}
-    {}
-    {\printtext[#1date]{%
-       \blx at isodate{#1}{}%
-       \ifboolexpr{%
-         togl {blx@#1dateusetime}
-         and
-         not test {\iffieldundef{#1hour}}}
-         {\printtext{\bibdatetimesep}%
-          \blx at isotime{#1}{}}
-         {}%
-       \dateuncertainprint
-       \datecircaprintiso
-       \iffieldundef{#1endyear}
-         {}
-         {\addslash
-          \blx at isodate{#1}{end}%
-          \ifboolexpr{%
-            togl {blx@#1dateusetime}
-            and
-            not test {\iffieldundef{#1endhour}}}
-            {\printtext{\bibdatetimesep}%
-             \blx at isotime{#1}{end}}
-            {}%
-         \enddateuncertainprint
-         \enddatecircaprintiso}}}}
+  \begingroup
+    \blx at metadateinfo{#1}%
+    \def\bibdatetimesep{T}%
+    \iffieldundef{#1year}
+      {}
+      {\printtext[#1date]{%
+         \blx at isodate{#1}{}%
+         \ifboolexpr{%
+           togl {blx@#1dateusetime}
+           and
+           not test {\iffieldundef{#1hour}}}
+           {\printtext{\bibdatetimesep}%
+            \blx at isotime{#1}{}}
+           {}%
+         \dateuncertainprint
+         \datecircaprintiso
+         \iffieldundef{#1endyear}
+           {}
+           {\addslash
+            \blx at isodate{#1}{end}%
+            \ifboolexpr{%
+              togl {blx@#1dateusetime}
+              and
+              not test {\iffieldundef{#1endhour}}}
+              {\printtext{\bibdatetimesep}%
+               \blx at isotime{#1}{end}}
+              {}%
+           \enddateuncertainprint
+           \enddatecircaprintiso}}}%
+  \endgroup}
 
 \newrobustcmd*{\mkdaterangeisoextra}[1]{%
-  \blx at metadateinfo{#1}%
-  \def\bibdatetimesep{T}%
-  \iffieldundef{#1year}
-    {}
-    {\printtext[#1date]{%
-       \blx at isodate[extradate]{#1}{}%
-       \ifboolexpr{%
-         togl {blx@#1dateusetime}
-         and
-         not test {\iffieldundef{#1hour}}}
-         {\printtext{\bibdatetimesep}%
-          \blx at isotime{#1}{}}
-         {}%
-       \dateuncertainprint
-       \datecircaprintiso
-       \iffieldundef{#1endyear}
-         {}
-         {\addslash
-          \blx at isodate{#1}{end}}%
-          \ifboolexpr{%
-            togl {blx@#1dateusetime}
-            and
-            not test {\iffieldundef{#1endhour}}}
-            {\printtext{\bibdatetimesep}%
-             \blx at isotime{#1}{end}}
-            {}%
-          \enddateuncertainprint
-          \enddatecircaprintiso}}}
+  \begingroup
+    \blx at metadateinfo{#1}%
+    \def\bibdatetimesep{T}%
+    \iffieldundef{#1year}
+      {}
+      {\printtext[#1date]{%
+         \blx at isodate[extradate]{#1}{}%
+         \ifboolexpr{%
+           togl {blx@#1dateusetime}
+           and
+           not test {\iffieldundef{#1hour}}}
+           {\printtext{\bibdatetimesep}%
+            \blx at isotime{#1}{}}
+           {}%
+         \dateuncertainprint
+         \datecircaprintiso
+         \iffieldundef{#1endyear}
+           {}
+           {\addslash
+            \blx at isodate{#1}{end}}%
+            \ifboolexpr{%
+              togl {blx@#1dateusetime}
+              and
+              not test {\iffieldundef{#1endhour}}}
+              {\printtext{\bibdatetimesep}%
+               \blx at isotime{#1}{end}}
+              {}%
+            \enddateuncertainprint
+            \enddatecircaprintiso}}%
+  \endgroup}
 
 % [extradate]{<datetype>}{''|end}
 \newrobustcmd*{\blx at isodate}[3][]{%
@@ -6026,7 +6145,9 @@
   \cslet{if#1datejulian}\@secondoftwo
   \cslet{if#1enddatejulian}\@secondoftwo
   \cslet{if#1dateuncertain}\@secondoftwo
-  \cslet{if#1enddateuncertain}\@secondoftwo}
+  \cslet{if#1enddateuncertain}\@secondoftwo
+  \cslet{if#1dateunknown}\@secondoftwo
+  \cslet{if#1enddateunknown}\@secondoftwo}
 \abx at dodatetypes
 \do{labeldate}
 
@@ -6044,7 +6165,9 @@
   \listxadd\blx at datemetabooleans{#1datejulian}%
   \listxadd\blx at datemetabooleans{#1enddatejulian}%
   \listxadd\blx at datemetabooleans{#1dateuncertain}%
-  \listxadd\blx at datemetabooleans{#1enddateuncertain}}
+  \listxadd\blx at datemetabooleans{#1enddateuncertain}%
+  \listxadd\blx at datemetabooleans{#1dateunknown}%
+  \listxadd\blx at datemetabooleans{#1enddateunknown}}
 \abx at dodatetypes
 
 \def\do#1{%
@@ -6063,6 +6186,22 @@
   \do{labeldatesource}%
   \do{labeldateera}%
   \do{labelenddateera}%
+  \do{labelyear}%
+  \do{labelendyear}%
+  \do{labelmonth}%
+  \do{labelendmonth}%
+  \do{labelday}%
+  \do{labelendday}%
+  \do{labelhour}%
+  \do{labelendhour}%
+  \do{labelminute}%
+  \do{labelendminute}%
+  \do{labelsecond}%
+  \do{labelendsecond}%
+  \do{labeltimezone}%
+  \do{labelendtimezone}%
+  \do{labelseason}%
+  \do{labelendseason}%
   \do{entrykey}%
   \do{entryset}%
   \do{entrysetcount}%
@@ -6111,33 +6250,40 @@
 \abx at dodatetypes
 
 % Set up circa, julian and uncertain date internals
-\def\blx at imc@ifdatemeta at i#1#2{%
+\def\blx at makeifdatemeta@bools at i#1#2{%
   \appto\blx at blxinit{%
-    \csdef{if#1date#2}{\iftoggle{abx at bool@#1date#2}}%
-    \csdef{if#1enddate#2}{\iftoggle{abx at bool@#1enddate#2}}%
-    \appto\blx at TE@hook{%
-      \csdef{if#1date#2}{\blx at TE{\iftoggle{abx at bool@#1date#2}}}%
-      \csdef{if#1enddate#2}{\blx at TE{\iftoggle{abx at bool@#1enddate#2}}}}}}
+    \blx at makeifdatemeta@bools{#1}{#2}}}
 
+\def\blx at makeifdatemeta@bools#1#2{%
+  \csdef{if#1date#2}{\iftoggle{abx at bool@#1date#2}}%
+  \csdef{if#1enddate#2}{\iftoggle{abx at bool@#1enddate#2}}%
+  \appto\blx at TE@hook{%
+    \csdef{if#1date#2}{\blx at TE{\iftoggle{abx at bool@#1date#2}}}%
+    \csdef{if#1enddate#2}{\blx at TE{\iftoggle{abx at bool@#1enddate#2}}}}}
+
 % Set up date era internals
-\def\blx at imc@ifdatemeta at ii#1{%
+\def\blx at makeifdatemeta@fields at i#1{%
   \appto\blx at blxinit{%
-    \csdef{if#1dateera}##1{\ifcsstring{abx at field@#1dateera}{##1}}%
-    \csdef{if#1enddateera}##1{\ifcsstring{abx at field@#1enddateera}{##1}}%
-    \appto\blx at TE@hook{%
-      \csdef{if#1dateera}##1{\blx at TE{\ifcsstring{abx at field@#1dateera}{##1}}}%
-      \csdef{if#1enddateera}##1{\blx at TE{\ifcsstring{abx at field@#1enddateera}{##1}}}}}}
+    \blx at makeifdatemeta@fields{#1}}}
 
+\def\blx at makeifdatemeta@fields#1{%
+  \csdef{if#1dateera}##1{\ifcsstring{abx at field@#1dateera}{##1}}%
+  \csdef{if#1enddateera}##1{\ifcsstring{abx at field@#1enddateera}{##1}}%
+  \appto\blx at TE@hook{%
+    \csdef{if#1dateera}##1{\blx at TE{\ifcsstring{abx at field@#1dateera}{##1}}}%
+    \csdef{if#1enddateera}##1{\blx at TE{\ifcsstring{abx at field@#1enddateera}{##1}}}}}
+
 % Create date meta information boolean tests
 \def\do#1{%
-  \blx at imc@ifdatemeta at i{#1}{circa}%
-  \blx at imc@ifdatemeta at i{#1}{julian}%
-  \blx at imc@ifdatemeta at i{#1}{uncertain}}
+  \blx at makeifdatemeta@bools at i{#1}{circa}%
+  \blx at makeifdatemeta@bools at i{#1}{julian}%
+  \blx at makeifdatemeta@bools at i{#1}{uncertain}%
+  \blx at makeifdatemeta@bools at i{#1}{unknown}}
 \abx at dodatetypes
 
 % Create date meta information field tests
 \def\do#1{%
-  \blx at imc@ifdatemeta at ii{#1}}
+  \blx at makeifdatemeta@fields at i{#1}}
 \abx at dodatetypes
 
 % Resolve date meta information tests and print routines for labeldate
@@ -6316,6 +6462,11 @@
 \def\do#1{\expandafter\newlength\expandafter{\csname #1width\endcsname}}
 \abx at dolabelfields
 
+\newlength{\locallabelnumberwidth}
+\newlength{\locallabelalphawidth}
+\def\do#1{\expandafter\newlength\expandafter{\csname local#1width\endcsname}}
+\abx at dolabelfields
+
 \protected\def\blx at resetdata{%
   \let\blx at saved@do\do
   \let\do\blx at imc@clearname
@@ -6325,6 +6476,11 @@
   \let\do\blx at imc@clearfield
   \abx at dofields
   \abx at dointernalfields
+  \ifundef\abx at annotation@defined
+    {}
+    {\def\do##1{\csundef{abx at annotation@##1}}%
+     \dolistloop\abx at annotation@defined}%
+  \let\abx at annotation@defined\@empty
   \def\do##1{\togglefalse{abx at bool@##1}}%
   \abx at dobooleans
   \let\do\blx at saved@do
@@ -6349,11 +6505,24 @@
   \dolistloop\abx at dorellists
   \let\do\blx at savefield
   \abx at dofields
+  \abx at dointernalfields
   \let\do\blx at saverelfield
   \dolistloop\abx at dorelfields
-  \abx at dointernalfields
+  \ifundef\abx at savedannotation@defined
+    {}
+    {\def\do##1{\csundef{abx at annotation@\blx at saveannotations@makesaved##1}}%
+     \dolistloop\abx at savedannotation@defined}%
+  \let\abx at savedannotation@defined\@empty
+  \ifundef\abx at annotation@defined
+    {}
+    {\let\do\blx at saveannotations
+     \dolistloop\abx at annotation@defined}%
+  \let\abx at savedannotation@defined\abx at annotation@defined
   \let\do\blx at savebool
   \abx at dobooleans
+  \let\do\blx at savedatetype
+  \abx at dodatetypes
+  \do{label}%
   \c at savedcitecounter\c at citecounter
   \let\do\blx at saved@do}
 
@@ -6387,8 +6556,47 @@
   \csletcs{abx at field@saved@#1}{abx at field@relsaved#1}}
 
 \protected\def\blx at savebool#1{%
-  \csletcs{abx at bool@saved#1}{abx at bool@#1}}
+  \csletcs{etb at tgl@abx at bool@saved#1}{etb at tgl@abx at bool@#1}}
 
+\protected\def\blx at savedatetype#1{%
+  \csletcs{blx at dateformat@saved#1date}{blx at dateformat@#1date}%
+  \protected\csedef{blx at imc@printsaved#1date}{%
+    \noexpand\csuse{mkdaterange\csuse{blx at dateformat@saved#1date}}
+      {saved#1}}%
+  \protected\csedef{blx at imc@printsaved#1dateextra}{%
+    \begingroup
+      % extradate is hard-coded in date macros, so reset it temporarily
+      \csletcs{abx at field@extradate}{abx at field@savedextradate}%
+      \noexpand\csuse{mkdaterange\csuse{blx at dateformat@saved#1date}extra}
+        {saved#1}%
+    \endgroup}%
+  \csletcs{blx at timeformat@saved#1time}{blx at timeformat@#1time}%
+  \protected\csedef{blx at imc@printsaved#1time}{%
+    \noexpand\csuse{mktimerange\csuse{blx at timeformat@saved#1time}}
+      {saved#1}}%
+  \csletcs{etb at tgl@blx at saved#1dateusetime}{etb at tgl@blx@#1dateusetime}%
+  % the datemetabooleans are here again for labeldate
+  \blx at savebool{#1datecirca}%
+  \blx at savebool{#1enddatecirca}%
+  \blx at savebool{#1datejulian}%
+  \blx at savebool{#1enddatejulian}%
+  \blx at savebool{#1dateuncertain}%
+  \blx at savebool{#1enddateuncertain}%
+  \blx at savebool{#1dateunknown}%
+  \blx at savebool{#1enddateunknown}%
+  \blx at makeifdatemeta@bools{saved#1}{circa}%
+  \blx at makeifdatemeta@bools{saved#1}{julian}%
+  \blx at makeifdatemeta@bools{saved#1}{uncertain}%
+  \blx at makeifdatemeta@bools{saved#1}{unknown}%
+  \blx at makeifdatemeta@fields{saved#1}%
+  \csletcs{printsaved#1date}{blx at imc@printsaved#1date}%
+  \csletcs{printsaved#1time}{blx at imc@printsaved#1time}%
+  \csletcs{printsaved#1dateextra}{blx at imc@printsaved#1dateextra}}
+
+\def\blx at saveannotations@makesaved#1@#2{#1 at saved#2}
+\protected\def\blx at saveannotations#1{%
+  \csletcs{abx at annotation@\blx at saveannotations@makesaved#1}{abx at annotation@#1}}
+
 % {<code>}
 \protected\long\def\blx at bbl@preamble#1{%
   \gappto\abx at preamble{#1}}
@@ -6516,46 +6724,90 @@
 
 % {<scope>}{<field>}{<itemcount>}{<part>}{<value>}
 \protected\def\blx at bbl@annotationdef#1#2#3#4#5{%
-  \ifboolexpr { test {\ifstrequal{#1}{field}} }
+  \ifstrequal{#1}{field}
      {\csxappto\blx at bbl@data{%
-         \def\do####1{\listcsadd{abx at annotation@#1@#2}{####1}}%
-         \docsvlist{#5}}}
+        \listadd\noexpand\abx at annotation@defined{#1@#2}%
+        \def\do####1{\listcsadd{abx at annotation@#1@#2}{####1}}%
+        \docsvlist{#5}}}
      {}%
-  \ifboolexpr { test {\ifstrequal{#1}{item}} }
+  \ifstrequal{#1}{item}
      {\csxappto\blx at bbl@data{%
-         \def\do####1{\listcsadd{abx at annotation@#1@#2@#3}{####1}}%
-         \docsvlist{#5}}}
+        \listadd\noexpand\abx at annotation@defined{#1@#2@#3}%
+        \def\do####1{\listcsadd{abx at annotation@#1@#2@#3}{####1}}%
+        \docsvlist{#5}}}
      {}%
-  \ifboolexpr { test {\ifstrequal{#1}{part}} }
+  \ifstrequal{#1}{part}
      {\csxappto\blx at bbl@data{%
-         \def\do####1{\listcsadd{abx at annotation@#1@#2@#3@#4}{####1}}%
-         \docsvlist{#5}}}
+        \listadd\noexpand\abx at annotation@defined{#1@#2@#3@#4}%
+        \def\do####1{\listcsadd{abx at annotation@#1@#2@#3@#4}{####1}}%
+        \docsvlist{#5}}}
      {}}
 
-% {<annotation>}
-\newcommand*{\iffieldannotation}[1]{%
-  \ifdefvoid\currentfield{}{\let\blx at tempa\currentfield}%
-  \ifdefvoid\currentlist{}{\let\blx at tempa\currentlist}%
-  \ifdefvoid\currentname{}{\let\blx at tempa\currentname}%
+% [<field>]{<annotation>}
+\newcommand*{\blx at imc@iffieldannotation}[2][]{%
+  \ifblank{#1}
+    {\ifdefvoid\currentfield{}{\let\blx at tempa\currentfield}%
+     \ifdefvoid\currentlist{}{\let\blx at tempa\currentlist}%
+     \ifdefvoid\currentname{}{\let\blx at tempa\currentname}}
+    {\def\blx at tempa{#1}}%
   \blx at resolve@annotation at label{\blx at tempa}%
-  \ifinlistcs{#1}{abx at annotation@field@\blx at tempa}}
+  \ifinlistcs{#2}{abx at annotation@field@\blx at tempa}}
 
-% {<annotation>}
-\newcommand*{\ifitemannotation}[1]{%
+% [<field>][<item>]{<annotation>}
+\def\blx at imc@ifitemannotation{%
   \ifdefvoid\currentfield{}{\let\blx at tempa\currentfield}%
   \ifdefvoid\currentlist{}{\let\blx at tempa\currentlist}%
   \ifdefvoid\currentname{}{\let\blx at tempa\currentname}%
-  \blx at resolve@annotation at label{\blx at tempa}%
-  \ifinlistcs{#1}{abx at annotation@item@\blx at tempa @\the\value{listcount}}}
+  \@ifnextchar[%]
+    {\blx at imc@ifitemannotation at i}
+    {\blx at imc@ifitemannotation at i[\blx at tempa]}
+}
 
-% {<part>}{<annotation>}
-\newcommand*{\ifpartannotation}[2]{%
+\def\blx at imc@ifitemannotation at i[#1]{%
+  \@ifnextchar[%]
+    {\blx at imc@ifitemannotation at ii{#1}}
+    {\blx at imc@ifitemannotation at ii{#1}[\the\value{listcount}]}}
+
+\def\blx at imc@ifitemannotation at ii#1[#2]#3{%
+  \def\blx at tempb{#1}%
+  \blx at resolve@annotation at label{\blx at tempb}%
+  \ifinlistcs{#3}{abx at annotation@item@\blx at tempb @#2}}
+
+% [<field>][<item>]{<part>}{<annotation>}
+\def\blx at imc@ifpartannotation{%
   \ifdefvoid\currentfield{}{\let\blx at tempa\currentfield}%
   \ifdefvoid\currentlist{}{\let\blx at tempa\currentlist}%
   \ifdefvoid\currentname{}{\let\blx at tempa\currentname}%
-  \blx at resolve@annotation at label{\blx at tempa}%
-  \ifinlistcs{#2}{abx at annotation@part@\blx at tempa @\the\value{listcount}@#1}}
+  \@ifnextchar[%]
+    {\blx at imc@ifpartannotation at i}
+    {\blx at imc@ifpartannotation at i[\blx at tempa]}}
 
+\def\blx at imc@ifpartannotation at i[#1]{%
+  \@ifnextchar[%]
+    {\blx at imc@ifpartannotation at ii{#1}}
+    {\blx at imc@ifpartannotation at ii{#1}[\the\value{listcount}]}}
+
+\def\blx at imc@ifpartannotation at ii#1[#2]#3#4{%
+  \def\blx at tempb{#1}%
+  \blx at resolve@annotation at label{\blx at tempb}%
+  \ifinlistcs{#4}{abx at annotation@part@\blx at tempb @#2@#3}}
+
+% {<datetype>}{<annotation>}
+% labeldatesource has a slightly different format than other <field>sources
+% that's one reason for a dedicated command, the other being that this command
+% is probably only used in contexts where \currentfield is not defined, so
+% the <datetype> argument is always required
+\newcommand*{\blx at imc@ifdateannotation}[2]{%
+  \def\blx at tempa{#1}%
+  \ifcsundef{abx at field@\blx at tempa source}
+    {}%
+    {\letcs\blx at tempa{abx at field@\blx at tempa source}%
+     \edef\blx at tempa{\blx at tempa date}}%
+  \ifinlistcs{#2}{abx at annotation@field@\blx at tempa}}
+
+\blx at regimcs{\iffieldannotation \ifitemannotation \ifpartannotation
+             \ifdateannotation}
+
 % {<fieldname>}
 \def\blx at resolve@annotation at label#1{%
   \ifcsundef{abx at field@#1source}
@@ -6825,6 +7077,38 @@
           {}%
         \ifcsdef{abx at field@\abx at field@labeldatesource endseason}
           {\edef\abx at field@labelendseason{\csuse{abx at field@\abx at field@labeldatesource endseason}}}
+          {}%
+        % labeldateunspecified
+        \ifcsdef{abx at field@\abx at field@labeldatesource dateunspecified}
+          {\csletcs{abx at field@labeldateunspecified}{abx at field@\abx at field@labeldatesource dateunspecified}}
+          {}%
+        % labeldatecirca/labelenddatecirca
+        \ifcsdef{etb at tgl@abx at bool@\abx at field@labeldatesource datecirca}
+          {\csletcs{etb at tgl@abx at bool@labeldatecirca}{etb at tgl@abx at bool@\abx at field@labeldatesource datecirca}}
+          {}%
+        \ifcsdef{etb at tgl@abx at bool@\abx at field@labeldatesource enddatecirca}
+          {\csletcs{etb at tgl@abx at bool@labelenddatecirca}{etb at tgl@abx at bool@\abx at field@labeldatesource enddatecirca}}
+          {}%
+        % labeldatejulian/labelenddatejulian
+        \ifcsdef{etb at tgl@abx at bool@\abx at field@labeldatesource datejulian}
+          {\csletcs{etb at tgl@abx at bool@labeldatejulian}{etb at tgl@abx at bool@\abx at field@labeldatesource datejulian}}
+          {}%
+        \ifcsdef{etb at tgl@abx at bool@\abx at field@labeldatesource enddatejulian}
+          {\csletcs{etb at tgl@abx at bool@labelenddatejulian}{etb at tgl@abx at bool@\abx at field@labeldatesource enddatejulian}}
+          {}%
+        % labeldateuncertain/labelenddateuncertain
+        \ifcsdef{etb at tgl@abx at bool@\abx at field@labeldatesource dateuncertain}
+          {\csletcs{etb at tgl@abx at bool@labeldateuncertain}{etb at tgl@abx at bool@\abx at field@labeldatesource dateuncertain}}
+          {}%
+        \ifcsdef{etb at tgl@abx at bool@\abx at field@labeldatesource enddateuncertain}
+          {\csletcs{etb at tgl@abx at bool@labelenddateuncertain}{etb at tgl@abx at bool@\abx at field@labeldatesource enddateuncertain}}
+          {}%
+        % labeldateunknown/labelenddateunknown
+        \ifcsdef{etb at tgl@abx at bool@\abx at field@labeldatesource dateunknown}
+          {\csletcs{etb at tgl@abx at bool@labeldateunknown}{etb at tgl@abx at bool@\abx at field@labeldatesource dateunknown}}
+          {}%
+        \ifcsdef{etb at tgl@abx at bool@\abx at field@labeldatesource enddateunknown}
+          {\csletcs{etb at tgl@abx at bool@labelenddateunknown}{etb at tgl@abx at bool@\abx at field@labeldatesource enddateunknown}}
           {}}}}
 
 % This gets the entry data for a citation
@@ -6948,10 +7232,10 @@
   \blx at bbl@options{#3}%
   \blx at setoptions@entry
   \edef\blx at bbl@data{blx at data@\the\c at refsection @\blx at dlist@name @\abx at field@entrykey}%
-  \csuse\blx at bbl@data
   \blx at bbl@addfield{entrykey}{\abx at field@entrykey}%
   \listxadd\blx at entries{\abx at field@entrykey}%
   \blx at bbl@addfield{entrytype}{#2}%
+  \csuse\blx at bbl@data
   \blx at imc@iffieldundef{options}
     {}
     {\blx at bbl@fieldedef{options}{\expandonce\abx at field@options}}}
@@ -7032,12 +7316,99 @@
 \def\blx at addset@ii#1{%
   \listcsgadd{blx at dlist@centry@\the\c at refsection @\blx at refcontext@context}{#1}}
 
-\def\blx at bbl@labelfields{%
+% {<csname>}{<field>/<format>}{<field>}
+\def\abx at flfw@getfieldformat#1#2#3{%
+  \blx at getformat\abx at tmp@theformat{ffd}{#2}{#3}%
+  \csletcs{#1}{abx at tmp@theformat}}
+
+\def\blx at labelwidth@resetlocal{%
+  \locallabelnumberwidth0pt\relax
+  \locallabelalphawidth0pt\relax
   \def\do##1{%
+    \csname local##1width\endcsname0pt\relax}%
+  \abx at dolabelfields}
+
+\def\blx at labelwidth@settolocal{%
+  \labelnumberwidth\locallabelnumberwidth
+  \labelalphawidth\locallabelalphawidth
+  \def\do##1{%
+    \csname ##1width\endcsname\csname local##1width\endcsname}%
+  \abx at dolabelfields}
+
+\def\blx at locallabelwidth#1{%
+  \blx at labelwidth@resetlocal
+  \let\blx at do\blx at lengthitem
+  \let\blx at done\relax
+  \blx at listloop{#1}%
+  \blx at labelwidth@settolocal}
+
+% {<prefix for labelwidth fields>}
+\def\blx at bbl@labelnumberwidth at numeric#1{%
+  \abx at flfw@getfieldformat{abx at flfw@labelnumberwidth}{labelnumberwidth}{}%
+  \abx at flfw@getfieldformat{abx at flfw@labelprefix}{labelprefix}{}%
+  \abx at flfw@getfieldformat{abx at flfw@labelnumber}{labelnumber}{}%
+    \iftoggle{blx at defernumbers}
+      {\ifundef\abx at field@localnumber
+        {\numdef\abx at field@localnumber{0}}%
+        {}}
+      {\ifundef\abx at field@localnumber
+         {\edef\abx at field@localnumber{%
+            \csuse{blx at labelnumber@\the\c at refsection}}}
+          {}}%
+  \blx at setlabwidth{\csname #1labelnumberwidth\endcsname}{%
+    \csuse{abx at flfw@labelnumberwidth}{%
+      \ifdef\abx at field@labelprefix
+        {\csuse{abx at flfw@labelprefix}{\abx at field@labelprefix}}
+        {}%
+      \csuse{abx at flfw@labelnumber}{\abx at field@localnumber}}}}
+
+\def\blx at bbl@labelnumberwidth at shorthand#1{%
+  \abx at flfw@getfieldformat{abx at flfw@labelnumberwidth}{labelnumberwidth}{}%
+  \abx at flfw@getfieldformat{abx at flfw@labelnumber}{labelnumber}{}%
+  \blx at setlabwidth{\csname #1labelnumberwidth\endcsname}{%
+    \csuse{abx at flfw@labelnumberwidth}{%
+      \csuse{abx at flfw@labelnumber}{\abx at field@shorthand}}}}
+
+\def\blx at bbl@locallabelnumberwidth{%
+  \ifdefempty\abx at field@localnumber
+    {}
+    {\ifundef\abx at field@shorthand
+       {\blx at bbl@labelnumberwidth at numeric{local}}
+       {\blx at bbl@labelnumberwidth at shorthand{local}}}}
+
+% {<prefix for labelwidth fields>}
+\def\blx at bbl@labelalphawidth#1{%
+  \abx at flfw@getfieldformat{abx at flfw@labelalphawidth}{labelalphawidth}{}%
+  \abx at flfw@getfieldformat{abx at flfw@labelprefix}{labelprefix}{}%
+  \abx at flfw@getfieldformat{abx at flfw@labelalpha}{labelalpha}{}%
+  \abx at flfw@getfieldformat{abx at flfw@extraalpha}{extraalpha}{}%
+  \blx at setlabwidth{\csname #1labelalphawidth\endcsname}{%
+    \csuse{abx at flfw@labelalphawidth}{%
+      \ifdef\abx at field@labelprefix
+        {\csuse{abx at flfw@labelprefix}{\abx at field@labelprefix}}
+        {}%
+      \csuse{abx at flfw@labelalpha}{\abx at field@labelalpha}%
+      \ifundef\abx at field@extraalpha
+        {}
+        {\csuse{abx at flfw@extraalpha}{\abx at field@extraalpha}}}}}
+
+\def\blx at bbl@locallabelalphawidth{%
+  \ifundef\abx at field@labelalpha
+    {}
+    {\blx at bbl@labelalphawidth{local}}}
+
+\def\blx at bbl@locallabelfields{\blx at bbl@labelfields at i{local}}
+
+\def\blx at bbl@labelfields{\blx at bbl@labelfields at i{}}
+
+% {<prefix for labelwidth fields>}
+\def\blx at bbl@labelfields at i#1{%
+  \def\do##1{%
     \ifcsundef{abx at field@##1}
       {}
-      {\blx at setlabwidth{\csname ##1width\endcsname}{%
-         \csuse{abx at ffd@*@##1width}{\csname abx at field@##1\endcsname}}}}%
+      {\abx at flfw@getfieldformat{abx at flfw@##1width}{##1width}{##1}%
+       \blx at setlabwidth{\csname #1##1width\endcsname}{%
+         \csuse{abx at flfw@##1width}{\csname abx at field@##1\endcsname}}}}%
   \abx at dolabelfields}
 
 \def\blx at bbl@labelnumber{%
@@ -7046,16 +7417,7 @@
   % the labelnumbers for each sortlist
   \ifdefempty\abx at field@localnumber
     {}% only if omitnumbers=true
-    {\ifcsundef{abx at ffd@\blx at imc@thefield{entrytype}@labelnumberwidth}
-       {\letcs{\@lnw at labelnumberwidth}{abx at ffd@*@labelnumberwidth}}
-       {\letcs{\@lnw at labelnumberwidth}{abx at ffd@\blx at imc@thefield{entrytype}@labelnumberwidth}}%
-     \ifcsundef{abx at ffd@\blx at imc@thefield{entrytype}@labelprefix}
-       {\letcs{\@lnw at labelprefix}{abx at ffd@*@labelprefix}}
-       {\letcs{\@lnw at labelprefix}{abx at ffd@\blx at imc@thefield{entrytype}@labelprefix}}%
-     \ifcsundef{abx at ffd@\blx at imc@thefield{entrytype}@labelnumber}
-       {\letcs{\@lnw at labelnumber}{abx at ffd@*@labelnumber}}
-       {\letcs{\@lnw at labelnumber}{abx at ffd@\blx at imc@thefield{entrytype}@labelnumber}}%
-     \ifundef\abx at field@shorthand
+    {\ifundef\abx at field@shorthand
       {\iftoggle{blx at defernumbers}
         % only if defernumbers=true, we have to define localnumber to
         % something to stop labelnumberwidth def complaining on first
@@ -7076,17 +7438,11 @@
           \blx at bbl@fieldedef{labelnumber}{\abx at field@localnumber}}%
         \iftoggle{blx at skipbib}
           {}
-          {\blx at setlabwidth{\labelnumberwidth}{%
-             \csuse{@lnw at labelnumberwidth}{%
-                \ifdef\abx at field@labelprefix
-                  {\csuse{@lnw at labelprefix}{\abx at field@labelprefix}}
-                  {}%
-                \csuse{@lnw at labelnumber}{\abx at field@localnumber}}}}}
+          {\blx at bbl@labelnumberwidth at numeric{}}}
       {\csgappto\blx at bbl@data{\let\abx at field@labelnumber\abx at field@shorthand}%
         \iftoggle{blx at skipbib}
           {}
-          {\blx at setlabwidth{\labelnumberwidth}{%
-              \csuse{@lnw at labelnumberwidth}{\abx at field@shorthand}}}}}}
+          {\blx at bbl@labelnumberwidth at shorthand{}}}}}
 
 \def\blx at bbl@labelalpha{%
    \ifundef\abx at field@labelalpha
@@ -7098,15 +7454,7 @@
          \fi}%
       \iftoggle{blx at skipbib}
         {}
-        {\blx at setlabwidth{\labelalphawidth}{%
-           \csuse{abx at ffd@*@labelalphawidth}{%
-             \ifdef\abx at field@labelprefix
-               {\csuse{abx at ffd@*@labelprefix}{\abx at field@labelprefix}}
-               {}%
-             \csuse{abx at ffd@*@labelalpha}{\abx at field@labelalpha}%
-             \ifundef\abx at field@extraalpha
-               {}
-               {\csuse{abx at ffd@*@extraalpha}{\abx at field@extraalpha}}}}}}}
+        {\blx at bbl@labelalphawidth{}}}}
 
 \def\blx at bbl@labeltitle{%
   \ifundef\abx at field@extratitle
@@ -7333,7 +7681,7 @@
                      {\abx at field@localnumber}}%
                    % record that we have already generated and output localnum
                    % for this key in this refsection/refcontext
-                   \csgdef{blx at defer@\the\c at refsection @\blx at refcontext@context @\abx at field@entrykey}{}}}
+                   \global\cslet{blx at defer@\the\c at refsection @\blx at refcontext@context @\abx at field@entrykey}\@empty}}
            {}}
          {}}%
        {}}
@@ -7755,6 +8103,16 @@
          Use \string\defbibnote\space to define it}}
      {\def\blx at thepostnote{#1}}}
 
+\define at key{blx at bib1}{locallabelwidth}[]{}
+\define at key{blx at biblist1}{locallabelwidth}[]{}
+\define at key{blx at bib2}{locallabelwidth}[true]{\blx at key@locallabelwidth{#1}}
+\define at key{blx at biblist2}{locallabelwidth}[true]{\blx at key@locallabelwidth{#1}}
+
+\def\blx at key@locallabelwidth#1{%
+  \ifstrequal{#1}{true}
+    {\def\abx at locallabelwidth{\blx at locallabelwidth}}
+    {\let\abx at locallabelwidth\@gobble}}
+
 \define at key{blx at bib2}{resetnumbers}[true]{%
   \iftoggle{blx at defernumbers}
     {\ifstrequal{#1}{true}
@@ -7976,7 +8334,7 @@
   \endgroup}
 
 % {<entrykey>,...}
-\def\blx at bibliography{%
+\def\blx at bibliography#1{%
   \blx at langstrings
   \blx at bibheading\blx at theheading\blx at thetitle
   \blx at bibnote\blx at theprenote
@@ -7990,12 +8348,13 @@
   \ifnum\bibnamesep=\z@
     \let\blx at namesep\relax
   \fi
+  \abx at locallabelwidth{#1}%
   \csuse{blx at env@\blx at theenv}%
   \csuse{blx at hook@bibinit}%
   \csuse{blx at hook@bibinit at next}%
   \let\blx at do\blx at bibitem
   \let\blx at done\blx at endbibliography
-  \blx at listloop}
+  \blx at listloop{#1}}
 
 \def\blx at endbibliography{%
   \csuse{blx at endenv@\blx at theenv}%
@@ -8041,6 +8400,25 @@
   \csuse{blx at bibsetup}}
 
 % {<entrykey>}
+\def\blx at lengthitem#1{%
+  \blx at ifdata{#1}
+    {\begingroup
+     \blx at getdata{#1}%
+     \blx at bibcheck
+     \iftoggle{blx at skipentry}{}{%
+       \iftoggle{blx at labelnumber}
+         {\blx at bbl@locallabelnumberwidth}
+         {}%
+       \iftoggle{blx at labelalpha}
+         {\blx at bbl@locallabelalphawidth}
+         {}%
+       \nottoggle{blx at skipbiblist}
+         {\blx at bbl@locallabelfields}
+         {}}%
+     \endgroup}
+    {}}
+
+% {<entrykey>}
 % output a bib item, this is why \blx at thelabelnumber is here so that
 % labelnumber is deferred if defernumbers=true
 \def\blx at bibitem#1{%
@@ -8201,6 +8579,12 @@
 
 \appto\blx at mknohyperref{\let\blx at anchor\relax}
 
+\define at key{blx at biblist2}{driver}{\blx at key@driver{#1}}
+\define at key{blx at biblist1}{driver}{}
+
+\def\blx at key@driver#1{%
+  \def\blx at thebiblistdriver{#1}}
+
 % Custom bibliography list
 % [<otions>]{biblistname}
 \newrobustcmd*{\printbiblist}[2][]{%
@@ -8212,6 +8596,8 @@
   \def\blx at theheading{biblist}% default to biblist heading
   \def\blx at theenv{#2}% default to list name
   \def\blx at thebiblist{#2}%
+  \def\blx at thebiblistdriver{#2}%
+  \def\blx at thebiblistfilter{#2}%
   \let\blx at theprenote\@empty
   \let\blx at thepostnote\@empty
   \let\blx at thetitle\@empty
@@ -8257,7 +8643,7 @@
     {}
     {\listxadd\blx at dlistnames{\blx at refcontext@context @\blx at tempe @list}%
      \csxappto{blx at dlists}{%
-       \blx at xml@dlist{\blx at refcontext@context}{list}{\blx at tempe}{\blx at xml@dlist at refcontext{\blx at tempc}{\blx at refcontext@sortingnamekeytemplatename}{\blx at refcontext@labelprefix}{\blx at refcontext@uniquenametemplatename}{\blx at refcontext@labelalphanametemplatename}}{\csuse{blx at biblistfilters@#2}}}}%
+       \blx at xml@dlist{\blx at refcontext@context}{list}{\blx at tempe}{\blx at xml@dlist at refcontext{\blx at tempc}{\blx at refcontext@sortingnamekeytemplatename}{\blx at refcontext@labelprefix}{\blx at refcontext@uniquenametemplatename}{\blx at refcontext@labelalphanametemplatename}}{\csuse{blx at biblistfilters@\blx at thebiblistfilter}}}}%
   \ifdefvoid\blx at tempa
     {\blx at warn@biblistempty{#2}\endgroup}
     {\blx at biblist\blx at tempa}}
@@ -8271,7 +8657,7 @@
        {\global\let\blx at printbibchecks\relax}}}
 
 % {<entrykey>,...}
-\def\blx at biblist{%
+\def\blx at biblist#1{%
   \if at twocolumn
     \@restonecoltrue\onecolumn
   \else
@@ -8284,11 +8670,12 @@
   \blx at bibinit
   \let\@noitemerr\@empty
   \def\blx at noitem{\blx at warn@biblistempty{\blx at thebiblist}}%
+  \abx at locallabelwidth{#1}%
   \csuse{blx at env@\blx at theenv}%
   \csuse{blx at hook@biblistinit@\blx at thebiblist}%
   \let\blx at do\blx at biblistitem
   \let\blx at done\blx at endbiblist
-  \blx at listloop}
+  \blx at listloop{#1}}
 
 \def\blx at endbiblist{%
   \csuse{blx at endenv@\blx at theenv}%
@@ -8323,7 +8710,7 @@
        \blx at beglangbib
        \bibsentence
        \blx at pagetracker
-       \blx at driver{\blx at thebiblist}%
+       \blx at driver{\blx at thebiblistdriver}%
        \blx at postpunct
        \blx at endlangbib}%
      \endgroup}
@@ -8488,6 +8875,7 @@
 
 % Reference sections
 \newrobustcmd*{\newrefsection}{%
+  \endrefcontext
   \ifnum\c at refsection>\z@
     \endrefsection
   \fi
@@ -8690,6 +9078,7 @@
     \H at old@sect,%    hyperref
     \NR at sect,%       nameref
     \scr at sect,%      koma-script 3.x
+    \scr at startsection,%  bad hack for koma >= 3.15
     \@startsection}%         latex
   \iftoggle{blx at tempa}
     {\blx at err@patch{\string\@sect}}
@@ -9011,6 +9400,8 @@
 
 % {<entrykey>,...}
 \protected\def\blx at citeloop#1{%
+  \expandafter\blx at citeloop@i\expandafter{\detokenize{#1}}}
+\protected\def\blx at citeloop@i#1{%
   \begingroup
   % This must be here and not after \blx at citeadd as this changes the refcontext
   \letcs\blx at tempb{blx at dlist@centry@\the\c at refsection @\blx at refcontext@context}%
@@ -11293,7 +11684,7 @@
   \let\maps\blx at usersourcemap@maps
   \let\blx at tempa\@empty
   #1%
-  \csxdef{blx at sourcemap@user}{\blx at tempa}%
+  \xappto\blx at sourcemap@user\blx at tempa%
   \endgroup}
 \@onlypreamble\DeclareSourcemap
 
@@ -11432,6 +11823,10 @@
   \ifstrequal{#1}{true}
     {\appto\blx at tempf{ map\string_entry\string_null="1"}}
     {}}
+\define at key{blx at sourcemap@step}{entrynocite}[true]{% true|false
+  \ifstrequal{#1}{true}
+    {\appto\blx at tempf{ map\string_entry\string_nocite="1"}}
+    {}}
 \define at key{blx at sourcemap@step}{entrynew}{% characters
   \appto\blx at tempf{ map\string_entry\string_new="#1"}}
 \define at key{blx at sourcemap@step}{entrynewtype}{% characters
@@ -11737,6 +12132,17 @@
 \def\do#1{\DeclareBiblistFilter{#1}{\filter[type=field,filter=#1]}}
 \abx at dolabelfields
 
+\define at key{blx at biblist2}{biblistfilter}{\blx at key@biblistfilter{#1}}
+\define at key{blx at biblist1}{biblistfilter}{}
+
+\def\blx at key@biblistfilter#1{%
+  \ifcsundef{blx at biblistfilters@#1}
+    {\blx at error
+        {BiblistFilter '#1' not found}
+        {The BiblistFilter '#1' could not be found.\MessageBreak
+         Use '\string\DeclareBiblistFilter' to define it}}
+    {\def\blx at thebiblistfilter{#1}}}
+
 % [<entrytype>]
 \newrobustcmd*{\DeclareSortTranslit}[2][]{%
   \begingroup
@@ -13007,9 +13413,6 @@
         {\blx at err@invopt{#1time=##1}{}}}%
     % Default for new time fields is "24h"
     \setkeys{blx at opt@pre}{#1time=24h}%
-    % Boolean for unknown dates
-    \newtoggle{abx at bool@#1dateunknown}%
-    \newtoggle{abx at bool@end#1dateunknown}%
     % Boolean to determine if times are printed with dates
     \newtoggle{blx@#1dateusetime}%
     \DeclareBibliographyOption[boolean]{#1dateusetime}{%
@@ -13200,6 +13603,9 @@
     {\let\blx at thelabelnumber\relax
      \let\abx at aux@number\@gobblefive}}
 
+\DeclareBibliographyOption[boolean]{locallabelwidth}[true]{%
+  \blx at key@locallabelwidth{#1}}
+
 \DeclareBibliographyOption[string]{refsection}{%
   \ifcsdef{blx at opt@refsection@#1}
     {\letcs\blx at refsecreset@level{blx at opt@refsection@#1}}
@@ -13360,7 +13766,7 @@
   autopunct=true,punctfont=false,defernumbers=false,timezeros=true,
   refsection=none,refsegment=none,citereset=none,hyperref=auto,
   parentracker,maxparens=3,bibencoding=auto,bibwarn,timezones=false,
-  seconds=false,julian=false,labeltime=24h}
+  seconds=false,julian=false,labeltime=24h,locallabelwidth=false}
 
 % Load Unicode enhancements (only for LuaTeX and XeTeX)
 \ifboolexpr{

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/blx-dm.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/blx-dm.def	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/blx-dm.def	2018-03-05 22:15:52 UTC (rev 46851)
@@ -1,5 +1,7 @@
+\ProvidesFile{blx-dm.def}
+[\abx at lbxid]
+
 % -*- mode: LaTeX -*-
-
 \newbool{dmskipout}%
 \newbool{dmlabelfield}%
 
@@ -100,7 +102,7 @@
   \endgroup}
 
 \define at key{blx at datamodel@entrytypes}{skipout}[true]{% true|false
-  \ifstrequal{#1}{true}  
+  \ifstrequal{#1}{true}
     {\appto\blx at tempa{ skip\string_output="true"}}
     {}}
 
@@ -264,7 +266,7 @@
     {\appto\blx at tempa{ nullok="true"}}
     {}}
 \define at key{blx at datamodel@field}{skipout}[true]{% true|false
-  \ifstrequal{#1}{true}  
+  \ifstrequal{#1}{true}
     {\appto\blx at tempa{ skip\string_output="true"}%
      \booltrue{dmskipout}}
     {}}
@@ -691,7 +693,7 @@
   urlendhour,
   urlendminute,
   urlendmonth,
-  urlendsecond,  
+  urlendsecond,
   urlendtimezone,
   urlendyear,
   urlhour,
@@ -1152,9 +1154,19 @@
   eprinttype,
   eventday,
   eventendday,
+  eventendhour,
+  eventendminute,
   eventendmonth,
+  eventendseason,
+  eventendsecond,
+  eventendtimezone,
   eventendyear,
+  eventhour,
+  eventminute,
   eventmonth,
+  eventseason,
+  eventsecond,
+  eventtimezone,
   eventyear,
   eventtitle,
   eventtitleaddon,
@@ -1185,9 +1197,19 @@
   eprinttype,
   eventday,
   eventendday,
+  eventendhour,
+  eventendminute,
   eventendmonth,
+  eventendseason,
+  eventendsecond,
+  eventendtimezone,
   eventendyear,
+  eventhour,
+  eventminute,
   eventmonth,
+  eventseason,
+  eventsecond,
+  eventtimezone,
   eventyear,
   eventtitle,
   eventtitleaddon,
@@ -1228,9 +1250,19 @@
   eprinttype,
   eventday,
   eventendday,
+  eventendhour,
+  eventendminute,
   eventendmonth,
+  eventendseason,
+  eventendsecond,
+  eventendtimezone,
   eventendyear,
+  eventhour,
+  eventminute,
   eventmonth,
+  eventseason,
+  eventsecond,
+  eventtimezone,
   eventyear,
   eventtitle,
   eventtitleaddon,
@@ -1301,6 +1333,24 @@
 \DeclareDatamodelEntryfields[unpublished]{
   addendum,
   author,
+  eventday,
+  eventendday,
+  eventendhour,
+  eventendminute,
+  eventendmonth,
+  eventendseason,
+  eventendsecond,
+  eventendtimezone,
+  eventendyear,
+  eventhour,
+  eventminute,
+  eventmonth,
+  eventseason,
+  eventsecond,
+  eventtimezone,
+  eventyear,
+  eventtitle,
+  eventtitleaddon,
   howpublished,
   language,
   location,
@@ -1308,7 +1358,9 @@
   pubstate,
   subtitle,
   title,
-  titleaddon}
+  titleaddon,
+  type,
+  venue}
 
 \DeclareDatamodelConstraints[
   article,

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/blx-unicode.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/blx-unicode.def	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/blx-unicode.def	2018-03-05 22:15:52 UTC (rev 46851)
@@ -32,9 +32,6 @@
 \closein\blx at bcfin
 \endgroup
 
-\DeclarePrefChars{'’-}
-\DeclareRangeChars{~,;-–—+/}
-
 \appto\blx at setfrcodes{%
   % … should probably have dot spacefactor, but pdfLaTeX
   % makes it a period, so we have this here for consistency
@@ -41,4 +38,39 @@
   \sfcode`\…=\blx at sf@period
 }
 
+\DeclarePrefChars*{’}
+\DeclareRangeChars*{–—}
+
+\def\blx at normrange@range#1\bibrangedash#2\bibrangedash#3&{%
+  \ifblank{#3}
+    {\blx at normrange@endash#1––&}
+    {\ifblank{#2}
+       {\blx at range@out at value{#1\bibrangedash}}
+       {\ifblank{#1}
+          {\blx at range@out at value{\bibrangedash#2}}
+          {\blx at range@process{#1}{#2}}}}}
+
+\def\blx at normrange@endash#1–#2–#3&{%
+  \ifblank{#3}
+    {\blx at normrange@hyphen#1--&}
+    {\ifblank{#2}
+       {\blx at range@out at value{#1\bibrangedash}}
+       {\ifblank{#1}
+          {\blx at range@out at value{\bibrangedash#2}}
+          {\blx at range@process{#1}{#2}}}}}
+
+\def\blx at firstpage@range#1\bibrangedash#2\bibrangedash#3&{%
+  \ifblank{#3}
+    {\blx at firstpage@endash#1––&}
+    {\ifblank{#1}
+       {\blx at range@out at value{\bibrangedash#2}}
+       {\blx at range@out at value{#1}}}}
+
+\def\blx at firstpage@endash#1–#2–#3&{%
+  \ifblank{#3}
+    {\blx at firstpage@hyphen#1--&}
+    {\ifblank{#1}
+       {\blx at range@out at value{\bibrangedash#2}}
+       {\blx at range@out at value{#1}}}}
+
 \endinput

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/brazilian.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/brazilian.lbx	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/brazilian.lbx	2018-03-05 22:15:52 UTC (rev 46851)
@@ -86,7 +86,7 @@
   references       = {{Refer\^encias}{Refer\^encias}},
   shorthands       = {{Lista de abreviaturas}{Abreviaturas}},
   editor           = {{editor}{ed\adddot}},
-  editors          = {{editores}{eds\adddot}},
+  editors          = {{editores}{ed\adddot}},
   compiler         = {{compilador}{comp\adddot}},
   compilers        = {{compiladores}{comp\adddot}},
   redactor         = {{redator}{red\adddot}},
@@ -101,10 +101,10 @@
   collaborators    = {{colaboradores}{colab\adddot}},
   translator       = {{tradutor}{trad\adddot}},
   translators      = {{tradutores}{trad\adddot}},
-  commentator      = {{comentador}{coment\adddot}},
-  commentators     = {{comentadores}{coment\adddot}},
-  annotator        = {{anotador}{anot\adddot}},
-  annotators       = {{anotadores}{anot\adddot}},
+  commentator      = {{coment\'ario}{coment\adddot}},
+  commentators     = {{coment\'ario}{coment\adddot}},
+  annotator        = {{notas}{notas}},
+  annotators       = {{notas}{notas}},
   commentary       = {{coment\'ario}{coment\adddot}},
   annotations      = {{notas}{notas}},
   introduction     = {{introdu\c{c}\~ao}{introd\adddot}},
@@ -113,95 +113,95 @@
   editortr         = {{editor e tradutor}%
                       {ed\adddotspace e trad\adddot}},
   editorstr        = {{editores e tradutores}%
-                      {eds\adddotspace e trad\adddot}},
-  editorco         = {{editor e comentador}%
+                      {ed\adddotspace e trad\adddot}},
+  editorco         = {{editor e coment\'ario}%
                       {ed\adddotspace e coment\adddot}},
-  editorsco        = {{editores e comentadores}%
-                      {eds\adddotspace e coment\adddot}},
-  editoran         = {{editor e anotador}%
-                      {ed\adddotspace e anot\adddot}},
-  editorsan        = {{editores e anotadores}%
-                      {eds\adddotspace e anot\adddot}},
+  editorsco        = {{editores e coment\'ario}%
+                      {ed\adddotspace e coment\adddot}},
+  editoran         = {{editor e notas}%
+                      {ed\adddotspace e notas}},
+  editorsan        = {{editores e notas}%
+                      {ed\adddotspace e notas}},
   editorin         = {{editor e introdu\c{c}\~ao}%
                       {ed\adddotspace e introd\adddot}},
   editorsin        = {{editores e introdu\c{c}\~ao}%
-                      {eds\adddotspace e introd\adddot}},
+                      {ed\adddotspace e introd\adddot}},
   editorfo         = {{editor e pref\'acio}%
                       {ed\adddotspace e pref\adddot}},
   editorsfo        = {{editores e pref\'acio}%
-                      {eds\adddotspace e pref\adddot}},
+                      {ed\adddotspace e pref\adddot}},
   editoraf         = {{editor e posf\'acio}%
                       {ed\adddotspace e posf\adddot}},
   editorsaf        = {{editores e posf\'acio}%
-                      {eds\adddotspace e posf\adddot}},
-  editortrco       = {{editor, tradutor e comentador}%
+                      {ed\adddotspace e posf\adddot}},
+  editortrco       = {{editor, tradutor e coment\'ario}%
                       {ed., trad\adddot\ e coment\adddot}},
-  editorstrco      = {{editores, tradutores e comentadores}%
-                      {eds., trad\adddot\ e coment\adddot}},
-  editortran       = {{editor, tradutor e anotador}%
-                      {ed., trad\adddot\ e anot\adddot}},
-  editorstran      = {{editores, tradutores e anotadores}%
-                      {eds., trad\adddot\ e anot\adddot}},
+  editorstrco      = {{editores, tradutores e coment\'ario}%
+                      {ed., trad\adddot\ e coment\adddot}},
+  editortran       = {{editor, tradutor e notas}%
+                      {ed., trad\adddot\ e notas}},
+  editorstran      = {{editores, tradutores e notas}%
+                      {ed., trad\adddot\ e notas}},
   editortrin       = {{editor, tradutor e introdu\c{c}\~ao}%
                       {ed., trad\adddot\ e introd\adddot}},
   editorstrin      = {{editores, tradutores e introdu\c{c}\~ao}%
-                      {eds., trad\adddot\ e introd\adddot}},
+                      {ed., trad\adddot\ e introd\adddot}},
   editortrfo       = {{editor, tradutor e pref\'acio}%
                       {ed., trad\adddot\ e pref\adddot}},
   editorstrfo      = {{editores, tradutores e pref\'acio}%
-                      {eds., trad\adddot\ e pref\adddot}},
+                      {ed., trad\adddot\ e pref\adddot}},
   editortraf       = {{editor, tradutor e posf\'acio}%
                       {ed., trad\adddot\ e posf\adddot}},
   editorstraf      = {{editores, tradutores e posf\'acio}%
-                      {eds., trad\adddot\ e posf\adddot}},
-  editorcoin       = {{editor, comentador e introdu\c{c}\~ao}%
+                      {ed., trad\adddot\ e posf\adddot}},
+  editorcoin       = {{editor, coment\'ario e introdu\c{c}\~ao}%
                       {ed., coment\adddot\ e introd\adddot}},
-  editorscoin      = {{editores, comentadores e introdu\c{c}\~ao}%
-                      {eds., coment\adddot\ e introd\adddot}},
-  editorcofo       = {{editor, comentador e pref\'acio}%
+  editorscoin      = {{editores, coment\'ario e introdu\c{c}\~ao}%
+                      {ed., coment\adddot\ e introd\adddot}},
+  editorcofo       = {{editor, coment\'ario e pref\'acio}%
                       {ed., coment\adddot\ e pref\adddot}},
-  editorscofo      = {{editores, comentadores e pref\'acio}%
-                      {eds., coment\adddot\ e pref\adddot}},
-  editorcoaf       = {{editor, comentador e posf\'acio}%
+  editorscofo      = {{editores, coment\'ario e pref\'acio}%
+                      {ed., coment\adddot\ e pref\adddot}},
+  editorcoaf       = {{editor, coment\'ario e posf\'acio}%
                       {ed., coment\adddot\ e posf\adddot}},
-  editorscoaf      = {{editores, comentadores e posf\'acio}%
-                      {eds., coment\adddot\ e posf\adddot}},
-  editoranin       = {{editor, anotador e introdu\c{c}\~ao}%
-                      {ed., anot\adddot\ e introd\adddot}},
-  editorsanin      = {{editores, anotadores e introdu\c{c}\~ao}%
-                      {eds., anot\adddot\ e introd\adddot}},
-  editoranfo       = {{editor, anotador e pref\'acio}%
-                      {ed., anot\adddot\ e pref\adddot}},
-  editorsanfo      = {{editores, anotadores e pref\'acio}%
-                      {eds., anot\adddot\ e pref\adddot}},
-  editoranaf       = {{editor, anotador e posf\'acio}%
-                      {ed., anot\adddot\ e posf\adddot}},
-  editorsanaf      = {{editores, anotadores e posf\'acio}%
-                      {eds., anot\adddot\ e posf\adddot}},
-  editortrcoin     = {{editor, tradutor, comentador e introdu\c{c}\~ao}%
+  editorscoaf      = {{editores, coment\'ario e posf\'acio}%
+                      {ed., coment\adddot\ e posf\adddot}},
+  editoranin       = {{editor, notas e introdu\c{c}\~ao}%
+                      {ed., notas e introd\adddot}},
+  editorsanin      = {{editores, notas e introdu\c{c}\~ao}%
+                      {ed., notas e introd\adddot}},
+  editoranfo       = {{editor, notas e pref\'acio}%
+                      {ed., notas e pref\adddot}},
+  editorsanfo      = {{editores, notas e pref\'acio}%
+                      {ed., notas e pref\adddot}},
+  editoranaf       = {{editor, notas e posf\'acio}%
+                      {ed., notas e posf\adddot}},
+  editorsanaf      = {{editores, notas e posf\'acio}%
+                      {ed., notas e posf\adddot}},
+  editortrcoin     = {{editor, tradutor, coment\'ario e introdu\c{c}\~ao}%
                       {ed., trad., coment\adddot\ e introd\adddot}},
-  editorstrcoin    = {{editores, tradutores, comentadores e introdu\c{c}\~ao}%
-                      {eds., trad., coment\adddot\ e introd\adddot}},
-  editortrcofo     = {{editor, tradutor, comentador e pref\'acio}%
+  editorstrcoin    = {{editores, tradutores, coment\'ario e introdu\c{c}\~ao}%
+                      {ed., trad., coment\adddot\ e introd\adddot}},
+  editortrcofo     = {{editor, tradutor, coment\'ario e pref\'acio}%
                       {ed., trad., coment\adddot\ e pref\adddot}},
-  editorstrcofo    = {{editores, tradutores, comentadores e pref\'acio}%
-                      {eds., trad., coment\adddot\ e pref\adddot}},
-  editortrcoaf     = {{editor, tradutor, comentador e posf\'acio}%
+  editorstrcofo    = {{editores, tradutores, coment\'ario e pref\'acio}%
+                      {ed., trad., coment\adddot\ e pref\adddot}},
+  editortrcoaf     = {{editor, tradutor, coment\'ario e posf\'acio}%
                       {ed., trad., coment\adddot\ e posf\adddot}},
-  editorstrcoaf    = {{editores, tradutores, comentadores e posf\'acio}%
-                      {eds., trad., coment\adddot\ e posf\adddot}},
-  editortranin     = {{editor, tradutor, anotador e introdu\c{c}\~ao}%
-                      {ed., trad., anot\adddot\ e introd\adddot}},
-  editorstranin    = {{editores, tradutores, anotadores e introdu\c{c}\~ao}%
-                      {eds., trad., anot\adddot\ e introd\adddot}},
-  editortranfo     = {{editor, tradutor, anotador e pref\'acio}%
-                      {ed., trad., anot\adddot\ e pref\adddot}},
-  editorstranfo    = {{editores, tradutores, anotadores e pref\'acio}%
-                      {eds., trad., anot\adddot\ e pref\adddot}},
-  editortranaf     = {{editor, tradutor, anotador e posf\'acio}%
-                      {ed., trad., anot\adddot\ e posf\adddot}},
-  editorstranaf    = {{editores, tradutores, anotadores e posf\'acio}%
-                      {eds., trad., anot\adddot\ e posf\adddot}},
+  editorstrcoaf    = {{editores, tradutores, coment\'ario e posf\'acio}%
+                      {ed., trad., coment\adddot\ e posf\adddot}},
+  editortranin     = {{editor, tradutor, notas e introdu\c{c}\~ao}%
+                      {ed., trad., notas e introd\adddot}},
+  editorstranin    = {{editores, tradutores, notas e introdu\c{c}\~ao}%
+                      {ed., trad., notas e introd\adddot}},
+  editortranfo     = {{editor, tradutor, notas e pref\'acio}%
+                      {ed., trad., notas e pref\adddot}},
+  editorstranfo    = {{editores, tradutores, notas e pref\'acio}%
+                      {ed., trad., notas e pref\adddot}},
+  editortranaf     = {{editor, tradutor, notas e posf\'acio}%
+                      {ed., trad., notas e posf\adddot}},
+  editorstranaf    = {{editores, tradutores, notas e posf\'acio}%
+                      {ed., trad., notas e posf\adddot}},
   translatorco     = {{tradu\c{c}\~ao e coment\'ario}%
                       {trad\adddot\ e coment\adddot}},
   translatorsco    = {{tradu\c{c}\~ao e coment\'ario}%
@@ -247,7 +247,7 @@
   translatorsanaf  = {{tradu\c{c}\~ao, notas e posf\'acio}%
                       {trad., notas e posf\adddot}},
   organizer        = {{organizador}{org\adddot}},
-  organizers       = {{organizadores}{orgs\adddot}},
+  organizers       = {{organizadores}{org\adddot}},
   byauthor         = {{por}{por}},
   byeditor         = {{editado por}{ed\adddotspace por}},
   bycompiler       = {{compilado por}{comp\adddotspace por}},
@@ -338,9 +338,9 @@
   andothers        = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}},
   andmore          = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}},
   volume           = {{volume}{vol\adddot}},
-  volumes          = {{volumes}{vols\adddot}},
+  volumes          = {{volumes}{vol\adddot}},
   involumes        = {{em}{em}},
-  jourvol          = {{volume}{vol\adddot}},
+  jourvol          = {{volume}{v\adddot}},
   jourser          = {{s\'erie}{s\'er\adddot}},
   book             = {{livro}{livro}},
   part             = {{parte}{parte}},
@@ -364,7 +364,7 @@
   page             = {{p\'agina}{p\adddot}},
   pages            = {{p\'aginas}{pp\adddot}},
   column           = {{coluna}{col\adddot}},
-  columns          = {{colunas}{cols\adddot}},
+  columns          = {{colunas}{col\adddot}},
   line             = {{linha}{l\adddot}},
   lines            = {{linhas}{ll\adddot}},
   verse            = {{verso}{v\adddot}},
@@ -376,7 +376,7 @@
   pagetotal        = {{p\'agina}{p\adddot}},
   pagetotals       = {{p\'aginas}{pp\adddot}},
   columntotal      = {{coluna}{col\adddot}},
-  columntotals     = {{colunas}{cols\adddot}},
+  columntotals     = {{colunas}{col\adddot}},
   linetotal        = {{linha}{l\adddot}},
   linetotals       = {{linhas}{ll\adddot}},
   versetotal       = {{verso}{v\adddot}},
@@ -388,12 +388,12 @@
   in               = {{em}{em}},
   inseries         = {{em}{em}},
   ofseries         = {{de}{de}},
-  number           = {{n\'umero}{n\adddot\textordmasculine}},
+  number           = {{n\'umero}{n\adddot}},
   chapter          = {{cap\'\i tulo}{cap\adddot}},
-% bathesis         = {{}{}},% FIXME: missing
+  bathesis         = {{trabalho de conclus\~ao}{trab\adddotspace de conc\adddot}},
   mathesis         = {{disserta\c{c}\~ao de mestrado}{diss\adddot\ de mestr\adddot}},
   phdthesis        = {{tese de doutorado}{tese de dout\adddot}},
-  candthesis       = {{trabalho de conclus\~ao}{trab\adddotspace de conc\adddot}},
+  candthesis       = {{}{}},% FIXME: missing
   resreport        = {{relat\'orio de pesquisa}{rel\adddotspace de pesq\adddot}},
   techreport       = {{relat\'orio t\'ecnico}{rel\adddotspace t\'ecn\adddot}},
   software         = {{software}{software}},
@@ -426,7 +426,7 @@
   confer           = {{cf\adddot}{cf\adddot}},
   sequens          = {{sq\adddot}{sq\adddot}},
   sequentes        = {{sqq\adddot}{sqq\adddot}},
-  passim           = {{passim}{pass\adddot}},
+  passim           = {{passim}{passim}},
   see              = {{ver}{ver}},
   seealso          = {{ver tamb\'em}{ver tamb\'em}},
   backrefpage      = {{ver p\'agina}{ver p\adddot}},
@@ -461,6 +461,7 @@
   langitalian      = {{italiano}{italiano}},
   langjapanese     = {{japon\^es}{japon\^es}},
   langlatin        = {{latim}{latim}},
+  langlatvian      = {{let\~ao}{let\~ao}},
   langnorwegian    = {{noruegu\^es}{noruegu\^es}},
   langpolish       = {{polon\^es}{polon\^es}},
   langportuguese   = {{portugu{\^e}s}{portugu{\^e}s}},
@@ -469,6 +470,7 @@
   langslovene      = {{esloveno}{esloveno}},
   langspanish      = {{espanhol}{espanhol}},
   langswedish      = {{sueco}{sueco}},
+  langukrainian    = {{ucraniano}{ucraniano}},
   fromamerican     = {{do ingl\^es}{do ingl\^es}},
   frombrazilian    = {{do portugu{\^e}s}{do portugu{\^e}s}},
   frombulgarian    = {{do b\'ulgaro}{do b\'ulgaro}},
@@ -487,6 +489,7 @@
   fromitalian      = {{do italiano}{do italiano}},
   fromjapanese     = {{do japon\^es}{do japon\^es}},
   fromlatin        = {{do latim}{do latim}},
+  fromlatvian      = {{do let\~ao}{do let\~ao}},
   fromnorwegian    = {{do noruegu\^es}{do noruegu\^es}},
   frompolish       = {{do polon\^es}{do polon\^es}},
   fromportuguese   = {{do portugu{\^e}s}{do portugu{\^e}s}},
@@ -495,6 +498,7 @@
   fromslovene      = {{do esloveno}{do esloveno}},
   fromspanish      = {{do espanhol}{do espanhol}},
   fromswedish      = {{do sueco}{do sueco}},
+  fromukrainian    = {{do ucraniano}{do ucraniano}},
   countryde        = {{Alemanha}{DE}},
   countryeu        = {{Uni\~ao Europeia}{EU}},
   countryep        = {{Uni\~ao Europeia}{EP}},

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/bulgarian.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/bulgarian.lbx	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/bulgarian.lbx	2018-03-05 22:15:52 UTC (rev 46851)
@@ -1,7 +1,7 @@
 \ProvidesFile{bulgarian.lbx}
 [\abx at lbxid]
 
-\DeclareRedundantLanguages{bulgarian}{bulgarian} 
+\DeclareRedundantLanguages{bulgarian}{bulgarian}
 
 % This file requires UTF-8 support!
 
@@ -505,10 +505,12 @@
   langitalian      = {{италиански}{итал\adddot}},
   langjapanese     = {{японски}{яп\adddot}},
   langlatin        = {{латински}{лат\adddot}},
+% langlatvian      = {{}{}},% FIXME: missing
   langnorwegian    = {{норвежки}{норв\adddot}},
   langpolish       = {{полски}{пол\adddot}},
   langportuguese   = {{португалски}{порт\adddot}},
   langrussian      = {{русски}{рус\adddot}},
+% langslovak       = {{}{}},% FIXME: missing
   langslovene      = {{словенски}{слов\adddot}},
   langspanish      = {{испански}{исп\adddot}},
   langswedish      = {{шведски}{швед\adddot}},
@@ -530,10 +532,12 @@
   fromitalian      = {{от италиански}{от\addabbrvspace итал\adddot}},
   fromjapanese     = {{от японски}{от\addabbrvspace яп\adddot}},
   fromlatin        = {{от латински}{от\addabbrvspace лат\adddot}},
+% fromlatvian      = {{}{}},% FIXME: missing
   fromnorwegian    = {{от норвежки}{от\addabbrvspace норв\adddot}},
   frompolish       = {{от полски}{от пол\adddot}},
   fromportuguese   = {{от португалски}{от\addabbrvspace порт\adddot}},
   fromrussian      = {{от руски}{от\addabbrvspace рус\adddot}},
+% fromslovak       = {{}{}},% FIXME: missing
   fromslovene      = {{от словенски}{от\addabbrvspace слов\adddot}},
   fromspanish      = {{от испански}{от\addabbrvspace исп\adddot}},
   fromswedish      = {{от шведски}{от\addabbrvspace швед\adddot}},

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/catalan.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/catalan.lbx	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/catalan.lbx	2018-03-05 22:15:52 UTC (rev 46851)
@@ -480,10 +480,12 @@
   langgreek        = {{grec}{grec}},
   langitalian      = {{itali\`a}{it\adddot}},
   langlatin        = {{llat{\'\i}}{ll\adddot}},
+% langlatvian      = {{}{}},% FIXME: missing
   langnorwegian    = {{noruec}{nor\adddot}},
   langpolish       = {{polon\`es}{pol\adddot}},
   langportuguese   = {{portugu\`es}{port\adddot}},
   langrussian      = {{rus}{rus}},
+% langslovak       = {{}{}},% FIXME: missing
   langslovene      = {{eslov\`e}{esl\adddot}},
   langspanish      = {{castell\`a}{cast\adddot}},
   langswedish      = {{suec}{suec}},
@@ -504,10 +506,12 @@
   fromgreek        = {{del grec}{del grec}},
   fromitalian      = {{de l'itali\`a}{de l'it\adddot}},
   fromlatin        = {{del llat{\'\i}}{del ll\adddot}},
+% fromlatvian      = {{}{}},% FIXME: missing
   fromnorwegian    = {{del noruec}{del nor\adddot}},
   frompolish       = {{del polon\`es}{del pol\adddot}},
   fromportuguese   = {{del portugu\`es}{del port\adddot}},
   fromrussian      = {{del rus}{del rus}},
+% fromslovak       = {{}{}},% FIXME: missing
   fromslovene      = {{de l'eslov\`e}{de l'esl\adddot}},
   fromspanish      = {{del castell\`a}{del cast\adddot}},
   fromswedish      = {{del suec}{del suec}},
@@ -534,7 +538,7 @@
   abstract         = {{resum}{res\adddot}},
   annotation       = {{nota}{n\adddot}},
   commonera        = {{Era Comuna}{EC}},
-  beforecommonera  = {{abans de l’Era Comuna}{AEC}},
+  beforecommonera  = {{abans de l'Era Comuna}{AEC}},
   annodomini       = {{despr\'es de Crist}{dC}},
   beforechrist     = {{abans de Crist}{aC}},
 % circa            = {{}{}},% FIXME: missing

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/croatian.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/croatian.lbx	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/croatian.lbx	2018-03-05 22:15:52 UTC (rev 46851)
@@ -130,7 +130,7 @@
   afterword        = {{pogovor}{pogovor}},
   editortr         = {{prijevod i obrada}{ur\adddotspace i prev\adddot}},
   editorstr        = {{prijevod i obrada}{ur\adddotspace i prev\adddot}},
-  editorco         = {{obrada i komentari}% gender neutral 
+  editorco         = {{obrada i komentari}% gender neutral
                       {obrada i komentari}},
   editorsco        = {{obrada i komentari}%
                       {obrada i komentari}},
@@ -489,10 +489,12 @@
   langgreek        = {{gr\v{c}ki}{gr\v{c}ki}},
   langitalian      = {{talijanski}{talijanski}},
   langlatin        = {{latinski}{latinski}},
+% langlatvian      = {{}{}},% FIXME: missing
   langnorwegian    = {{norve\v{s}ki}{norve\v{s}ki}},
 % langpolish       = {{}{}},% FIXME: missing
   langportuguese   = {{portugalski}{portugalski}},
 % langrussian      = {{}{}},% FIXME: missing
+% langslovak       = {{}{}},% FIXME: missing
 % langslovene      = {{}{}},% FIXME: missing
   langspanish      = {{\v{s}panjolski}{\v{s}panjolski}},
   langswedish      = {{\v{s}vedski}{\v{s}vedski}},
@@ -513,10 +515,12 @@
   fromgreek        = {{s gr\v{c}kog}{s gr\v{c}kog}},
   fromitalian      = {{s talijanskog}{s talijanskog}},
   fromlatin        = {{s latinskog}{s latinskog}},
+% fromlatvian      = {{}{}},% FIXME: missing
   fromnorwegian    = {{s norve\v{s}kog}{s norve\v{s}kog}},
 % frompolish       = {{}{}},% FIXME: missing
   fromportuguese   = {{s portugalskog}{s portugalskog}},
 % fromrussian      = {{}{}},% FIXME: missing
+% fromslovak       = {{}{}},% FIXME: missing
 % fromslovene      = {{}{}},% FIXME: missing
   fromspanish      = {{sa \v{s}panjolskog}{sa \v{s}panjolskog}},
   fromswedish      = {{sa \v{s}vedskog}{sa \v{s}vedskog}},

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/czech.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/czech.lbx	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/czech.lbx	2018-03-05 22:15:52 UTC (rev 46851)
@@ -401,9 +401,11 @@
   langgreek        = {{\v{r}e\v{c}tina}{\v{r}e\v{c}\adddot}},
   langitalian      = {{ital\v{s}tina}{ital\adddot}},
   langlatin        = {{latina}{lat\adddot}},
+% langlatvian      = {{}{}},% FIXME: missing
   langnorwegian    = {{nor\v{s}tina}{nor\v{s}\adddot}},
 % langpolish       = {{}{}},% FIXME: missing
   langportuguese   = {{portugal\v{s}tina}{port\adddot}},
+% langslovak       = {{}{}},% FIXME: missing
 % langslovene      = {{}{}},% FIXME: missing
   langspanish      = {{\v{s}pan\v{e}l\v{s}tina}{\v{s}pa\v{n}\adddot}},
   langswedish      = {{\v{s}v\'{e}d\v{s}tina}{\v{s}v\'{e}d\adddot}},
@@ -424,9 +426,11 @@
   fromgreek        = {{z \v{r}e\v{c}tiny}{z \v{r}e\v{c}\adddot}},
   fromitalian      = {{z ital\v{s}tiny}{z ital\adddot}},
   fromlatin        = {{z latiny}{z lat\adddot}},
+% fromlatvian      = {{}{}},% FIXME: missing
   fromnorwegian    = {{z nor\v{s}tiny}{z nor\adddot}},
 % frompolish       = {{}{}},% FIXME: missing
   fromportuguese   = {{z portugal\v{s}tiny}{z portugal\v{s}tiny}},
+% fromslovak       = {{}{}},% FIXME: missing
 % fromslovene      = {{}{}},% FIXME: missing
   fromspanish      = {{ze \v{s}pan\v{e}l\v{s}tiny}{ze \v{s}pa\v{n}\adddot}},
   fromswedish      = {{ze \v{s}v\'{e}d\v{s}tiny}{ze \v{s}v\'{e}d\adddot}},

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx	2018-03-05 22:15:52 UTC (rev 46851)
@@ -305,15 +305,15 @@
   byeditortrcoaf   = {{udgivet, oversat \lbx at lfromlang, kommenteret og med et efterord skrevet af}%
                       {udg.,\addabbrvspace oversat \lbx at sfromlang, komm\adddot\ og med et efterord skrev\adddot\ af}},
   byeditortranin   = {{udgivet, oversat \lbx at lfromlang, forklaret og med en indledning skrevet af}%
-                      {udg.,\addabbrvspace oversat \lbx at sfromlang, forkl\adddot\ og med en indl\adddot\ skrev\adddot\ af}}, 
+                      {udg.,\addabbrvspace oversat \lbx at sfromlang, forkl\adddot\ og med en indl\adddot\ skrev\adddot\ af}},
   byeditortranfo   = {{udgivet, oversat \lbx at lfromlang, forklaret og med et forord skrevet af}%
                       {udg.,\addabbrvspace oversat \lbx at sfromlang, forkl\adddot\ og med et forord skrev\adddot\ af}},
   byeditortranaf   = {{udgivet, oversat \lbx at lfromlang, forklaret og med et efterord skrevet af}%
-                      {udg.,\addabbrvspace oversat \lbx at sfromlang, forkl\adddot\ og med et efterord skrev\adddot\ af}}, 
+                      {udg.,\addabbrvspace oversat \lbx at sfromlang, forkl\adddot\ og med et efterord skrev\adddot\ af}},
   bytranslatorco   = {{oversat \lbx at lfromlang\ og kommenteret af}%
                       {oversat \lbx at sfromlang\ og komm\adddot\ af}},
   bytranslatoran   = {{oversat \lbx at lfromlang\ og forklaret af}%
-                      {oversat \lbx at sfromlang\ og forkl\adddot\ af}}, 
+                      {oversat \lbx at sfromlang\ og forkl\adddot\ af}},
   bytranslatorin   = {{oversat \lbx at lfromlang\ og med en indledning skrevet af}%
                       {oversat \lbx at sfromlang\ og med en indl\adddot\ skrev\adddot\ af}},
   bytranslatorfo   = {{oversat \lbx at lfromlang\ og med et forord skrevet af}%
@@ -336,7 +336,7 @@
   andothers        = {{med flere}{m.fl\adddot}},% FIXME: spacing after abbreviation dot?
   andmore          = {{med flere}{m.fl\adddot}},% FIXME: spacing after abbreviation dot?
   volume           = {{bind}{bd\adddot}},
-  volumes          = {{bind}{bd\adddot}}, 
+  volumes          = {{bind}{bd\adddot}},
   involumes        = {{i}{i}},
   jourvol          = {{\aa rgang}{\aa g\adddot}},
   jourser          = {{serie}{ser\adddot}},
@@ -402,8 +402,8 @@
   candthesis       = {{kandidatafhandling}{kandidatafh\adddot}},% FIXME: check
   resreport        = {{forskningsrapport}{forskningsrap\adddot}},
   techreport       = {{teknisk rapport}{tek\adddot\ rap\adddot}},
-  software         = {{software}{software}}, 
-  datacd           = {{data-cd}{data-cd}}, 
+  software         = {{software}{software}},
+  datacd           = {{data-cd}{data-cd}},
   audiocd          = {{lyd-cd}{lyd-cd}},
   version          = {{version}{vers\adddot}},
   url              = {{side}{side}},
@@ -468,10 +468,12 @@
   langgreek        = {{gr\ae sk}{gr\ae sk}},
   langitalian      = {{italiensk}{italiensk}},
   langlatin        = {{latin}{latin}},
+% langlatvian      = {{}{}},% FIXME: missing
   langnorwegian    = {{norsk}{norsk}},
   langpolish       = {{polsk}{polsk}},
-  langportuguese   = {{portugisisk}{portugisisk}},% FIXME: missing
+  langportuguese   = {{portugisisk}{portugisisk}},
   langrussian      = {{russisk}{russisk}},
+% langslovak       = {{}{}},% FIXME: missing
   langslovene      = {{slovensk}{slovensk}},
   langspanish      = {{spansk}{spansk}},
   langswedish      = {{svensk}{svensk}},
@@ -492,10 +494,12 @@
   fromgreek        = {{fra gr\ae sk}{fra gr\ae sk}},
   fromitalian      = {{fra italiensk}{fra italiensk}},
   fromlatin        = {{fra latin}{fra latin}},
+% fromlatvian      = {{}{}},% FIXME: missing
   fromnorwegian    = {{fra norsk}{fra norsk}},
   frompolish       = {{fra polsk}{fra polsk}},
   fromportuguese   = {{fra portugisisk}{fra portugisisk}},
   fromrussian      = {{fra russisk}{fra russisk}},
+% fromslovak       = {{}{}},% FIXME: missing
   fromslovene      = {{fra slovensk}{fra slovensk}},
   fromspanish      = {{fra spansk}{fra spansk}},
   fromswedish      = {{fra svensk}{fra svensk}},
@@ -507,11 +511,11 @@
   countryus        = {{USA}{US}},
   patent           = {{patent}{patent}},
   patentde         = {{tysk patent}{tys\adddot\ pat\adddot}},
-  patenteu         = {{europ\ae isk patent}{eur\adddot\ pat\adddot}}, 
+  patenteu         = {{europ\ae isk patent}{eur\adddot\ pat\adddot}},
   patentfr         = {{fransk patent}{fra\adddot\ pat\adddot}},
   patentuk         = {{britisk patent}{brit\adddot pat\adddot}},
   patentus         = {{amerikansk patent}{amerikansk pat\adddot}},
-  patreq           = {{ans\o gning om patent}{pat\adddot\ ans\o gn\adddot}}, 
+  patreq           = {{ans\o gning om patent}{pat\adddot\ ans\o gn\adddot}},
   patreqde         = {{ans\o gning om tysk patent}{tys\adddot\ pat\adddot\ ans\o gn\adddot}},
   patreqeu         = {{ans\o gning om europ\ae isk patent}{eur\adddot\ pat\adddot\ ans\o gn\adddot}},
   patreqfr         = {{ans\o gning om fransk patent}{fra\adddot\ pat\adddot\ ans\o gn\adddot}},

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx	2018-03-05 22:15:52 UTC (rev 46851)
@@ -472,6 +472,7 @@
   langitalian      = {{Italiaans}{Italiaans}},
   langjapanese     = {{Japaans}{Japaans}},
   langlatin        = {{Latijn}{Latijn}},
+  langlatvian      = {{Lets}{Lets}},
   langnorwegian    = {{Noors}{Noors}},
   langpolish       = {{Pools}{Pools}},
   langportuguese   = {{Portugees}{Portugees}},
@@ -499,6 +500,7 @@
   fromitalian      = {{uit het Italiaans}{uit het Italiaans}},
   fromjapanese     = {{uit het Japaans}{uit het Japaans}},
   fromlatin        = {{uit het Latijn}{uit het Latijn}},
+  fromlatvian      = {{uit het Lets}{uit het Lets}},
   fromnorwegian    = {{uit het Noors}{uit het Noors}},
   frompolish       = {{uit het Pools}{uit het Pools}},
   fromportuguese   = {{uit het Portugees}{uit het Portugees}},

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/english.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/english.lbx	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/english.lbx	2018-03-05 22:15:52 UTC (rev 46851)
@@ -481,11 +481,14 @@
   langgerman       = {{German}{German}},
   langgreek        = {{Greek}{Greek}},
   langitalian      = {{Italian}{Italian}},
+  langjapanese     = {{Japanese}{Japanese}},
   langlatin        = {{Latin}{Latin}},
+  langlatvian      = {{Latvian}{Latvian}},
   langnorwegian    = {{Norwegian}{Norwegian}},
   langpolish       = {{Polish}{Polish}},
   langportuguese   = {{Portuguese}{Portuguese}},
   langrussian      = {{Russian}{Russian}},
+  langslovak       = {{Slovak}{Slovak}},
   langslovene      = {{Slovene}{Slovene}},
   langspanish      = {{Spanish}{Spanish}},
   langswedish      = {{Swedish}{Swedish}},
@@ -506,11 +509,14 @@
   fromgerman       = {{from the German}{from the German}},
   fromgreek        = {{from the Greek}{from the Greek}},
   fromitalian      = {{from the Italian}{from the Italian}},
+  fromjapanese     = {{from the Japanese}{from the Japanese}},
   fromlatin        = {{from the Latin}{from the Latin}},
+  fromlatvian      = {{from the Latvian}{from the Latvian}},
   fromnorwegian    = {{from the Norwegian}{from the Norwegian}},
   frompolish       = {{from the Polish}{from the Polish}},
   fromportuguese   = {{from the Portuguese}{from the Portuguese}},
   fromrussian      = {{from the Russian}{from the Russian}},
+  fromslovak       = {{from the Slovak}{from the Slovak}},
   fromslovene      = {{from the Slovene}{from the Slovene}},
   fromspanish      = {{from the Spanish}{from the Spanish}},
   fromswedish      = {{from the Swedish}{from the Swedish}},
@@ -551,121 +557,131 @@
 }
 
 \protected\gdef\lbx at us@mkdaterangetrunc at long#1#2{%
-  \iffieldundef{#2year}
-    {}
-    {\datecircaprint
-     \printtext[#2date]{%
-       \iffieldundef{#2season}
-         {\iffieldsequal{#2year}{#2endyear}
-           {\csuse{mkbibdate#1}{}{#2month}{#2day}}
-           {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}%
-            \dateeraprint{#2}}}
-         {\iffieldsequal{#2year}{#2endyear}
-           {\csuse{mkbibseasondate#1}{}{#2season}}
-           {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
-            \dateeraprint{#2}}%
-       \dateuncertainprint
-       \iffieldundef{#2endyear}
-         {}
-         {\iffieldequalstr{#2endyear}{}
-           {\mbox{\bibdaterangesep}}
-           {\bibdaterangesep
-            \enddatecircaprint
-            \iffieldundef{#2season}
-              {\iffieldsequal{#2year}{#2endyear}
-                {\iffieldsequal{#2month}{#2endmonth}
-                  {\csuse{mkbibdate#1}{#2endyear}{}{#2endday}}
+  \begingroup
+    \blx at metadateinfo{#2}%
+    \iffieldundef{#2year}
+      {}
+      {\printtext[#2date]{%
+         \datecircaprint
+         \iffieldundef{#2season}
+           {\iffieldsequal{#2year}{#2endyear}
+             {\csuse{mkbibdate#1}{}{#2month}{#2day}}
+             {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}}%
+           {\iffieldsequal{#2year}{#2endyear}
+             {\csuse{mkbibseasondate#1}{}{#2season}}
+             {\csuse{mkbibseasondate#1}{#2year}{#2season}}}%
+         \dateeraprint{#2year}%
+         \dateuncertainprint
+         \iffieldundef{#2endyear}
+           {}
+           {\iffieldequalstr{#2endyear}{}
+             {\mbox{\bibdaterangesep}}
+             {\bibdaterangesep
+              \enddatecircaprint
+              \iffieldundef{#2season}
+                {\iffieldsequal{#2year}{#2endyear}
+                  {\iffieldsequal{#2month}{#2endmonth}
+                    {\csuse{mkbibdate#1}{#2endyear}{}{#2endday}}
+                    {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}
                   {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}
-                {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}
-              {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
-            \enddateuncertainprint
-            \dateeraprint{#2}}}}}}
+                {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
+              \enddateuncertainprint
+              \dateeraprint{#2endyear}}}}}%
+  \endgroup}
 
 \protected\gdef\lbx at us@mkdaterangetrunc at short#1#2{%
-  \iffieldundef{#2year}
-    {}
-    {\datecircaprint
-     \printtext[#2date]{%
-       \iffieldundef{#2season}
-         {\iffieldsequal{#2year}{#2endyear}
-           {\csuse{mkbibdate#1}{}{#2month}{#2day}}
-           {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}
-            \dateeraprint{#2}}}
-         {\iffieldsequal{#2year}{#2endyear}
-           {\csuse{mkbibseasondate#1}{}{#2season}}
-           {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
-            \dateeraprint{#2}}%
-       \dateuncertainprint
-       \iffieldundef{#2endyear}
-         {}
-         {\iffieldequalstr{#2endyear}{}
-            {\mbox{\bibdaterangesep}}
-            {\bibdaterangesep
-             \enddatecircaprint
-             \iffieldundef{#2season}
-               {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
-               {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
-             \enddateuncertainprint
-             \dateeraprint{#2}}}}}}
+  \begingroup
+    \blx at metadateinfo{#2}%
+    \iffieldundef{#2year}
+      {}
+      {\printtext[#2date]{%
+         \datecircaprint
+         \iffieldundef{#2season}
+           {\iffieldsequal{#2year}{#2endyear}
+             {\csuse{mkbibdate#1}{}{#2month}{#2day}}
+             {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}}
+           {\iffieldsequal{#2year}{#2endyear}
+             {\csuse{mkbibseasondate#1}{}{#2season}}
+             {\csuse{mkbibseasondate#1}{#2year}{#2season}}}%
+         \dateeraprint{#2year}%
+         \dateuncertainprint
+         \iffieldundef{#2endyear}
+           {}
+           {\iffieldequalstr{#2endyear}{}
+              {\mbox{\bibdaterangesep}}
+              {\bibdaterangesep
+               \enddatecircaprint
+               \iffieldundef{#2season}
+                 {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
+                 {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
+               \enddateuncertainprint
+               \dateeraprint{#2endyear}}}}}%
+  \endngroup}
 
 \protected\gdef\lbx at us@mkdaterangetruncextra at long#1#2{%
-  \iffieldundef{#2year}
-    {}
-    {\datecircaprint
-     \printtext[#2date]{%
-       \iffieldundef{#2season}
-         {\iffieldsequal{#2year}{#2endyear}
-           {\csuse{mkbibdate#1}{}{#2month}{#2day}}
-           {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}}
-         {\iffieldsequal{#2year}{#2endyear}
-           {\csuse{mkbibseasondate#1}{}{#2season}}
-           {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
-            \dateeraprint{#2}}%
-       \dateuncertainprint
-       \iffieldundef{#2endyear}
-         {\printfield{extradate}}
-         {\iffieldequalstr{#2endyear}{}
-            {\printfield{extradate}%
-             \mbox{\bibdaterangesep}}
-            {\bibdaterangesep
-             \enddatecircaprint
-             \iffieldundef{#2season}
-               {\iffieldsequal{#2year}{#2endyear}
-                 {\iffieldsequal{#2month}{#2endmonth}
-                    {\csuse{mkbibdate#1}{#2endyear}{}{#2endday}}
-                    {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}
-                 {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}
-               {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
-             \printfield{extradate}%
-             \enddateuncertainprint
-             \dateeraprint{#2}}}}}}
+  \begingroup
+    \blx at metadateinfo{#2}%
+    \iffieldundef{#2year}
+      {}
+      {\printtext[#2date]{%
+         \datecircaprint
+         \iffieldundef{#2season}
+           {\iffieldsequal{#2year}{#2endyear}
+             {\csuse{mkbibdate#1}{}{#2month}{#2day}}
+             {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}}
+           {\iffieldsequal{#2year}{#2endyear}
+             {\csuse{mkbibseasondate#1}{}{#2season}}
+             {\csuse{mkbibseasondate#1}{#2year}{#2season}}}%
+         \dateeraprint{#2year}%
+         \dateuncertainprint
+         \iffieldundef{#2endyear}
+           {\printfield{extradate}}
+           {\iffieldequalstr{#2endyear}{}
+              {\printfield{extradate}%
+               \mbox{\bibdaterangesep}}
+              {\bibdaterangesep
+               \enddatecircaprint
+               \iffieldundef{#2season}
+                 {\iffieldsequal{#2year}{#2endyear}
+                   {\iffieldsequal{#2month}{#2endmonth}
+                      {\csuse{mkbibdate#1}{#2endyear}{}{#2endday}}
+                      {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}
+                   {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}
+                 {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
+               \printfield{extradate}%
+               \enddateuncertainprint
+               \dateeraprint{#2endyear}}}}}%
+  \endgroup}
 
 \protected\gdef\lbx at us@mkdaterangetruncextra at short#1#2{%
-  \iffieldundef{#2year}
-    {}
-    {\datecircaprint
-     \printtext[#2date]{%
-       \iffieldundef{#2season}
-         {\iffieldsequal{#2year}{#2endyear}
-           {\csuse{mkbibdate#1}{}{#2month}{#2day}}
-           {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}}
-         {\iffieldsequal{#2year}{#2endyear}
-           {\csuse{mkbibseasondate#1}{}{#2season}}
-           {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
-            \dateeraprint{#2}}%
-       \dateuncertainprint
-       \iffieldundef{#2endyear}
-         {\printfield{extradate}}
-         {\iffieldequalstr{#2endyear}{}
-            {\printfield{extradate}%
-          \mbox{\bibdaterangesep}}
-         {\bibdaterangesep
-          \enddatecircaprint
-          \iffieldundef{#2season}
-            {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
-            {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
-          \printfield{extradate}%
-          \enddateuncertainprint
-          \dateeraprint{#2}}}}}}
+  \begingroup
+    \blx at metadateinfo{#2}%
+    \iffieldundef{#2year}
+      {}
+      {\printtext[#2date]{%
+         \datecircaprint
+         \iffieldundef{#2season}
+           {\iffieldsequal{#2year}{#2endyear}
+             {\csuse{mkbibdate#1}{}{#2month}{#2day}}
+             {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}}
+           {\iffieldsequal{#2year}{#2endyear}
+             {\csuse{mkbibseasondate#1}{}{#2season}}
+             {\csuse{mkbibseasondate#1}{#2year}{#2season}}}%
+         \dateeraprint{#2year}%
+         \dateuncertainprint
+         \iffieldundef{#2endyear}
+           {\printfield{extradate}}
+           {\iffieldequalstr{#2endyear}{}
+              {\printfield{extradate}%
+            \mbox{\bibdaterangesep}}
+           {\bibdaterangesep
+            \enddatecircaprint
+            \iffieldundef{#2season}
+              {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}
+              {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}%
+            \printfield{extradate}%
+            \enddateuncertainprint
+            \dateeraprint{#2endyear}}}}}%
+  \endgroup}
 
 \endinput

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/estonian.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/estonian.lbx	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/estonian.lbx	2018-03-05 22:15:52 UTC (rev 46851)
@@ -510,10 +510,12 @@
   langgreek        = {{kreeka}{kreeka}},
   langitalian      = {{itaalia}{itaalia}},
   langlatin        = {{ladina}{ladina}},
+% langlatvian      = {{}{}},% FIXME: missing
   langnorwegian    = {{norra}{norra}},
   langpolish       = {{poola}{poola}},
   langportuguese   = {{portugali}{portugali}},
   langrussian      = {{vene}{vene}},
+% langslovak       = {{}{}},% FIXME: missing
   langslovene      = {{sloveeni}{sloveeni}},
   langspanish      = {{hispaania}{hispaania}},
   langswedish      = {{rootsi}{rootsi}},
@@ -534,10 +536,12 @@
   fromgreek        = {{alates Kreeka}{alates Kreeka}},
   fromitalian      = {{alates Itaalia}{: Itaalia}},
   fromlatin        = {{alates Ladina}{: Ladina}},
+% fromlatvian      = {{}{}},% FIXME: missing
   fromnorwegian    = {{alates Norra}{: Norra}},
   frompolish       = {{alates Poola} {alates Poola}},
   fromportuguese   = {{alates Portugali}{: Portugali}},
   fromrussian      = {{alates Vene}{: vene}},
+% fromslovak       = {{}{}},% FIXME: missing
   fromslovene      = {{alates sloveeni}{: sloveeni}},
   fromspanish      = {{alates Hispaania}{alates Hispaania}},
   fromswedish      = {{alates Rootsi}{: Rootsi}},

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/finnish.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/finnish.lbx	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/finnish.lbx	2018-03-05 22:15:52 UTC (rev 46851)
@@ -445,7 +445,7 @@
   forthcoming      = {{hyv\"aksytty julkaistavaksi}{hyv\"aksytty julkaistavaksi}},% FIXME: unsure
   inpress          = {{painossa}{painossa}},% FIXME: unsure
   prepublished     = {{esijulkaistu}{esijulkaistu}},% FIXME: unsure
-  citedas          = {{jatkossa}{jatkossa}}, 
+  citedas          = {{jatkossa}{jatkossa}},
   thiscite         = {{t\"am\"a lainaus}{t\"am\"a lainaus}},% FIXME: unsure
   seenote          = {{katso viite}{katso viite}},
   quotedin         = {{lainattu teoksessa}{lainattu teoksessa}},
@@ -509,10 +509,12 @@
   langgreek        = {{kreikka}{kreikka}},
   langitalian      = {{italia}{italia}},
   langlatin        = {{latina}{latina}},
+% langlatvian      = {{}{}},% FIXME: missing
   langnorwegian    = {{norja}{norja}},
   langpolish       = {{puola}{puola}},
   langportuguese   = {{portugali}{portugali}},
   langrussian      = {{ven\"aj\"a}{ven\"aj\"a}},
+% langslovak       = {{}{}},% FIXME: missing
 % langslovene      = {{}{}},% FIXME: missing
   langspanish      = {{espanja}{espanja}},
   langswedish      = {{ruotsi}{ruotsi}},
@@ -533,10 +535,12 @@
   fromgreek        = {{kreikan kielest\"a}{kreikan kielest\"a}},
   fromitalian      = {{italian kielest\"a}{italian kielest\"a}},
   fromlatin        = {{latinan kielest\"a}{latinan kielest\"a}},
+% fromlatvian      = {{}{}},% FIXME: missing
   fromnorwegian    = {{norjan kielest\"a}{norjan kielest\"a}},
   frompolish       = {{puolan kielest\"a}{puolan kielest\"a}},
   fromportuguese   = {{portugalin kielest\"a}{portugalin kielest\"a}},
   fromrussian      = {{ven\"aj\"an kielest\"a}{ven\"aj\"an kielest\"a}},
+% fromslovak       = {{}{}},% FIXME: missing
 % fromslovene      = {{}{}},% FIXME: missing
   fromspanish      = {{espanjan kielest\"a}{espanjan kielest\"a}},
   fromswedish      = {{ruotsin kielest\"a}{ruotsin kielest\"a}},

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx	2018-03-05 22:15:52 UTC (rev 46851)
@@ -415,7 +415,7 @@
   ofseries         = {{de}{de}},
   number           = {{num\'ero}{n\textsuperscript{o}}},
   chapter          = {{chapitre}{chap\adddot}},
-% bathesis         = {{}{}},% FIXME: missing
+  bathesis         = {{m\'emoire de bachelor}{m\'em\adddotspace de bach\adddot}},
   mathesis         = {{m\'emoire de master}{m\'em\adddotspace de mast\adddot}},
   phdthesis        = {{th\`ese de doctorat}{th\`ese de doct\adddot}},
   candthesis       = {{th\`ese de candidature}{th\`ese de cand\adddot}},
@@ -486,6 +486,7 @@
   langitalian      = {{italien}{italien}},
   langjapanese     = {{japonais}{japonais}},
   langlatin        = {{latin}{latin}},
+% langlatvian      = {{}{}},% FIXME: missing
   langnorwegian    = {{norv\'egien}{norv\'egien}},
   langpolish       = {{polonais}{polonais}},
   langportuguese   = {{portugais}{portugais}},
@@ -513,6 +514,7 @@
   fromitalian      = {{de l'italien}{de l'italien}},
   fromjapanese     = {{du japonais}{du japonais}},
   fromlatin        = {{du latin}{du latin}},
+% fromlatvian      = {{}{}},% FIXME: missing
   fromnorwegian    = {{du norv\'egien}{du norv\'egien}},
   frompolish       = {{du polonais}{du polonais}},
   fromportuguese   = {{du portugais}{du portugais}},
@@ -544,13 +546,13 @@
   library          = {{biblioth\`eque}{biblioth\adddot}},
   abstract         = {{r\'esum\'e}{r\'es\adddot}},
   annotation       = {{annotations}{annotations}},
-  commonera        = {{de l’\`ere commune}{EC}},
-  beforecommonera  = {{avant l’\`ere commune}{AEC}},
+  commonera        = {{de l'\`ere commune}{EC}},
+  beforecommonera  = {{avant l'\`ere commune}{AEC}},
   annodomini       = {{apr\`es J\'esus-Christ}{apr\adddotspace J\adddot-C\adddot}},
   beforechrist     = {{avant J\'esus-Christ}{av\adddotspace J\adddot-C\adddot}},
   circa            = {{vers}{vers}},
   spring           = {{printemps}{printemps}},
-  summer           = {{été}{été}},
+  summer           = {{\'et\'e}{\'et\'e}},
   autumn           = {{automne}{automne}},
   winter           = {{hiver}{hiver}},
   am               = {{AM}{AM}},

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/galician.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/galician.lbx	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/galician.lbx	2018-03-05 22:15:52 UTC (rev 46851)
@@ -459,10 +459,12 @@
   langgreek        = {{grego}{grego}},
   langitalian      = {{italiano}{ital\adddot}},
   langlatin        = {{lat\'in}{lat\adddot}},
+% langlatvian      = {{}{}},% FIXME: missing
   langnorwegian    = {{noruegu\'es}{nor\adddot}},
   langpolish       = {{polaco}{pol\adddot}},
   langportuguese   = {{portugu\'es}{port\adddot}},
   langrussian      = {{ruso}{ruso}},
+% langslovak       = {{}{}},% FIXME: missing
   langslovene      = {{esloveno}{eslov\adddot}},
   langspanish      = {{castel\'an}{cast\adddot}},
   langswedish      = {{sueco}{sueco}},
@@ -483,10 +485,12 @@
   fromgreek        = {{do grego}{do grego}},
   fromitalian      = {{do italiano}{do ital\adddot}},
   fromlatin        = {{do lat\'in'}{do lat\adddot}},
+% fromlatvian      = {{}{}},% FIXME: missing
   fromnorwegian    = {{do noruegu\'es}{do nor\adddot}},
   frompolish       = {{do polaco}{do pol\adddot}},
   fromportuguese   = {{do portugu\'es}{do port\adddot}},
   fromrussian      = {{do ruso}{do ruso}},
+% fromslovak       = {{}{}},% FIXME: missing
   fromslovene      = {{do esloveno}{do eslov\adddot}},
   fromspanish      = {{do castel\'an}{do cast\adddot}},
   fromswedish      = {{do sueco}{do sueco}},

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/german.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/german.lbx	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/german.lbx	2018-03-05 22:15:52 UTC (rev 46851)
@@ -468,6 +468,7 @@
   langitalian      = {{Italienisch}{Italienisch}},
   langjapanese     = {{Japanisch}{Japanisch}},
   langlatin        = {{Lateinisch}{Lateinisch}},
+  langlatvian      = {{Lettisch}{Lettisch}},
   langnorwegian    = {{Norwegisch}{Norwegisch}},
   langpolish       = {{Polnisch}{Polnisch}},
   langportuguese   = {{Portugiesisch}{Portugiesisch}},
@@ -495,6 +496,7 @@
   fromitalian      = {{aus dem Italienischen}{aus dem Italienischen}},
   fromjapanese     = {{aus dem Japanischen}{aus dem Japanischen}},
   fromlatin        = {{aus dem Lateinischen}{aus dem Lateinischen}},
+  fromlatvian      = {{aus dem Lettischen}{aus dem Lettischen}},
   fromnorwegian    = {{aus dem Norwegischen}{aus dem Norwegischen}},
   frompolish       = {{aus dem Polnischen}{aus dem Polnischen}},
   fromportuguese   = {{aus dem Portugiesischen}{aus dem Portugiesischen}},

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx	2018-03-05 22:15:52 UTC (rev 46851)
@@ -2,10 +2,10 @@
 [\abx at lbxid]
 
 % Translator's notes:
-% 
+%
 % The translations should be OK but should also be tested against
 % enough real data. Especially:
-% 
+%
 % a) Abbreviations should be checked
 % b) Issues concerning grammatical gender have not been studied
 %
@@ -486,10 +486,12 @@
   langgreek        = {{Ελληνικά}{Ελληνικά}},
   langitalian      = {{Ιταλικά}{Ιταλικά}},
   langlatin        = {{Λατινικά}{Λατινικά}},
+% langlatvian      = {{}{}},% FIXME: missing
   langnorwegian    = {{Νορβηγικά}{Νορβηγικά}},
 % langpolish       = {{}{}},% FIXME: missing
   langportuguese   = {{Πορτογαλικά}{Πορτογαλικά}},
 % langrussian      = {{}{}},% FIXME: missing
+% langslovak       = {{}{}},% FIXME: missing
 % langslovene      = {{}{}},% FIXME: missing
   langspanish      = {{Ισπανικά}{Ισπανικά}},
   langswedish      = {{Σουηδικά}{Σουηδικά}},
@@ -510,10 +512,12 @@
   fromgreek        = {{από τα Ελληνικά}{από τα Ελληνικά}},
   fromitalian      = {{από τα Ιταλικά}{από τα Ιταλικά}},
   fromlatin        = {{από τα Λατινικά}{από τα Λατινικά}},
+% fromlatvian      = {{}{}},% FIXME: missing
   fromnorwegian    = {{από τα Νορβηγικά}{από τα Νορβηγικά}},
 % frompolish       = {{}{}},% FIXME: missing
   fromportuguese   = {{από τα Πορτογαλικά}{από τα Πορτογαλικά}},
 % fromrussian      = {{}{}},% FIXME: missing
+% fromslovak       = {{}{}},% FIXME: missing
 % fromslovene      = {{}{}},% FIXME: missing
   fromspanish      = {{από τα Ισπανικά}{από τα Ισπανικά}},
   fromswedish      = {{από τα Σουηδικά}{από τα Σουηδικά}},

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/icelandic.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/icelandic.lbx	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/icelandic.lbx	2018-03-05 22:15:52 UTC (rev 46851)
@@ -409,10 +409,12 @@
   langgreek        = {{gr\'{\i}ska}{gr\'{\i}ska}},
   langitalian      = {{\'{\i}talska}{\'{\i}talska}},
   langlatin        = {{lat\'{\i}na}{lat\'{\i}na}},
+% langlatvian      = {{}{}},% FIXME: missing
   langnorwegian    = {{norska}{norska}},
   langpolish       = {{p\'olska}{p\'olska}},
   langportuguese   = {{port\'ugalska}{port\'ugalska}},
   langrussian      = {{r\'ussneska}{r\'ussneska}},
+% langslovak       = {{}{}},% FIXME: missing
 % langslovene      = {{}{}},% FIXME: missing
   langspanish      = {{sp\ae{}nska}{sp\ae{}nska}},
   langswedish      = {{s\ae{}nska}{s\ae{}nska}},
@@ -433,10 +435,12 @@
   fromgreek        = {{\'ur gr\'{\i}sku}{\'ur gr\'{\i}sku}},
   fromitalian      = {{\'ur \'{\i}t\"olsku}{\'ur \'{\i}t\"olsku}},
   fromlatin        = {{\'ur lat\'{\i}nu}{\'ur lat\'{\i}nu}},
+% fromlatvian      = {{}{}},% FIXME: missing
   fromnorwegian    = {{\'ur norsku}{\'ur norsku}},
   frompolish       = {{\'ur p\'olsku}{\'ur p\'olsku}},
   fromportuguese   = {{\'ur port\'ug\"olsku}{\'ur port\'ug\"olsku}},
   fromrussian      = {{\'ur r\'ussnesku}{\'ur r\'ussnesku}},
+% fromslovak       = {{}{}},% FIXME: missing
 % fromslovene      = {{}{}},% FIXME: missing
   fromspanish      = {{\'ur sp\ae{}nsku}{\'ur sp\ae{}nsku}},
   fromswedish      = {{\'ur s\ae{}nsku}{\'ur s\ae{}nsku}},

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/italian.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/italian.lbx	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/italian.lbx	2018-03-05 22:15:52 UTC (rev 46851)
@@ -87,8 +87,8 @@
   shorthands       = {{Elenco delle sigle}{Sigle}},
   editor           = {{curatore}{cur\adddot}},
   editors          = {{curatori}{cur\adddot}},
-  compiler         = {{compilatore}{comp\adddot}}, 
-  compilers        = {{compilatori}{comp\adddot}}, 
+  compiler         = {{compilatore}{comp\adddot}},
+  compilers        = {{compilatori}{comp\adddot}},
   redactor         = {{redattore}{red\adddot}},
   redactors        = {{redattori}{red\adddot}},
 % reviser          = {{}{}},% FIXME: missing
@@ -280,7 +280,7 @@
   newseries        = {{nuova serie}{nuova ser\adddot}},
   oldseries        = {{vecchia serie}{vecchia ser\adddot}},
   edition          = {{edizione}{ed\adddot}},
-  reprint          = {{ristampa}{rist\adddotspace}}, 
+  reprint          = {{ristampa}{rist\adddotspace}},
   reprintof        = {{ristampa di}{rist\adddotspace di}},
 % reprintas        = {{}{}},% FIXME: missing
 % reprintfrom      = {{}{}},% FIXME: missing
@@ -295,10 +295,10 @@
   nodate           = {{senza\space data}{{}n\adddot d\adddot}},
   page             = {{pagina}{p\adddot}},
   pages            = {{pagine}{pp\adddot}},
-  column           = {{colonna}{col\adddot}},  
+  column           = {{colonna}{col\adddot}},
   columns          = {{colonne}{coll\adddot}},
-  line             = {{riga}{r\adddot}},  
-  lines            = {{righe}{rr\adddot}}, 
+  line             = {{riga}{r\adddot}},
+  lines            = {{righe}{rr\adddot}},
   verse            = {{verso}{v\adddot}},
   verses           = {{versi}{vv\adddot}},
 % section          = {{}{\S}},% FIXME: missing
@@ -305,18 +305,18 @@
 % sections         = {{}{\S\S}},% FIXME: missing
   paragraph        = {{paragrafo}{par\adddot}},
   paragraphs       = {{paragrafi}{par\adddot}},
-% pagetotal        = {{}{}},% FIXME: missing
-% pagetotals       = {{}{}},% FIXME: missing
-% columntotal      = {{}{}},% FIXME: missing
-% columntotals     = {{}{}},% FIXME: missing
-% linetotal        = {{}{}},% FIXME: missing
-% linetotals       = {{}{}},% FIXME: missing
-% versetotal       = {{}{}},% FIXME: missing
-% versetotals      = {{}{}},% FIXME: missing
+  pagetotal        = {{pagina}{p\adddot}},
+  pagetotals       = {{pagine}{pp\adddot}},
+  columntotal      = {{colonna}{col\adddot}},
+  columntotals     = {{colonne}{coll\adddot}},
+  linetotal        = {{riga}{r\adddot}},
+  linetotals       = {{righe}{rr\adddot}},
+  versetotal       = {{verso}{v\adddot}},
+  versetotals      = {{versi}{vv\adddot}},
 % sectiontotal     = {{}{}},% FIXME: missing
 % sectiontotals    = {{}{}},% FIXME: missing
-% paragraphtotal   = {{}{}},% FIXME: missing
-% paragraphtotals  = {{}{}},% FIXME: missing
+  paragraphtotal   = {{paragrafo}{par\adddot}},
+  paragraphtotals  = {{paragrafi}{par\adddot}},
   in               = {{in}{in}},
   inseries         = {{in}{in}},
   ofseries         = {{di}{di}},
@@ -326,12 +326,12 @@
   mathesis         = {{tesi di laurea magistrale}{tesi di laurea mag\adddot}},
   phdthesis        = {{tesi di dottorato}{tesi di dott\adddot}},
 % candthesis       = {{}{}},% FIXME: missing
-  resreport        = {{rapporto di ricerca}{rapporto di ricerca}}, 
+  resreport        = {{rapporto di ricerca}{rapporto di ricerca}},
   techreport       = {{rapporto tecnico}{rapp\adddotspace tecn\adddot}},
 % software         = {{}{}},% FIXME: missing
 % datacd           = {{}{}},% FIXME: missing
 % audiocd          = {{}{}},% FIXME: missing
-  version          = {{versione}{ver\adddot}}, 
+  version          = {{versione}{ver\adddot}},
   url              = {{indirizzo}{indirizzo}},
 % urlfrom          = {{}{}},% FIXME: missing
   urlseen          = {{visitato il}{visitato il}},
@@ -338,12 +338,12 @@
 % inpreparation    = {{}{}},% FIXME: missing
 % submitted        = {{}{}},% FIXME: missing
 % forthcoming      = {{}{}},% FIXME: missing
-  inpress          = {{in stampa}{in stampa}}, 
+  inpress          = {{in stampa}{in stampa}},
 % prepublished     = {{}{}},% FIXME: missing
   citedas          = {{citato come}{cit\adddotspace come}},
 % thiscite         = {{}{}},% FIXME: missing
   seenote          = {{vedi nota}{v\adddotspace nota}},
-  quotedin         = {{citato da}{cit\adddotspace da}}, 
+  quotedin         = {{citato da}{cit\adddotspace da}},
   idem             = {{idem}{idem}},
   idemsm           = {{idem}{idem}},
   idemsf           = {{eadem}{eadem}},
@@ -377,15 +377,15 @@
   december         = {{dicembre}{dic\adddot}},
   langamerican     = {{americano}{americano}},
   langbrazilian    = {{brasiliano}{brasiliano}},
-% langbulgarian    = {{}{}},% FIXME: missing
-% langcatalan      = {{}{}},% FIXME: missing
-% langcroatian     = {{}{}},% FIXME: missing
-% langczech        = {{}{}},% FIXME: missing
+  langbulgarian    = {{bulgaro}{bulgaro}},
+  langcatalan      = {{catalano}{catalano}},
+  langcroatian     = {{croato}{croato}},
+  langczech        = {{ceco}{ceco}},
   langdanish       = {{danese}{danese}},
   langdutch        = {{olandese}{olandese}},
   langenglish      = {{inglese}{inglese}},
-% langestonian     = {{}{}},% FIXME: missing
-% langfinnish      = {{}{}},% FIXME: missing
+  langestonian     = {{estone}{estone}},
+  langfinnish      = {{finlandese}{finlandese}},
   langfrench       = {{francese}{francese}},
   langgalician     = {{galiziano}{galiziano}},
   langgerman       = {{tedesco}{tedesco}},
@@ -392,24 +392,26 @@
   langgreek        = {{greco}{greco}},
   langitalian      = {{italiano}{italiano}},
   langlatin        = {{latino}{latino}},
+% langlatvian      = {{}{}},% FIXME: missing
   langnorwegian    = {{norvegese}{norvegese}},
-% langpolish       = {{}{}},% FIXME: missing
+  langpolish       = {{polacco}{polacco}},
   langportuguese   = {{portoghese}{portoghese}},
-% langrussian      = {{}{}},% FIXME: missing
-% langslovene      = {{}{}},% FIXME: missing
+  langrussian      = {{russo}{russo}},
+% langslovak       = {{}{}},% FIXME: missing
+  langslovene      = {{sloveno}{sloveno}},
   langspanish      = {{spagnolo}{spagnolo}},
   langswedish      = {{svedese}{svedese}},
   fromamerican     = {{dall'americano}{dall'americano}},
   frombrazilian    = {{dall brasiliano}{dall brasiliano}},
-% frombulgarian    = {{}{}},% FIXME: missing
-% fromcatalan      = {{}{}},% FIXME: missing
-% fromcroatian     = {{}{}},% FIXME: missing
-% fromczech        = {{}{}},% FIXME: missing
+  frombulgarian    = {{dal bulgaro}{dal bulgaro}},
+  fromcatalan      = {{dal catalano}{dal catalano}},
+  fromcroatian     = {{dal croato}{dal croato}},
+  fromczech        = {{dal ceco}{dal ceco}},
   fromdanish       = {{dal danese}{dal danese}},
   fromdutch        = {{dall'olandese}{dall'olandese}},
   fromenglish      = {{dall'inglese}{dall'inglese}},
-% fromestonian     = {{}{}},% FIXME: missing
-% fromfinnish      = {{}{}},% FIXME: missing
+  fromestonian     = {{dall'estone}{dall'estone}},
+  fromfinnish      = {{dal finlandese}{dal finlandese}},
   fromfrench       = {{dal francese}{dal francese}},
   fromgalician     = {{dal galiziano}{dal galiziano}},
   fromgerman       = {{dal tedesco}{dal tedesco}},
@@ -416,11 +418,13 @@
   fromgreek        = {{dal greco}{dal greco}},
   fromitalian      = {{dall'italiano}{dall'italiano}},
   fromlatin        = {{dal latino}{dal latino}},
+% fromlatvian      = {{}{}},% FIXME: missing
   fromnorwegian    = {{dal norvegese}{dal norvegese}},
-% frompolish       = {{}{}},% FIXME: missing
+  frompolish       = {{dal polacco}{dal polacco}},
   fromportuguese   = {{dall portoghese}{dall portoghese}},
-% fromrussian      = {{}{}},% FIXME: missing
-% fromslovene      = {{}{}},% FIXME: missing
+  fromrussian      = {{dal russo}{dal russo}},
+% fromslovak       = {{}{}},% FIXME: missing
+  fromslovene      = {{dallo sloveno}{dallo sloveno}},
   fromspanish      = {{dallo spagnolo}{dallo spagnolo}},
   fromswedish      = {{dal svedese}{dal svedese}},
   countryde        = {{Germania}{DE}},
@@ -441,10 +445,10 @@
   patreqfr         = {{brevetto francese richiesto}{brev\adddot\ francese rich\adddot}},
   patrequk         = {{brevetto britannico richiesto}{brev\adddot\ britannico rich\adddot}},
   patrequs         = {{brevetto U.S.A\adddot\ richiesto}{brev\adddot\ U.S.A\adddot\ rich\adddot}},
-  file             = {{file}{file}}, 
+  file             = {{file}{file}},
   library          = {{biblioteca}{biblioteca}},
-  abstract         = {{abstract}{abstract}}, 
-  annotation       = {{annotazione}{annotazione}}, 
+  abstract         = {{abstract}{abstract}},
+  annotation       = {{annotazione}{annotazione}},
   commonera        = {{Era Volgare}{E\adddot V\adddot}},
   beforecommonera  = {{avanti Era Volgare}{a\adddot E\adddot V\adddot}},
   annodomini       = {{d\adddot C\adddot}{d\adddot C\adddot}},

Added: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/latvian.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/latvian.lbx	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/latvian.lbx	2018-03-05 22:15:52 UTC (rev 46851)
@@ -0,0 +1,690 @@
+\ProvidesFile{latvian.lbx}
+[\abx at lbxid]
+
+\DeclareRedundantLanguages{latvian}{latvian}
+
+\NewBibliographyString{%
+  locjanuary,
+  locfebruary,
+  locmarch,
+  locapril,
+  locmay,
+  locjune,
+  locjuly,
+  locaugust,
+  locseptember,
+  lococtober,
+  locnovember,
+  locdecember,
+  locspring,
+  locsummer,
+  locautumn,
+  locwinter,
+  locdateyear,
+  dateyear}
+
+\DeclareBibliographyExtras{%
+  \providetoggle{lbx at lv@datewhen}%
+  \providecommand*{\lbx at lv@requestwhendate}{\toggletrue{lbx at lv@datewhen}}%
+  \DeclareCapitalPunctuation{.!?}%
+  \protected\def\bibrangedash{%
+    \textemdash\penalty\hyphenpenalty}% breakable dash
+  \let\finalandcomma=\empty
+  \let\finalandsemicolon=\empty
+  \protected\def\mkbibordinal#1{\stripzeros{#1}\adddot}%
+  \protected\def\mkbibmascord{\mkbibordinal}%
+  \protected\def\mkbibfemord{\mkbibordinal}%
+  \protected\def\mkbibneutord{\mkbibordinal}%
+  \protected\def\mkbibdatelong#1#2#3{%
+    \iffieldundef{#1}
+      {}
+      {\iffieldbibstring{#1}
+         {\bibstring{\thefield{#1}}}
+         {\dateeraprintpre{#1}%
+          \ifboolexpr{test {\iffieldundef{#2}} and test {\iffieldundef{#3}}}
+            {\iftoggle{lbx at lv@datewhen}
+               {\mkbibordinal{\thefield{#1}}\addspace\bibstring{locdateyear}}
+               {\stripzeros{\thefield{#1}}}}
+            {\mkbibordinal{\thefield{#1}}\addspace\bibstring{dateyear}\space}}}%
+    \iffieldundef{#3}
+      {}
+      {\mkbibordinal{\thefield{#3}}%
+       \iffieldundef{#2}{}{\nobreakspace}}%
+    \iffieldundef{#2}
+      {}
+      {\iftoggle{lbx at lv@datewhen}
+         {\lbx at ru@mkbibdatemonthwhen{\thefield{#2}}}
+         {\mkbibmonth{\thefield{#2}}}}}%
+  \protected\def\mkbibdateshort#1#2#3{%
+    \iffieldundef{#3}
+      {}
+      {\mkdayzeros{\thefield{#3}}\adddot}%
+    \iffieldundef{#2}
+      {}
+      {\mkmonthzeros{\thefield{#2}}\adddot}%
+    \iffieldbibstring{#1}
+      {\bibstring{\thefield{#1}}}
+      {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}%
+       \ifboolexpr{test {\iffieldundef{#2}} and test {\iffieldundef{#3}}}
+         {}
+         {\adddot}}}%
+  \expandafter\protected\expandafter\def\csname mkbibtime24h\endcsname#1#2#3#4{%
+      \iffieldundef{#1}{}
+        {\printtext{\mktimezeros{\thefield{#1}}}\setunit{\bibtimesep}}%
+      \iffieldundef{#2}{}
+        {\printtext{\mktimezeros{\thefield{#2}}}\setunit{\bibtimesep}}%
+      \iffieldundef{#3}{}
+        {\printtext{\mktimezeros{\thefield{#3}}}}%
+      \setunit{}%
+      \iffieldundef{#4}{}
+        {\bibtimezonesep
+         \mkbibtimezone{\thefield{#4}}}}%
+  \expandafter\protected\expandafter\def\csname mkbibtime12h\endcsname#1#2#3#4{%
+      \stripzeros{\mktimehh{\thefield{#1}}}\bibtimesep
+      \forcezerosmdt{\thefield{#2}}%
+      \iffieldundef{#3}{}
+        {\bibtimesep
+         \forcezeros{\thefield{#3}}}%
+       \space
+       \ifnumless{\thefield{#1}}{12}
+         {\bibstring{am}}
+         {\bibstring{pm}}%
+      \iffieldundef{#4}{}
+       {\space\bibtimezonesep
+        \parentext{\mkbibtimezone{\thefield{#4}}}}}%
+  \protected\def\mkbibseasondateshort#1#2{%
+    \iffieldundef{#1}
+      {}
+      {\iffieldbibstring{#1}
+         {\bibstring{\thefield{#1}}}
+         {\dateeraprintpre{#1}%
+          \iffieldundef{#2}
+            {\iftoggle{lbx at lv@datewhen}
+               {\mkbibordinal{\thefield{#1}}\addspace\bibstring{locdateyear}}
+               {\stripzeros{\thefield{#1}}}}
+            {\mkbibordinal{\thefield{#1}}\addspace\bibstring{dateyear}\space}}}%
+    \iftoggle{lbx at lv@datewhen}
+      {\mkbibseason{date\thefield{#2}}}
+      {\mkbibseason{\thefield{#2}}}}%
+  \let\mkbibseasondatelong\mkbibseasondateshort
+  \savecommand\mkdaterangecomp
+  \savecommand\mkdaterangecompextra
+  \protected\def\mkdaterangecomp{%
+    \lbx at lv@mkdaterangetrunc at long{long}}%
+  \protected\def\mkdaterangecompextra{%
+    \lbx at lv@mkdaterangetruncextra at long{long}}%
+  \def\lbx at lv@makewhendate at i#1{%
+    \expandafter\savecommand\csname abx at ffd@#1@\lbx at lv@whendate at date\endcsname
+    \cspreto{abx at ffd@#1@\lbx at lv@whendate at date}{\lbx at lv@requestwhendate}}%
+  \providecommand*{\lbx at lv@makewhendate}[2][*]{%
+    \def\lbx at lv@whendate at date{#2}%
+    \def\lbx at lv@whendate at formats{#1}%
+    \expandafter\forcsvlist
+    \expandafter\lbx at lv@makewhendate at i
+    \expandafter{\lbx at lv@whendate at formats}}%
+  %\lbx at lv@makewhendate{eventdate}%
+}
+
+\UndeclareBibliographyExtras{%
+  \def\lbx at lv@restorewhendate at i#1{%
+    \expandafter\restorecommand
+      \csname abx at ffd@#1@\lbx at lv@whendate at date\endcsname}%
+  \providecommand*{\lbx at lv@restorewhendate}[2][*]{%
+    \def\lbx at lv@whendate at date{#2}%
+    \def\lbx at lv@whendate at formats{#1}%
+    \expandafter\forcsvlist
+    \expandafter\lbx at lv@restorewhendate at i
+    \expandafter{\lbx at lv@whendate at formats}}%
+  %\lbx at lv@restorewhendate{eventdate}%
+  \restorecommand\mkdaterangecomp
+  \restorecommand\mkdaterangecompextra
+}
+
+\DeclareBibliographyStrings{%
+  bibliography     = {{Bibliogr\={a}fija}{Bibliogr\={a}fija}},
+  references       = {{Literat\={u}ras saraksts}{Literat\={u}ras saraksts}},
+  shorthands       = {{Sa\={\i}sin\={a}jumu saraksts}{Sa\={\i}sin\={a}jumi}},
+  % FIXME: not sure if correct, the standard editor translation seems to be the same as redactor
+  editor           = {{izdev\={e}js}{izdev\adddot}},
+  editors          = {{izdev\={e}ji}{izdev\adddot}},
+  compiler         = {{sast\={a}d\={\i}t\={a}js}{sast\={a}d\adddot}},
+  compilers        = {{sast\={a}d\={\i}t\={a}ji}{sast\={a}d\adddot}},
+  redactor         = {{redaktors}{redakt\adddot}},
+  redactors        = {{redaktori}{radakt\adddot}},
+  reviser          = {{revidents}{revid\adddot}},
+  revisers         = {{revidenti}{revid\adddot}},
+  founder          = {{dibin\={a}t\={a}js}{dib\adddot}},
+  founders         = {{dibin\={a}t\={a}ji}{dib\adddot}},
+  continuator      = {{turpin\={a}t\={a}js}{turp\adddot}},
+  continuators     = {{turpin\={a}t\={a}ji}{turp\adddot}},
+  collaborator     = {{l\={\i}dzstr\={a}dnieks}{l\={\i}dzstr\adddot}},
+  collaborators    = {{l\={\i}dzstr\={a}dnieki}{l\={\i}dzstr\adddot}},
+  translator       = {{tulkot\={a}js}{tulk\adddot}},
+  translators      = {{tulkot\={a}ji}{tulk\adddot}},
+  commentator      = {{koment\={e}t\={a}js}{koment\adddot}},
+  commentators     = {{koment\={e}t\={a}ji}{koment\adddot}},
+  annotator        = {{anot\={a}cijas autors}{anot\adddotspace autors}},
+  annotators       = {{anot\={a}cijas autori}{anot\adddotspace autori}},
+  commentary       = {{koment\={a}rs}{koment\adddot}},
+  annotations      = {{anot\={a}cijas}{anot\={a}c\adddot}},
+  introduction     = {{ievads}{ievads}},
+  foreword         = {{priek\v{s}v\={a}rds}{priek\v{s}v\adddot}},
+  afterword        = {{p\={e}cv\={a}rds}{p\={e}cv\adddot}},
+  editortr         = {{izdev\={e}js un tulkot\={a}js}{izdev\adddotspace un tulk\adddot}},
+  editorstr        = {{izdev\={e}ji un tulkot\={a}ji}{izdev\adddotspace un tulk\adddot}},
+  editorco         = {{izdev\={e}js un koment\={e}t\={a}js}{izdev\adddotspace un koment\adddot}},
+  editorsco        = {{izdev\={e}ji un koment\={e}t\={a}ji}{izdev\adddotspace un koment\adddot}},
+  editoran         = {{izdev\={e}js un anot\={a}cijas autors}%
+                      {izdev\adddotspace un anot\adddotspace autors}},
+  editorsan        = {{izdev\={e}ji un anot\={a}cijas autori}%
+                      {izdev\adddotspace un anot\adddotspace autori}},
+  editorin         = {{izdev\={e}js un ievada autors}{izdev\adddotspace un ievada autors}},
+  editorsin        = {{izdev\={e}ji un ievada autori}{izdev\adddotspace un ievada autori}},
+  editorfo         = {{izdev\={e}js un priek\v{s}v\={a}rda autors}%
+                      {izdev\adddotspace un priek\v{s}v\adddotspace autors}},
+  editoraf         = {{izdev\={e}js un p\={e}cv\={a}rda autors}%
+                      {izdev\adddotspace un p\={e}cv\adddotspace autors}},
+  editorsaf        = {{izdev\={e}ji un p\={e}cv\={a}rda autori}%
+                      {izdev\adddotspace un p\={e}cv\adddotspace autori}},
+  editortrco       = {{izdev\={e}js, tulkot\={a}js un koment\={e}t\={a}js}%
+                      {izdev\adddot, tulk\adddotspace un koment\adddot}},
+  editorstrco      = {{izdev\={e}ji, tulkot\={a}ji un koment\={e}t\={a}ji}%
+                      {izdev\adddot, tulk\adddotspace un koment\adddot}},
+  editortran       = {{izdev\={e}js, tulkot\={a}js un anot\={a}cijas autors}%
+                      {izdev\adddot, tulk\adddotspace un anot\adddotspace autors}},
+  editorstran      = {{izdev\={e}ji, tulkot\={a}ji un anot\={a}cijas autori}%
+                      {izdev\adddot, tulk\adddotspace un anot\adddotspace autori}},
+  editortrin       = {{izdev\={e}js, tulkot\={a}js un ievada autors}%
+                      {izdev\adddot, tulk\adddotspace un ievada autors}},
+  editorstrin      = {{izdev\={e}ji, tulkot\={a}ji un ievada autori}%
+                      {izdev\adddot, tulk\adddotspace un ievada autori}},
+  editortrfo       = {{izdev\={e}js, tulkot\={a}js un priek\v{s}v\={a}rds autors}%
+                      {izdev\adddot, tulk\adddotspace un priek\v{s}v\adddotspace autors}},
+  editorstrfo      = {{izdev\={e}ji, tulkot\={a}ji un priek\v{s}v\={a}rds autori}%
+                      {izdev\adddot, tulk\adddotspace un priek\v{s}v\adddotspace autori}},
+  editortraf       = {{izdev\={e}js, tulkot\={a}js un p\={e}cv\={a}rda autors}%
+                      {izdev\adddot, tulk\adddotspace un p\={e}cv\adddotspace autors}},
+  editorstraf      = {{izdev\={e}ji, tulkot\={a}ji un p\={e}cv\={a}rda autori}%
+                      {izdev\adddot, tulk\adddotspace un p\={e}cv\adddotspace autori}},
+  editorcoin       = {{izdev\={e}js, koment\={e}t\={a}js un ievada autors}%
+                      {izdev\adddot, koment\adddotspace un ievada autors}},
+  editorscoin      = {{izdev\={e}ji, koment\={e}t\={a}ji un ievada autori}%
+                      {izdev\adddot, koment\adddotspace un ievada autori}},
+  editorcofo       = {{izdev\={e}js, koment\={e}t\={a}js un priek\v{s}v\={a}rds autors}%
+                      {izdev\adddot, koment\adddotspace un priek\v{s}v\adddotspace autors}},
+  editorscofo      = {{izdev\={e}ji, koment\={e}t\={a}ji un priek\v{s}v\={a}rds autori}%
+                      {izdev\adddot, koment\adddotspace un priek\v{s}v\adddotspace autori}},
+  editorcoaf       = {{izdev\={e}js, koment\={e}t\={a}js un p\={e}cv\={a}rda autors}%
+                      {izdev\adddot, koment\adddotspace un p\={e}cv\adddotspace autors}},
+  editorscoaf      = {{izdev\={e}ji, koment\={e}t\={a}ji un p\={e}cv\={a}rda autori}%
+                      {izdev\adddot, koment\adddotspace un p\={e}cv\adddotspace autori}},
+  editoranin       = {{izdev\={e}js, anot\={a}cijas un ievada autors}%
+                      {izdev\adddot, anot\adddotspace un ievada autors}},
+  editorsanin      = {{izdev\={e}ji, anot\={a}cijas un ievada autori}%
+                      {izdev\adddot, anot\adddotspace un ievada autori}},
+  editoranfo       = {{izdev\={e}js, anot\={a}cijas un priek\v{s}v\={a}rda autors}%
+                      {izdev\adddot, anot\adddotspace un priek\v{s}v\adddotspace autors}},
+  editorsanfo      = {{izdev\={e}ji, anot\={a}cijas un priek\v{s}v\={a}rda autori}%
+                      {izdev\adddot, anot\adddotspace un priek\v{s}v\adddotspace autori}},
+  editoranaf       = {{izdev\={e}js, anot\={a}cijas un p\={e}cv\={a}rda autors}%
+                      {izdev\adddot, anot\adddotspace un p\={e}cv\adddotspace autors}},
+  editorsanaf      = {{izdev\={e}ji, anot\={a}cijas un p\={e}cv\={a}rda autori}%
+                      {izdev\adddot, anot\adddotspace un p\={e}cv\adddotspace autori}},
+  editortrcoin     = {{izdev\={e}js, tulkot\={a}js, koment\={e}t\={a}js un ievada autors}%
+                      {izdev\adddot, tulk\adddot, koment\adddotspace un ievada autors}},
+  editorstrcoin    = {{izdev\={e}ji, tulkot\={a}ji, koment\={e}t\={a}ji un ievada autori}%
+                      {izdev\adddot, tulk\adddot, koment\adddotspace un ievada autori}},
+  editortrcofo     = {{izdev\={e}js, tulkot\={a}js, koment\={e}t\={a}js un priek\v{s}v\={a}rda autors}%
+                      {izdev\adddot, tulk\adddot, koment\adddotspace un priek\v{s}v\adddotspace autors}},
+  editorstrcofo    = {{izdev\={e}ji, tulkot\={a}ji, koment\={e}t\={a}ji un priek\v{s}v\={a}rda autori}%
+                      {izdev\adddot, tulk\adddot, koment\adddotspace un priek\v{s}v\adddotspace autori}},
+  editortrcoaf     = {{izdev\={e}js, tulkot\={a}js, koment\={e}t\={a}js un p\={e}cv\={a}rda autors}%
+                      {izdev\adddot, tulk\adddot, koment\adddotspace un p\={e}cv\adddotspace autors}},
+  editorstrcoaf    = {{izdev\={e}ji, tulkot\={a}ji, koment\={e}t\={a}ji un p\={e}cv\={a}rda autori}%
+                      {izdev\adddot, tulk\adddot, koment\adddotspace un p\={e}cv\adddotspace autori}},
+  editortranin     = {{izdev\={e}js, koment\={e}t\={a}js, anot\={a}cijas un ievada autors}%
+                      {izdev\adddot, koment\adddot, anot\adddotspace un ievada autors}},
+  editorstranin    = {{izdev\={e}ji, koment\={e}t\={a}ji, anot\={a}cijas un ievada autori}%
+                      {izdev\adddot, koment\adddot, anot\adddotspace un ievada autori}},
+  editortranfo     = {{izdev\={e}js, koment\={e}t\={a}js, anot\={a}cijas un priek\v{s}v\={a}rda autors}%
+                      {izdev\adddot, koment\adddot, anot\adddotspace un priek\v{s}v\adddotspace autors}},
+  editorstranfo    = {{izdev\={e}ji, koment\={e}t\={a}ji, anot\={a}cijas un priek\v{s}v\={a}rda autori}%
+                      {izdev\adddot, koment\adddot, anot\adddotspace un priek\v{s}v\adddotspace autori}},
+  editortranaf     = {{izdev\={e}js, koment\={e}t\={a}js, anot\={a}cijas un p\={e}cv\={a}rda autors}%
+                      {izdev\adddot, koment\adddot, anot\adddotspace un p\={e}cv\adddotspace autors}},
+  editorstranaf    = {{izdev\={e}ji, koment\={e}t\={a}ji, anot\={a}cijas un p\={e}cv\={a}rda autori}%
+                      {izdev\adddot, koment\adddot, anot\adddotspace un p\={e}cv\adddotspace autori}},
+  translatorco     = {{tulkot\={a}js un koment\={e}t\={a}js}{tulk\adddotspace un koment\adddot}},
+  translatorsco    = {{tulkot\={a}ji un koment\={e}t\={a}ji}{tulk\adddotspace un koment\adddot}},
+  translatoran     = {{tulkot\={a}js un anot\={a}cijas autors}%
+                      {tulk\adddotspace un anot\adddotspace autors}},
+  translatorsan    = {{tulkot\={a}ji un anot\={a}cijas autori}%
+                      {tulk\adddotspace un anot\adddotspace autori}},
+  translatorin     = {{tulkot\={a}js un ievada autors}{tulk\adddotspace un ievada autors}},
+  translatorsin    = {{tulkot\={a}ji un ievada autori}{tulk\adddotspace un ievada autori}},
+  translatorfo     = {{tulkot\={a}js un priek\v{s}v\={a}rda autors}%
+                      {tulk\adddotspace un priek\v{s}v\adddotspace autors}},
+  translatorsfo    = {{tulkot\={a}ji un priek\v{s}v\={a}rda autori}%
+                      {tulk\adddotspace un priek\v{s}v\adddotspace autori}},
+  translatoraf     = {{tulkot\={a}js un p\={e}cv\={a}rda autors}%
+                      {tulk\adddotspace un p\={e}cv\adddotspace autors}},
+  translatorsaf    = {{tulkot\={a}ji un p\={e}cv\={a}rda autori}%
+                      {tulk\adddotspace un p\={e}cv\adddotspace autori}},
+  translatorcoin   = {{tulkot\={a}js, koment\={e}t\={a}js un ievada autors}%
+                      {tulk\adddot, koment\adddotspace un ievada autors}},
+  translatorscoin  = {{tulkot\={a}ji, koment\={e}t\={a}ji un ievada autori}%
+                      {tulk\adddot, koment\adddotspace un ievada autori}},
+  translatorcofo   = {{tulkot\={a}js, koment\={e}t\={a}js un priek\v{s}v\={a}rda autors}%
+                      {tulk\adddot, koment\adddotspace un priek\v{s}v\adddotspace autors}},
+  translatorscofo  = {{tulkot\={a}ji, koment\={e}t\={a}ji un priek\v{s}v\={a}rda autori}%
+                      {tulk\adddot, koment\adddotspace un priek\v{s}v\adddotspace autori}},
+  translatorcoaf   = {{tulkot\={a}js, koment\={e}t\={a}js un p\={e}cv\={a}rda autors}%
+                      {tulk\adddot, koment\adddotspace un p\={e}cv\adddotspace autors}},
+  translatorscoaf  = {{tulkot\={a}ji, koment\={e}t\={a}ji un p\={e}cv\={a}rda autori}%
+                      {tulk\adddot, koment\adddotspace un p\={e}cv\adddotspace autori}},
+  translatoranin   = {{tulkot\={a}js, anot\={a}cijas un ievada autors}%
+                      {tulk\adddot, anot\adddotspace un ievada autors}},
+  translatorsanin  = {{tulkot\={a}ji, anot\={a}cijas un ievada autori}%
+                      {tulk\adddot, anot\adddotspace un ievada autori}},
+  translatoranfo   = {{tulkot\={a}js, anot\={a}cijas un priek\v{s}v\={a}rda autors}%
+                      {tulk\adddot, anot\adddotspace un priek\v{s}v\adddotspace autors}},
+  translatorsanfo  = {{tulkot\={a}ji, anot\={a}cijas un priek\v{s}v\={a}rda autori}%
+                      {tulk\adddot, anot\adddotspace un priek\v{s}v\adddotspace autori}},
+  translatoranaf   = {{tulkot\={a}js, anot\={a}cijas un p\={e}cv\={a}rda autors}%
+                      {tulk\adddot, anot\adddotspace un p\={e}cv\adddotspace autors}},
+  translatorsanaf  = {{tulkot\={a}ji, anot\={a}cijas un p\={e}cv\={a}rda autori}%
+                      {tulk\adddot, anot\adddotspace un p\={e}cv\adddotspace autori}},
+  organizer        = {{organiz\={e}t\={a}js}{organiz\adddot}},
+  organizers       = {{organiz\={e}t\={a}ji}{organiz\adddot}},
+  % FIXME: currently by* strings can appear akward if they're followed by multiple
+  % words connected by "and" or feminine nouns and abbreviate=false is used
+  byorganizer      = {{organiz\={e}jis}{organiz\adddot}},
+  byauthor         = {{sarakst\={\i}jis}{sarakst\adddot}},
+  byeditor         = {{izdevis}{izdevis}},
+  bycompiler       = {{sast\={a}d\={\i}jis}{sast\={a}d\adddot}},
+  byredactor       = {{redi\v{g}\={e}jis}{redi\v{g}\adddot}},
+  byreviser        = {{revid\={e}jis}{revid\adddot}},
+  byreviewer       = {{recenz\={e}jis}{recenz\adddot}},
+  byfounder        = {{dibin\={a}jis}{dib\adddot}},
+  bycontinuator    = {{turpin\={a}jis}{turpin\adddot}},
+  bycollaborator   = {{ar sadarb\={\i}bu no}{ar sadarb\={\i}bu no}},
+  bytranslator     = {{tulkojis}{tulk\adddot}},
+  bycommentator    = {{koment\={e}jis}{koment\adddot}},
+  byannotator      = {{anot\={a}ciju sast\={a}d\={\i}jis}{anot\adddotspace sast\={a}d\adddot}},
+  withcommentator  = {{ar koment\={a}riem no}{ar koment\adddotspace no}},
+  withannotator    = {{ar anot\={a}ciju no}{ar anot\adddotspace no}},
+  withintroduction = {{ar ievadu no}{ar ievadu no}},
+  withforeword     = {{ar priek\v{s}v\={a}rdu no}{ar priek\v{s}v\adddotspace no}},
+  withafterword    = {{ar p\={e}cv\={a}rdu no}{ar p\={e}cv\adddotspace no}},
+  byeditortr       = {{izdevis un tulkojis}{izdev\adddotspace un tulk\adddot}},
+  byeditorco       = {{izdevis un koment\={e}jis}{izdev\adddotspace un koment\adddot}},
+  byeditoran       = {{izdevis un anot\={a}ciju sast\={a}d\={\i}jis}%
+                      {izdev\adddotspace un anot\adddotspace sast\={a}d\adddot}},
+  byeditorin       = {{izdevis un ievadu sast\={a}d\={\i}jis}%
+                      {izdev\adddotspace un ievadu sast\={a}d\adddot}},
+  byeditorfo       = {{izdevis un priek\v{s}v\={a}rdu sast\={a}d\={\i}jis}%
+                      {izdev\adddotspace un priek\v{s}v\adddotspace sast\={a}d\adddot}},
+  byeditoraf       = {{izdevis un p\={e}cv\={a}rdu sast\={a}d\={\i}jis}%
+                      {izdev\adddotspace un p\={e}cv\adddotspace sast\={a}d\adddot}},
+  byeditortrco     = {{izdevis, tulkojis un koment\={e}jis}%
+                      {izdev\adddot, tulk\adddotspace un koment\adddot}},
+  byeditortran     = {{izdevis, tulkojis un anot\={a}ciju sast\={a}d\={\i}jis}%
+                      {izdev\adddot, tulk\adddotspace un anot\adddotspace sast\={a}d\adddot}},
+  byeditortrin     = {{izdevis, tulkojis un ievadu sast\={a}d\={\i}jis}%
+                      {izdev\adddot, tulk\adddotspace un ievadu sast\={a}d\adddot}},
+  byeditortrfo     = {{izdevis, tulkojis un priek\v{s}v\={a}rdu sast\={a}d\={\i}jis}%
+                      {izdev\adddot, tulk\adddotspace un priek\v{s}v\adddotspace sast\={a}d\adddot}},
+  byeditortraf     = {{izdevis, tulkojis un p\={e}cv\={a}rdu sast\={a}d\={\i}jis}%
+                      {izdev\adddot, tulk\adddotspace un p\={e}cv\adddotspace sast\={a}d\adddot}},
+  byeditorcoin     = {{izdevis, koment\={e}jis un ievadu sast\={a}d\={\i}jis}%
+                      {izdev\adddot, koment\adddotspace un ievadu sast\={a}d\adddot}},
+  byeditorcofo     = {{izdevis, koment\={e}jis un priek\v{s}v\={a}rdu sast\={a}d\={\i}jis}%
+                      {izdev\adddot, koment\adddotspace un priek\v{s}v\adddotspace sast\={a}d\adddot}},
+  byeditorcoaf     = {{izdevis, koment\={e}jis un p\={e}cv\={a}rdu sast\={a}d\={\i}jis}%
+                      {izdev\adddot, koment\adddotspace un p\={e}cv\adddotspace sast\={a}d\adddot}},
+  byeditoranin     = {{izdevis, anot\={a}ciju un ievadu sast\={a}d\={\i}jis}%
+                      {izdev\adddot, anot\adddotspace un ievadu sast\={a}d\adddot}},
+  byeditoranfo     = {{izdevis, anot\={a}ciju un priek\v{s}v\={a}rdu sast\={a}d\={\i}jis}%
+                      {izdev\adddot, anot\adddotspace un priek\v{s}v\adddotspace sast\={a}d\adddot}},
+  byeditoranaf     = {{izdevis, anot\={a}ciju un p\={e}cv\={a}rdu sast\={a}d\={\i}jis}%
+                      {izdev\adddot, anot\adddotspace un p\={e}cv\adddotspace sast\={a}d\adddot}},
+  byeditortrcoin   = {{izdevis, tulkojis, koment\={e}jis un ievadu sast\={a}d\={\i}jis}%
+                      {izdev\adddot, tulk\adddot, koment\adddotspace un ievadu sast\={a}d\adddot}},
+  byeditortrcoin   = {{izdevis, tulkojis, koment\={e}jis un priek\v{s}v\={a}rdu sast\={a}d\={\i}jis}%
+                      {izdev\adddot, tulk\adddot, koment\adddotspace un priek\v{s}v\adddotspace sast\={a}d\adddot}},
+  byeditortrcoaf   = {{izdevis, tulkojis, koment\={e}jis un p\={e}cv\={a}rdu sast\={a}d\={\i}jis}%
+                      {izdev\adddot, tulk\adddot, koment\adddotspace un p\={e}cv\adddotspace sast\={a}d\adddot}},
+  byeditortranin   = {{izdevis, koment\={e}jis, anot\={a}ciju un ievadu sast\={a}d\={\i}jis}%
+                      {izdev\adddot, koment\adddot, anot\adddotspace un ievadu sast\={a}d\adddot}},
+  byeditortranfo   = {{izdevis, koment\={e}jis, anot\={a}ciju priek\v{s}v\={a}rdu sast\={a}d\={\i}jis}%
+                      {izdev\adddot, koment\adddot, anot\adddotspace un priek\v{s}v\adddotspace sast\={a}d\adddot}},
+  byeditortranaf   = {{izdevis, koment\={e}jis, anot\={a}ciju un p\={e}cv\={a}rdu sast\={a}d\={\i}jis}%
+                      {izdev\adddot, koment\adddot, anot\adddotspace un p\={e}cv\adddotspace sast\={a}d\adddot}},
+  bytranslatorco   = {{tulkojis un koment\={e}jis}{tulk\adddotspace un koment\adddot}},
+  bytranslatoran   = {{tulkojis un anot\={a}ciju sast\={a}d\={\i}jis}%
+                      {tulk\adddotspace un anot\adddotspace sast\={a}d\adddot}},
+  bytranslatorin   = {{tulkojis un ievadu sast\={a}d\={\i}jis}%
+                      {tulk\adddotspace un ievadu sast\={a}d\adddot}},
+  bytranslatorfo   = {{tulkojis un priek\v{s}v\={a}rdu sast\={a}d\={\i}jis}%
+                      {tulk\adddotspace un priek\v{s}v\adddotspace sast\={a}d\adddot}},
+  bytranslatoraf   = {{tulkojis un p\={e}cv\={a}rdu sast\={a}d\={\i}jis}%
+                      {tulk\adddotspace un p\={e}cv\adddotspace sast\={a}d\adddot}},
+  bytranslatorcoin = {{tulkojis, koment\={e}jis un ievadu sast\={a}d\={\i}jis}%
+                      {tulk\adddot, koment\adddotspace un ievadu sast\={a}d\adddot}},
+  bytranslatorcofo = {{tulkojis, koment\={e}jis un priek\v{s}v\={a}rdu sast\={a}d\={\i}jis}%
+                      {tulk\adddot, koment\adddotspace un priek\v{s}v\adddotspace sast\={a}d\adddot}},
+  bytranslatorcoaf = {{tulkojis, koment\={e}jis un p\={e}cv\={a}rdu sast\={a}d\={\i}jis}%
+                      {tulk\adddot, koment\adddotspace un p\={e}cv\adddotspace sast\={a}d\adddot}},
+  bytranslatoranin = {{tulkojis, anot\={a}ciju un ievadu sast\={a}d\={\i}jis}%
+                      {tulk\adddot, anot\adddotspace un ievadu sast\={a}d\adddot}},
+  bytranslatoranfo = {{tulkojis, anot\={a}ciju un priek\v{s}v\={a}rdu sast\={a}d\={\i}jis}%
+                      {tulk\adddot, anot\adddotspace un priek\v{s}v\adddotspace sast\={a}d\adddot}},
+  bytranslatoranaf = {{tulkojis, anot\={a}ciju un p\={e}cv\={a}rdu sast\={a}d\={\i}jis}%
+                      {tulk\adddot, anot\adddotspace un p\={e}cv\adddotspace sast\={a}d\adddot}},
+  and              = {{un}{un}},
+  andothers        = {{un citi}{u\adddotspace c\adddot}},
+  andmore          = {{un t\={a} t\={a}l\={a}k}{utt\adddot}},
+  volume           = {{s\={e}jums}{s\={e}jums}},
+  volumes          = {{s\={e}jumi}{s\={e}jumi}},
+  % FIXME: should be after the volume count not before, e.g. "10 s\={e}jumos"
+  % involumes        = {{s\={e}jumos}{s\={e}jumos}},
+  jourvol          = {{izdevums}{izdev\adddot}},
+  jourser          = {{s\={e}rija}{s\={e}rija}},
+  book             = {{gr\={a}mata}{gr\={a}m\adddot}},
+  part             = {{da\c{l}a}{da\c{l}a}},
+  issue            = {{izdevums}{izdev\adddot}},
+  newseries        = {{jaun\={a}s s\={e}rijas}{jaun\={a}s s\={e}r\adddot}},
+  oldseries        = {{vec\={a}s s\={e}rijas}{vec\={a}s s\={e}rijas}},
+  edition          = {{izdevums}{izdev\adddot}},
+  reprint          = {{atk\={a}rtots izdevums}{atk\={a}rt\adddotspace izdev\adddot}},
+  reprintof        = {{atk\={a}rtots izdevums no}{atk\={a}rt\adddotspace izdev\adddotspace no}},
+  reprintas        = {{atk\={a}rtoti izdots k\={a}}{atk\={a}rt\adddotspace izdots k\={a}}},
+  reprintfrom      = {{atk\={a}rtots izdevums no}{atk\={a}rt\adddotspace izdev\adddotspace no}},
+  translationof    = {{tulkojums no}{tulk\adddotspace no}},
+  translationas    = {{tulkots k\={a}}{tulk\adddotspace k\={a}}},
+  translationfrom  = {{tulkots no}{tulk\adddotspace no}},
+  reviewof         = {{recenzija}{recenz\adddot}},
+  origpubas        = {{ori\v{g}in\={a}li public\={e}ts k\={a}}{ori\v{g}\adddotspace public\adddotspace k\={a}}},
+  origpubin        = {{ori\v{g}in\={a}li public\={e}ts}{ori\v{g}\adddotspace public\adddot}},
+  astitle          = {{k\={a}}{k\={a}}},
+  bypublisher      = {{no}{no}},
+  nodate           = {{bez datuma}{bez dat\adddot}},
+  page             = {{lappuse}{lpp\adddot}},
+  pages            = {{lappuses}{lpp\adddot}},
+  column           = {{sleja}{sleja}},
+  columns          = {{slejas}{slejas}},
+  line             = {{rinda}{rinda}},
+  lines            = {{rindas}{rindas}},
+  verse            = {{pants}{pants}},
+  verses           = {{panti}{panti}},
+  section          = {{noda\c{l}a}{nod\adddot}},
+  sections         = {{noda\c{l}as}{nod\adddot}},
+  paragraph        = {{rindkopa}{rindk\adddot}},
+  paragraphs       = {{rindkopas}{rindk\adddot}},
+  pagetotal        = {{lappuse}{lpp\adddot}},
+  pagetotals       = {{lappuses}{lpp\adddot}},
+  columntotal      = {{sleja}{sleja}},
+  columntotals     = {{slejas}{slejas}},
+  linetotal        = {{rinda}{rinda}},
+  linetotals       = {{rindas}{rindas}},
+  versetotal       = {{pants}{pants}},
+  versetotals      = {{panti}{panti}},
+  sectiontotal     = {{noda\c{l}a}{nod\adddot}},
+  sectiontotals    = {{noda\c{l}as}{nod\adddot}},
+  paragraphtotal   = {{rindkopa}{rindk\adddot}},
+  paragraphtotals  = {{rindkopas}{rindk\adddot}},
+  in               = {{}{}}, % Works well as an empty string
+  inseries         = {{s\={e}rij\={a}s}{s\={e}rij\={a}s}},
+  ofseries         = {{s\={e}rijas}{s\={e}rijas}},
+  number           = {{numurs}{nr\adddot}},
+  chapter          = {{noda\c{l}a}{nod\adddot}},
+  % bathesis         = {{bakalaura darbs}{bak\adddotspace darbs}},
+  mathesis         = {{ma\v{g}istra darbs}{ma\v{g}\adddotspace darbs}},
+  phdthesis        = {{doktora gr\={a}da disert\={a}cija}{dokt\adddotspace gr\={a}da disert\adddot}},
+  candthesis       = {{kandid\={a}ta disert\={a}cija}{kand\adddotspace disert\adddot}},
+  resreport        = {{p\={e}tniec\={\i}bas darba p\={a}rskats}{p\={e}tn\adddotspace darba p\={a}rsk\adddot}},
+  techreport       = {{tehniskais zi\c{n}ojums}{tehn\adddotspace zi\c{n}\adddot}},
+  software         = {{programmat\={u}ra}{progr\adddot}},
+  datacd           = {{datu CD}{datu CD}},
+  audiocd          = {{audio CD}{audio CD}},
+  version          = {{versija}{versija}},
+  url              = {{pieejams}{pieejams}},
+  urlfrom          = {{pieejams no}{pieejams no}},
+  urlseen          = {{apl\={u}kots\aftergroup\lbx at lv@requestwhendate}{apl\={u}kots\aftergroup\lbx at lv@requestwhendate}},
+  inpreparation    = {{tiek gatavots}{tiek gatavots}},
+  submitted        = {{iesniegts}{iesniegts}},
+  forthcoming      = {{gaid\={a}mais}{gaid\={a}mais}},
+  inpress          = {{pres\={e}}{pres\={e}}},
+  prepublished     = {{agr\={a}k public\={e}ts}{agr\={a}k public\adddot}},% FIXME: not sure if correct
+  citedas          = {{turpm\={a}k cit\={e}ts k\={a}}{turpm\={a}k cit\={e}ts k\={a}}},
+  % thiscite         = {{}{}},% FIXME: missing
+  seenote          = {{skat\={\i}t piez\={\i}mi}{skat\adddotspace piez\adddot}},
+  quotedin         = {{cit\={e}ts}{cit\={e}ts}},
+  % idem             = {{}{}},% FIXME: missing
+  % idemsf           = {{}{}},% FIXME: missing
+  % idemsm           = {{}{}},% FIXME: missing
+  % idemsn           = {{}{}},% FIXME: missing
+  % idempf           = {{}{}},% FIXME: missing
+  % idempm           = {{}{}},% FIXME: missing
+  % idempn           = {{}{}},% FIXME: missing
+  % idempp           = {{}{}},% FIXME: missing
+  % ibidem           = {{}{}},% FIXME: missing
+  % opcit            = {{}{}},% FIXME: missing
+  % loccit           = {{}{}},% FIXME: missing
+  % confer           = {{}{}},% FIXME: missing
+  % sequens          = {{}{}},% FIXME: missing
+  % sequentes        = {{}{}},% FIXME: missing
+  % passim           = {{}{}},% FIXME: missing
+  see              = {{skat\={\i}t}{skat\adddot}},
+  seealso          = {{skat\={\i}t ar\={\i}}{skat\adddotspace ar\={\i}}},
+  backrefpage      = {{cit\={e}ts lappus\={e}}{cit\={e}ts lpp\adddot}},
+  backrefpages     = {{cit\={e}ts lappus\={e}s}{cit\={e}ts lpp\adddot}},
+  january          = {{janv\={a}ris}{janv\adddot}},
+  february         = {{febru\={a}ris}{febr\adddot}},
+  march            = {{marts}{marts}},
+  april            = {{apr\={\i}lis}{apr\adddot}},
+  may              = {{maijs}{maijs}},
+  june             = {{j\={u}nijs}{j\={u}n\adddot}},
+  july             = {{j\={u}lijs}{j\={u}l\adddot}},
+  august           = {{augusts}{aug\adddot}},
+  september        = {{septembris}{sept\adddot}},
+  october          = {{oktobris}{okt\adddot}},
+  november         = {{novembris}{nov\adddot}},
+  december         = {{decembris}{dec\adddot}},
+  locjanuary       = {{janv\={a}r\={\i}}{janv\adddot}},
+  locfebruary      = {{febru\={a}r\={\i}}{febr\adddot}},
+  locmarch         = {{mart\={a}}{mart\={a}}},
+  locapril         = {{apr\={\i}l\={\i}}{apr\adddot}},
+  locmay           = {{maij\={a}}{maij\={a}}},
+  locjune          = {{j\={u}nij\={a}}{j\={u}n\adddot}},
+  locjuly          = {{j\={u}lij\={a}}{j\={u}l\adddot}},
+  locaugust        = {{august\={a}}{aug\adddot}},
+  locseptember     = {{septembr\={\i}}{sept\adddot}},
+  lococtober       = {{oktobr\={\i}}{okt\adddot}},
+  locnovember      = {{novembr\={\i}}{nov\adddot}},
+  locdecember      = {{decembr\={\i}}{dec\adddot}},
+  langamerican     = {{amerik\={a}\c{n}u}{amerik\={a}\c{n}u}},
+  langbrazilian    = {{braz\={\i}lie\v{s}u}{braz\={\i}lie\v{s}u}},
+  langbulgarian    = {{bulg\={a}ru}{bulg\={a}ru}},
+  langcatalan      = {{katal\={a}\c{n}u}{katal\={a}\c{n}u}},
+  langcroatian     = {{horv\={a}tu}{horv\={a}tu}},
+  langczech        = {{\v{c}ehu}{\v{c}ehu}},
+  langdanish       = {{d\={a}\c{n}u}{d\={a}\c{n}u}},
+  langdutch        = {{n\={\i}derlandie\v{s}u}{n\={\i}derlandie\v{s}u}},
+  langenglish      = {{ang\c{l}u}{ang\c{l}u}},
+  langestonian     = {{igau\c{n}u}{igau\c{n}u}},
+  langfinnish      = {{somu}{somu}},
+  langfrench       = {{fran\v{c}u}{fran\v{c}u}},
+  langgalician     = {{galsie\v{s}u}{galsie\v{s}u}},
+  langgerman       = {{v\={a}cu}{v\={a}cu}},
+  langgreek        = {{grie\c{k}u}{grie\c{k}u}},
+  langitalian      = {{it\={a}\c{l}u}{it\={a}\c{l}u}},
+  langjapanese     = {{jap\={a}\c{n}u}{jap\={a}\c{n}u}},
+  langlatin        = {{lat\={\i}\c{n}u}{lat\={\i}\c{n}u}},
+  langlatvian      = {{latvie\v{s}u}{latvie\v{s}u}},
+  langnorwegian    = {{norv\={e}\v{g}u}{norv\={e}\v{g}u}},
+  langpolish       = {{po\c{l}u}{po\c{l}u}},
+  langportuguese   = {{portug\={a}\c{l}u}{portug\={a}\c{l}u}},
+  langrussian      = {{krievu}{krievu}},
+  langslovak       = {{slov\={a}ku}{slov\={a}ku}},
+  langslovene      = {{slov\={e}\c{n}u}{slov\={e}\c{n}u}},
+  langspanish      = {{sp\={a}\c{n}u}{sp\={a}\c{n}u}},
+  langswedish      = {{zviedru}{zviedru}},
+  langukrainian    = {{ukrai\c{n}u}{ukrai\c{n}u}},
+  fromamerican     = {{no amerik\={a}\c{n}u}{no amerik\={a}\c{n}u}},
+  frombrazilian    = {{no braz\={\i}lie\v{s}u}{no braz\={\i}lie\v{s}u}},
+  frombulgarian    = {{no bulg\={a}ru}{no bulg\={a}ru}},
+  fromcatalan      = {{no katal\={a}\c{n}u}{no katal\={a}\c{n}u}},
+  fromcroatian     = {{no horv\={a}tu}{no horv\={a}tu}},
+  fromczech        = {{no \v{c}ehu}{no \v{c}ehu}},
+  fromdanish       = {{no d\={a}\c{n}u}{no d\={a}\c{n}u}},
+  fromdutch        = {{no n\={\i}derlandie\v{s}u}{no n\={\i}derlandie\v{s}u}},
+  fromenglish      = {{no ang\c{l}u}{no ang\c{l}u}},
+  fromestonian     = {{no igau\c{n}u}{no igau\c{n}u}},
+  fromfinnish      = {{no somu}{no somu}},
+  fromfrench       = {{no fran\v{c}u}{no fran\v{c}u}},
+  fromgalician     = {{no galsie\v{s}u}{no galsie\v{s}u}},
+  fromgerman       = {{no v\={a}cu}{no v\={a}cu}},
+  fromgreek        = {{no grie\c{k}u}{no grie\c{k}u}},
+  fromitalian      = {{no it\={a}\c{l}u}{no it\={a}\c{l}u}},
+  fromjapanese     = {{no jap\={a}\c{n}u}{no jap\={a}\c{n}u}},
+  fromlatin        = {{no lat\={\i}\c{n}u}{no lat\={\i}\c{n}u}},
+  fromlatvian      = {{no latvie\v{s}u}{no latvie\v{s}u}},
+  fromnorwegian    = {{no norv\={e}\v{g}u}{no norv\={e}\v{g}u}},
+  frompolish       = {{no po\c{l}u}{no po\c{l}u}},
+  fromportuguese   = {{no portug\={a}\c{l}u}{no portug\={a}\c{l}u}},
+  fromrussian      = {{no krievu}{no krievu}},
+  fromslovak       = {{no slov\={a}ku}{no slov\={a}ku}},
+  fromslovene      = {{no slov\={e}\c{n}u}{no slov\={e}\c{n}u}},
+  fromspanish      = {{no sp\={a}\c{n}u}{no sp\={a}\c{n}u}},
+  fromswedish      = {{no zviedru}{no zviedru}},
+  fromukrainian    = {{no ukrai\c{n}u}{no ukrai\c{n}u}},
+  countryde        = {{V\={a}cija}{DE}},
+  countryeu        = {{Eiropas Savien\={\i}ba}{ES}},
+  countryep        = {{Eiropas Parlaments}{EP}},
+  countryfr        = {{Francija}{FR}},
+  countryuk        = {{Lielbrit\={a}nija}{GB}},
+  countryus        = {{Amerikas Savienot\={a}s Valstis}{ASV}},
+  patent           = {{patents}{patents}},
+  patentde         = {{v\={a}cu patents}{v\={a}cu pat\adddot}},
+  patenteu         = {{Eiropas patents}{Eiropas pat\adddot}},
+  patentfr         = {{fran\v{c}u patents}{fran\v{c}u pat\adddot}},
+  patentuk         = {{ang\c{l}u patents}{ang\c{l}u pat\adddot}},
+  patentus         = {{ASV patents}{ASV pat\adddot}},
+  patreq           = {{patenta piepras\={\i}jums}{pat\adddotspace piepras\adddot}},
+  patreqde         = {{v\={a}cu patenta piepras\={\i}jums}{V\={a}cu pat\adddotspace piepras\adddot}},
+  patreqeu         = {{Eiropas patenta piepras\={\i}jums}{Eiropas pat\adddotspace piepras\adddot}},
+  patreqfr         = {{fran\v{c}u patenta piepras\={\i}jums}{fran\v{c}u pat\adddotspace piepras\adddot}},
+  patrequk         = {{ang\c{l}u patenta piepras\={\i}jums}{ang\c{l}u pat\adddotspace piepras\adddot}},
+  patrequs         = {{ASV patenta piepras\={\i}jums}{ASV pat\adddotspace piepras\adddot}},
+  file             = {{fails}{fails}},
+  library          = {{bibliot\={e}ka}{bibliot\={e}ka}},
+  abstract         = {{atrefer\={e}jums}{atref\adddot}},
+  annotation       = {{anot\={a}cija}{anot\={a}cija}},
+  commonera        = {{m\={u}su \={e}ra}{m\adddotspace \={e}\adddot}},
+  beforecommonera  = {{pirms m\={u}su \={e}ras}{p\adddotspace m\adddotspace \={e}\adddot}},
+  annodomini       = {{p\={e}c Kristus dzim\v{s}anas}{AD}},
+  beforechrist     = {{pirms Kristus dzim\v{s}anas}{BC}},
+  circa            = {{ap}{ap}},
+  spring           = {{pavasaris}{pav\adddot}},
+  summer           = {{vasara}{vas\adddot}},
+  autumn           = {{rudens}{rud\adddot}},
+  winter           = {{ziema}{ziema}},
+  locspring        = {{pavasar\={\i}}{pav\adddot}},
+  locsummer        = {{vasar\={a}}{vas\adddot}},
+  locautumn        = {{ruden\={\i}}{rud\adddot}},
+  locwinter        = {{ziem\={a}}{ziem\={a}}},
+  am               = {{AM}{AM}},
+  pm               = {{PM}{PM}},
+  dateyear         = {{gada}{g\adddot}},
+  locdateyear      = {{gad\={a}}{g\adddot}},
+}
+
+\protected\gdef\lbx at ru@mkbibdatemonthwhen#1{%
+  \ifcase0#1\relax
+    #1\BibliographyWarning{Month out of range}%
+  \or\abx at bibmonth{locjanuary}%
+  \or\abx at bibmonth{locfebruary}%
+  \or\abx at bibmonth{locmarch}%
+  \or\abx at bibmonth{locapril}%
+  \or\abx at bibmonth{locmay}%
+  \or\abx at bibmonth{locjune}%
+  \or\abx at bibmonth{locjuly}%
+  \or\abx at bibmonth{locaugust}%
+  \or\abx at bibmonth{locseptember}%
+  \or\abx at bibmonth{lococtober}%
+  \or\abx at bibmonth{locnovember}%
+  \or\abx at bibmonth{locdecember}%
+  \else
+    #1\BibliographyWarning{Month out of range}%
+  \fi}%
+
+\protected\gdef\lbx at lv@mkdaterangetrunc at long#1#2{%
+  \begingroup
+    \blx at metadateinfo{#2}%
+    \iffieldundef{#2year}
+      {}
+      {\printtext[#2date]{%
+         \datecircaprint
+         \iffieldundef{#2season}
+           {\iffieldsequal{#2year}{#2endyear}
+             {\iffieldsequal{#2month}{#2endmonth}
+                {\csuse{mkbibdate#1}{#2year}{}{#2day}}
+                {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}}
+             {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}}%
+           {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
+         \dateeraprint{#2year}%
+         \dateuncertainprint
+         \iffieldundef{#2endyear}
+           {}
+           {\iffieldequalstr{#2endyear}{}
+             {\mbox{\bibdaterangesep}}
+             {\bibdaterangesep
+              \enddatecircaprint
+              \iffieldundef{#2season}
+                {\iffieldsequal{#2year}{#2endyear}
+                  {\csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}
+                  {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}
+                {\iffieldsequal{#2year}{#2endyear}
+                   {\csuse{mkbibseasondate#1}{}{#2endseason}}
+                   {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+              \enddateuncertainprint
+              \dateeraprint{#2endyear}}}}}%
+  \endgroup}
+
+\protected\gdef\lbx at lv@mkdaterangetruncextra at long#1#2{%
+  \begingroup
+    \blx at metadateinfo{#2}%
+    \iffieldundef{#2year}
+      {}
+      {\printtext[#2date]{%
+         \datecircaprint
+         \iffieldundef{#2season}
+           {\iffieldsequal{#2year}{#2endyear}
+             {\iffieldsequal{#2month}{#2endmonth}
+                {\csuse{mkbibdate#1}{#2year}{}{#2day}}
+                {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}}
+             {\csuse{mkbibdate#1}{#2year}{#2month}{#2day}}}%
+           {\csuse{mkbibseasondate#1}{#2year}{#2season}}%
+         \dateeraprint{#2year}%
+         \dateuncertainprint
+         \iffieldundef{#2endyear}
+           {\printfield{extradate}}
+           {\iffieldequalstr{#2endyear}{}
+              {\printfield{extradate}%
+               \mbox{\bibdaterangesep}}
+              {\bibdaterangesep
+               \enddatecircaprint
+               \iffieldundef{#2season}
+                 {\iffieldsequal{#2year}{#2endyear}
+                   {\csuse{mkbibdate#1}{}{#2endmonth}{#2endday}}
+                   {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}
+                 {\iffieldsequal{#2year}{#2endyear}
+                   {\csuse{mkbibseasondate#1}{}{#2endseason}}
+                   {\csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}%
+               \printfield{extradate}%
+               \enddateuncertainprint
+               \dateeraprint{#2endyear}}}}}%
+  \endgroup}
+
+\endinput

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/norsk.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/norsk.lbx	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/norsk.lbx	2018-03-05 22:15:52 UTC (rev 46851)
@@ -449,6 +449,7 @@
   langitalian      = {{italiensk}{italiensk}},
   langjapanese     = {{japansk}{japansk}},
   langlatin        = {{latin}{latin}},
+% langlatvian      = {{}{}},% FIXME: missing
   langnorwegian    = {{norsk}{norsk}},
   langpolish       = {{polsk}{polsk}},
   langportuguese   = {{portugisisk}{portugisisk}},
@@ -476,6 +477,7 @@
   fromitalian      = {{fra italiensk}{fra italiensk}},
   fromjapanese     = {{fra japansk}{fra japansk}},
   fromlatin        = {{fra latin}{fra latin}},
+% fromlatvian      = {{}{}},% FIXME: missing
   fromnorwegian    = {{fra norsk}{fra norsk}},
   frompolish       = {{fra polsk}{fra polsk}},
   fromportuguese   = {{fra portugisisk}{fra portugisisk}},

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/nynorsk.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/nynorsk.lbx	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/nynorsk.lbx	2018-03-05 22:15:52 UTC (rev 46851)
@@ -3,7 +3,7 @@
 
 % Remarks by translators:
 %
-% Since "nynorsk" inherits "norsk" (bokmål) only strings that are
+% Since "nynorsk" inherits "norsk" (bokm\aa l) only strings that are
 % different in the two languages are included. In particular, this
 % means that no language or month name strings are listed below.
 %
@@ -287,6 +287,7 @@
   fromitalian      = {{fr{\aa} italiensk}{fr{\aa} italiensk}},
   fromjapanese     = {{fr{\aa} japansk}{fr{\aa} japansk}},
   fromlatin        = {{fr{\aa} latin}{fr{\aa} latin}},
+% fromlatvian      = {{}{}},% FIXME: missing
   fromnorwegian    = {{fr{\aa} norsk}{fr{\aa} norsk}},
   frompolish       = {{fr{\aa} polsk}{fr{\aa} polsk}},
   fromportuguese   = {{fr{\aa} portugisisk}{fr{\aa} portugisisk}},

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/polish.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/polish.lbx	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/polish.lbx	2018-03-05 22:15:52 UTC (rev 46851)
@@ -475,10 +475,12 @@
   langgreek        = {{grecki}{grecki}},
   langitalian      = {{w\l oski}{w\l oski}},
   langlatin        = {{\l acina}{\l acina}},
+% langlatvian      = {{}{}},% FIXME: missing
   langnorwegian    = {{norweski}{norweski}},
   langpolish       = {{polski}{polski}},
   langportuguese   = {{portugalski}{portugalski}},
   langrussian      = {{rosyjski}{rosyjski}},
+% langslovak       = {{}{}},% FIXME: missing
   langslovene      = {{s\l owe\'{n}ski}{s\l owe\'{n}ski}},
   langspanish      = {{hiszpa\'{n}ski}{hiszpa\'{n}ski}},
   langswedish      = {{szwedzki}{szwedzki}},
@@ -499,10 +501,12 @@
   fromgreek        = {{z greckiego}{z grec\adddot}},
   fromitalian      = {{z w\l oskiego}{z w\l os\adddot}},
   fromlatin        = {{z \l aciny}{z \l at\adddot}},
+% fromlatvian      = {{}{}},% FIXME: missing
   fromnorwegian    = {{z norweskiego}{z norw\adddot}},
   frompolish       = {{z polskiego}{z pol\adddot}},
   fromportuguese   = {{z portugalskiego}{z port\adddot}},
   fromrussian      = {{z rosyjskiego}{z ros\adddot}},
+% fromslovak       = {{}{}},% FIXME: missing
   fromslovene      = {{z s\l owe\'{n}skiego}{z s\l owe\'{n}\adddot}},
   fromspanish      = {{z hiszpa\'{n}skiego}{z hiszp\adddot}},
   fromswedish      = {{ze szwedskiego}{ze szw\adddot}},

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx	2018-03-05 22:15:52 UTC (rev 46851)
@@ -461,6 +461,7 @@
   langitalian      = {{italiano}{italiano}},
   langjapanese     = {{japon\^es}{japon\^es}},
   langlatin        = {{latim}{latim}},
+% langlatvian      = {{}{}},% FIXME: missing
   langnorwegian    = {{noruegu\^es}{noruegu\^es}},
   langpolish       = {{polaco}{polaco}},
   langportuguese   = {{portugu{\^e}s}{portugu{\^e}s}},
@@ -487,6 +488,7 @@
   fromitalian      = {{do italiano}{do italiano}},
   fromjapanese     = {{do japon\^es}{do japon\^es}},
   fromlatin        = {{do latim}{do latim}},
+% fromlatvian      = {{}{}},% FIXME: missing
   fromnorwegian    = {{do noruegu\^es}{do noruegu\^es}},
   frompolish       = {{do polaco}{do polaco}},
   fromportuguese   = {{do portugu{\^e}s}{do portugu{\^e}s}},

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/russian.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/russian.lbx	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/russian.lbx	2018-03-05 22:15:52 UTC (rev 46851)
@@ -1,7 +1,7 @@
 \ProvidesFile{russian.lbx}
 [\abx at lbxid]
 
-\DeclareRedundantLanguages{russian}{russian} 
+\DeclareRedundantLanguages{russian}{russian}
 
 % This file requires UTF-8 support!
 
@@ -406,13 +406,13 @@
   pagetotals       = {{страницы}{с\adddot}},
   columntotal      = {{колонка}{кол\adddot}},
   columntotals     = {{колонки}{кол\adddot}},
-  linetotal        = {{строка}{строка}},    
-  linetotals       = {{строки}{строка}},    
-  versetotal       = {{стих}{стих}},        
-  versetotals      = {{стихи}{стихи}},      
-  sectiontotal     = {{параграф}{\S}},      
-  sectiontotals    = {{параграфы}{\S\S}},   
-  paragraphtotal   = {{абзац}{абз\adddot}}, 
+  linetotal        = {{строка}{строка}},
+  linetotals       = {{строки}{строка}},
+  versetotal       = {{стих}{стих}},
+  versetotals      = {{стихи}{стихи}},
+  sectiontotal     = {{параграф}{\S}},
+  sectiontotals    = {{параграфы}{\S\S}},
+  paragraphtotal   = {{абзац}{абз\adddot}},
   paragraphtotals  = {{абзацы}{абз\adddot}},
   in               = {{в}{в}},
   inseries         = {{в}{в}},
@@ -505,10 +505,12 @@
   langitalian      = {{итальянский}{итал\adddot}},
   langjapanese     = {{японский}{яп\adddot}},
   langlatin        = {{латинский}{лат\adddot}},
+% langlatvian      = {{}{}},% FIXME: missing
   langnorwegian    = {{норвежский}{норв\adddot}},
   langpolish       = {{польский}{пол\adddot}},
   langportuguese   = {{португальский}{порт\adddot}},
   langrussian      = {{русский}{рус\adddot}},
+% langslovak       = {{}{}},% FIXME: missing
   langslovene      = {{словенский}{слов\adddot}},
   langspanish      = {{испанский}{исп\adddot}},
   langswedish      = {{шведский}{швед\adddot}},
@@ -531,10 +533,12 @@
   fromitalian      = {{с итальянского}{с\addabbrvspace итал\adddot}},
   fromjapanese     = {{с японского}{с\addabbrvspace яп\adddot}},
   fromlatin        = {{с латинского}{с\addabbrvspace лат\adddot}},
+% fromlatvian      = {{}{}},% FIXME: missing
   fromnorwegian    = {{с норвежского}{с\addabbrvspace норв\adddot}},
   frompolish       = {{с польского}{с пол\adddot}},
   fromportuguese   = {{с португальского}{с\addabbrvspace порт\adddot}},
   fromrussian      = {{с русского}{с\addabbrvspace рус\adddot}},
+% fromslovak       = {{}{}},% FIXME: missing
   fromslovene      = {{со словенского}{со\addabbrvspace слов\adddot}},
   fromspanish      = {{с испанского}{с\addabbrvspace исп\adddot}},
   fromswedish      = {{со шведского}{со\addabbrvspace швед\adddot}},

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/slovak.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/slovak.lbx	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/slovak.lbx	2018-03-05 22:15:52 UTC (rev 46851)
@@ -594,6 +594,7 @@
                       {jap\adddot}},
   langlatin        = {{latin\v{c}ina}%
                       {lat\adddot}},
+% langlatvian      = {{}{}},% FIXME: missing
   langnorwegian    = {{n\'{o}r\v{c}ina}%
                       {n\'{o}r\adddot}},
   langpolish       = {{po\v{l}\v{s}tina}%
@@ -644,6 +645,7 @@
                       {z\addnbspace jap\adddot}},
   fromlatin        = {{z\addnbspace latin\v{c}iny}%
                       {z\addnbspace lat\adddot}},
+% fromlatvian      = {{}{}},% FIXME: missing
   fromnorwegian    = {{z\addnbspace n\'{o}r\v{c}iny}%
                       {z\addnbspace n\'{o}r\adddot}},
   frompolish       = {{z\addnbspace po\v{l}\v{s}tiny}%

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/slovene.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/slovene.lbx	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/slovene.lbx	2018-03-05 22:15:52 UTC (rev 46851)
@@ -457,10 +457,12 @@
   langgreek        = {{gr\v{s}\v{c}ina}{gr\adddot}},
   langitalian      = {{italijan\v{s}\v{c}ina}{it\adddot}},
   langlatin        = {{latin\v{s}\v{c}ina}{lat\adddot}},
+% langlatvian      = {{}{}},% FIXME: missing
   langnorwegian    = {{norve\v{s}\v{c}ina}{nor\adddot}},
   langpolish       = {{polj\v{s}\v{c}ina}{polj\adddot}},
   langportuguese   = {{portugal\v{s}\v{c}ina}{por\adddot}},
   langrussian      = {{ru\v{s}\v{c}ina}{ru\adddot}},
+% langslovak       = {{}{}},% FIXME: missing
   langslovene      = {{sloven\v{s}\v{c}ina}{sl\adddot}},
   langspanish      = {{\v{s}pan\v{s}\v{c}ina}{\v{s}p\adddot}},
   langswedish      = {{\v{s}ved\v{s}\v{c}ina}{\v{s}ved\adddot}},
@@ -481,10 +483,12 @@
   fromgreek        = {{iz gr\v{s}\v{c}ine}{iz gr\adddot}},
   fromitalian      = {{iz italijan\v{s}\v{c}ine}{iz it\adddot}},
   fromlatin        = {{iz latin\v{s}\v{c}ine}{iz lat\adddot}},
+% fromlatvian      = {{}{}},% FIXME: missing
   fromnorwegian    = {{iz norve\v{s}\v{c}ine}{iz nor\adddot}},
   frompolish       = {{iz polj\v{s}\v{c}ine}{iz polj\adddot}},
   fromportuguese   = {{iz portugal\v{s}\v{c}ine}{iz por\adddot}},
   fromrussian      = {{iz ru\v{s}\v{c}ine}{iz ru\adddot}},
+% fromslovak       = {{}{}},% FIXME: missing
   fromslovene      = {{iz sloven\v{s}\v{c}ine}{iz sl\adddot}},
   fromspanish      = {{iz \v{s}pan\v{s}\v{c}ine}{iz \v{s}p\adddot}},
   fromswedish      = {{iz \v{s}ved\v{s}\v{c}ine}{iz \v{s}ved\adddot}},

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx	2018-03-05 22:15:52 UTC (rev 46851)
@@ -197,7 +197,7 @@
   byauthor         = {{de}{de}},
   byeditor         = {{editado por}{ed\adddotspace por}},
   bycompiler       = {{compilado por}{comp\adddotspace por}},
-  byredactor       = {{redacción de}{red\adddotspace de}},
+  byredactor       = {{redacci\'on de}{red\adddotspace de}},
   byreviser        = {{revisado por}{rev\adddotspace por}},% FIXME: unsure
   byreviewer       = {{rese\~{nado por}}{res\adddotspace por}},% FIXME: unsure
   byfounder        = {{fundado por}{fund\adddotspace por}},
@@ -350,7 +350,7 @@
   urlseen          = {{visitado}{visitado}},
   inpreparation    = {{en preparaci\'{o}}{en prep\adddot}},
   submitted        = {{enviado}{enviado}},
-  forthcoming      = {{próximamente}{prox\adddot}},
+  forthcoming      = {{pr\'oximamente}{prox\adddot}},
   inpress          = {{en prensa}{en prensa}},
   prepublished     = {{previamente publicado}{prepublicado}},
   citedas          = {{citado en adelante como}{cit\adddotspace en adelante como}},
@@ -405,10 +405,12 @@
   langgreek        = {{griego}{griego}},
   langitalian      = {{italiano}{italiano}},
   langlatin        = {{lat\'{\i}n}{lat\'{\i}n}},
+% langlatvian      = {{}{}},% FIXME: missing
   langnorwegian    = {{noruego}{noruego}},
   langpolish       = {{polaco}{polaco}},
   langportuguese   = {{portugu\'es}{portugu\'es}},
   langrussian      = {{ruso}{ruso}},
+% langslovak       = {{}{}},% FIXME: missing
 % langslovene      = {{esloveno}{esloveno}}, %%FIXME: not defined?
   langspanish      = {{espa\~nol}{espa\~nol}},
   langswedish      = {{sueco}{sueco}},
@@ -429,10 +431,12 @@
   fromgreek        = {{del griego}{del griego}},
   fromitalian      = {{del italiano}{del italiano}},
   fromlatin        = {{del lat\'{\i}n}{del lat\'{\i}n}},
+% fromlatvian      = {{}{}},% FIXME: missing
   fromnorwegian    = {{del noruego}{del noruego}},
   frompolish       = {{del polaco}{del polaco}},
   fromportuguese   = {{del portugu\'es}{del portugu\'es}},
   fromrussian      = {{del ruso}{del ruso}},
+% fromslovak       = {{}{}},% FIXME: missing
 % fromslovene      = {{del esloveno}{del esloveno}}, %%FIXME: not defined?
   fromspanish      = {{del espa\~nol}{del espa\~nol}},
   fromswedish      = {{del sueco}{del sueco}},

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx	2018-03-05 22:15:52 UTC (rev 46851)
@@ -436,6 +436,7 @@
   langgreek        = {{grekiska}{grekiska}},
   langitalian      = {{italienska}{italienska}},
   langlatin        = {{latin}{latin}},
+% langlatvian      = {{}{}},% FIXME: missing
   langnorwegian    = {{norska}{norska}},
   langpolish       = {{polska}{polska}},
   langportuguese   = {{portugisiska}{portugisiska}},
@@ -460,10 +461,12 @@
   fromgreek        = {{fr\aa n grekiska}{fr\aa n grekiska}},
   fromitalian      = {{fr\aa n italienska}{fr\aa n italienska}},
   fromlatin        = {{fr\aa n latin}{fr\aa n latin}},
+% fromlatvian      = {{}{}},% FIXME: missing
   fromnorwegian    = {{fr\aa n norska}{fr\aa n norska}},
   frompolish       = {{fr\aa n polska}{fr\aa n polska}},
   fromportuguese   = {{fr\aa n portugisiska}{fr\aa n portugisiska}},
   fromrussian      = {{fr\aa n ryska}{fr\aa n ryska}},
+% fromslovak       = {{}{}},% FIXME: missing
 % fromslovene      = {{}{}},% FIXME: missing
   fromspanish      = {{fr\aa n spanska}{fr\aa n spanska}},
   fromswedish      = {{fr\aa n svenska}{fr\aa n svenska}},

Modified: trunk/Master/texmf-dist/tex/latex/biblatex/lbx/ukrainian.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex/lbx/ukrainian.lbx	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/texmf-dist/tex/latex/biblatex/lbx/ukrainian.lbx	2018-03-05 22:15:52 UTC (rev 46851)
@@ -505,10 +505,12 @@
   langitalian      = {{італійська}{італ\adddot}},
   langjapanese     = {{японська}{яп\adddot}},
   langlatin        = {{латинська}{лат\adddot}},
+% langlatvian      = {{}{}},% FIXME: missing
   langnorwegian    = {{норвезька}{норв\adddot}},
   langpolish       = {{польська}{пол\adddot}},
   langportuguese   = {{португальська}{порт\adddot}},
   langrussian      = {{російська}{рос\adddot}},
+% langslovak       = {{}{}},% FIXME: missing
   langslovene      = {{словенська}{слов\adddot}},
   langspanish      = {{іспанська}{ісп\adddot}},
   langswedish      = {{шведська}{швед\adddot}},
@@ -531,10 +533,12 @@
   fromitalian      = {{з італійської}{з\addabbrvspace італ\adddot}},
   fromjapanese     = {{з японської}{з\addabbrvspace яп\adddot}},
   fromlatin        = {{з латинської}{з\addabbrvspace лат\adddot}},
+% fromlatvian      = {{}{}},% FIXME: missing
   fromnorwegian    = {{з норвезької}{з\addabbrvspace норв\adddot}},
   frompolish       = {{з польської}{з\addabbrvspace пол\adddot}},
   fromportuguese   = {{з португальської}{з\addabbrvspace порт\adddot}},
   fromrussian      = {{з російської}{з\addabbrvspace рос\adddot}},
+% fromslovak       = {{}{}},% FIXME: missing
   fromslovene      = {{зі словенської}{зі\addabbrvspace слов\adddot}},
   fromspanish      = {{з іспанської}{з\addabbrvspace ісп\adddot}},
   fromswedish      = {{з шведської}{з\addabbrvspace швед\adddot}},

Modified: trunk/Master/tlpkg/tlpsrc/biber.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/biber.tlpsrc	2018-03-05 22:13:17 UTC (rev 46850)
+++ trunk/Master/tlpkg/tlpsrc/biber.tlpsrc	2018-03-05 22:15:52 UTC (rev 46851)
@@ -6,9 +6,10 @@
 amd64-netbsd,\
 armel-linux,\
 armhf-linux,\
+i386-linuxmusl,\
 i386-netbsd,\
-i386-solaris,\
 powerpc-darwin,\
 powerpc-linux,\
 sparc-solaris,\
+x86_64-linuxmusl,\
   bin/${ARCH}/biber



More information about the tex-live-commits mailing list