diff options
author | Karl Berry <karl@freefriends.org> | 2015-04-27 21:49:29 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-04-27 21:49:29 +0000 |
commit | 7be15899cb52af2136151bc4540f9c83e3032b8d (patch) | |
tree | 22ec7c4c9e32f1d9f71441c88533615163f048de /Master | |
parent | 08ec1f45ba4d7588654ca79b4f0b2b114db9e2db (diff) |
biblatex (26apr15)
git-svn-id: svn://tug.org/texlive/trunk@37083 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
21 files changed, 1587 insertions, 1117 deletions
diff --git a/Master/texmf-dist/bibtex/bib/biblatex/biblatex/biblatex-examples.bib b/Master/texmf-dist/bibtex/bib/biblatex/biblatex/biblatex-examples.bib index 9bd2950221f..e9b21a3d53e 100644 --- a/Master/texmf-dist/bibtex/bib/biblatex/biblatex/biblatex-examples.bib +++ b/Master/texmf-dist/bibtex/bib/biblatex/biblatex/biblatex-examples.bib @@ -10,7 +10,7 @@ @incollection{westfahl:space, author = {Westfahl, Gary}, title = {The True Frontier}, - subtitle = {Confronting and Avoiding the Realities of Space in American + subtitle = {Confronting and Avoiding the Realities of Space in {American} Science Fiction Films}, pages = {55-65}, crossref = {westfahl:frontier}, @@ -45,7 +45,7 @@ and {\c{C}}etinkaya, Bekir and Ni, Chaoying and B{\"u}y{\"u}kg{\"u}ng{\"o}r, Orhan and {\"O}zkal, Erhan}, title = {Effect of immobilization on catalytic characteristics of - saturated Pd-N-heterocyclic carbenes in Mizoroki-Heck + saturated {Pd-N}-heterocyclic carbenes in {Mizoroki-Heck} reactions}, journaltitle = jomch, date = 2006, @@ -73,7 +73,7 @@ @article{baez/article, author = {Baez, John C. and Lauda, Aaron D.}, - title = {Higher-Dimensional Algebra V: 2-Groups}, + title = {Higher-Dimensional Algebra {V}: 2-Groups}, journaltitle = {Theory and Applications of Categories}, date = 2004, volume = 12, @@ -92,7 +92,7 @@ @article{bertram, author = {Bertram, Aaron and Wentworth, Richard}, - title = {Gromov invariants for holomorphic maps on Riemann surfaces}, + title = {Gromov invariants for holomorphic maps on {Riemann} surfaces}, journaltitle = jams, date = 1996, volume = 9, @@ -107,7 +107,7 @@ @article{doody, author = {Doody, Terrence}, - title = {Hemingway's Style and Jake's Narration}, + title = {Hemingway's Style and {Jake's} Narration}, year = 1974, volume = 4, number = 3, @@ -139,7 +139,7 @@ @article{gillies, author = {Gillies, Alexander}, - title = {Herder and the Preparation of Goethe's Idea of World + title = {Herder and the Preparation of {Goethe's} Idea of World Literature}, journaltitle = {Publications of the English Goethe Society}, date = 1933, @@ -165,7 +165,7 @@ @article{herrmann, author = {Herrmann, Wolfgang A. and {\"O}fele, Karl and Schneider, Sabine K. and Herdtweck, Eberhardt and Hoffmann, Stephan D.}, - title = {A carbocyclic carbene as an efficient catalyst ligand for C--C + title = {A carbocyclic carbene as an efficient catalyst ligand for {C--C} coupling reactions}, journaltitle = anch-ie, date = 2006, @@ -181,7 +181,7 @@ free energies from molecular simulations}, journaltitle = jchph, date = 2006, - subtitle = {I. The electrostatic potential in molecular liquids}, + subtitle = {{I}. {The} electrostatic potential in molecular liquids}, volume = 124, eid = 124106, doi = {10.1063/1.2172593}, @@ -224,7 +224,7 @@ Gary L. and Porter, Marc D. and Evans, Neal D. and Murray, Royce W.}, title = {Alkanethiolate gold cluster molecules with core diameters from - 1.5 to 5.2~nm}, + 1.5 to 5.2~{nm}}, journaltitle = {Langmuir}, date = 1998, subtitle = {Core and monolayer properties as a function of core size}, @@ -242,7 +242,7 @@ @article{reese, author = {Reese, Trevor R.}, - title = {Georgia in Anglo-Spanish Diplomacy, 1736-1739}, + title = {Georgia in {Anglo-Spanish} Diplomacy, 1736--1739}, journaltitle = {William and Mary Quarterly}, date = 1958, series = 3, @@ -340,7 +340,7 @@ @article{springer, author = {Springer, Otto}, - title = {Mediaeval Pilgrim Routes from Scandinavia to Rome}, + title = {Mediaeval Pilgrim Routes from {Scandinavia} to {Rome}}, journaltitle = {Mediaeval Studies}, date = 1950, volume = 12, @@ -364,7 +364,7 @@ author = {Yoon, Myeong S. and Ryu, Dowook and Kim, Jeongryul and Ahn, Kyo Han}, title = {Palladium pincer complexes with reduced bond angle strain: - efficient catalysts for the Heck reaction}, + efficient catalysts for the {Heck} reaction}, journaltitle = {Organometallics}, date = 2006, volume = 25, @@ -406,7 +406,7 @@ title = {Poetics}, date = 1968, editor = {Lucas, D. W.}, - series = {Clarendon Aristotle}, + series = {Clarendon {Aristotle}}, publisher = {Clarendon Press}, location = {Oxford}, keywords = {primary}, @@ -419,8 +419,8 @@ @book{aristotle:rhetoric, author = {Aristotle}, - title = {The Rhetoric of Aristotle with a commentary by the late Edward - Meredith Cope}, + title = {The Rhetoric of {Aristotle} with a commentary by the late {Edward + Meredith Cope}}, date = 1877, editor = {Cope, Edward Meredith}, commentator = {Cope, Edward Meredith}, @@ -430,7 +430,7 @@ langid = {english}, langidopts = {variant=british}, sorttitle = {Rhetoric of Aristotle}, - indextitle = {Rhetoric of Aristotle, The}, + indextitle = {Rhetoric of {Aristotle}, The}, shorttitle = {Rhetoric}, annotation = {A commented edition. Note the concatenation of the \texttt{editor} and \texttt{commentator} fields as well as the @@ -453,11 +453,11 @@ @book{averroes/bland, author = {Averroes}, title = {The Epistle on the Possibility of Conjunction with the Active - Intellect by Ibn Rushd with the Commentary of Moses Narboni}, + Intellect by {Ibn Rushd} with the Commentary of {Moses Narboni}}, date = 1982, editor = {Bland, Kalman P.}, translator = {Bland, Kalman P.}, - series = {Moreshet: Studies in Jewish History, Literature and Thought}, + series = {Moreshet: Studies in {Jewish} History, Literature and Thought}, number = 7, publisher = {Jewish Theological Seminary of America}, location = {New York}, @@ -539,11 +539,11 @@ @book{coleridge, author = {Coleridge, Samuel Taylor}, - title = {Biographia literaria, or Biographical sketches of my literary + title = {Biographia literaria, or {Biographical} sketches of my literary life and opinions}, date = 1983, editor = {Coburn, Kathleen and Engell, James and Bate, W. Jackson}, - maintitle = {The collected works of Samuel Taylor Coleridge}, + maintitle = {The collected works of {Samuel Taylor Coleridge}}, volume = 7, part = 2, series = {Bollingen Series}, @@ -563,7 +563,7 @@ @book{companion, author = {Goossens, Michel and Mittelbach, Frank and Samarin, Alexander}, - title = {The LaTeX Companion}, + title = {The {LaTeX} Companion}, date = 1994, edition = 1, publisher = {Addison-Wesley}, @@ -614,7 +614,7 @@ @book{gonzalez, author = {Gonzalez, Ray}, - title = {The Ghost of John Wayne and Other Stories}, + title = {The Ghost of {John Wayne} and Other Stories}, date = 2001, publisher = {The University of Arizona Press}, location = {Tucson}, @@ -622,8 +622,8 @@ langid = {english}, langidopts = {variant=american}, sorttitle = {Ghost of John Wayne and Other Stories}, - indextitle = {Ghost of John Wayne and Other Stories, The}, - shorttitle = {Ghost of John Wayne}, + indextitle = {Ghost of {John Wayne} and Other Stories, The}, + shorttitle = {Ghost of {John Wayne}}, annotation = {A collection of short stories. This is a \texttt{book} entry. Note the \texttt{sorttitle} and \texttt{indextitle} fields in the database file. There's also an \texttt{isbn} field}, @@ -684,7 +684,7 @@ @book{knuth:ct:a, author = {Knuth, Donald E.}, - title = {The \TeX book}, + title = {The {\TeX} book}, date = 1984, maintitle = {Computers \& Typesetting}, volume = {A}, @@ -727,7 +727,7 @@ @book{knuth:ct:c, author = {Knuth, Donald E.}, - title = {The METAFONTbook}, + title = {The {METAFONTbook}}, date = 1986, maintitle = {Computers \& Typesetting}, volume = {C}, @@ -763,7 +763,7 @@ @book{knuth:ct:e, author = {Knuth, Donald E.}, - title = {Computer Modern Typefaces}, + title = {{Computer Modern} Typefaces}, date = 1986, maintitle = {Computers \& Typesetting}, volume = {E}, @@ -837,7 +837,7 @@ @book{malinowski, author = {Malinowski, Bronis{\l}aw}, - title = {Argonauts of the Western Pacific}, + title = {Argonauts of the {Western Pacific}}, date = 1972, edition = 8, publisher = {Routledge {and} Kegan Paul}, @@ -845,7 +845,7 @@ langid = {english}, langidopts = {variant=british}, subtitle = {An account of native enterprise and adventure in the - Archipelagoes of Melanesian New Guinea}, + Archipelagoes of {Melanesian New Guinea}}, shorttitle = {Argonauts}, annotation = {This is a \texttt{book} entry. Note the format of the \texttt{publisher} and \texttt{edition} fields as well as the @@ -984,7 +984,7 @@ location = {Durham and London}, langid = {english}, langidopts = {variant=american}, - subtitle = {Crime in Mexico City, 1900--1931}, + subtitle = {Crime in {Mexico City}, 1900--1931}, shorttitle = {City of Suspects}, annotation = {This is a \texttt{book} entry. Note the format of the \texttt{location} field in the database file}, @@ -1084,7 +1084,7 @@ title = {The Importance of Being Earnest: A Trivial Comedy for Serious People}, year = 1899, - series = {English and American drama of the Nineteenth Century}, + series = {English and {American} drama of the Nineteenth Century}, publisher = {Leonard Smithers {and} Company}, eprint = {4HIWAAAAYAAJ}, eprinttype = {googlebooks}, @@ -1102,7 +1102,7 @@ langidopts = {variant=american}, sorttitle = {Cast of Character}, indextitle = {Cast of Character, The}, - subtitle = {Style in Greek Literature}, + subtitle = {Style in {Greek} Literature}, shorttitle = {Cast of Character}, annotation = {A \texttt{book} entry. Note the \texttt{sorttitle} and \texttt{indextitle} fields}, @@ -1110,7 +1110,7 @@ @collection{britannica, editor = {Preece, Warren E.}, - title = {The New Encyclop{\ae}dia Britannica}, + title = {The {New Encyclop{\ae}dia Britannica}}, date = 2003, edition = 15, volumes = 32, @@ -1121,8 +1121,8 @@ langid = {english}, langidopts = {variant=british}, sorttitle = {Encyclop{\ae}dia Britannica}, - indextitle = {Encyclop{\ae}dia Britannica, The New}, - shorttitle = {Encyclop{\ae}dia Britannica}, + indextitle = {{Encyclop{\ae}dia Britannica}, The {New}}, + shorttitle = {{Encyclop{\ae}dia Britannica}}, annotation = {This is a \texttt{collection} entry for an encyclopedia. Note the \texttt{useeditor} option in the \texttt{options} field as well as the \texttt{sorttitle} field. We want this entry to be @@ -1169,6 +1169,7 @@ edition = 2, volumes = 2, location = {Leipzig}, + langid = {latin}, editoratype = {redactor}, indextitle = {Regesta Pontificum Romanorum}, shorttitle = {Regesta Pontificum Romanorum}, @@ -1295,9 +1296,9 @@ author = {Arthur Hyman}, editor = {O'Meara, Dominic J.}, title = {Aristotle's Theory of the Intellect and its Interpretation by - Averroes}, + {Averroes}}, date = 1981, - booktitle = {Studies in Aristotle}, + booktitle = {Studies in {Aristotle}}, series = {Studies in Philosophy and the History of Philosophy}, number = 9, publisher = {The Catholic University of America Press}, @@ -1315,18 +1316,18 @@ @incollection{pines, author = {Pines, Shlomo}, editor = {Twersky, Isadore}, - title = {The Limitations of Human Knowledge According to Al-Farabi, ibn - Bajja, and Maimonides}, + title = {The Limitations of Human Knowledge According to {Al-Farabi}, {ibn + Bajja}, and {Maimonides}}, date = 1979, - booktitle = {Studies in Medieval Jewish History and Literature}, + booktitle = {Studies in Medieval {Jewish} History and Literature}, publisher = hup, location = {Cambridge, Mass.}, pages = {82-109}, keywords = {secondary}, langid = {english}, langidopts = {variant=american}, - indextitle = {Limitations of Human Knowledge According to Al-Farabi, ibn - Bajja, and Maimonides, The}, + indextitle = {Limitations of Human Knowledge According to {Al-Farabi}, {ibn + Bajja}, and {Maimonides}, The}, shorttitle = {Limitations of Human Knowledge}, annotation = {A typical \texttt{incollection} entry. Note the \texttt{indextitle} field}, @@ -1363,7 +1364,7 @@ date = 1968, booktitle = {Elementary particle theory}, booksubtitle = {Relativistic groups and analyticity}, - booktitleaddon= {Proceedings of the Eighth Nobel Symposium}, + booktitleaddon= {Proceedings of the {Eighth Nobel Symposium}}, eventdate = {1968-05-19/1968-05-25}, venue = {Aspen{\"a}sgarden, Lerum}, publisher = {Almquist \& Wiksell}, @@ -1372,7 +1373,7 @@ } @manual{cms, - title = {The Chicago Manual of Style}, + title = {The {Chicago} Manual of Style}, date = 2003, subtitle = {The Essential Guide for Writers, Editors, and Publishers}, edition = 15, @@ -1397,7 +1398,7 @@ @online{baez/online, author = {Baez, John C. and Lauda, Aaron D.}, - title = {Higher-Dimensional Algebra V: 2-Groups}, + title = {Higher-Dimensional Algebra {V}: 2-Groups}, date = {2004-10-27}, version = 3, langid = {english}, @@ -1414,7 +1415,7 @@ title = {CTAN}, date = 2006, url = {http://www.ctan.org}, - subtitle = {The Comprehensive TeX Archive Network}, + subtitle = {The {Comprehensive TeX Archive Network}}, urldate = {2006-10-01}, label = {CTAN}, langid = {english}, @@ -1431,7 +1432,7 @@ @online{itzhaki, author = {Itzhaki, Nissan}, - title = {Some remarks on 't Hooft's S-matrix for black holes}, + title = {Some remarks on {'t Hooft's} {S}-matrix for black holes}, date = {1996-03-11}, version = 1, langid = {english}, @@ -1452,10 +1453,10 @@ @online{markey, author = {Markey, Nicolas}, - title = {Tame the BeaST}, + title = {Tame the {BeaST}}, date = {2005-10-16}, url = {http://tug.ctan.org/tex-archive/info/bibtex/tamethebeast/ttb_en.pdf}, - subtitle = {The B to X of BibTeX}, + subtitle = {The {B} to {X} of {BibTeX}}, version = {1.3}, urldate = {2006-10-01}, langid = {english}, @@ -1551,7 +1552,7 @@ @patent{sorace, author = {Sorace, Ronald E. and Reinhardt, Victor S. and Vaughn, Steven A.}, - title = {High-Speed Digital-to-RF Converter}, + title = {High-Speed Digital-to-{RF} Converter}, number = 5668842, date = {1997-09-16}, holder = {{Hughes Aircraft Company}}, @@ -1577,8 +1578,8 @@ @report{chiu, author = {Chiu, Willy W. and Chow, We Min}, - title = {A Hybrid Hierarchical Model of a Multiple Virtual Storage - (MVS) Operating System}, + title = {A Hybrid Hierarchical Model of a {Multiple Virtual Storage} + ({MVS}) Operating System}, type = {resreport}, institution = {IBM}, date = 1978, @@ -1597,7 +1598,7 @@ @report{padhye, author = {Padhye, Jitendra and Firoiu, Victor and Towsley, Don}, - title = {A Stochastic Model of TCP Reno Congestion Avoidance and + title = {A Stochastic Model of {TCP Reno} Congestion Avoidance and Control}, type = {techreport}, institution = {University of Massachusetts}, @@ -1608,7 +1609,7 @@ langidopts = {variant=american}, sorttitle = {A Stochastic Model of TCP Reno Congestion Avoidance and Control}, - indextitle = {Stochastic Model of TCP Reno Congestion Avoidance and Control, + indextitle = {Stochastic Model of {TCP Reno} Congestion Avoidance and Control, A}, annotation = {This is a \texttt{report} entry for a technical report. Note the format of the \texttt{type} field in the database file @@ -1645,7 +1646,7 @@ type = {phdthesis}, institution = {Uppsala Universitet}, date = 1985, - subtitle = {The Orkney Earldom of the Twelfth Century. A Musicological + subtitle = {The {Orkney Earldom} of the Twelfth Century. {A} Musicological Study}, location = {Uppsala}, options = {useprefix=false}, diff --git a/Master/texmf-dist/bibtex/bst/biblatex/biblatex.bst b/Master/texmf-dist/bibtex/bst/biblatex/biblatex.bst index 820b8f56eb1..c8fef68b1d9 100644 --- a/Master/texmf-dist/bibtex/bst/biblatex/biblatex.bst +++ b/Master/texmf-dist/bibtex/bst/biblatex/biblatex.bst @@ -176,7 +176,7 @@ STRINGS { ctrl.alphaothers templist tempstrga tempstrgb resvstrga last.name last.hash last.year last.extra } FUNCTION {initialize} { - "$Revision: 2.9 $" + "$Revision: 3.0 $" #12 entry.max$ substring$ #-3 entry.max$ substring$ "Biblatex version: " swap$ * top$ @@ -1775,7 +1775,7 @@ FUNCTION {input:control:options} { % This version corresponds to the .bbl version, *not* the biblatex version! FUNCTION {input:control:version} { input:control:parse - "$Revision: 2.4 $" + "$Revision: 2.5 $" #12 entry.max$ substring$ #-3 entry.max$ substring$ 'tempstrga := @@ -2599,7 +2599,7 @@ SORT % This version corresponds to the .bbl version, *not* the biblatex version! FUNCTION {output:main:begin} { "% $ biblatex auxiliary file $" write$ newline$ - "% $ biblatex version " "$Revision: 2.4 $" + "% $ biblatex version " "$Revision: 2.5 $" #12 entry.max$ substring$ #-3 entry.max$ substring$ * " $" * write$ newline$ "% Do not modify the above lines!" write$ newline$ "%" write$ newline$ diff --git a/Master/texmf-dist/doc/latex/biblatex/RELEASE b/Master/texmf-dist/doc/latex/biblatex/RELEASE index 405e74a34b5..c9117079c0b 100644 --- a/Master/texmf-dist/doc/latex/biblatex/RELEASE +++ b/Master/texmf-dist/doc/latex/biblatex/RELEASE @@ -1,3 +1,60 @@ +RELEASE NOTES FOR VERSION 3.0 + +* Biber version 2.0 is required for biblatex 3.0 +* A new reference context mechanism to allow for future extensions has been + introduced. Effectively, this means the following. The 'sorting' option to + \printbibliography and \printbiblist is deprecated. You should use the + 'sorting' option to \newrefcontext or the + \begin{refcontext}\end{refcontext} environment. This allows the sorting + list context wider scope over citations etc. too. For example, some + information in citations like extrayear depends on the sort list order + but until this version, citation sorting was always determined by the global sort + list. Therefore it was not too difficult to get into a situation where + citations were incorrect for a bibliography list with a defined sorting scheme: + + \usepackage[sorting=nty]{biblatex} + \cite{test1} + \cite{test2} + \printbibliography[sorting=nyt] + + In this case, the citation labels may not match the bibliography + because the data used to generate the citations are drawn from a + different sort list. This was a general issue that entry data was + assumed to be the same over all bibliography lists. Only the order of + entries was assumed to be different, which is incorrect. The order of + items in a bibliography list can impact the actual data contents of + items in the case of things like the extra* fields. Now, the above can + be solved using the new refcontext mechanism which exposes the sorting + context to biblatex: + + \usepackage[sorting=nty]{biblatex} + \newrefcontext[sorting=nyt] + \cite{test1} + \cite{test2} + \printbibliography + + In this case, the \cite commands pull their data from the "nyt" sorting + list data which is also used by the following \printbibliography + This is all for biber only. +* labelname and labeltitle are now instantiated by biblatex dynamically at + output time. Prior to this release, labelname and labeltitle were + statically instantiated by biber and put into the .bbl. This does not allow + for context-sensitive labelname/labeltitle determination which is + foreseen in future extensions. +* New "pernottype" and "entryclone" sourcemapping verbs allow for negated + matches on entry types and the cloning of entries respectively. Requires + biber. +* Biber now calculates the length of ranges (like page ranges) so that the + various range-length tests are far more accurate. See the "frangelen" + field documentation. This is very robust and can deal with roman numerals + in just about all of their Unicode and ASCII forms. +* When a bibliography field is declared as a "name" field in the data + model, all options and counters to decide whether to use it or not are + automatically created. This effectively extends the existing "useauthor" + and "useeditor" options to all data mode name fields automatically. These + options are now just special cases of the general data model name + handling mechanism. + RELEASE NOTES FOR VERSION 2.9a * Biber version 1.9 is required for biblatex 2.9a diff --git a/Master/texmf-dist/doc/latex/biblatex/biblatex.pdf b/Master/texmf-dist/doc/latex/biblatex/biblatex.pdf Binary files differindex 408a49237bd..d5227f7510d 100644 --- a/Master/texmf-dist/doc/latex/biblatex/biblatex.pdf +++ b/Master/texmf-dist/doc/latex/biblatex/biblatex.pdf diff --git a/Master/texmf-dist/doc/latex/biblatex/biblatex.tex b/Master/texmf-dist/doc/latex/biblatex/biblatex.tex index 872a07043af..c8e393f40f6 100644 --- a/Master/texmf-dist/doc/latex/biblatex/biblatex.tex +++ b/Master/texmf-dist/doc/latex/biblatex/biblatex.tex @@ -49,8 +49,8 @@ url={\biblatexhome}, author={Philipp Lehman \\(with Philip Kime, Audrey Boruvka and Joseph Wright)}, email={}, - revision={2.9a}, - date={24/06/2014}} + revision={3.0}, + date={20/04/2015}} \hypersetup{% pdftitle={The \biblatex Package}, @@ -128,6 +128,13 @@ \newrobustcmd*{\LFMark}{% \leavevmode\marginpar{\LF}} +% following snippet is based on code by Michael Ummels (TeX Stack Exchange) +% <http://tex.stackexchange.com/a/13073/8305> +\makeatletter + \newcommand\fnurl@[1]{\footnote{\url@{#1}}} + \DeclareRobustCommand{\fnurl}{\hyper@normalise\fnurl@} +\makeatother + \hyphenation{% star-red bib-lio-gra-phy @@ -143,7 +150,7 @@ \section{Introduction} \label{int} -This document is a systematic reference manual for the \biblatex package. Look at the sample documents which ship with \biblatex to get a first impression.\fnurl{\biblatexctan/doc/examples} +This document is a systematic reference manual for the \biblatex package. Look at the sample documents which ship with \biblatex to get a first impression.\fnurl{\biblatexctan doc/examples} For a quick start guide, browse \secref{int:abt, bib:typ, bib:fld, bib:use, use:opt, use:xbx, use:bib, use:cit, use:use}. \subsection[About]{About \biblatex} @@ -167,6 +174,7 @@ Augusto Ritter Stoffel, Mateus Araújo (Brazilian); Sebastià Vila-Marta (Catalan); Ivo Pletikosić (Croatian); Michal Hoftich (Czech); +Jonas Nyrup (Danish); Johannes Wilm (Danish\slash Norwegian); Alexander van Loon, Pieter Belmans, Hendrik Maryns (Dutch); Hannu Väisänen, Janne Kujanpää (Finnish); @@ -668,6 +676,8 @@ In datasources such as a \file{bib} file, all bibliographic data is specified in \item[Name lists] are parsed and split up into the individual items at the \texttt{and} delimiter. Each item in the list is then dissected into four name components: the first name, the name prefix (von, van, of, da, de, della, \dots), the last name, and the name suffix (junior, senior, \dots). Name lists may be truncated in the \file{bib} file with the keyword <\texttt{and others}>. Typical examples of name lists are \bibfield{author} and \bibfield{editor}. +\BiberOnlyMark With \biber, name list fields automatically have an \cmd{ifuse*} test created as per the name lists in the default data model (see \secref{aut:aux:tst}). They are also automatically have a \opt{ifuse*} option created which controls labelling and sorting behaviour with the name (see \secref{use:opt:bib:hyb}). + \item[Literal lists] are parsed and split up into the individual items at the \texttt{and} delimiter but not dissected further. Literal lists may be truncated in the \file{bib} file with the keyword <\texttt{and others}>. There are two subtypes: \begin{description} @@ -2085,7 +2095,7 @@ Whether or not to use information from related entries or not. See \secref{use:r \boolitem[false]{sortcites} -Whether or not to sort citations if multiple entry keys are passed to a citation command. If this option is enabled, citations are sorted according to the global sorting order of the bibliography. This feature works with all citation styles. +Whether or not to sort citations if multiple entry keys are passed to a citation command. If this option is enabled, citations are sorted according to the current bibliography context sorting scheme (see \secref{use:bib:context}). This feature works with all citation styles. \intitem[3]{maxnames} @@ -2620,7 +2630,7 @@ Whether or not to update the \cnt{uniquelist} counter, see \secref{aut:aux:tst} \item[minyear] Disambiguate the \bibfield{labelname} list only if the truncated list is identical to another one with the same \bibfield{labelyear}. This mode of operation is useful for author-year styles and requires \kvopt{labeldate}{true}. \end{valuelist} % -Note that the \opt{uniquelist} option will also affect the \cmd{ifsingletitle} test and the \bibfield{extrayear} field. See \secref{aut:cav:amb} for further details and practical examples. See \secref{aut:cav:amb} for further details and practical examples. +Note that the \opt{uniquelist} option will also affect the \cmd{ifsingletitle} test and the \bibfield{extrayear} field. See \secref{aut:cav:amb} for further details and practical examples. \end{optionlist} @@ -2647,29 +2657,29 @@ labeltitleyear & --- & extratitleyear & labeltitle+labelyear\\ \subsubsection{Entry Options} \label{use:opt:bib} -Entry options are package options which can be adjusted on a per"=entry basis in the \bibfield{options} field from \secref{bib:fld:spc}. +Entry options are package options which determine how bibliography data entries are handled. They may be set at various scopes defined below. \paragraph{Preamble/Type/Entry Options} \label{use:opt:bib:hyb} -The following options are settable on a per"=entry basis in the \bibfield{options} field. In addition to that, they may also be used in the optional argument to \cmd{usepackage} as well as in the configuration file and the document preamble. This is useful if you want to change the default behavior globally. +The following options are settable on a per"=type basis or on a per"=entry in the \bibfield{options} field. In addition to that, they may also be used in the optional argument to \cmd{usepackage} as well as in the configuration file and the document preamble. This is useful if you want to change the default behaviour globally. \begin{optionlist} \boolitem[true]{useauthor} Whether the \bibfield{author} is used in labels and considered during sorting. This may be useful if an entry includes an \bibfield{author} field but is usually not cited by author for some reason. Setting \kvopt{useauthor}{false} does not mean that the \bibfield{author} is ignored completely. It means that the \bibfield{author} is not used in labels and ignored during sorting. The entry will then be alphabetized by \bibfield{editor} or \bibfield{title}. With the standard styles, the \bibfield{author} is printed after the title in this case. See also \secref{use:srt}. -\BiberOnlyMark With \biber, this option is also settable on a per-type basis. +\BiberOnlyMark With \biber, this option is also settable on a per-type and per-entry basis. \boolitem[true]{useeditor} Whether the \bibfield{editor} replaces a missing \bibfield{author} in labels and during sorting. This may be useful if an entry includes an \bibfield{editor} field but is usually not cited by editor. Setting \kvopt{useeditor}{false} does not mean that the \bibfield{editor} is ignored completely. It means that the \bibfield{editor} does not replace a missing \bibfield{author} in labels and during sorting. The entry will then be alphabetized by \bibfield{title}. With the standard styles, the \bibfield{editor} is printed after the title in this case. See also \secref{use:srt}. -\BiberOnlyMark With \biber, this option is also settable on a per-type basis. +\BiberOnlyMark With \biber, this option is also settable on a per-type and per-entry basis. \boolitem[false]{usetranslator} Whether the \bibfield{translator} replaces a missing \bibfield{author}\slash \bibfield{editor} in labels and during sorting. Setting \kvopt{usetranslator}{true} does not mean that the \bibfield{translator} overrides the \bibfield{author}\slash \bibfield{editor}. It means that the \bibfield{translator} is considered as a fallback if the \bibfield{author}\slash \bibfield{editor} is missing or if \opt{useauthor} and \opt{useeditor} are set to \texttt{false}. In other words, in order to cite a book by translator rather than by author, you need to set the following options: -\BiberOnlyMark With \biber, this option is also settable on a per-type basis. +\BiberOnlyMark With \biber, this option is also settable on a per-type and per-entry basis. \begin{lstlisting}[style=bibtex]{} @Book{..., @@ -2681,6 +2691,10 @@ Whether the \bibfield{translator} replaces a missing \bibfield{author}\slash \bi % With the standard styles, the \bibfield{translator} is printed after the title by default. See also \secref{use:srt}. +\boolitem[true]{use$<$name$>$} + +As per \opt{useauthor}, \opt{useeditor} and \opt{usetranslator}, all name lists defined in the data model have an option controlling their behaviour in sorting and labelling automatically +defined. Global, per-type and per-entry options called <use$<$name$>$>are automatically created. \boolitem[false]{useprefix} Whether the name prefix (von, van, of, da, de, della, etc.) is considered when printing the last name in citations. This also affects the sorting and formatting of the bibliography as well as the generation of certain types of labels. If this option is enabled, \biblatex always precedes the last name with the prefix. For example, Ludwig van Beethoven would be cited as «Beethoven» and alphabetized as «Beethoven, Ludwig van» by default. If this option is enabled, he is cited as «van Beethoven» and alphabetized as «Van Beethoven, Ludwig» instead. @@ -2695,7 +2709,7 @@ The \opt{indexing} option is also settable per-type or per-entry basis. See \sec \paragraph{Type/Entry Options} \label{use:opt:bib:ded} -The following options are only settable on a per"=entry basis in the \bibfield{options} field. They are not available globally. +The following options are settable on a per"=type basis or on a per"=entry in the \bibfield{options} field. They are not available globally. \begin{optionlist} @@ -2704,10 +2718,15 @@ The following options are only settable on a per"=entry basis in the \bibfield{o If this option is enabled, the entry is excluded from the bibliography but it may still be cited. \BiberOnlyMark With \biber, this option is also settable on a per-type basis. -\boolitem[false]{skiplos} +\boolitem[false]{skiplos}[\BibTeXOnly] +If this option is enabled, the entry is excluded from the list of shorthands. It is still included in the bibliography and it may also be cited by shorthand. This option is deprecated when using \biber as the backend. Use \opt{skipbiblist} instead. + +\boolitem[false]{skipbiblist}[\BiberOnly] + +This is the same as the \opt{skiplos} option when using the \bibtex backend. It is renamed for \biber to be consistent with the more generalised bibliography list functionality See \secref{use:bib:biblist}. If this option is enabled, the entry is excluded from the list of shorthands. It is still included in the bibliography and it may also be cited by shorthand. -\BiberOnlyMark With \biber, this option is also settable on a per-type basis. +This option is also settable on a per-type basis. \boolitem[false]{skiplab} @@ -2716,9 +2735,14 @@ If this option is enabled, \biblatex will not assign any labels to the entry. It \boolitem[false]{dataonly} -Setting this option is equivalent to \kvopt{uniquename}{false}, \kvopt{uniquelist}{false, }\opt{skipbib}, \opt{skiplos}, and \opt{skiplab}. It is not required for normal operation. Use it with care. +Setting this option is equivalent to \kvopt{uniquename}{false}, \kvopt{uniquelist}{false, }\opt{skipbib}, \opt{skiplos}/\opt{skipbiblist}, and \opt{skiplab}. It is not required for normal operation. Use it with care. \BiberOnlyMark With \biber, this option is also settable on a per-type basis. +\paragraph{Entry Only Options} +\label{use:opt:bib:entry} + +The following options are settable only on a per"=entry in the \bibfield{options} field. They are not available globally or per"=type. + \valitem{labelnamefield}{fieldname} Specifies the field to consider first when looking for a \bibfield{labelname} candidate. It is essentially prepended to the search list created by \cmd{DeclareLabelname} for just this entry. @@ -2970,14 +2994,14 @@ Multiple relations to the same entry are also possible: % Note the the order of the keys in lists of multiple related entries is important. The data from multiple related entries is printed in the order of the keys listed in this field. See \secref{aut:ctm:rel} for a more details on the mechanisms behind this feature. You can turn this feature off using the package option \opt{related} from \secref{use:opt:pre:gen}. -You can use the \bibfield{relatedoptions} to set options on the related entry data clone. This is useful if you need to override the \opt{dataonly} option which is set by default on all related entry clones. For example, if you will expose some of the names in the related clone in your document, you may want to have them disambiguated from names in other entries but normally this won't happen as related clones have the per"=entry \opt{dataonly} option set and this in turn sets \kvopt{uniquename}{false} and \kvopt{uniquelist}{false}. In such a case, you can set \bibfield{relatedoptions} to just \opt{skiplab, skipbib, skiplos}. +You can use the \bibfield{relatedoptions} to set options on the related entry data clone. This is useful if you need to override the \opt{dataonly} option which is set by default on all related entry clones. For example, if you will expose some of the names in the related clone in your document, you may want to have them disambiguated from names in other entries but normally this won't happen as related clones have the per"=entry \opt{dataonly} option set and this in turn sets \kvopt{uniquename}{false} and \kvopt{uniquelist}{false}. In such a case, you can set \bibfield{relatedoptions} to just \opt{skiplab, skipbib, skiplos/skipbiblist}. \subsection{Sorting Options} \label{use:srt} This package supports various sorting schemes for the bibliography. The sorting scheme is selected with the \opt{sorting} package option from \secref{use:opt:pre:gen}. Apart from the regular data fields there are also some special fields which may be used to optimize the sorting of the bibliography. \Apxref{apx:srt:a1, apx:srt:a2} give an outline of the alphabetic sorting schemes supported by \biblatex. Chronological sorting schemes are listed in \apxref{apx:srt:chr}. A few explanations concerning these schemes are in order. -The first item considered in the sorting process is always the \bibfield{presort} field of the entry. If this field is undefined, \biblatex will use the default value <\texttt{mm}> as a presort string. The next item considered is the \bibfield{sortkey} field. If this field is defined, it serves as the master sort key. Apart from the \bibfield{presort} field, no further data is considered in this case. If the \bibfield{sortkey} field is undefined, sorting continues with the name. The package will try using the \bibfield{sortname}, \bibfield{author}, \bibfield{editor}, and \bibfield{translator} fields, in this order. Which fields are considered also depends on the setting of the \opt{useauthor}, \opt{useeditor}, and \opt{usetranslator} options. If all three of them are disabled, the \bibfield{sortname} field is ignored as well. Note that all name fields are responsive to \opt{maxnames} and \opt{minnames}. If no name field is available, either because all of them are undefined or because \opt{useauthor}, \opt{useeditor}, and \opt{usetranslator} are disabled, \biblatex will fall back to the \bibfield{sorttitle} and \bibfield{title} fields as a last resort. The remaining items are, in various order: the \bibfield{sortyear} field, if defined, or the first four digits of the \bibfield{year} field otherwise; the \bibfield{sorttitle} field, if defined, or the \bibfield{title} field otherwise; the \bibfield{volume} field, which is padded to four digits with leading zeros, or the string \texttt{0000} otherwise. Note that the sorting schemes shown in \apxref{apx:srt:a2} include an additional item: \bibfield{labelalpha} is the label used by <alphabetic> bibliography styles. Strictly speaking, the string used for sorting is \bibfield{labelalpha}~+ \bibfield{extraalpha}. The sorting schemes in \apxref{apx:srt:a2} are intended to be used in conjunction with alphabetic styles only. +The first item considered in the sorting process is always the \bibfield{presort} field of the entry. If this field is undefined, \biblatex will use the default value <\texttt{mm}> as a presort string. The next item considered is the \bibfield{sortkey} field. If this field is defined, it serves as the master sort key. Apart from the \bibfield{presort} field, no further data is considered in this case. If the \bibfield{sortkey} field is undefined, sorting continues with the name. The package will try using the \bibfield{sortname}, \bibfield{author}, \bibfield{editor}, and \bibfield{translator} fields, in this order. Which fields are considered also depends on the setting of the \opt{use$<$name$>$} options. If all such options are disabled, the \bibfield{sortname} field is ignored as well. Note that all name fields are responsive to \opt{maxnames} and \opt{minnames}. If no name field is available, either because all of them are undefined or because all \opt{use$<$name$>$} options are disabled, \biblatex will fall back to the \bibfield{sorttitle} and \bibfield{title} fields as a last resort. The remaining items are, in various order: the \bibfield{sortyear} field, if defined, or the first four digits of the \bibfield{year} field otherwise; the \bibfield{sorttitle} field, if defined, or the \bibfield{title} field otherwise; the \bibfield{volume} field, which is padded to four digits with leading zeros, or the string \texttt{0000} otherwise. Note that the sorting schemes shown in \apxref{apx:srt:a2} include an additional item: \bibfield{labelalpha} is the label used by <alphabetic> bibliography styles. Strictly speaking, the string used for sorting is \bibfield{labelalpha}~+ \bibfield{extraalpha}. The sorting schemes in \apxref{apx:srt:a2} are intended to be used in conjunction with alphabetic styles only. The chronological sorting schemes presented in \apxref{apx:srt:chr} also make use of the \bibfield{presort} and \bibfield{sortkey} fields, if defined. The next item considered is the \bibfield{sortyear} or the \bibfield{year} field, depending on availability. The \opt{ynt} scheme extracts the first four Arabic figures from the field. If both fields are undefined, the string \texttt{9999} is used as a fallback value. This means that all entries without a year will be moved to the end of the list. The \opt{ydnt} scheme is similar in concept but sorts the year in descending order. As with the \opt{ynt} scheme, the string \texttt{9999} is used as a fallback value. The remaining items are similar to the alphabetic sorting schemes discussed above. Note that the \opt{ydnt} sorting scheme will only sort the date in descending order. All other items are sorted in ascending order as usual. @@ -3087,10 +3111,6 @@ Print only entries cited in reference section \prm{integer}. The reference secti Print only entries cited in reference segment \prm{integer}. The reference segments are numbered starting at~1. All citations given outside a \env{refsegment} environment are assigned to segment~0. See \secref{use:bib:seg} for details and \secref{use:use:mlt} for usage examples. Remember that segments within a section are numbered local to the section so the segment you request will be the nth segment in the requested (or currently active enclosing) section. -\valitem{sorting}{name}[\BiberOnly] - -Sort the bibliography according to a built-in or user specified sorting scheme defined with \cmd{DeclareSortingScheme}. If omitted, the global sorting scheme specified with package \opt{sorting} option is used. This option facilitates multiple bibliography lists within a refsection, each of which can be sorted differently. - \valitem{type}{entrytype} Print only entries whose entry type is \prm{entrytype}. @@ -3149,21 +3169,23 @@ This option applies to numerical citation\slash bibliography styles only and req \cmditem{bibbysection}[key=value, \dots] -This command automatically loops over all reference sections. This is equivalent to giving one \cmd{printbibliography} command for every section but has the additional benefit of automatically skipping sections without references. Note that \cmd{bibbysection} starts looking for references in section \texttt{1}. It will ignore references given outside of \env{refsection} environments since they are assigned to section~0. See \secref{use:use:mlt} for usage examples. The options are a subset of those supported by \cmd{printbibliography}. Valid options are \opt{env}, \opt{heading}, \opt{prenote}, \opt{postnote}. The global sorting scheme specified with package \opt{sorting} option is used for all sections. +This command automatically loops over all reference sections. This is equivalent to giving one \cmd{printbibliography} command for every section but has the additional benefit of automatically skipping sections without references. Note that \cmd{bibbysection} starts looking for references in section \texttt{1}. It will ignore references given outside of \env{refsection} environments since they are assigned to section~0. See \secref{use:use:mlt} for usage examples. The options are a subset of those supported by \cmd{printbibliography}. Valid options are \opt{env}, \opt{heading}, \opt{prenote}, \opt{postnote}. The current bibliography context sorting scheme is used for all sections (see \secref{use:bib:context}). \cmditem{bibbysegment}[key=value, \dots] -This command automatically loops over all reference segments. This is equivalent to giving one \cmd{printbibliography} command for every segment in the current \env{refsection} but has the additional benefit of automatically skipping segments without references. Note that \cmd{bibbysegment} starts looking for references in segment \texttt{1}. It will ignore references given outside of \env{refsegment} environments since they are assigned to segment~0. See \secref{use:use:mlt} for usage examples. The options are a subset of those supported by \cmd{printbibliography}. Valid options are \opt{env}, \opt{heading}, \opt{prenote}, \opt{postnote}. The global sorting scheme specified with package \opt{sorting} option is used for all segments. +This command automatically loops over all reference segments. This is equivalent to giving one \cmd{printbibliography} command for every segment in the current \env{refsection} but has the additional benefit of automatically skipping segments without references. Note that \cmd{bibbysegment} starts looking for references in segment \texttt{1}. It will ignore references given outside of \env{refsegment} environments since they are assigned to segment~0. See \secref{use:use:mlt} for usage examples. The options are a subset of those supported by \cmd{printbibliography}. Valid options are \opt{env}, \opt{heading}, \opt{prenote}, \opt{postnote}. The current bibliography context sorting scheme is used for all segments (see \secref{use:bib:context}). \cmditem{bibbycategory}[key=value, \dots] -This command loops over all bibliography categories. This is equivalent to giving one \cmd{printbibliography} command for every category but has the additional benefit of automatically skipping empty categories. The categories are processed in the order in which they were declared. See \secref{use:use:mlt} for usage examples. The options are a subset of those supported by \cmd{printbibliography}. Valid options are \opt{env}, \opt{prenote}, \opt{postnote}, \opt{section}. Note that \opt{heading} is not available with this command. The name of the current category is automatically used as the heading name. This is equivalent to passing \texttt{heading=\prm{category}} to \cmd{printbibliography} and implies that there must be a matching heading definition for every category. The global sorting scheme specified with package \opt{sorting} option is used for all categories. +This command loops over all bibliography categories. This is equivalent to giving one \cmd{printbibliography} command for every category but has the additional benefit of automatically skipping empty categories. The categories are processed in the order in which they were declared. See \secref{use:use:mlt} for usage examples. The options are a subset of those supported by \cmd{printbibliography}. Valid options are \opt{env}, \opt{prenote}, \opt{postnote}, \opt{section}. Note that \opt{heading} is not available with this command. The name of the current category is automatically used as the heading name. This is equivalent to passing \texttt{heading=\prm{category}} to \cmd{printbibliography} and implies that there must be a matching heading definition for every category. The current bibliography context sorting scheme is used for all categories (see \secref{use:bib:context}). \cmditem{printbibheading}[key=value, \dots] This command prints a bibliography heading defined with \cmd{defbibheading}. It takes one optional argument, which is a list of options given in \keyval notation. The options are a small subset of those supported by \cmd{printbibliography}. Valid options are \opt{heading} and \opt{title}. By default, this command uses the heading \texttt{bibliography}. See \secref{use:bib:hdg} for details. Also see \secref{use:use:mlt,use:use:div} for usage examples. \end{ltxsyntax} +% +To print a bibliography with a different sorting scheme than the global sorting scheme, use the bibliography context switching commands from \secref{use:bib:context}. \subsubsection{The List of Shorthands} \label{use:bib:los} @@ -3199,13 +3221,14 @@ This command prints a bibliography list. It takes an optional argument, which is The \prm{biblistname} is a mandatory argument which names the bibliography list. This name is used to identify: \begin{itemize} -\item The bibliography driver used to print the list entries -\item A filter declared with \cmd{DeclareBiblistFilter} used to filter the entries returned from \biber +\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 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 scheme name to use if the \opt{sorting} option is not set +\item The default sorting scheme name to use \end{itemize} -Note that the \opt{sorting} option differs from \cmd{printbibliography} in that if omitted, the default is to sort use the sorting scheme named after the bibliography list and only then to fall back to the global sorting scheme is this is not defined. +In terms of sorting the list, the default is to sort use the sorting scheme named after the bibliography list (if it exists) and only then to fall back to the current context sorting scheme is 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: @@ -3240,12 +3263,33 @@ Since \bibfield{shortjournal} is defined in the default data model as a <Label f \item Uses the automatically created <shortjournal> bibliography list filter to return only entries with a \bibfield{shortjournal} field in the \file{.bbl} \item Uses the defined <shortjournal> bibliography driver to print the entries \item Uses the default <biblist> heading but overrides the title with <Journal Shorthands> -\item Uses the global sorting scheme since no \opt{sorting} option is passed to \cmd{printbiblist} and no scheme exists with the name \bibfield{shortjournal} +\item Uses the current bibliography context sorting scheme no scheme exists with the name \bibfield{shortjournal} \end{itemize} % +Often, you will want to sort on the label field of the list and since a sorting scheme is automatically picked up if it is named after the list, in this case you could simply do: + +\begin{lstlisting}[style=latex]{} +\DeclareSortingScheme{shortjournal}{ + \sort{ + \field{shortjournal} + } +} +\end{lstlisting} + Naturally all defaults can be overridden by options to \cmd{printbiblist} and definitions of the environments, filters etc. and in this way arbitrary types of bibliography lists can be printed containing a variety of information from the bibliography data. \end{ltxsyntax} +Bibliography lists are often used to print lists of various kinds of shorthands and this can result in duplicate entries if more than one bibliography entry has the same shorthand. For example, several journal articles in the same journal would result in duplicate entries in a list of journal shorthands. You can use the fact that such lists automatically pick up a \cmd{bibcheck} with the same name as the list to define a check to remove duplicates. If you are defining a list to print all of the journal shorthands using the \bibfield{shortjournal} field, you could define a \cmd{bibcheck} like this: + +\begin{lstlisting}[style=latex]{} +\defbibcheck{shortjournal}{% + \iffieldundef{shortjournal}{\skipentry}{% + \iffieldundef{journal}{\skipentry}{% + \ifcsdef{\strfield{shortjournal}=\strfield{journal}} + {\skipentry} + {\savefieldcs{journal}{\strfield{shortjournal}=\strfield{journal}}}}}} +\end{lstlisting} + \subsubsection{Bibliography Sections} \label{use:bib:sec} @@ -3470,6 +3514,53 @@ See the author guide, in particular \secref{aut:aux:tst,aut:aux:ife}, for furthe \end{ltxsyntax} +\subsubsection{Bibliography Contexts} +\label{use:bib:context} + +References in a bibliography are cited and printed in a <context>. The context determines the data which is actually used for an entry. A context consists currently of the following information (the <context> concept is designed for future extensibility): + +\begin{itemize} + \item A specific sorting scheme +\end{itemize} +% +The data for an entry can vary depending on the context. This is most obvious in the case of the \opt{extra*} fields like \opt{extrayear} which are generated by the backend according to the order of entries \emph{after} sorting so that they come out in the expected <a, b, c> order. This clearly shows that the \emph{data} in an entry can be different between sorting schemes. If a document contains more than one bibliography list with different sorting schemes, it can happen then that the \file{.bbl} contains sorting lists with the same entry but containing different data (a different value for \bibfield{extrayear}, for example). The purpose of bibliography contexts is to encapsulate things inside a context so that \biblatex can use the correct entry data. An example is printing a bibliography list with a different sorting order to the global sorting order: + +\begin{lstlisting}[style=latex]{} +\usepackage[sorting=nyt]{biblatex} +\cite{one} +\cite{two} +\printbibliography +\newrefcontext[sorting=yndt] +\cite{one} +\cite{two} +\printbibliography +\end{lstlisting} +% +Here, the second use of the citations, along with the \cmd{printbibliography} command will use data from the context of the <yndt> sorting scheme which may well be different from the data associated with the default <nyt> scheme. + +\begin{ltxsyntax} + +\envitem{refcontext}[key=value, \dots] + +Wraps a bibliography context environment. The options define the context attributes. All context attributes are optional and default to the global settings if absent. The current options are: + +\begin{optionlist*} + +\valitem{sorting}{name} + +Specify a sorting scheme defined previously with \cmd{DeclareSortingScheme}. This scheme is used to determine which data to retrieve and/or print for an entry in the commands inside the context. + +\end{optionlist*} +% +The \opt{refcontext} environment cannot be nested and \biblatex will generate an error if you try to do so. + +\cmditem{newrefcontext}[key=value, \dots] + +This command is similar to the \env{refcontext} environment except that it is a stand"=alone command rather than an environment. It automatically ends the previous context section (if any) and immediately starts a new one. Note that the context section started by the last \cmd{newrefcontext} command in the document will extend to the very end of the document. Use \cmd{endrefcontext} if you want to terminate it earlier. +\end{ltxsyntax} +% +At the beginning of the document, there is always a global context containing global settings for each of the context attributes. + \subsubsection{Dynamic Entry Sets} \label{use:bib:set} @@ -3477,7 +3568,7 @@ In addition to the \bibtype{set} entry type, \biblatex also supports dynamic ent \begin{ltxsyntax} -\cmditem{defbibentryset}{key}{key1,key2,key3, \dots}|\BiberOnlyMark| +\cmditem{defbibentryset}{key}{key1,key2,key3, \dots}\BiberOnlyMark The \prm{key} is the entry key of the set, which is used like any other entry key when referring to the set. The \prm{key} must be unique and it must not conflict with any other entry key. The second argument is a comma"=separated list of the entry keys which make up the set. \cmd{defbibentryset} implies the equivalent of a \cmd{nocite} command, \ie all sets which are declared are also added to the bibliography. When declaring the same set more than once, only the first invocation of \cmd{defbibentryset} will define the set. Subsequent definitions of the same \prm{key} are ignored and work like \cmd{nocite}\prm{key}. Dynamic entry sets defined in the document body are local to the enclosing \env{refsection} environment, if any. Otherwise, they are assigned to reference section~0. Those defined in the preamble are assigned to reference section~0. Note that dynamic entry sets require \biber. They will not work with any other backend. See \secref{use:use:set} for further details. @@ -4021,13 +4112,13 @@ The separator inserted between <units> in the sense explained in \secref{aut:pct \csitem{finentrypunct} The punctuation printed at the very end of every bibliography entry, usually a period. The default definition is a period. -\csitem{entrysetpunct}|\BiberOnlyMark| +\csitem{entrysetpunct}\BiberOnlyMark The punctuation printed between bibliography subentries of an entry set. The default definition is a semicolon and a space. -\csitem{bibnamedelima}|\BiberOnlyMark| +\csitem{bibnamedelima}\BiberOnlyMark This delimiter controls the spacing between the elements which make up a name part. It is inserted automatically after the first name element if the element is less than three characters long and before the last element. The default definition is an interword space penalized by the value of the \cnt{highnamepenalty} counter (\secref{use:fmt:len}). Please refer to \secref{use:cav:nam} for further details. -\csitem{bibnamedelimb}|\BiberOnlyMark| +\csitem{bibnamedelimb}\BiberOnlyMark This delimiter is inserted between the elements which make up a name part where \cmd{bibnamedelima} does not apply. The default definition is an interword space penalized by the value of the \cnt{lownamepenalty} counter (\secref{use:fmt:len}). Please refer to \secref{use:cav:nam} for further details. \csitem{bibnamedelimc} @@ -4036,16 +4127,16 @@ This delimiter controls the spacing between name parts. It is inserted between t \csitem{bibnamedelimd} This delimiter is inserted between all name parts where \cmd{bibnamedelimc} does not apply. The default definition is an interword space penalized by the value of the \cnt{lownamepenalty} counter (\secref{use:fmt:len}). Please refer to \secref{use:cav:nam} for further details. -\csitem{bibnamedelimi}|\BiberOnlyMark| +\csitem{bibnamedelimi}\BiberOnlyMark This delimiter replaces \cmd{bibnamedelima/b} after initials. Note that this only applies to initials given as such in the \file{bib} file, not to the initials automatically generated by \biblatex which use their own set of delimiters. -\csitem{bibinitperiod}|\BiberOnlyMark| +\csitem{bibinitperiod}\BiberOnlyMark The punctuation inserted after initials unless \cmd{bibinithyphendelim} applies. The default definition is a period (\cmd{adddot}). Please refer to \secref{use:cav:nam} for further details. -\csitem{bibinitdelim}|\BiberOnlyMark| +\csitem{bibinitdelim}\BiberOnlyMark The spacing inserted between multiple initials unless \cmd{bibinithyphendelim} applies. The default definition is an unbreakable interword space. Please refer to \secref{use:cav:nam} for further details. -\csitem{bibinithyphendelim}|\BiberOnlyMark| +\csitem{bibinithyphendelim}\BiberOnlyMark The punctuation inserted between the initials of hyphenated name parts, replacing \cmd{bibinitperiod} and \cmd{bibinitdelim}. The default definition is a period followed by an unbreakable hyphen. Please refer to \secref{use:cav:nam} for further details. \csitem{bibindexnamedelima} @@ -4154,7 +4245,7 @@ The delimiter printed between the author\slash editor and the year by author-yea \csitem{labelalphaothers} A string to be appended to the non"=numeric portion of the \bibfield{labelalpha} field (\ie the field holding the citation label used by alphabetic citation styles) if the number of authors\slash editors exceeds the \opt{maxalphanames} threshold or the \bibfield{author}\slash \bibfield{editor} list was truncated in the \file{bib} file with the keyword <\texttt{and others}>. This will typically be a single character such as a plus sign or an asterisk. The default is a plus sign. This command may also be redefined to an empty string to disable this feature. In any case, it must be redefined in the preamble. -\csitem{sortalphaothers}|\BiberOnlyMark| +\csitem{sortalphaothers}\BiberOnlyMark Similar to \cmd{labelalphaothers} but used in the sorting process. Setting it to a different value is advisable if the latter contains formatting commands, for example: \begin{lstlisting}[style=latex]{} @@ -4215,7 +4306,7 @@ The commands in this section are language specific. When redefining them, you ne The language specific dash to be used for ranges of numbers. -\csitem{bibrangessep}|\BiberOnlyMark| +\csitem{bibrangessep}\BiberOnlyMark The language specific separator to be used between multiple ranges. @@ -4939,7 +5030,7 @@ This section provides additional usage hints and addresses some common problems \subsubsection{Usage with \acr{KOMA}-Script Classes} \label{use:cav:scr} -When using \biblatex in conjunction with one of the \sty{scrbook}, \sty{scrreprt}, or \sty{scrartcl} classes, the headings \texttt{bibliography} and \texttt{biblist} from \secref{use:bib:hdg} are responsive to the bibliography"=related options of these classes.\footnote{This applies to the traditional syntax of these options (\opt{bibtotoc} and \opt{bibtotocnumbered}) as well as to the \keyval syntax introduced in \acr{KOMA}-Script 3.x, \ie to \kvopt{bibliography}{nottotoc}, \kvopt{bibliography}{totoc}, and \kvopt{bibliography}{totocnumbered}, The global \kvopt{toc}{bibliography} and \kvopt{toc}{bibliographynumbered} options as well as their aliases are detected as well. In any case, the options must be set globally in the optional argument to \cmd{documentclass}.} You can override the default headings by using the \opt{heading} option of \cmd{printbibliography}, \cmd{printbibheading} and \cmd{printbiblist}. See \secref{use:bib:bib, use:bib:biblist, use:bib:hdg} for details. All default headings are adapted at load-time such that they blend with the behavior of these classes. If one of the above classes is detected, \biblatex will also provide the following additional tests which may be useful in custom heading definitions: +When using \biblatex in conjunction with one of the \sty{scrbook}, \sty{scrreprt}, or \sty{scrartcl} classes, the headings \texttt{bibliography} and \texttt{biblist} from \secref{use:bib:hdg} are responsive to the bibliography"=related options of these classes.\footnote{This applies to the traditional syntax of these options (\opt{bibtotoc} and \opt{bibtotocnumbered}) as well as to the \keyval syntax introduced in \acr{KOMA}-Script 3.x, \ie to \kvopt{bibliography}{nottotoc}, \kvopt{bibliography}{totoc}, and \kvopt{bibliography}{totocnumbered}. The global \kvopt{toc}{bibliography} and \kvopt{toc}{bibliographynumbered} options as well as their aliases are detected as well. In any case, the options must be set globally in the optional argument to \cmd{documentclass}.} You can override the default headings by using the \opt{heading} option of \cmd{printbibliography}, \cmd{printbibheading} and \cmd{printbiblist}. See \secref{use:bib:bib, use:bib:biblist, use:bib:hdg} for details. All default headings are adapted at load-time such that they blend with the behavior of these classes. If one of the above classes is detected, \biblatex will also provide the following additional tests which may be useful in custom heading definitions: \begin{ltxsyntax} @@ -5318,7 +5409,7 @@ Defines a bibliography driver. A <driver> is a macro which handles a specific en \cmditem{DeclareBibliographyAlias}{alias}{entrytype} -If a bibliography driver covers more than one entry type, this command may be used to define an alias. This command is optional. The \prm{entrytype} argument may also be an asterisk. In this case, the alias serves as a fallback which is used if no specific driver for the entry type has been defined. +If a bibliography driver covers more than one entry type, this command may be used to define an alias where \prm{entrytype} is the name of a defined driver. This command is optional. The \prm{alias} argument may also be an asterisk. In this case, the \prm{entrytype} driver serves as a fallback which is used if no specific driver for an entry has been defined. \cmditem{DeclareBibliographyOption}{key}[value]{code} @@ -5480,7 +5571,7 @@ When citing a subentry of an entry set, \biblatex provides the data of the paren Holds the prefix coming before <date> of the date field name chosen by \cmd{DeclareLabeldate}. For example, if the label date field is \bibfield{eventdate}, then \bibfield{datelabelsource} will be <event>. In case \cmd{DeclareLabeldate} selects the \bibfield{date} field, then \bibfield{datelabelsource} will be defined but will be an empty string as the prefix coming before <date> in the date label name is empty. This is so that the contents of \bibfield{datelabelsource} can be used in constructing references to the field which \cmd{DeclareLabeldate} chooses. Since \cmd{DeclareLabeldate} can also select literal strings for fallbacks, if \bibfield{datelabelsource} is undefined, then either the \opt{labeldate} package option is set to false or \cmd{DeclareLabeldate} chose a literal string instead of a date field. Bear in mind that \cmd{DeclareLabeldate} can also be used to select non-date fields as a fallback and so \bibfield{datelabelsource} might contain a field name. So, in summary, the rules are \begin{lstlisting}[style=latex]{} -\iffieldundef{datalabelsource} +\iffieldundef{datelabelsource} { % labeldate package option is not set or \DeclareLabeldate resolved to a literal string } @@ -5554,7 +5645,7 @@ The <alphabetic> citation scheme usually requires a letter to be appended to the \listitem{labelname}{name} -The name to be printed in citations. This list is a copy of either the \bibfield{shortauthor}, the \bibfield{author}, the \bibfield{shorteditor}, the \bibfield{editor}, or the \bibfield{translator} list, which are normally checked for in this order. If no authors and editors are available, this list is undefined. Note that this list is also responsive to the \opt{useauthor}, \opt{useeditor}, and \opt{usetranslator} options, see \secref{use:opt:bib}. Citation styles should use this list when printing the name in a citation. This list is provided for convenience only and does not carry any additional meaning. +The name to be printed in citations. This list is a copy of either the \bibfield{shortauthor}, the \bibfield{author}, the \bibfield{shorteditor}, the \bibfield{editor}, or the \bibfield{translator} list, which are normally checked for in this order. If no authors and editors are available, this list is undefined. Note that this list is also responsive to the \opt{use$<$name$>$}, options, see \secref{use:opt:bib}. Citation styles should use this list when printing the name in a citation. This list is provided for convenience only and does not carry any additional meaning. \BiberOnlyMark With \biber, this field may be customized. See \secref{aut:ctm:fld} for details. \fielditem{labelnumber}{literal} @@ -6106,7 +6197,7 @@ in a defined order. See the \biblatex\ manual regarding these macros:\\[2ex] \begin{ltxsyntax} -\cmditem{DeclareSourcemap}{specification}|\BiberOnlyMark| +\cmditem{DeclareSourcemap}{specification}\BiberOnlyMark Defines source data modification (mapping) rules which can be used to perform any combination of the following tasks: @@ -6161,6 +6252,10 @@ Restricts all \cmd{step}s in this \cmd{map} element to entries from the named \p Restricts all \cmd{step}s in this \cmd{map} element to entries of the named \prm{entrytype}. Multiple \cmd{pertype} restrictions are allowed within a \cmd{map} element. +\cmditem{pernottype}{entrytype} + +Restricts all \cmd{step}s in this \cmd{map} element to entries not of the named \prm{entrytype}. Multiple \cmd{pernottype} restrictions are allowed within a \cmd{map} element. + \cmditem{step} A mapping step. Each step is applied sequentially to every relevant entry where <relevant> means those entries which correspond to the data source type, entrytype and data source name restrictions mentioned above. Each step is applied to the entry as it appears after the application of all previous steps. The mapping performed by the step is determined by the following options: @@ -6176,6 +6271,8 @@ A mapping step. Each step is applied sequentially to every relevant entry where \valitem{replace}{regexp} \valitem{fieldset}{entryfield} \valitem{fieldvalue}{string} +\valitem{entryclone}{string} +\boolitem[false]{entrynull} \boolitem[false]{append} \boolitem[false]{final} \boolitem[false]{null} @@ -6193,6 +6290,12 @@ For all boolean \cmd{step} options, the short form \opt{option} is equivalent to as if it did not exist in the datasource. Obviously, you should select the entries which you want to apply this to using prior mapping steps. +\item If \texttt{entryclone} is set, a clone of the entry is created with + an entry key prefixed by \texttt{prefix}. Obviously this may cause + labelling problems in author/year styles etc. and should be used with + care. It is mainly intended for numbering issues with numeric styles and + multiple bibliographies where the same entries occur in more than one + bibliography. \item Change the \texttt{typesource} \prm{entrytype} to the \texttt{typetarget} \prm{entrytype}, if defined. If \texttt{final} is \texttt{true} then if the \prm{entrytype} of the entry is not \texttt{typesource}, processing of the parent \cmd{map} immediately terminates. @@ -6231,7 +6334,7 @@ be changed (used as \texttt{fieldset}, \texttt{fieldtarget} or changed using \te \begin{ltxsyntax} -\cmditem{DeclareStyleSourcemap}{specification}|\BiberOnlyMark| +\cmditem{DeclareStyleSourcemap}{specification}\BiberOnlyMark This command sets the source mappings used by a style. Such mappings are conceptually separate from user mappings defined with \cmd{DeclareSourcemap} and are applied directly after user maps. The syntax is identical to \cmd{DeclareSourcemap}. This command is provided for style authors so that any maps defined for the style do not interfere with user maps or the default driver maps defined with \cmd{DeclareDriverSourcemap}. This command is for use in style files and can only be used once---subsequent uses will overwrite earlier definitions. @@ -6239,7 +6342,7 @@ This command sets the source mappings used by a style. Such mappings are concept \begin{ltxsyntax} -\cmditem{DeclareDriverSourcemap}[datatype=driver]{specification}|\BiberOnlyMark| +\cmditem{DeclareDriverSourcemap}[datatype=driver]{specification}\BiberOnlyMark This command sets the driver default source mappings for the specified \prm{driver}. Such mappings are conceptually separate from user mappings defined with \cmd{DeclareSourcemap} and style mapping defined with \cmd{DeclareStyleSourcemap}. They consist of mappings which are part of the driver setup. Users should not normally need to change these. Driver default mapping are applied after user mappings (\cmd{DeclareSourcemap}) and style mappings (\cmd{DeclareStyleSourcemap}). These defaults are described in Appendix \secref{apx:maps}. The \prm{specification} is identical to that for \cmd{DeclareSourcemap} but without the \cmd{maps} elements: the \prm{specification} is just a list of \cmd{map} elements since each \cmd{DeclareDriverSourcemap} only applies to one datatype driver. See the default definitions in Appendix \secref{apx:maps} for examples. @@ -6513,7 +6616,34 @@ This example assumes you have created a field called \bibfield{autourl} using th % Any entry with a \bibfield{title} field matching <A Title> will be completely ignored. % -\subsubsection{Data Model Specification}|\BiberOnlyMark| +\begin{lstlisting}[style=latex]{} +\DeclareSourcemap{ + \maps[datatype=bibtex]{ + \map{ + \pernottype{book} + \pernottype{article} + \step[entrynull] + } + } +} +\end{lstlisting} +% +Any entry which is not a \bibtype{book} or \bibtype{article} will be ignored. +% +\begin{lstlisting}[style=latex]{} +\DeclareSourcemap{ + \maps[datatype=bibtex]{ + \map{ + \perdatasource{<<biblatex-examples.bib>>} + \step[entryclone={rel-}] + } + } +} +\end{lstlisting} +% +Here, a clone of an entry from the specified data source will be created. The entry key of the clone will be the same as the original but prefixed by the value of the \texttt{entryclone} parameter. The cloned entry would still need to be cited in the document using its new entry key. This type of mapping step should be used with care as it may produce labelling problems in authoryear styles which use, for example, \opt{extrayear}. One use case is for numeric styles which contain multiple bibliographies containing the same entry. In this case, you may need different bibliography number labeld for the same entry and this is very tricky when there is only one entry which needs different labels. Creating clones with different entry keys solves this problem. +% +\subsubsection{Data Model Specification}\BiberOnlyMark \label{aut:ctm:dm} The data model which \biblatex uses consists of four main elements: @@ -6548,7 +6678,7 @@ Alternatively, the name of the data model file can be different from any of the \begin{ltxsyntax} -\cmditem{DeclareDatamodelEntrytypes}[options]{entrytypes}|\BiberOnlyMark| +\cmditem{DeclareDatamodelEntrytypes}[options]{entrytypes}\BiberOnlyMark Declares the comma"=separated list of \prm{entrytypes} to be valid entrytypes in the data model. As usual in \tex csv lists, make sure each element is immediately followed by a comma or the closing brace---no extraneous whitespace. @@ -6560,7 +6690,7 @@ This entrytype is not output to the \file{.bbl}. Typically used for special entr \end{optionlist*} -\cmditem{DeclareDatamodelFields}[options]{fields}|\BiberOnlyMark| +\cmditem{DeclareDatamodelFields}[options]{fields}\BiberOnlyMark Declares the comma"=separated list of \prm{fields} to be valid fields in the data model with associated comma"=separated \prm{options}. The \prm{type} and \prm{datatype} options are mandatory. All valid \prm{options} are: @@ -6592,11 +6722,11 @@ The field can be used as a label in a bibliography or bibliography list. Specify \end{optionlist*} -\cmditem{DeclareDatamodelEntryfields}[entrytypes]{fields}|\BiberOnlyMark| +\cmditem{DeclareDatamodelEntryfields}[entrytypes]{fields}\BiberOnlyMark Declares that the comma"=separated list of \prm{fields} is valid for the comma"=separated list of \prm{entrytypes}. If \prm{entrytypes} is not given, the fields are valid for all entrytypes. As usual in \tex csv lists, make sure each element is immediately followed by a comma or the closing brace---no extraneous whitespace. -\cmditem{DeclareDatamodelConstraints}[entrytypes]{specification}|\BiberOnlyMark| +\cmditem{DeclareDatamodelConstraints}[entrytypes]{specification}\BiberOnlyMark If a comma"=separated list of \prm{entrytypes} is given, the constraints apply only to those entrytypes. The \prm{specification} is an undelimited list of \cmd{constraint} directives which specify a constraint. Spaces, tabs, and line endings may be used freely to visually arrange the \prm{specification}. Blank lines are not permissible. @@ -6752,7 +6882,7 @@ Alphabetic styles use a label to identify bibliography entries. This label is co \begin{ltxsyntax} -\cmditem{DeclareLabelalphaTemplate}[entrytype, \dots]{specification}|\BiberOnlyMark| +\cmditem{DeclareLabelalphaTemplate}[entrytype, \dots]{specification}\BiberOnlyMark Defines the alphabetic label template for the given entrytypes. If no entrytypes are specified in the first argument, then the global label template is defined. The \prm{specification} is an undelimited list of \cmd{labelelement} directives which specify the elements used to build the label. 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. @@ -7037,7 +7167,7 @@ In addition to the predefined sorting schemes discussed in \secref{use:srt}, it \begin{ltxsyntax} -\cmditem{DeclareSortingScheme}[options]{name}{specification}|\BiberOnlyMark| +\cmditem{DeclareSortingScheme}[options]{name}{specification}\BiberOnlyMark Defines the sorting scheme \prm{name}. The \prm{name} is the identifier passed to the \opt{sorting} option (\secref{use:opt:pre:gen}) when selecting the sorting scheme. The \cmd{DeclareSortingScheme} command supports the following optional arguments: @@ -7146,7 +7276,7 @@ This sorts «two» before «one», even though lexically, «one» would sort bef \end{ltxsyntax} -Here are some examples of sorting schemes. In the first example, we define a simple name\slash title\slash year scheme. The name element may be either the \bibfield{author}, the \bibfield{editor}, or the \bibfield{translator}. Given this specification, the sorting routine will use the first element which is available and continue with the \bibfield{title}. Note that the options \opt{useauthor}, \opt{useeditor}, and \opt{usetranslator} are considered automatically in the sorting process: +Here are some examples of sorting schemes. In the first example, we define a simple name\slash title\slash year scheme. The name element may be either the \bibfield{author}, the \bibfield{editor}, or the \bibfield{translator}. Given this specification, the sorting routine will use the first element which is available and continue with the \bibfield{title}. Note that the options \opt{use$<$name$>$} options are considered automatically in the sorting process: \begin{lstlisting}[style=latex]{} \DeclareSortingScheme{sample}{ @@ -7213,11 +7343,11 @@ Finally, here is an example of a sorting scheme which overrides the global sorti \begin{ltxsyntax} -\cmditem{DeclareSortExclusion}{entrytype, \dots}{field, \dots}|\BiberOnlyMark| +\cmditem{DeclareSortExclusion}{entrytype, \dots}{field, \dots}\BiberOnlyMark Specifies fields to be excluded from sorting on a per-type basis. The \prm{entrytype} argument and the \prm{field} argument may be a comma"=separated list of values. A blank \prm{field} argument will clear all exclusions for this \prm{entrytype}. This command may only be used in the preamble. -\cmditem{DeclarePresort}[entrytype, \dots]{string}|\BiberOnlyMark| +\cmditem{DeclarePresort}[entrytype, \dots]{string}\BiberOnlyMark Specifies a string to be used to automatically populate the \bibfield{presort} field of entries without a \bibfield{presort} field. The \bibfield{presort} may be defined globally or on a per-type basis. If the optional \prm{entrytype} argument is given, the \prm{string} applies to the respective entry type. If not, it serves as the global default value. Specifying an \prm{entrytype} in conjunction with a blank \prm{string} will clear the type-specific setting. The \prm{entrytype} argument may be a comma"=separated list of values. This command may only be used in the preamble. @@ -7229,7 +7359,7 @@ Specifies a string to be used to automatically populate the \bibfield{presort} f When using customisable bibliography lists (See \secref{use:bib:biblist}), usually one wants to return in the \file{.bbl} only those entries which have the particular fields which the bibliography list is summarising. For example, when printing a normal list of shorthands, you want the list returned by \biber in the \file{.bbl} to contain only those entries which have a \bibfield{shorthand} field. This is accomplished by defining a bibliography list filter using the \cmd{DeclareBiblistFilter} command. This differs from the filters defined using \cmd{defbibfilter} (see \secref{use:bib:flt}) since the filters defined by \cmd{defbibfilter} run inside \biblatex after the \file{.bbl} has been generated. In addition, bibliography lists in the \file{.bbl} do not contain entry data, only the citation keys for the entries and so no filtering by \biblatex using \cmd{defbibfilter} is possible for bibliography lists. \begin{ltxsyntax} -\cmditem{DeclareBiblistFilter}{name}{specification}|\BiberOnlyMark| +\cmditem{DeclareBiblistFilter}{name}{specification}\BiberOnlyMark Defines a bibliography list filter with \prm{name}. The \prm{specification} consists of one or more \cmd{filter} or \cmd{filteror} macros, all of which must be satisfied for the entry to pass the filter: @@ -7268,7 +7398,7 @@ Generating initials for name parts from a given name involves some difficulties \begin{ltxsyntax} -\cmditem{DeclareNoinit}{specification}|\BiberOnlyMark| +\cmditem{DeclareNoinit}{specification}\BiberOnlyMark Defines regular expressions to strip from names before generating initials. The \prm{specification} is an undelimited list of \cmd{noinit} directives which specify the regular expressions to remove from the name. 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. @@ -7298,7 +7428,7 @@ It can be useful to fine tune sorting so that it ignores certain parts of partic \begin{ltxsyntax} -\cmditem{DeclareNosort}{specification}|\BiberOnlyMark| +\cmditem{DeclareNosort}{specification}\BiberOnlyMark Defines regular expressions to strip from particular fields or types of fields when sorting. The \prm{specification} is an undelimited list of \cmd{nosort} directives which specify the regular expressions to remove from particular fields or type of field. 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. @@ -7380,7 +7510,7 @@ Some of the automatically generated fields from \secref{aut:bbx:fld:lab} may be \begin{ltxsyntax} -\cmditem{DeclareLabelname}[entrytype, \dots]{specification}|\BiberOnlyMark| +\cmditem{DeclareLabelname}[entrytype, \dots]{specification}\BiberOnlyMark Defines the fields to consider when generating the \bibfield{labelname} field (see \secref{aut:bbx:fld:lab}). The \prm{specification} is an ordered list of \cmd{field} commands. The fields are checked in the order listed and the first field which is available will be used as \bibfield{labelname}. This is the default definition: @@ -7396,7 +7526,7 @@ Defines the fields to consider when generating the \bibfield{labelname} field (s % The \bibfield{labelname} field may be customized globally or on a per-type basis. If the optional \prm{entrytype} argument is given, the specification applies to the respective entry type. If not, it is applied globally. The \prm{entrytype} argument may be a comma"=separated list of values. This command may only be used in the preamble. -\cmditem{DeclareLabeldate}[entrytype, \dots]{specification}|\BiberOnlyMark| +\cmditem{DeclareLabeldate}[entrytype, \dots]{specification}\BiberOnlyMark Defines the date components to consider when generating \bibfield{labelyear}, \bibfield{labelmonth} and \bibfield{labelday} fields (see \secref{aut:bbx:fld:lab}). The \prm{specification} is an ordered list of \cmd{field} or \cmd{literal} commands. The items are checked in the order listed and the first item which is available will be used to popluate the \bibfield{labelyear}, \bibfield{labelmonth} and \bibfield{labelday} fields. Note that the \cmd{field} items do not have to be datetype <date> in the data model so that you can create pseudo-year labels by, for example, using a \bibfield{pubstate} field contents, if available, as the year label by defining \cmd{DeclareLabeldate} suitably. Note also that a \cmd{literal} command will always be used when found and so this should always be the last thing in the list. If the value of a \cmd{literal} command is a valid localization string, then this will be resolved in the current language, otherwise the value is used as a literal string as-is. This is the default definition: @@ -7413,7 +7543,7 @@ Defines the date components to consider when generating \bibfield{labelyear}, \b Note that the \bibfield{date} field is split by the backend into \bibfield{year}, \bibfield{month} which are also valid fields in the default data model. In order to support legacy data which directly sets \bibfield{year} and/or \bibfield{month}, the specification <\bibfield{date}> in \cmd{DeclareLabeldate} will also match \bibfield{year} and \bibfield{month} fields, if present. The \bibfield{labelyear}, \bibfield{labelmonth} and \bibfield{labelday} fields may be customized globally or on a per-type basis. If the optional \prm{entrytype} argument is given, the specification applies to the respective entry type. If not, it is applied globally. The \prm{entrytype} argument may be a comma"=separated list of values. This command may only be used in the preamble. See also \secref{aut:bbx:fld:dat}. -\cmditem{DeclareLabeltitle}[entrytype, \dots]{specification}|\BiberOnlyMark| +\cmditem{DeclareLabeltitle}[entrytype, \dots]{specification}\BiberOnlyMark Defines the fields to consider when generating the \bibfield{labeltitle} field (see \secref{aut:bbx:fld:lab}). The \prm{specification} is an ordered list of \cmd{field} commands. The fields are checked in the order listed and the first field which is available will be used as \bibfield{labeltitle}. This is the default definition: @@ -7435,7 +7565,7 @@ The \bibfield{labeltitle} field may be customized globally or on a per-type basi \begin{ltxsyntax} -\cmditem{DefaultInheritance}[exceptions]{options}|\BiberOnlyMark| +\cmditem{DefaultInheritance}[exceptions]{options}\BiberOnlyMark Configures the default inheritance behavior. This command may only be used in the preamble. The default behavior may be customized be setting the following \prm{options}: @@ -7453,7 +7583,7 @@ The optional \prm{exceptions} are an undelimited list of \cmd{except} directives Sets the \prm{options} for a specific \prm{source} and \prm{target} combination. The \prm{source} and \prm{target} arguments specify the parent and the child entry type. The asterisk matches all types and is permissible in either argument. -\cmditem{DeclareDataInheritance}{source, \dots}{target, \dots}{rules}|\BiberOnlyMark| +\cmditem{DeclareDataInheritance}{source, \dots}{target, \dots}{rules}\BiberOnlyMark Declares inheritance rules. The \prm{source} and \prm{target} arguments specify the parent and the child entry type. Either argument may be a single entry type, a comma"=separated list of types, or an asterisk. The asterisk matches all entry types. The \prm{rules} are an undelimited list of \cmd{inherit} and\slash or \cmd{noinherit} directives. Spaces, tabs, and line endings may be used freely to visually arrange the \prm{rules}. Blank lines are not permissible. This command may only be used in the preamble. @@ -7465,7 +7595,7 @@ Defines an inheritance rule by mapping a \prm{source} field to a \prm{target} fi Unconditionally prevents inheritance of the \prm{source} field. -\csitem{ResetDataInheritance}|\BiberOnlyMark| +\csitem{ResetDataInheritance}\BiberOnlyMark Clears all inheritance rules defined with \cmd{DeclareDataInheritance}. This command may only be used in the preamble. @@ -7711,15 +7841,19 @@ Expands to \prm{true} if the \opt{useprefix} option is enabled (either globally \cmditem{ifuseauthor}{true}{false} -Expands to \prm{true} if the \opt{useauthor} option is enabled (either globally or for the current entry), and \prm{false} otherwise. See \secref{use:opt:bib} for details on this option. +This is just a particular case of the \cmd{ifuse$<$name$>$} macro below but is mentioned here as \bibfield{author} is part of the default data model. Expands to \prm{true} if the \opt{useauthor} option is enabled (either globally or for the current entry), and \prm{false} otherwise. See \secref{use:opt:bib} for details on this option. \cmditem{ifuseeditor}{true}{false} -Expands to \prm{true} if the \opt{useeditor} option is enabled (either globally or for the current entry), and \prm{false} otherwise. See \secref{use:opt:bib} for details on this option. +This is just a particular case of the \cmd{ifuse$<$name$>$} macro below but is mentioned here as \bibfield{editor} is part of the default data model. Expands to \prm{true} if the \opt{useeditor} option is enabled (either globally or for the current entry), and \prm{false} otherwise. See \secref{use:opt:bib} for details on this option. \cmditem{ifusetranslator}{true}{false} -Expands to \prm{true} if the \opt{usetranslator} option is enabled (either globally or for the current entry), and \prm{false} otherwise. See \secref{use:opt:bib} for details on this option. +This is just a particular case of the \cmd{ifuse$<$name$>$} macro below but is mentioned here as \bibfield{translator} is part of the default data model. Expands to \prm{true} if the \opt{usetranslator} option is enabled (either globally or for the current entry), and \prm{false} otherwise. See \secref{use:opt:bib} for details on this option. + +\cmditem{ifuse$<$name$>$}{true}{false} + +Expands to \prm{true} if the \opt{use$<$name$>$} option is enabled (either globally or for the current entry), and \prm{false} otherwise. See \secref{use:opt:bib} for details on this option. \cmditem{ifsingletitle}{true}{false} @@ -7901,10 +8035,10 @@ Expands to \prm{true} when located in a footnote, and to \prm{false} otherwise. This counter indicates how many times the entry currently being processed is cited in the current reference section. Note that this feature needs to be enabled explicitly with the package option \opt{citecounter}. If the option is set to \texttt{context}, citations in the body text and in footnotes are counted separately. In this case, \cnt{citecounter} will hold the value of the context it is used in. -\cntitem{uniquename}|\BiberOnlyMark| +\cntitem{uniquename}\BiberOnlyMark This counter refers to the \bibfield{labelname} list. It is set on a per-name basis. Its value is \texttt{0} if the last name is unique, \texttt{1} if adding the other parts of the name (first name, prefix, suffix) as initials will make it unique, and \texttt{2} if the full name is required to disambiguate the name. This information is required by author-year and author-title citation schemes which add additional parts of the name when citing different authors with the same last name. For example, if there is one <John Doe> and one <Edward Doe> in the list of references, this counter will be set to \texttt{1}. If there is one <John Doe> and one <Jane Doe>, the value of the counter will be \texttt{2}. If the option is set to \texttt{init}\slash \texttt{allinit}\slash \texttt{mininit}, the counter will be limited to \texttt{1}. This is useful for citations styles which use initials to disambiguate names but never print the full name in citations. If adding the initials is not sufficient to disambiguate the name, \cnt{uniquename} will also be set to \texttt{0} for that name. This feature needs to be enabled explicitly with the package option \opt{uniquename}. Note that the \cnt{uniquename} counter is local to \cmd{printnames} and that it is only set for the \bibfield{labelname} list and to the name list \bibfield{labelname} has been derived from (typically \bibfield{author} or \bibfield{editor}). Its value is zero in any other context, i.e., it must be evaluated in the name formatting directives handling name lists. See \secref{aut:cav:amb} for further details and practical examples. -\cntitem{uniquelist}|\BiberOnlyMark| +\cntitem{uniquelist}\BiberOnlyMark This counter refers to the \bibfield{labelname} list. It is set on a per-field basis. Its value indicates the number of names required to disambiguate the name list if automatic \cnt{maxnames}\slash \cnt{minnames} truncation would lead to ambiguous citations. For example, if there is one work by <Doe\slash Smith\slash Johnson> and another one by <Doe\slash Edwards\slash Williams>, setting \kvopt{maxnames}{1} would lead to <Doe et al.> in both cases. In this case, \cnt{uniquelist} would be set to \texttt{2} on the \bibfield{labelname} lists of both entries because at least the first two names are required to disambiguate them. Note that the \cnt{uniquelist} counter is local to \cmd{printnames} and that it is only set for the \bibfield{labelname} list and to the name list \bibfield{labelname} has been derived from (typically \bibfield{author} or \bibfield{editor}). Its value is zero in any other context. If available, the \cnt{uniquelist} value will be used automatically by \cmd{printnames} when processing the name list, \ie it will automatically override \cnt{maxnames}\slash \cnt{minnames}. This feature needs to be enabled explicitly with the package option \opt{uniquelist}. See \secref{aut:cav:amb} for further details and practical examples. \cntitem{parenlevel} @@ -8137,7 +8271,7 @@ The optional argument \bibfield{bookpagination} is omissible in this case. \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 recognizes \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} (\biber\footnote{\biber will always convert commas/semicolon multi-range separators into \cmd{bibrangessep} so that it can be controlled in the style.}) or commas/semicolons (BibTeX) are also supported. With \biber, 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: +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 recognizes \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} (\biber\footnote{\biber will always convert commas/semicolon multi-range separators into \cmd{bibrangessep} so that it can be controlled in the style.}) or commas/semicolons (BibTeX) are also supported. With \biber, 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{lstlisting}[style=latex]{} \DeclareFieldFormat{postnote}{\mkcomprange[<<{>>\mkpageprefix[pagination]<<}>>]{#1}} @@ -8176,7 +8310,7 @@ p. 5, p. 123, p. 423 \cmditem{rangelen}{text} -This command will parse its argument as a range and return the length of the range. It will return 0 for open-ended ranges. +This command will parse its argument as a range and return the length of the range. It will return -1 for open-ended ranges. \begin{lstlisting}[style=latex]{} \rangelen{5-10} returns '5' @@ -8185,12 +8319,44 @@ This command will parse its argument as a range and return the length of the ran \rangelen{5} returns '1' \end{lstlisting} % -This can be used as part of tests in styles which require, for example, <f> as a suffix for ranges of only two pages, for example, when a page range <36-37> should be printed as <36f>. This could be done using \cmd{ifnumcomp}: +This can be used as part of tests in styles which require, for example, <f> as a suffix for ranges of only two pages as when a page range <36-37> should be printed as <36f>. This could be done using \cmd{ifnumcomp}: \begin{lstlisting}[style=latex]{} \ifnumcomp{\rangelen{\thefield{pages}}}{=}{1}{add 'f'}{do nothing} \end{lstlisting} +\cmditem{frangelen}{rangefield}\BiberOnlyMark + +Takes the name of a bibfield declared as a range field in the data model and returns the length of the range. This is calculated by \biber, can handle many special cases and is generally more robust than \cmd{rangelen}. It will return -1 for open ended ranges. Specifically \cmd{frangelen} can: + +\begin{itemize} +\item Calculate the total of multiple ranges in the same field such as <1-10, 20-30> +\item Handle implicit ranges such as <22-4> and <130-33> +\item Handle roman numeral ranges in upper and lower case and consisting of both ASCII and Unicode roman numeral representations. +\end{itemize} +% +Here are some examples: + +\begin{tabular}{ll} +pages = <10> & |\frangelen{pages}| returns '1'\\ +pages = <10-15> & |\frangelen{pages}| returns '6'\\ +pages = <10-15,47-53> & |\frangelen{pages}| returns '13'\\ +pages = <10-> & |\frangelen{pages}| returns '-1'\\ +pages = <-10> & |\frangelen{pages}| returns '-1'\\ +pages = <48-9> & |\frangelen{pages}| returns '2'\\ +pages = <172-77> & |\frangelen{pages}| returns '6'\\ +pages = <i-vi> & |\frangelen{pages}| returns '6'\\ +pages = <X-XX> & |\frangelen{pages}| returns '11'\\ +pages = <ⅥⅠ-ⅻ> & |\frangelen{pages}| returns '6'\\ +pages = <ⅥⅠ-ⅻ, 145-7, 135-39> & |\frangelen{pages}| returns '14' +\end{tabular} + +As with \cmd{rangelen}, \cmd{frangelen} can be used in tests: + +\begin{lstlisting}[style=latex]{} +\ifnumcomp{\frangelen{pages}}{=}{1}{add 'f'}{do nothing} +\end{lstlisting} + \cmditem{DeclareNumChars}{characters} \cmditem*{DeclareNumChars*}{characters} @@ -9255,10 +9421,10 @@ This section corresponds to \secref{use:fmt:fmt} in the user part of the manual. \begin{ltxsyntax} -\csitem{bibnamedelima}|\BiberOnlyMark| +\csitem{bibnamedelima}\BiberOnlyMark This delimiter controls the spacing between the elements which make up a name part. It is inserted automatically by the backend after the first name element if the element is less than three characters long and before the last element. The default definition is \cmd{addhighpenspace}, \ie a space penalized by the value of the \cnt{highnamepenalty} counter (\secref{use:fmt:len}). Please refer to \secref{use:cav:nam} for further details. -\csitem{bibnamedelimb}|\BiberOnlyMark| +\csitem{bibnamedelimb}\BiberOnlyMark This delimiter controls the spacing between the elements which make up a name part. It is inserted automatically by the backend between all name elements where \cmd{bibnamedelima} does not apply. The default definition is \cmd{addlowpenspace}, \ie a space penalized by the value of the \cnt{lownamepenalty} counter (\secref{use:fmt:len}). Please refer to \secref{use:cav:nam} for further details. \csitem{bibnamedelimc} @@ -9267,16 +9433,16 @@ This delimiter controls the spacing between name parts. The default name formats \csitem{bibnamedelimd} This delimiter controls the spacing between name parts. The default name formats use it between all name parts where \cmd{bibnamedelimc} does not apply. The default definition is \cmd{addlowpenspace}, \ie a space penalized by the value of the \cnt{lownamepenalty} counter (\secref{use:fmt:len}). Please refer to \secref{use:cav:nam} for further details. -\csitem{bibnamedelimi}|\BiberOnlyMark| +\csitem{bibnamedelimi}\BiberOnlyMark This delimiter replaces \cmd{bibnamedelima/b} after initials. Note that this only applies to initials given as such in the \file{bib} file, not to the initials automatically generated by \biblatex which use their own set of delimiters. -\csitem{bibinitperiod}|\BiberOnlyMark| +\csitem{bibinitperiod}\BiberOnlyMark The punctuation inserted automatically by the backend after all initials unless \cmd{bibinithyphendelim} applies. The default definition is a period (\cmd{adddot}). Please refer to \secref{use:cav:nam} for further details. -\csitem{bibinitdelim}|\BiberOnlyMark| +\csitem{bibinitdelim}\BiberOnlyMark The spacing inserted automatically by the backend between multiple initials unless \cmd{bibinithyphendelim} applies. The default definition is an unbreakable interword space. Please refer to \secref{use:cav:nam} for further details. -\csitem{bibinithyphendelim}|\BiberOnlyMark| +\csitem{bibinithyphendelim}\BiberOnlyMark The punctuation inserted automatically by the backend between the initials of hyphenated name parts, replacing \cmd{bibinitperiod} and \cmd{bibinitdelim}. The default definition is a period followed by an unbreakable hyphen. Please refer to \secref{use:cav:nam} for further details. \csitem{bibindexnamedelima} @@ -9593,7 +9759,7 @@ This command strips leading zeros from a number. It is intended for date formatt A special field formatting directive which is used internally by \biblatex. When the bibliographic data is read from the \file{bbl} file, \biblatex measures the values of all \bibfield{shorthand} fields and sets the length register \cmd{shorthandwidth} to the width of the widest shorthand (see \secref{aut:fmt:ilc}). In order to determine the correct width, the package considers two factors: the definition of \cmd{bibfont} and this formatting directive. All styles should adjust this directive such that it corresponds to the format used in the list of shorthands. -\optitem{<labelfield>width}|\BiberOnlyMark| +\optitem{<labelfield>width}\BiberOnlyMark With \biber, for every field marked as a <Label field> in the data model, a formatting directive is created as per \texttt{shorthandwidth} above. Since \bibfield{shorthand} is so marked in the default data model, this functionality is a superset of that described for \texttt{shorthandwidth}. @@ -9658,7 +9824,7 @@ The length registers and counters discussed here are used by \biblatex to pass i This length register indicates the width of the widest \bibfield{shorthand}. Bibliography styles should incorporate this length in the definition of the list of shorthands, if applicable. -\lenitem{<labelfield>width}|\BiberOnlyMark| +\lenitem{<labelfield>width}\BiberOnlyMark With \biber, for every field marked as a <Label field> in the data model, a length register is created as per \texttt{shorthandwidth} above. Since \bibfield{shorthand} is so marked in the default data model, this functionality is a superset of that described for \texttt{shorthandwidth}. @@ -9772,7 +9938,7 @@ When using \biber, this is just an alias for: \AtBeginBiblist{shorthand}{code} \end{lstlisting} -\cmditem{AtBeginBiblist}{biblistname}{code}|\BiberOnlyMark| +\cmditem{AtBeginBiblist}{biblistname}{code}\BiberOnlyMark Appends the \prm{code} to an internal hook executed at the beginning of the bibliography list \prm{biblistname}. The \prm{code} is executed at the beginning of the bibliography list, immediately after the \prm{begin code} of \cmd{defbibenvironment}. This command may only be used in the preamble. @@ -9790,7 +9956,7 @@ When using \biber, this is just an alias for: \AtEveryBiblistitem{shorthand}{code} \end{lstlisting} -\cmditem{AtEveryBiblistitem}{biblistname}{code}|\BiberOnlyMark| +\cmditem{AtEveryBiblistitem}{biblistname}{code}\BiberOnlyMark Appends the \prm{code} to an internal hook executed at the beginning of every item in the bibliography list named \prm{biblistname}. The \prm{code} is executed immediately after the \prm{item code} of \cmd{defbibenvironment}. The bibliographic data of the respective entry is available at this point. This command may only be used in the preamble. @@ -11149,13 +11315,9 @@ indexing &\+&\+&\+&\+\\ isbn &\+&\+&\_&\_\\ % style labelalpha &\+&\+&\+&\_\\ labelnamefield &\_&\_&\_&\+\\ -labelnameform &\_&\_&\_&\+\\ -labelnamelang &\_&\_&\_&\+\\ labelnumber &\+&\+&\+&\_\\ labeltitle &\+&\+&\+&\_\\ labeltitlefield &\_&\_&\_&\+\\ -labeltitleform &\_&\_&\_&\+\\ -labeltitlelang &\_&\_&\_&\+\\ labeltitleyear &\+&\+&\+&\_\\ labeldate &\+&\+&\+&\_\\ language &\+&\+&\_&\_\\ @@ -11187,6 +11349,7 @@ refsegment &\+&\+&\_&\_\\ safeinputenc &\+&\+&\_&\_\\ singletitle &\+&\+&\+&\_\\ skipbib &\_&\_&\+&\+\\ +skipbiblist &\_&\_&\+&\+\\ skiplab &\_&\_&\+&\+\\ skiplos &\_&\_&\+&\+\\ sortcase &\+&\+&\_&\_\\ @@ -11202,11 +11365,9 @@ texencoding &\+&\+&\_&\_\\ uniquelist &\+&\+&\+&\+\\ uniquename &\+&\+&\+&\+\\ urldate &\+&\+&\_&\_\\ -url &\+&\+&\_&\_\\ % style -useauthor &\+&\+&\+&\+\\ -useeditor &\+&\+&\+&\+\\ +url &\+&\+&\_&\_\\ useprefix &\+&\+&\+&\+\\ -usetranslator &\+&\+&\+&\+\\ +use$<$name$>$ &\+&\+&\+&\+\\ \end{longtable} \endgroup @@ -11217,7 +11378,17 @@ This revision history is a list of changes relevant to users of this package. Ch \begin{changelog} -\begin{release}{2.9a}{2014} +\begin{release}{3.0}{2015-04-20} +\item Improved Danish (Jonas Nyrup) and Spanish (ludenticus) translations +\item \bibfield{labelname} and \bibfield{labeltitle} are now resolved by \biblatex instead of \biber for more flexibility and future extensibility +\item New \cmd{entryclone} sourcemap verb for cloning entries during sourcemapping\see{aut:ctm:map} +\item New \cmd{pernottype} negated per-type sourcemap verb\see{aut:ctm:map} +\item New range calculation command \cmd{frangelen}\see{aut:aux:msc} +\item New bibliography context functionality\see{use:bib:context} +\item Name lists in the data model now automatically create internals for \cmd{ifuse$<$name$>$} tests and booleans\see{use:opt:bib:hyb} and \see{aut:aux:tst} +\end{release} + +\begin{release}{2.9a}{2014-06-25} \item \texttt{resetnumbers} now allows passing a number to reset to\see{use:bib:bib} \end{release} @@ -11342,254 +11513,254 @@ This revision history is a list of changes relevant to users of this package. Ch \item Added \cmd{citeyear*} and \cmd{citedate*}\see{use:cit:txt} \end{release} -\begin{release}{1.7}{2011-11-13} -\item Added \texttt{xdata} containers\see{use:use:xdat}\BiberOnlyMark -\item Added special entry type \bibfield{xdata}\see{bib:typ:blx}\BiberOnlyMark -\item Added special field \bibfield{xdata}\see{bib:fld:spc}\BiberOnlyMark -\item Support \opt{maxnames}/\opt{minnames} globally/per-type/per-entry\see{use:opt:pre:gen}\BiberOnlyMark -\item Support \opt{maxbibnames}/\opt{minbibnames} globally/per-type/per-entry\see{use:opt:pre:gen}\BiberOnlyMark -\item Support \opt{maxcitenames}/\opt{mincitenames} globally/per-type/per-entry\see{use:opt:pre:gen}\BiberOnlyMark -\item Support \opt{maxitems}/\opt{minitems} globally/per-type/per-entry\see{use:opt:pre:gen}\BiberOnlyMark -\item Support \opt{maxalphanames}/\opt{minalphanames} globally/per-type/per-entry\see{use:opt:pre:int}\BiberOnlyMark -\item Support \opt{uniquelist} globally/per-type/per-entry\see{use:opt:pre:int}\BiberOnlyMark -\item Support \opt{uniquename} globally/per-type/per-entry\see{use:opt:pre:int}\BiberOnlyMark -\item Added \cmd{textcite} and \cmd{textcites} to all \texttt{verbose} citation styles\see{use:xbx:cbx} -\item Added special field formats \texttt{date}, \texttt{urldate}, \texttt{origdate}, \texttt{eventdate}\see{aut:fmt:ich} -\item Added \cmd{mkcomprange*}\see{aut:aux:msc} -\item Added \cmd{mkfirstpage*}\see{aut:aux:msc} -\item Added \cmd{volcitedelim}\see{aut:fmt:fmt} -\item Added missing documentation for \cmd{ifentrytype}\see{aut:aux:tst} -\item Added \cmd{mkbibneutord}\see{use:fmt:lng} -\item Added counter \cnt{biburlnumpenalty}\see{aut:fmt:len} -\item Added counter \cnt{biburlucpenalty}\see{aut:fmt:len} -\item Added counter \cnt{biburllcpenalty}\see{aut:fmt:len} -\item Added localization keys \texttt{book}, \texttt{part}, \texttt{issue}, \texttt{forthcoming}\see{aut:lng:key} -\item Added some \texttt{lang...} and \texttt{from...} localization keys\see{aut:lng:key} -\item Expanded documentation\see{apx:opt} -\item Added support for Russian (Oleg Domanov) -\item Updated support for Dutch (Pieter Belmans) -\item Fixed compatibility issue with \sty{textcase} package -\item Fixed some bugs -\end{release} - -\begin{release}{1.6}{2011-07-29} -\item Added special field \bibfield{sortshorthand}\see{bib:fld:spc}\BiberOnlyMark -\item Revised options \opt{maxnames}/\opt{minnames}\see{use:opt:pre:gen} -\item Options \opt{maxcitenames}/\opt{mincitenames} now supported by backend\see{use:opt:pre:gen}\BiberOnlyMark -\item Options \opt{maxbibnames}/\opt{minbibnames} now supported by backend\see{use:opt:pre:gen}\BiberOnlyMark -\item Added options \opt{maxalphanames}/\opt{minalphanames}\see{use:opt:pre:int}\BiberOnlyMark -\item Removed local options \opt{maxnames}/\opt{minnames} from \cmd{printbibliography}\see{use:bib:bib} -\item Removed local options \opt{maxitems}/\opt{minitems} from \cmd{printbibliography}\see{use:bib:bib} -\item Removed local options \opt{maxnames}/\opt{minnames} from \cmd{bibbysection}\see{use:bib:bib} -\item Removed local options \opt{maxitems}/\opt{minitems} from \cmd{bibbysection}\see{use:bib:bib} -\item Removed local options \opt{maxnames}/\opt{minnames} from \cmd{bibbysegment}\see{use:bib:bib} -\item Removed local options \opt{maxitems}/\opt{minitems} from \cmd{bibbysegment}\see{use:bib:bib} -\item Removed local options \opt{maxnames}/\opt{minnames} from \cmd{bibbycategory}\see{use:bib:bib} -\item Removed local options \opt{maxitems}/\opt{minitems} from \cmd{bibbycategory}\see{use:bib:bib} -\item Removed local options \opt{maxnames}/\opt{minnames} from \cmd{printshorthands}\see{use:bib:biblist} -\item Removed local options \opt{maxitems}/\opt{minitems} from \cmd{printshorthands}\see{use:bib:biblist} -\item Added special field format \bibfield{volcitevolume}\see{use:cit:spc} -\item Added special field format \bibfield{volcitepages}\see{use:cit:spc} -\item Added special field \bibfield{hash}\see{aut:bbx:fld:gen}\BiberOnlyMark -\item Added \cmd{mkcomprange}\see{aut:aux:msc} -\item Added \cmd{mkfirstpage}\see{aut:aux:msc} -\item Removed \cmd{mkpagefirst}\see{aut:aux:msc} -\item Fixed some bugs -\end{release} - -\begin{release}{1.5a}{2011-06-17} -\item Fixed some bugs -\end{release} - -\begin{release}{1.5}{2011-06-08} -\item Added option \kvopt{uniquename}{mininit/minfull}\see{use:opt:pre:int}\BiberOnlyMark -\item Added option \kvopt{uniquelist}{minyear}\see{use:opt:pre:int}\BiberOnlyMark -\item Updated documentation of \cnt{uniquename} counter\see{aut:aux:tst}\BiberOnlyMark -\item Updated documentation of \cnt{uniquelist} counter\see{aut:aux:tst}\BiberOnlyMark -\item Expanded documentation for \opt{uniquename/uniquelist} options\see{aut:cav:amb}\BiberOnlyMark -\item Added editorial role \texttt{reviser}\see{bib:use:edr} -\item Added localization keys \texttt{reviser}, \texttt{revisers}, \texttt{byreviser}\see{aut:lng:key} -\item Added bibliography heading \texttt{none}\see{use:bib:hdg} -\item Fixed some \sty{memoir} compatibility issues -\end{release} - -\begin{release}{1.4c}{2011-05-12} -\item Fixed some bugs -\end{release} - -\begin{release}{1.4b}{2011-04-12} -\item Fixed some bugs -\end{release} - -\begin{release}{1.4a}{2011-04-06} -\item Enable \opt{uniquename} and \opt{uniquelist} in all \texttt{authortitle} styles\see{use:xbx:cbx} -\item Enable \opt{uniquename} and \opt{uniquelist} in all \texttt{authoryear} styles\see{use:xbx:cbx} -\item Fixed some bugs -\end{release} - -\begin{release}{1.4}{2011-03-31} -\item Added package option \opt{uniquelist}\see{use:opt:pre:int}\BiberOnlyMark -\item Added special counter \cnt{uniquelist}\see{aut:aux:tst}\BiberOnlyMark -\item Revised and improved package option \opt{uniquename}\see{use:opt:pre:int}\BiberOnlyMark -\item Revised and improved special counter \cnt{uniquename}\see{aut:aux:tst}\BiberOnlyMark -\item Added \cmd{bibnamedelimi}\see{use:fmt:fmt}\BiberOnlyMark -\item Added \cmd{bibindexnamedelima}\see{use:fmt:fmt} -\item Added \cmd{bibindexnamedelimb}\see{use:fmt:fmt} -\item Added \cmd{bibindexnamedelimc}\see{use:fmt:fmt} -\item Added \cmd{bibindexnamedelimd}\see{use:fmt:fmt} -\item Added \cmd{bibindexnamedelimi}\see{use:fmt:fmt} -\item Added \cmd{bibindexinitperiod}\see{use:fmt:fmt} -\item Added \cmd{bibindexinitdelim}\see{use:fmt:fmt} -\item Added \cmd{bibindexinithyphendelim}\see{use:fmt:fmt} -\item Fixed conflict with some \acr{AMS} classes -\end{release} - -\begin{release}{1.3a}{2011-03-18} -\item Fixed some bugs -\end{release} - -\begin{release}{1.3}{2011-03-14} -\item Support \bibtype{thesis} with \bibfield{isbn}\see{bib:typ:blx} -\item Updated \opt{terseinits} option\see{use:opt:pre:gen} -\item Allow macros in argument to \cmd{addbibresource} and friends\see{use:bib:res} -\item Allow macros in argument to \cmd{bibliography}\see{use:bib:res} -\item Introducing experimental support for Zotero \acr{RDF}/\acr{XML}\see{use:bib:res}\BiberOnlyMark -\item Introducing experimental support for EndNote \acr{XML}\see{use:bib:res}\BiberOnlyMark -\item Added option \opt{citecounter}\see{use:opt:pre:int} -\item Added \cnt{citecounter}\see{aut:aux:tst} -\item Added \cmd{smartcite} and \cmd{Smartcite}\see{use:cit:cbx} -\item Added \cmd{smartcites} and \cmd{Smartcites}\see{use:cit:mlt} -\item Added \cmd{svolcite} and \cmd{Svolcite}\see{use:cit:spc} -\item Added \cmd{bibnamedelima}\see{use:fmt:fmt}\BiberOnlyMark -\item Added \cmd{bibnamedelimb}\see{use:fmt:fmt}\BiberOnlyMark -\item Added \cmd{bibnamedelimc}\see{use:fmt:fmt} -\item Added \cmd{bibnamedelimd}\see{use:fmt:fmt} -\item Added \cmd{bibinitperiod}\see{use:fmt:fmt}\BiberOnlyMark -\item Added \cmd{bibinitdelim}\see{use:fmt:fmt}\BiberOnlyMark -\item Added \cmd{bibinithyphendelim}\see{use:fmt:fmt}\BiberOnlyMark -\item Expanded documentation\see{use:cav:nam} -\item Added \prm{position} parameter \texttt{f} to \cmd{DeclareAutoCiteCommand}\see{aut:cbx:cbx} -\end{release} - -\begin{release}{1.2a}{2011-02-13} -\item Fix in \cmd{mkbibmonth}\see{aut:fmt:ich} -\end{release} - -\begin{release}{1.2}{2011-02-12} -\item Added entry type \bibtype{mvbook}\see{bib:typ:blx} -\item Added entry type \bibtype{mvcollection}\see{bib:typ:blx} -\item Added entry type \bibtype{mvproceedings}\see{bib:typ:blx} -\item Added entry type \bibtype{mvreference}\see{bib:typ:blx} -\item Introducing remote resources\see{use:bib:res}\BiberOnlyMark -\item Introducing experimental \acr{RIS} support\see{use:bib:res}\BiberOnlyMark -\item Added \cmd{addbibresource}\see{use:bib:res} -\item \cmd{bibliography} now deprecated\see{use:bib:res} -\item \cmd{bibliography*} replaced by \cmd{addglobalbib}\see{use:bib:res} -\item Added \cmd{addsectionbib}\see{use:bib:res} -\item Updated and expanded documentation\see{bib:cav:ref} -\item Introducing smart \bibfield{crossref} data inheritance\see{bib:cav:ref:bbr}\BiberOnlyMark -\item Introducing \bibfield{crossref} configuration interface\see{aut:ctm:ref}\BiberOnlyMark -\item Added \cmd{DefaultInheritance}\see{aut:ctm:ref}\BiberOnlyMark -\item Added \cmd{DeclareDataInheritance}\see{aut:ctm:ref}\BiberOnlyMark -\item Added \cmd{ResetDataInheritance}\see{aut:ctm:ref}\BiberOnlyMark -\item Added \cmd{ifkeyword}\see{aut:aux:tst} -\item Added \cmd{ifentrykeyword}\see{aut:aux:tst} -\item Added \cmd{ifcategory}\see{aut:aux:tst} -\item Added \cmd{ifentrycategory}\see{aut:aux:tst} -\item Added \cmd{ifdriver}\see{aut:aux:tst} -\item Added \cmd{forcsvfield}\see{aut:aux:msc} -\item Extended \cmd{mkpageprefix}\see{aut:aux:msc} -\item Extended \cmd{mkpagetotal}\see{aut:aux:msc} -\item Extended \cmd{mkpagefirst}\see{aut:aux:msc} -\item Added localization key \texttt{inpreparation}\see{aut:lng:key} -\item Rearranged manual slightly, moving some tables to the appendix -\end{release} - -\begin{release}{1.1b}{2011-02-04} -\item Added option \opt{texencoding}\see{use:opt:pre:gen}\BiberOnlyMark -\item Added option \opt{safeinputenc}\see{use:opt:pre:gen}\BiberOnlyMark -\item Expanded documentation\see{bib:cav:enc:enc} -\item Improved \opt{mergedate} option of bibliography style \texttt{authoryear}\see{use:xbx:bbx} -\item Removed \opt{pass} option of \cmd{DeclareSortingScheme}\see{aut:ctm:srt}\BiberOnlyMark -\item Fixed some bugs -\end{release} - -\begin{release}{1.1a}{2011-01-08} -\item Added unsupported entry type \bibtype{bibnote}\see{bib:typ:ctm} -\item Added \cmd{bibliography*}\see{use:bib:res} -\item Fixed some bugs -\end{release} - -\begin{release}{1.1}{2011-01-05} -\item Added option \opt{maxbibnames}\see{use:opt:pre:gen} -\item Added option \opt{minbibnames}\see{use:opt:pre:gen} -\item Added option \opt{maxcitenames}\see{use:opt:pre:gen} -\item Added option \opt{mincitenames}\see{use:opt:pre:gen} -\item Fixed \kvopt{idemtracker}{strict} and \kvopt{idemtracker}{constrict}\see{use:opt:pre:int} -\item Added option \opt{mergedate} to bibliography style \texttt{authoryear}\see{use:xbx:bbx} -\item Added support for \opt{prefixnumbers} to bibliography style \texttt{alphabetic}\see{use:xbx:bbx} -\item Made option \bibfield{useprefix} settable on a per-type basis\see{use:opt:bib}\BiberOnlyMark -\item Made option \bibfield{useauthor} settable on a per-type basis\see{use:opt:bib}\BiberOnlyMark -\item Made option \bibfield{useeditor} settable on a per-type basis\see{use:opt:bib}\BiberOnlyMark -\item Made option \opt{usetranslator} settable on a per-type basis\see{use:opt:bib}\BiberOnlyMark -\item Made option \opt{skipbib} settable on a per-type basis\see{use:opt:bib}\BiberOnlyMark -\item Made option \opt{skiplos} settable on a per-type basis\see{use:opt:bib}\BiberOnlyMark -\item Made option \opt{skiplab} settable on a per-type basis\see{use:opt:bib}\BiberOnlyMark -\item Made option \opt{dataonly} settable on a per-type basis\see{use:opt:bib}\BiberOnlyMark -\item Made option \opt{labelalpha} settable on a per-type basis\see{use:opt:pre:int}\BiberOnlyMark -\item Made option \opt{labelnumber} settable on a per-type basis\see{use:opt:pre:int} -\item Made option \opt{labelyear} settable on a per-type basis\see{use:opt:pre:int}\BiberOnlyMark -\item Made option \opt{singletitle} settable on a per-type basis\see{use:opt:pre:int}\BiberOnlyMark -\item Made option \opt{uniquename} settable on a per-type basis\see{use:opt:pre:int}\BiberOnlyMark -\item Made option \opt{indexing} settable on a per-type basis\see{use:opt:pre:gen} -\item Made option \opt{indexing} settable on a per-entry basis\see{use:opt:pre:gen} -\item Extended \cmd{ExecuteBibliographyOptions}\see{use:cfg:opt} -\item Added \cmd{citedate}\see{use:cit:txt} -\item Improved static entry sets\see{use:use:set}\BiberOnlyMark -\item Introducing dynamic entry sets\see{use:use:set}\BiberOnlyMark -\item Added \cmd{defbibentryset}\see{use:bib:set}\BiberOnlyMark -\item Added option \opt{mcite}\see{use:opt:ldt}\BiberOnlyMark -\item Added \sty{mcite}\slash\sty{mciteplus}-like commands\see{use:cit:mct}\BiberOnlyMark -\item Added \cmd{sortalphaothers}\see{use:fmt:fmt}\BiberOnlyMark -\item Extended \cmd{DeclareNameFormat}\see{aut:bib:fmt} -\item Extended \cmd{DeclareIndexNameFormat}\see{aut:bib:fmt} -\item Extended \cmd{DeclareListFormat}\see{aut:bib:fmt} -\item Extended \cmd{DeclareIndexListFormat}\see{aut:bib:fmt} -\item Extended \cmd{DeclareFieldFormat}\see{aut:bib:fmt} -\item Extended \cmd{DeclareIndexFieldFormat}\see{aut:bib:fmt} -\item Added \cmd{DeclareNameFormat*}\see{aut:bib:fmt} -\item Added \cmd{DeclareIndexNameFormat*}\see{aut:bib:fmt} -\item Added \cmd{DeclareListFormat*}\see{aut:bib:fmt} -\item Added \cmd{DeclareIndexListFormat*}\see{aut:bib:fmt} -\item Added \cmd{DeclareFieldFormat*}\see{aut:bib:fmt} -\item Added \cmd{DeclareIndexFieldFormat*}\see{aut:bib:fmt} -\item Introducing configurable sorting schemes\BiberOnlyMark -\item Added \cmd{DeclareSortingScheme}\see{aut:ctm:srt}\BiberOnlyMark -\item Added \cmd{DeclarePresort}\see{aut:ctm:srt}\BiberOnlyMark -\item Added \cmd{DeclareSortExclusion}\see{aut:ctm:srt}\BiberOnlyMark -\item Added \cmd{DeclareLabelname}\see{aut:ctm:fld}\BiberOnlyMark -\item Added \cmd{DeclareLabelyear}\see{aut:ctm:fld}\BiberOnlyMark -\item Improved special field \bibfield{labelname}\see{aut:bbx:fld}\BiberOnlyMark -\item Improved special field \bibfield{labelyear}\see{aut:bbx:fld}\BiberOnlyMark -\item Added \cmd{entrydata*}\see{aut:bib:dat} -\item Added \cmd{RequireBiber}\see{aut:aux:msc} -\item Added option \opt{check} to \cmd{printbibliography}\see{use:bib:bib} -\item Added option \opt{check} to \cmd{printshorthands}\see{use:bib:biblist} -\item Added \cmd{defbibcheck}\see{use:bib:flt} -\item Updated support for Portuguese (José Carlos Santos) -\item Fixed conflict with \sty{titletoc} -\item Fixed some bugs -\end{release} - -\begin{release}{1.0}{2010-11-19} -\item First officially stable release -\item Renamed option \kvopt{bibencoding}{inputenc} to \kvopt{bibencoding}{auto}\see{use:opt:pre:gen} -\item Made \kvopt{bibencoding}{auto} the package default\see{use:opt:pre:gen} -\item Added option \kvopt{backend}{bibtexu}\see{use:opt:pre:gen} -\item Slightly updated documentation\see{bib:cav:enc} -\item Updated support for Dutch (Alexander van Loon) -\item Updated support for Italian (Andrea Marchitelli) -\end{release} +% \begin{release}{1.7}{2011-11-13} +% \item Added \texttt{xdata} containers\see{use:use:xdat}\BiberOnlyMark +% \item Added special entry type \bibfield{xdata}\see{bib:typ:blx}\BiberOnlyMark +% \item Added special field \bibfield{xdata}\see{bib:fld:spc}\BiberOnlyMark +% \item Support \opt{maxnames}/\opt{minnames} globally/per-type/per-entry\see{use:opt:pre:gen}\BiberOnlyMark +% \item Support \opt{maxbibnames}/\opt{minbibnames} globally/per-type/per-entry\see{use:opt:pre:gen}\BiberOnlyMark +% \item Support \opt{maxcitenames}/\opt{mincitenames} globally/per-type/per-entry\see{use:opt:pre:gen}\BiberOnlyMark +% \item Support \opt{maxitems}/\opt{minitems} globally/per-type/per-entry\see{use:opt:pre:gen}\BiberOnlyMark +% \item Support \opt{maxalphanames}/\opt{minalphanames} globally/per-type/per-entry\see{use:opt:pre:int}\BiberOnlyMark +% \item Support \opt{uniquelist} globally/per-type/per-entry\see{use:opt:pre:int}\BiberOnlyMark +% \item Support \opt{uniquename} globally/per-type/per-entry\see{use:opt:pre:int}\BiberOnlyMark +% \item Added \cmd{textcite} and \cmd{textcites} to all \texttt{verbose} citation styles\see{use:xbx:cbx} +% \item Added special field formats \texttt{date}, \texttt{urldate}, \texttt{origdate}, \texttt{eventdate}\see{aut:fmt:ich} +% \item Added \cmd{mkcomprange*}\see{aut:aux:msc} +% \item Added \cmd{mkfirstpage*}\see{aut:aux:msc} +% \item Added \cmd{volcitedelim}\see{aut:fmt:fmt} +% \item Added missing documentation for \cmd{ifentrytype}\see{aut:aux:tst} +% \item Added \cmd{mkbibneutord}\see{use:fmt:lng} +% \item Added counter \cnt{biburlnumpenalty}\see{aut:fmt:len} +% \item Added counter \cnt{biburlucpenalty}\see{aut:fmt:len} +% \item Added counter \cnt{biburllcpenalty}\see{aut:fmt:len} +% \item Added localization keys \texttt{book}, \texttt{part}, \texttt{issue}, \texttt{forthcoming}\see{aut:lng:key} +% \item Added some \texttt{lang...} and \texttt{from...} localization keys\see{aut:lng:key} +% \item Expanded documentation\see{apx:opt} +% \item Added support for Russian (Oleg Domanov) +% \item Updated support for Dutch (Pieter Belmans) +% \item Fixed compatibility issue with \sty{textcase} package +% \item Fixed some bugs +% \end{release} + +% \begin{release}{1.6}{2011-07-29} +% \item Added special field \bibfield{sortshorthand}\see{bib:fld:spc}\BiberOnlyMark +% \item Revised options \opt{maxnames}/\opt{minnames}\see{use:opt:pre:gen} +% \item Options \opt{maxcitenames}/\opt{mincitenames} now supported by backend\see{use:opt:pre:gen}\BiberOnlyMark +% \item Options \opt{maxbibnames}/\opt{minbibnames} now supported by backend\see{use:opt:pre:gen}\BiberOnlyMark +% \item Added options \opt{maxalphanames}/\opt{minalphanames}\see{use:opt:pre:int}\BiberOnlyMark +% \item Removed local options \opt{maxnames}/\opt{minnames} from \cmd{printbibliography}\see{use:bib:bib} +% \item Removed local options \opt{maxitems}/\opt{minitems} from \cmd{printbibliography}\see{use:bib:bib} +% \item Removed local options \opt{maxnames}/\opt{minnames} from \cmd{bibbysection}\see{use:bib:bib} +% \item Removed local options \opt{maxitems}/\opt{minitems} from \cmd{bibbysection}\see{use:bib:bib} +% \item Removed local options \opt{maxnames}/\opt{minnames} from \cmd{bibbysegment}\see{use:bib:bib} +% \item Removed local options \opt{maxitems}/\opt{minitems} from \cmd{bibbysegment}\see{use:bib:bib} +% \item Removed local options \opt{maxnames}/\opt{minnames} from \cmd{bibbycategory}\see{use:bib:bib} +% \item Removed local options \opt{maxitems}/\opt{minitems} from \cmd{bibbycategory}\see{use:bib:bib} +% \item Removed local options \opt{maxnames}/\opt{minnames} from \cmd{printshorthands}\see{use:bib:biblist} +% \item Removed local options \opt{maxitems}/\opt{minitems} from \cmd{printshorthands}\see{use:bib:biblist} +% \item Added special field format \bibfield{volcitevolume}\see{use:cit:spc} +% \item Added special field format \bibfield{volcitepages}\see{use:cit:spc} +% \item Added special field \bibfield{hash}\see{aut:bbx:fld:gen}\BiberOnlyMark +% \item Added \cmd{mkcomprange}\see{aut:aux:msc} +% \item Added \cmd{mkfirstpage}\see{aut:aux:msc} +% \item Removed \cmd{mkpagefirst}\see{aut:aux:msc} +% \item Fixed some bugs +% \end{release} + +% \begin{release}{1.5a}{2011-06-17} +% \item Fixed some bugs +% \end{release} + +% \begin{release}{1.5}{2011-06-08} +% \item Added option \kvopt{uniquename}{mininit/minfull}\see{use:opt:pre:int}\BiberOnlyMark +% \item Added option \kvopt{uniquelist}{minyear}\see{use:opt:pre:int}\BiberOnlyMark +% \item Updated documentation of \cnt{uniquename} counter\see{aut:aux:tst}\BiberOnlyMark +% \item Updated documentation of \cnt{uniquelist} counter\see{aut:aux:tst}\BiberOnlyMark +% \item Expanded documentation for \opt{uniquename/uniquelist} options\see{aut:cav:amb}\BiberOnlyMark +% \item Added editorial role \texttt{reviser}\see{bib:use:edr} +% \item Added localization keys \texttt{reviser}, \texttt{revisers}, \texttt{byreviser}\see{aut:lng:key} +% \item Added bibliography heading \texttt{none}\see{use:bib:hdg} +% \item Fixed some \sty{memoir} compatibility issues +% \end{release} + +% \begin{release}{1.4c}{2011-05-12} +% \item Fixed some bugs +% \end{release} + +% \begin{release}{1.4b}{2011-04-12} +% \item Fixed some bugs +% \end{release} + +% \begin{release}{1.4a}{2011-04-06} +% \item Enable \opt{uniquename} and \opt{uniquelist} in all \texttt{authortitle} styles\see{use:xbx:cbx} +% \item Enable \opt{uniquename} and \opt{uniquelist} in all \texttt{authoryear} styles\see{use:xbx:cbx} +% \item Fixed some bugs +% \end{release} + +% \begin{release}{1.4}{2011-03-31} +% \item Added package option \opt{uniquelist}\see{use:opt:pre:int}\BiberOnlyMark +% \item Added special counter \cnt{uniquelist}\see{aut:aux:tst}\BiberOnlyMark +% \item Revised and improved package option \opt{uniquename}\see{use:opt:pre:int}\BiberOnlyMark +% \item Revised and improved special counter \cnt{uniquename}\see{aut:aux:tst}\BiberOnlyMark +% \item Added \cmd{bibnamedelimi}\see{use:fmt:fmt}\BiberOnlyMark +% \item Added \cmd{bibindexnamedelima}\see{use:fmt:fmt} +% \item Added \cmd{bibindexnamedelimb}\see{use:fmt:fmt} +% \item Added \cmd{bibindexnamedelimc}\see{use:fmt:fmt} +% \item Added \cmd{bibindexnamedelimd}\see{use:fmt:fmt} +% \item Added \cmd{bibindexnamedelimi}\see{use:fmt:fmt} +% \item Added \cmd{bibindexinitperiod}\see{use:fmt:fmt} +% \item Added \cmd{bibindexinitdelim}\see{use:fmt:fmt} +% \item Added \cmd{bibindexinithyphendelim}\see{use:fmt:fmt} +% \item Fixed conflict with some \acr{AMS} classes +% \end{release} + +% \begin{release}{1.3a}{2011-03-18} +% \item Fixed some bugs +% \end{release} + +% \begin{release}{1.3}{2011-03-14} +% \item Support \bibtype{thesis} with \bibfield{isbn}\see{bib:typ:blx} +% \item Updated \opt{terseinits} option\see{use:opt:pre:gen} +% \item Allow macros in argument to \cmd{addbibresource} and friends\see{use:bib:res} +% \item Allow macros in argument to \cmd{bibliography}\see{use:bib:res} +% \item Introducing experimental support for Zotero \acr{RDF}/\acr{XML}\see{use:bib:res}\BiberOnlyMark +% \item Introducing experimental support for EndNote \acr{XML}\see{use:bib:res}\BiberOnlyMark +% \item Added option \opt{citecounter}\see{use:opt:pre:int} +% \item Added \cnt{citecounter}\see{aut:aux:tst} +% \item Added \cmd{smartcite} and \cmd{Smartcite}\see{use:cit:cbx} +% \item Added \cmd{smartcites} and \cmd{Smartcites}\see{use:cit:mlt} +% \item Added \cmd{svolcite} and \cmd{Svolcite}\see{use:cit:spc} +% \item Added \cmd{bibnamedelima}\see{use:fmt:fmt}\BiberOnlyMark +% \item Added \cmd{bibnamedelimb}\see{use:fmt:fmt}\BiberOnlyMark +% \item Added \cmd{bibnamedelimc}\see{use:fmt:fmt} +% \item Added \cmd{bibnamedelimd}\see{use:fmt:fmt} +% \item Added \cmd{bibinitperiod}\see{use:fmt:fmt}\BiberOnlyMark +% \item Added \cmd{bibinitdelim}\see{use:fmt:fmt}\BiberOnlyMark +% \item Added \cmd{bibinithyphendelim}\see{use:fmt:fmt}\BiberOnlyMark +% \item Expanded documentation\see{use:cav:nam} +% \item Added \prm{position} parameter \texttt{f} to \cmd{DeclareAutoCiteCommand}\see{aut:cbx:cbx} +% \end{release} + +% \begin{release}{1.2a}{2011-02-13} +% \item Fix in \cmd{mkbibmonth}\see{aut:fmt:ich} +% \end{release} + +% \begin{release}{1.2}{2011-02-12} +% \item Added entry type \bibtype{mvbook}\see{bib:typ:blx} +% \item Added entry type \bibtype{mvcollection}\see{bib:typ:blx} +% \item Added entry type \bibtype{mvproceedings}\see{bib:typ:blx} +% \item Added entry type \bibtype{mvreference}\see{bib:typ:blx} +% \item Introducing remote resources\see{use:bib:res}\BiberOnlyMark +% \item Introducing experimental \acr{RIS} support\see{use:bib:res}\BiberOnlyMark +% \item Added \cmd{addbibresource}\see{use:bib:res} +% \item \cmd{bibliography} now deprecated\see{use:bib:res} +% \item \cmd{bibliography*} replaced by \cmd{addglobalbib}\see{use:bib:res} +% \item Added \cmd{addsectionbib}\see{use:bib:res} +% \item Updated and expanded documentation\see{bib:cav:ref} +% \item Introducing smart \bibfield{crossref} data inheritance\see{bib:cav:ref:bbr}\BiberOnlyMark +% \item Introducing \bibfield{crossref} configuration interface\see{aut:ctm:ref}\BiberOnlyMark +% \item Added \cmd{DefaultInheritance}\see{aut:ctm:ref}\BiberOnlyMark +% \item Added \cmd{DeclareDataInheritance}\see{aut:ctm:ref}\BiberOnlyMark +% \item Added \cmd{ResetDataInheritance}\see{aut:ctm:ref}\BiberOnlyMark +% \item Added \cmd{ifkeyword}\see{aut:aux:tst} +% \item Added \cmd{ifentrykeyword}\see{aut:aux:tst} +% \item Added \cmd{ifcategory}\see{aut:aux:tst} +% \item Added \cmd{ifentrycategory}\see{aut:aux:tst} +% \item Added \cmd{ifdriver}\see{aut:aux:tst} +% \item Added \cmd{forcsvfield}\see{aut:aux:msc} +% \item Extended \cmd{mkpageprefix}\see{aut:aux:msc} +% \item Extended \cmd{mkpagetotal}\see{aut:aux:msc} +% \item Extended \cmd{mkpagefirst}\see{aut:aux:msc} +% \item Added localization key \texttt{inpreparation}\see{aut:lng:key} +% \item Rearranged manual slightly, moving some tables to the appendix +% \end{release} + +% \begin{release}{1.1b}{2011-02-04} +% \item Added option \opt{texencoding}\see{use:opt:pre:gen}\BiberOnlyMark +% \item Added option \opt{safeinputenc}\see{use:opt:pre:gen}\BiberOnlyMark +% \item Expanded documentation\see{bib:cav:enc:enc} +% \item Improved \opt{mergedate} option of bibliography style \texttt{authoryear}\see{use:xbx:bbx} +% \item Removed \opt{pass} option of \cmd{DeclareSortingScheme}\see{aut:ctm:srt}\BiberOnlyMark +% \item Fixed some bugs +% \end{release} + +% \begin{release}{1.1a}{2011-01-08} +% \item Added unsupported entry type \bibtype{bibnote}\see{bib:typ:ctm} +% \item Added \cmd{bibliography*}\see{use:bib:res} +% \item Fixed some bugs +% \end{release} + +% \begin{release}{1.1}{2011-01-05} +% \item Added option \opt{maxbibnames}\see{use:opt:pre:gen} +% \item Added option \opt{minbibnames}\see{use:opt:pre:gen} +% \item Added option \opt{maxcitenames}\see{use:opt:pre:gen} +% \item Added option \opt{mincitenames}\see{use:opt:pre:gen} +% \item Fixed \kvopt{idemtracker}{strict} and \kvopt{idemtracker}{constrict}\see{use:opt:pre:int} +% \item Added option \opt{mergedate} to bibliography style \texttt{authoryear}\see{use:xbx:bbx} +% \item Added support for \opt{prefixnumbers} to bibliography style \texttt{alphabetic}\see{use:xbx:bbx} +% \item Made option \bibfield{useprefix} settable on a per-type basis\see{use:opt:bib}\BiberOnlyMark +% \item Made option \bibfield{useauthor} settable on a per-type basis\see{use:opt:bib}\BiberOnlyMark +% \item Made option \bibfield{useeditor} settable on a per-type basis\see{use:opt:bib}\BiberOnlyMark +% \item Made option \opt{usetranslator} settable on a per-type basis\see{use:opt:bib}\BiberOnlyMark +% \item Made option \opt{skipbib} settable on a per-type basis\see{use:opt:bib}\BiberOnlyMark +% \item Made option \opt{skiplos} settable on a per-type basis\see{use:opt:bib}\BiberOnlyMark +% \item Made option \opt{skiplab} settable on a per-type basis\see{use:opt:bib}\BiberOnlyMark +% \item Made option \opt{dataonly} settable on a per-type basis\see{use:opt:bib}\BiberOnlyMark +% \item Made option \opt{labelalpha} settable on a per-type basis\see{use:opt:pre:int}\BiberOnlyMark +% \item Made option \opt{labelnumber} settable on a per-type basis\see{use:opt:pre:int} +% \item Made option \opt{labelyear} settable on a per-type basis\see{use:opt:pre:int}\BiberOnlyMark +% \item Made option \opt{singletitle} settable on a per-type basis\see{use:opt:pre:int}\BiberOnlyMark +% \item Made option \opt{uniquename} settable on a per-type basis\see{use:opt:pre:int}\BiberOnlyMark +% \item Made option \opt{indexing} settable on a per-type basis\see{use:opt:pre:gen} +% \item Made option \opt{indexing} settable on a per-entry basis\see{use:opt:pre:gen} +% \item Extended \cmd{ExecuteBibliographyOptions}\see{use:cfg:opt} +% \item Added \cmd{citedate}\see{use:cit:txt} +% \item Improved static entry sets\see{use:use:set}\BiberOnlyMark +% \item Introducing dynamic entry sets\see{use:use:set}\BiberOnlyMark +% \item Added \cmd{defbibentryset}\see{use:bib:set}\BiberOnlyMark +% \item Added option \opt{mcite}\see{use:opt:ldt}\BiberOnlyMark +% \item Added \sty{mcite}\slash\sty{mciteplus}-like commands\see{use:cit:mct}\BiberOnlyMark +% \item Added \cmd{sortalphaothers}\see{use:fmt:fmt}\BiberOnlyMark +% \item Extended \cmd{DeclareNameFormat}\see{aut:bib:fmt} +% \item Extended \cmd{DeclareIndexNameFormat}\see{aut:bib:fmt} +% \item Extended \cmd{DeclareListFormat}\see{aut:bib:fmt} +% \item Extended \cmd{DeclareIndexListFormat}\see{aut:bib:fmt} +% \item Extended \cmd{DeclareFieldFormat}\see{aut:bib:fmt} +% \item Extended \cmd{DeclareIndexFieldFormat}\see{aut:bib:fmt} +% \item Added \cmd{DeclareNameFormat*}\see{aut:bib:fmt} +% \item Added \cmd{DeclareIndexNameFormat*}\see{aut:bib:fmt} +% \item Added \cmd{DeclareListFormat*}\see{aut:bib:fmt} +% \item Added \cmd{DeclareIndexListFormat*}\see{aut:bib:fmt} +% \item Added \cmd{DeclareFieldFormat*}\see{aut:bib:fmt} +% \item Added \cmd{DeclareIndexFieldFormat*}\see{aut:bib:fmt} +% \item Introducing configurable sorting schemes\BiberOnlyMark +% \item Added \cmd{DeclareSortingScheme}\see{aut:ctm:srt}\BiberOnlyMark +% \item Added \cmd{DeclarePresort}\see{aut:ctm:srt}\BiberOnlyMark +% \item Added \cmd{DeclareSortExclusion}\see{aut:ctm:srt}\BiberOnlyMark +% \item Added \cmd{DeclareLabelname}\see{aut:ctm:fld}\BiberOnlyMark +% \item Added \cmd{DeclareLabelyear}\see{aut:ctm:fld}\BiberOnlyMark +% \item Improved special field \bibfield{labelname}\see{aut:bbx:fld}\BiberOnlyMark +% \item Improved special field \bibfield{labelyear}\see{aut:bbx:fld}\BiberOnlyMark +% \item Added \cmd{entrydata*}\see{aut:bib:dat} +% \item Added \cmd{RequireBiber}\see{aut:aux:msc} +% \item Added option \opt{check} to \cmd{printbibliography}\see{use:bib:bib} +% \item Added option \opt{check} to \cmd{printshorthands}\see{use:bib:biblist} +% \item Added \cmd{defbibcheck}\see{use:bib:flt} +% \item Updated support for Portuguese (José Carlos Santos) +% \item Fixed conflict with \sty{titletoc} +% \item Fixed some bugs +% \end{release} + +% \begin{release}{1.0}{2010-11-19} +% \item First officially stable release +% \item Renamed option \kvopt{bibencoding}{inputenc} to \kvopt{bibencoding}{auto}\see{use:opt:pre:gen} +% \item Made \kvopt{bibencoding}{auto} the package default\see{use:opt:pre:gen} +% \item Added option \kvopt{backend}{bibtexu}\see{use:opt:pre:gen} +% \item Slightly updated documentation\see{bib:cav:enc} +% \item Updated support for Dutch (Alexander van Loon) +% \item Updated support for Italian (Andrea Marchitelli) +% \end{release} %\begin{release}{0.9e}{2010-10-09} %\item Updated and expanded manual\see{bib:cav:enc} diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/03-localization-keys.tex b/Master/texmf-dist/doc/latex/biblatex/examples/03-localization-keys.tex index fd0541ec57c..87b12801f19 100644 --- a/Master/texmf-dist/doc/latex/biblatex/examples/03-localization-keys.tex +++ b/Master/texmf-dist/doc/latex/biblatex/examples/03-localization-keys.tex @@ -32,7 +32,7 @@ %\usepackage[utf8]{inputenc} %\usepackage[russian]{babel} % -- Greek -%\usepackage[LGRx,T1]{fontenc} +%\usepackage[T1]{fontenc} %\usepackage[utf8]{inputenx} %\usepackage[english,greek]{babel} @@ -71,10 +71,10 @@ \begingroup \keyitemhook% \blx@bibinit% - \midsentence\biblstring{#1}% + \midsentence\ifbibstring{#1}{}{\latintext}\biblstring{#1}% \expandafter\lbx@initnamehook\lsmartoftext% \par\nobreak - \midsentence\bibsstring{#1}% + \midsentence\ifbibstring{#1}{}{\latintext}\bibsstring{#1}% \expandafter\lbx@initnamehook\ssmartoftext% \endgroup \par\nobreak} @@ -86,7 +86,7 @@ \preto{\UrlFont}{\latintext} \pretocmd{\printbibliography}{\greektext}{}{}}{} \AtBeginBibliography{\raggedright} -\MakeAutoQuote*{<}{>} +\AtBeginDocument{\MakeAutoQuote*{<}{>}} % user-configurable commands \newcommand{\keyitemhook}{} diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/91-sorting-schemes.tex b/Master/texmf-dist/doc/latex/biblatex/examples/91-sorting-schemes.tex index 81d1bdecc0e..a00c9eb751d 100644 --- a/Master/texmf-dist/doc/latex/biblatex/examples/91-sorting-schemes.tex +++ b/Master/texmf-dist/doc/latex/biblatex/examples/91-sorting-schemes.tex @@ -11,5 +11,6 @@ \addbibresource{biblatex-examples.bib} \begin{document} Filler text \parencite{wassenberg,cicero,companion,angenendt}. -\printbibliography[sorting=nyt] +\newrefcontext[sorting=nyt] +\printbibliography \end{document} diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/biblatex-examples.bib b/Master/texmf-dist/doc/latex/biblatex/examples/biblatex-examples.bib index 9bd2950221f..e9b21a3d53e 100644 --- a/Master/texmf-dist/doc/latex/biblatex/examples/biblatex-examples.bib +++ b/Master/texmf-dist/doc/latex/biblatex/examples/biblatex-examples.bib @@ -10,7 +10,7 @@ @incollection{westfahl:space, author = {Westfahl, Gary}, title = {The True Frontier}, - subtitle = {Confronting and Avoiding the Realities of Space in American + subtitle = {Confronting and Avoiding the Realities of Space in {American} Science Fiction Films}, pages = {55-65}, crossref = {westfahl:frontier}, @@ -45,7 +45,7 @@ and {\c{C}}etinkaya, Bekir and Ni, Chaoying and B{\"u}y{\"u}kg{\"u}ng{\"o}r, Orhan and {\"O}zkal, Erhan}, title = {Effect of immobilization on catalytic characteristics of - saturated Pd-N-heterocyclic carbenes in Mizoroki-Heck + saturated {Pd-N}-heterocyclic carbenes in {Mizoroki-Heck} reactions}, journaltitle = jomch, date = 2006, @@ -73,7 +73,7 @@ @article{baez/article, author = {Baez, John C. and Lauda, Aaron D.}, - title = {Higher-Dimensional Algebra V: 2-Groups}, + title = {Higher-Dimensional Algebra {V}: 2-Groups}, journaltitle = {Theory and Applications of Categories}, date = 2004, volume = 12, @@ -92,7 +92,7 @@ @article{bertram, author = {Bertram, Aaron and Wentworth, Richard}, - title = {Gromov invariants for holomorphic maps on Riemann surfaces}, + title = {Gromov invariants for holomorphic maps on {Riemann} surfaces}, journaltitle = jams, date = 1996, volume = 9, @@ -107,7 +107,7 @@ @article{doody, author = {Doody, Terrence}, - title = {Hemingway's Style and Jake's Narration}, + title = {Hemingway's Style and {Jake's} Narration}, year = 1974, volume = 4, number = 3, @@ -139,7 +139,7 @@ @article{gillies, author = {Gillies, Alexander}, - title = {Herder and the Preparation of Goethe's Idea of World + title = {Herder and the Preparation of {Goethe's} Idea of World Literature}, journaltitle = {Publications of the English Goethe Society}, date = 1933, @@ -165,7 +165,7 @@ @article{herrmann, author = {Herrmann, Wolfgang A. and {\"O}fele, Karl and Schneider, Sabine K. and Herdtweck, Eberhardt and Hoffmann, Stephan D.}, - title = {A carbocyclic carbene as an efficient catalyst ligand for C--C + title = {A carbocyclic carbene as an efficient catalyst ligand for {C--C} coupling reactions}, journaltitle = anch-ie, date = 2006, @@ -181,7 +181,7 @@ free energies from molecular simulations}, journaltitle = jchph, date = 2006, - subtitle = {I. The electrostatic potential in molecular liquids}, + subtitle = {{I}. {The} electrostatic potential in molecular liquids}, volume = 124, eid = 124106, doi = {10.1063/1.2172593}, @@ -224,7 +224,7 @@ Gary L. and Porter, Marc D. and Evans, Neal D. and Murray, Royce W.}, title = {Alkanethiolate gold cluster molecules with core diameters from - 1.5 to 5.2~nm}, + 1.5 to 5.2~{nm}}, journaltitle = {Langmuir}, date = 1998, subtitle = {Core and monolayer properties as a function of core size}, @@ -242,7 +242,7 @@ @article{reese, author = {Reese, Trevor R.}, - title = {Georgia in Anglo-Spanish Diplomacy, 1736-1739}, + title = {Georgia in {Anglo-Spanish} Diplomacy, 1736--1739}, journaltitle = {William and Mary Quarterly}, date = 1958, series = 3, @@ -340,7 +340,7 @@ @article{springer, author = {Springer, Otto}, - title = {Mediaeval Pilgrim Routes from Scandinavia to Rome}, + title = {Mediaeval Pilgrim Routes from {Scandinavia} to {Rome}}, journaltitle = {Mediaeval Studies}, date = 1950, volume = 12, @@ -364,7 +364,7 @@ author = {Yoon, Myeong S. and Ryu, Dowook and Kim, Jeongryul and Ahn, Kyo Han}, title = {Palladium pincer complexes with reduced bond angle strain: - efficient catalysts for the Heck reaction}, + efficient catalysts for the {Heck} reaction}, journaltitle = {Organometallics}, date = 2006, volume = 25, @@ -406,7 +406,7 @@ title = {Poetics}, date = 1968, editor = {Lucas, D. W.}, - series = {Clarendon Aristotle}, + series = {Clarendon {Aristotle}}, publisher = {Clarendon Press}, location = {Oxford}, keywords = {primary}, @@ -419,8 +419,8 @@ @book{aristotle:rhetoric, author = {Aristotle}, - title = {The Rhetoric of Aristotle with a commentary by the late Edward - Meredith Cope}, + title = {The Rhetoric of {Aristotle} with a commentary by the late {Edward + Meredith Cope}}, date = 1877, editor = {Cope, Edward Meredith}, commentator = {Cope, Edward Meredith}, @@ -430,7 +430,7 @@ langid = {english}, langidopts = {variant=british}, sorttitle = {Rhetoric of Aristotle}, - indextitle = {Rhetoric of Aristotle, The}, + indextitle = {Rhetoric of {Aristotle}, The}, shorttitle = {Rhetoric}, annotation = {A commented edition. Note the concatenation of the \texttt{editor} and \texttt{commentator} fields as well as the @@ -453,11 +453,11 @@ @book{averroes/bland, author = {Averroes}, title = {The Epistle on the Possibility of Conjunction with the Active - Intellect by Ibn Rushd with the Commentary of Moses Narboni}, + Intellect by {Ibn Rushd} with the Commentary of {Moses Narboni}}, date = 1982, editor = {Bland, Kalman P.}, translator = {Bland, Kalman P.}, - series = {Moreshet: Studies in Jewish History, Literature and Thought}, + series = {Moreshet: Studies in {Jewish} History, Literature and Thought}, number = 7, publisher = {Jewish Theological Seminary of America}, location = {New York}, @@ -539,11 +539,11 @@ @book{coleridge, author = {Coleridge, Samuel Taylor}, - title = {Biographia literaria, or Biographical sketches of my literary + title = {Biographia literaria, or {Biographical} sketches of my literary life and opinions}, date = 1983, editor = {Coburn, Kathleen and Engell, James and Bate, W. Jackson}, - maintitle = {The collected works of Samuel Taylor Coleridge}, + maintitle = {The collected works of {Samuel Taylor Coleridge}}, volume = 7, part = 2, series = {Bollingen Series}, @@ -563,7 +563,7 @@ @book{companion, author = {Goossens, Michel and Mittelbach, Frank and Samarin, Alexander}, - title = {The LaTeX Companion}, + title = {The {LaTeX} Companion}, date = 1994, edition = 1, publisher = {Addison-Wesley}, @@ -614,7 +614,7 @@ @book{gonzalez, author = {Gonzalez, Ray}, - title = {The Ghost of John Wayne and Other Stories}, + title = {The Ghost of {John Wayne} and Other Stories}, date = 2001, publisher = {The University of Arizona Press}, location = {Tucson}, @@ -622,8 +622,8 @@ langid = {english}, langidopts = {variant=american}, sorttitle = {Ghost of John Wayne and Other Stories}, - indextitle = {Ghost of John Wayne and Other Stories, The}, - shorttitle = {Ghost of John Wayne}, + indextitle = {Ghost of {John Wayne} and Other Stories, The}, + shorttitle = {Ghost of {John Wayne}}, annotation = {A collection of short stories. This is a \texttt{book} entry. Note the \texttt{sorttitle} and \texttt{indextitle} fields in the database file. There's also an \texttt{isbn} field}, @@ -684,7 +684,7 @@ @book{knuth:ct:a, author = {Knuth, Donald E.}, - title = {The \TeX book}, + title = {The {\TeX} book}, date = 1984, maintitle = {Computers \& Typesetting}, volume = {A}, @@ -727,7 +727,7 @@ @book{knuth:ct:c, author = {Knuth, Donald E.}, - title = {The METAFONTbook}, + title = {The {METAFONTbook}}, date = 1986, maintitle = {Computers \& Typesetting}, volume = {C}, @@ -763,7 +763,7 @@ @book{knuth:ct:e, author = {Knuth, Donald E.}, - title = {Computer Modern Typefaces}, + title = {{Computer Modern} Typefaces}, date = 1986, maintitle = {Computers \& Typesetting}, volume = {E}, @@ -837,7 +837,7 @@ @book{malinowski, author = {Malinowski, Bronis{\l}aw}, - title = {Argonauts of the Western Pacific}, + title = {Argonauts of the {Western Pacific}}, date = 1972, edition = 8, publisher = {Routledge {and} Kegan Paul}, @@ -845,7 +845,7 @@ langid = {english}, langidopts = {variant=british}, subtitle = {An account of native enterprise and adventure in the - Archipelagoes of Melanesian New Guinea}, + Archipelagoes of {Melanesian New Guinea}}, shorttitle = {Argonauts}, annotation = {This is a \texttt{book} entry. Note the format of the \texttt{publisher} and \texttt{edition} fields as well as the @@ -984,7 +984,7 @@ location = {Durham and London}, langid = {english}, langidopts = {variant=american}, - subtitle = {Crime in Mexico City, 1900--1931}, + subtitle = {Crime in {Mexico City}, 1900--1931}, shorttitle = {City of Suspects}, annotation = {This is a \texttt{book} entry. Note the format of the \texttt{location} field in the database file}, @@ -1084,7 +1084,7 @@ title = {The Importance of Being Earnest: A Trivial Comedy for Serious People}, year = 1899, - series = {English and American drama of the Nineteenth Century}, + series = {English and {American} drama of the Nineteenth Century}, publisher = {Leonard Smithers {and} Company}, eprint = {4HIWAAAAYAAJ}, eprinttype = {googlebooks}, @@ -1102,7 +1102,7 @@ langidopts = {variant=american}, sorttitle = {Cast of Character}, indextitle = {Cast of Character, The}, - subtitle = {Style in Greek Literature}, + subtitle = {Style in {Greek} Literature}, shorttitle = {Cast of Character}, annotation = {A \texttt{book} entry. Note the \texttt{sorttitle} and \texttt{indextitle} fields}, @@ -1110,7 +1110,7 @@ @collection{britannica, editor = {Preece, Warren E.}, - title = {The New Encyclop{\ae}dia Britannica}, + title = {The {New Encyclop{\ae}dia Britannica}}, date = 2003, edition = 15, volumes = 32, @@ -1121,8 +1121,8 @@ langid = {english}, langidopts = {variant=british}, sorttitle = {Encyclop{\ae}dia Britannica}, - indextitle = {Encyclop{\ae}dia Britannica, The New}, - shorttitle = {Encyclop{\ae}dia Britannica}, + indextitle = {{Encyclop{\ae}dia Britannica}, The {New}}, + shorttitle = {{Encyclop{\ae}dia Britannica}}, annotation = {This is a \texttt{collection} entry for an encyclopedia. Note the \texttt{useeditor} option in the \texttt{options} field as well as the \texttt{sorttitle} field. We want this entry to be @@ -1169,6 +1169,7 @@ edition = 2, volumes = 2, location = {Leipzig}, + langid = {latin}, editoratype = {redactor}, indextitle = {Regesta Pontificum Romanorum}, shorttitle = {Regesta Pontificum Romanorum}, @@ -1295,9 +1296,9 @@ author = {Arthur Hyman}, editor = {O'Meara, Dominic J.}, title = {Aristotle's Theory of the Intellect and its Interpretation by - Averroes}, + {Averroes}}, date = 1981, - booktitle = {Studies in Aristotle}, + booktitle = {Studies in {Aristotle}}, series = {Studies in Philosophy and the History of Philosophy}, number = 9, publisher = {The Catholic University of America Press}, @@ -1315,18 +1316,18 @@ @incollection{pines, author = {Pines, Shlomo}, editor = {Twersky, Isadore}, - title = {The Limitations of Human Knowledge According to Al-Farabi, ibn - Bajja, and Maimonides}, + title = {The Limitations of Human Knowledge According to {Al-Farabi}, {ibn + Bajja}, and {Maimonides}}, date = 1979, - booktitle = {Studies in Medieval Jewish History and Literature}, + booktitle = {Studies in Medieval {Jewish} History and Literature}, publisher = hup, location = {Cambridge, Mass.}, pages = {82-109}, keywords = {secondary}, langid = {english}, langidopts = {variant=american}, - indextitle = {Limitations of Human Knowledge According to Al-Farabi, ibn - Bajja, and Maimonides, The}, + indextitle = {Limitations of Human Knowledge According to {Al-Farabi}, {ibn + Bajja}, and {Maimonides}, The}, shorttitle = {Limitations of Human Knowledge}, annotation = {A typical \texttt{incollection} entry. Note the \texttt{indextitle} field}, @@ -1363,7 +1364,7 @@ date = 1968, booktitle = {Elementary particle theory}, booksubtitle = {Relativistic groups and analyticity}, - booktitleaddon= {Proceedings of the Eighth Nobel Symposium}, + booktitleaddon= {Proceedings of the {Eighth Nobel Symposium}}, eventdate = {1968-05-19/1968-05-25}, venue = {Aspen{\"a}sgarden, Lerum}, publisher = {Almquist \& Wiksell}, @@ -1372,7 +1373,7 @@ } @manual{cms, - title = {The Chicago Manual of Style}, + title = {The {Chicago} Manual of Style}, date = 2003, subtitle = {The Essential Guide for Writers, Editors, and Publishers}, edition = 15, @@ -1397,7 +1398,7 @@ @online{baez/online, author = {Baez, John C. and Lauda, Aaron D.}, - title = {Higher-Dimensional Algebra V: 2-Groups}, + title = {Higher-Dimensional Algebra {V}: 2-Groups}, date = {2004-10-27}, version = 3, langid = {english}, @@ -1414,7 +1415,7 @@ title = {CTAN}, date = 2006, url = {http://www.ctan.org}, - subtitle = {The Comprehensive TeX Archive Network}, + subtitle = {The {Comprehensive TeX Archive Network}}, urldate = {2006-10-01}, label = {CTAN}, langid = {english}, @@ -1431,7 +1432,7 @@ @online{itzhaki, author = {Itzhaki, Nissan}, - title = {Some remarks on 't Hooft's S-matrix for black holes}, + title = {Some remarks on {'t Hooft's} {S}-matrix for black holes}, date = {1996-03-11}, version = 1, langid = {english}, @@ -1452,10 +1453,10 @@ @online{markey, author = {Markey, Nicolas}, - title = {Tame the BeaST}, + title = {Tame the {BeaST}}, date = {2005-10-16}, url = {http://tug.ctan.org/tex-archive/info/bibtex/tamethebeast/ttb_en.pdf}, - subtitle = {The B to X of BibTeX}, + subtitle = {The {B} to {X} of {BibTeX}}, version = {1.3}, urldate = {2006-10-01}, langid = {english}, @@ -1551,7 +1552,7 @@ @patent{sorace, author = {Sorace, Ronald E. and Reinhardt, Victor S. and Vaughn, Steven A.}, - title = {High-Speed Digital-to-RF Converter}, + title = {High-Speed Digital-to-{RF} Converter}, number = 5668842, date = {1997-09-16}, holder = {{Hughes Aircraft Company}}, @@ -1577,8 +1578,8 @@ @report{chiu, author = {Chiu, Willy W. and Chow, We Min}, - title = {A Hybrid Hierarchical Model of a Multiple Virtual Storage - (MVS) Operating System}, + title = {A Hybrid Hierarchical Model of a {Multiple Virtual Storage} + ({MVS}) Operating System}, type = {resreport}, institution = {IBM}, date = 1978, @@ -1597,7 +1598,7 @@ @report{padhye, author = {Padhye, Jitendra and Firoiu, Victor and Towsley, Don}, - title = {A Stochastic Model of TCP Reno Congestion Avoidance and + title = {A Stochastic Model of {TCP Reno} Congestion Avoidance and Control}, type = {techreport}, institution = {University of Massachusetts}, @@ -1608,7 +1609,7 @@ langidopts = {variant=american}, sorttitle = {A Stochastic Model of TCP Reno Congestion Avoidance and Control}, - indextitle = {Stochastic Model of TCP Reno Congestion Avoidance and Control, + indextitle = {Stochastic Model of {TCP Reno} Congestion Avoidance and Control, A}, annotation = {This is a \texttt{report} entry for a technical report. Note the format of the \texttt{type} field in the database file @@ -1645,7 +1646,7 @@ type = {phdthesis}, institution = {Uppsala Universitet}, date = 1985, - subtitle = {The Orkney Earldom of the Twelfth Century. A Musicological + subtitle = {The {Orkney Earldom} of the Twelfth Century. {A} Musicological Study}, location = {Uppsala}, options = {useprefix=false}, diff --git a/Master/texmf-dist/tex/latex/biblatex/biblatex.def b/Master/texmf-dist/tex/latex/biblatex/biblatex.def index 497e26a1827..8537dd72d8a 100644 --- a/Master/texmf-dist/tex/latex/biblatex/biblatex.def +++ b/Master/texmf-dist/tex/latex/biblatex/biblatex.def @@ -1906,47 +1906,47 @@ \or % memoir (article) \ifdef\memUChead{}{\let\memUChead\MakeUppercase} \defbibheading{bibliography}[\refname]{% - \section*{#1}% + \chapter*{#1}% \ifmemoirbibintoc {\phantomsection - \addcontentsline{toc}{section}{#1}} + \addcontentsline{toc}{chapter}{#1}} {}% \markboth{\memUChead{#1}}{\memUChead{#1}}} \defbibheading{biblist}[\biblistname]{% - \section*{#1}% + \chapter*{#1}% \ifmemoirbibintoc {\phantomsection - \addcontentsline{toc}{section}{#1}} + \addcontentsline{toc}{chapter}{#1}} {}% \markboth{\memUChead{#1}}{\memUChead{#1}}} \defbibheading{bibintoc}[\refname]{% - \section*{#1}% + \chapter*{#1}% \phantomsection - \addcontentsline{toc}{section}{#1}% + \addcontentsline{toc}{chapter}{#1}% \markboth{\memUChead{#1}}{\memUChead{#1}}} \defbibheading{biblistintoc}[\biblistname]{% - \section*{#1}% + \chapter*{#1}% \phantomsection - \addcontentsline{toc}{section}{#1}% + \addcontentsline{toc}{chapter}{#1}% \markboth{\memUChead{#1}}{\memUChead{#1}}} \defbibheading{bibnumbered}[\refname]{% - \section{#1}} + \chapter{#1}} \defbibheading{biblistnumbered}[\biblistname]{% - \section{#1}} + \chapter{#1}} \defbibheading{subbibliography}[\refname]{% - \subsection*{#1}% + \section*{#1}% \ifmemoirbibintoc {\phantomsection - \addcontentsline{toc}{subsection}{#1}} + \addcontentsline{toc}{section}{#1}} {}% \if@twoside\markright{\memUChead{#1}}\fi} \defbibheading{subbibintoc}[\refname]{% - \subsection*{#1}% + \section*{#1}% \phantomsection - \addcontentsline{toc}{subsection}{#1}% + \addcontentsline{toc}{section}{#1}% \if@twoside\markright{\memUChead{#1}}\fi} \defbibheading{subbibnumbered}[\refname]{% - \subsection{#1}} + \section{#1}} \or % memoir (book) \ifdef\memUChead{}{\let\memUChead\MakeUppercase} diff --git a/Master/texmf-dist/tex/latex/biblatex/biblatex.sty b/Master/texmf-dist/tex/latex/biblatex/biblatex.sty index 88cfc21f15b..716340a6fab 100644 --- a/Master/texmf-dist/tex/latex/biblatex/biblatex.sty +++ b/Master/texmf-dist/tex/latex/biblatex/biblatex.sty @@ -3,8 +3,8 @@ %% % Set up the version strings here, so they are the same for both branches -\def\abx@date{2014/06/25} -\def\abx@version{2.9a} +\def\abx@date{2015/04/19} +\def\abx@version{3.0} \def\abx@bbxid{\abx@date\space v\abx@version\space biblatex bibliography style (PK/JW/AB)} \def\abx@cbxid{\abx@date\space v\abx@version\space biblatex citation style (PK/JW/AB)} \def\abx@lbxid{\abx@date\space v\abx@version\space biblatex localization (PK/JW/AB)} @@ -12,11 +12,11 @@ % This is not updated by build script as the controlfile version % does not necessarily change with the package version. % This is used when writing the .bcf -\def\blx@bcfversion{2.6} +\def\blx@bcfversion{2.7} % This is not updated by build script as the bbl version % does not necessarily change with the package version. % This is used when checking the .bbl -\def\blx@bblversion{2.4} +\def\blx@bblversion{2.5} \NeedsTeXFormat{LaTeX2e}[2005/12/01] \ProvidesPackage{biblatex} diff --git a/Master/texmf-dist/tex/latex/biblatex/biblatex1.sty b/Master/texmf-dist/tex/latex/biblatex/biblatex1.sty index fecfbd515a0..bb303cdfd37 100644 --- a/Master/texmf-dist/tex/latex/biblatex/biblatex1.sty +++ b/Master/texmf-dist/tex/latex/biblatex/biblatex1.sty @@ -469,7 +469,7 @@ \newtoggle{blx@setonly} \newtoggle{blx@dataonly} \newtoggle{blx@skipbib} -\newtoggle{blx@skiplos} +\newtoggle{blx@skipbiblist} \newtoggle{blx@skiplab} \newtoggle{blx@citation} \newtoggle{blx@bibliography} @@ -5867,7 +5867,7 @@ {\listcsxadd{blx@sort@\the\c@refsection}{\abx@field@entrykey}} {\global\toggletrue{blx@addset}% \toggletrue{blx@skipbib}% - \toggletrue{blx@skiplos}% + \toggletrue{blx@skipbiblist}% \toggletrue{blx@skiplab}}% \nottoggle{blx@skipbib} {\listcsxadd{blx@sbib@\the\c@refsection}{\abx@field@entrykey}% @@ -5876,7 +5876,7 @@ {\listcsxadd{blx@subt@\the\c@refsection @\abx@field@entrysubtype}{\abx@field@entrykey}} {}} {}% - \nottoggle{blx@skiplos} + \nottoggle{blx@skipbiblist} {\blx@bbl@shorthand} {}% \nottoggle{blx@skiplab} @@ -10607,9 +10607,18 @@ \settoggle{blx@skipbib}{#1}} \DeclareTypeOption{skiplos}[true]{% - \settoggle{blx@skiplos}{#1}} + \settoggle{blx@skipbiblist}{#1}} \DeclareEntryOption{skiplos}[true]{% - \settoggle{blx@skiplos}{#1}} + \settoggle{blx@skipbiblist}{#1}} + +\DeclareTypeOption{skipbiblist}{% + \blx@warning@noline{% + skipbiblist option is Biber only, use 'skiplos' instead}% + \settoggle{blx@skipbiblist}{#1}} +\DeclareEntryOption{skipbiblist}{% + \blx@warning@noline{% + skipbiblist option is Biber only, use 'skiplos' instead}% + \settoggle{blx@skipbiblist}{#1}} \DeclareTypeOption{skiplab}[true]{% \settoggle{blx@skiplab}{#1}} @@ -10618,11 +10627,11 @@ \DeclareTypeOption{dataonly}[true]{% \settoggle{blx@skipbib}{#1}% - \settoggle{blx@skiplos}{#1}% + \settoggle{blx@skipbiblist}{#1}% \settoggle{blx@skiplab}{#1}} \DeclareEntryOption{dataonly}[true]{% \settoggle{blx@skipbib}{#1}% - \settoggle{blx@skiplos}{#1}% + \settoggle{blx@skipbiblist}{#1}% \settoggle{blx@skiplab}{#1}} % Option processor/scheduler diff --git a/Master/texmf-dist/tex/latex/biblatex/biblatex2.sty b/Master/texmf-dist/tex/latex/biblatex/biblatex2.sty index 41d9068dfb5..61b50df3587 100644 --- a/Master/texmf-dist/tex/latex/biblatex/biblatex2.sty +++ b/Master/texmf-dist/tex/latex/biblatex/biblatex2.sty @@ -464,9 +464,6 @@ \newtoggle{blx@terseinits} \newtoggle{blx@firstinits} \newtoggle{blx@sortfirstinits} -\newtoggle{blx@useauthor} -\newtoggle{blx@useeditor} -\newtoggle{blx@usetranslator} \newtoggle{blx@useprefix} \newtoggle{blx@addset} \newtoggle{blx@setonly} @@ -476,10 +473,30 @@ \newtoggle{blx@skiplab} \newtoggle{blx@citation} \newtoggle{blx@bibliography} -\newtoggle{blx@reencode} \newtoggle{blx@citeindex} \newtoggle{blx@bibindex} \newtoggle{blx@localnumber} +\newtoggle{blx@refcontext} + +% Special fields which need resolution using the information provided by biber +\listadd\abx@rfields{labeltitle} +\def\abx@dorfields{% + \dolistcsloop{abx@rfields}% +} +% Just in case we ever have lists to instantiate like labelname etc. +%\listadd\abx@rlists{} +% \def\abx@dorlists{% +% \dolistcsloop{abx@rlists}% +% } +\listadd\abx@rnames{labelname} +\def\abx@dornames{% + \dolistcsloop{abx@rnames}% +} + +% Option scope trackers for passing to .bcf +\global\let\blx@globalopts\@empty +\global\let\blx@typeopts\@empty +\global\let\blx@entryopts\@empty % Initialise some lists which track changing citations/sortschemes % etc. between runs @@ -509,6 +526,10 @@ \newcommand*{\labelalphaothers}{+} \newcommand*{\sortalphaothers}{\labelalphaothers} +\listadd\blx@globalopts{alphaothers}% for passing to the .bcf +\listadd\blx@typeopts{alphaothers}% for passing to the .bcf +\listadd\blx@globalopts{sortalphaothers}% for passing to the .bcf +\listadd\blx@typeopts{sortalphaothers}% for passing to the .bcf \def\blx@secinit{% \csgdef{blx@sections@\the\c@refsection}{true}% just to say we have a section for tests later @@ -732,6 +753,7 @@ \edef\blx@ver@bcf{% \detokenize{<bcf:controlfile version="}\blx@bcfversion \detokenize{" xmlns:bcf="https://sourceforge.net/projects/biblatex">}} +\listadd\blx@globalopts{controlversion}% for passing to the .bcf % {<true>}{<false>} \newrobustcmd*{\lbx@ifutfinput}{\ifboolexpr{% @@ -1665,6 +1687,9 @@ % {<key>}[<value>]{<code>} \newrobustcmd*{\DeclareBibliographyOption}[1]{% + \ifinlist{#1}\blx@globalopts + {} + {\listadd\blx@globalopts{#1}}% \@ifnextchar[%] {\blx@defbibopt{#1}} {\blx@defbibopt{#1}[]}} @@ -1680,6 +1705,9 @@ % {<key>}[<value>]{<code>} \newrobustcmd*{\DeclareTypeOption}[1]{% + \ifinlist{#1}\blx@typeopts + {} + {\listadd\blx@typeopts{#1}}% \@ifnextchar[%] {\blx@deftypeopt{#1}} {\blx@deftypeopt{#1}[]}} @@ -1693,6 +1721,9 @@ % {<key>}[<value>]{<code>} \newrobustcmd*{\DeclareEntryOption}[1]{% + \ifinlist{#1}\blx@entryopts + {} + {\listadd\blx@entryopts{#1}}% \@ifnextchar[%] {\blx@defentryopt{#1}} {\blx@defentryopt{#1}[]}} @@ -2677,49 +2708,60 @@ \setcounter{mincompwidth}{1} \def\abx@rangeproclimit{100000} +% {<rangefield>} +\newcommand*{\frangelen}[1]{% + \ifcsdef{abx@range@#1} + {\csuse{abx@range@#1}} + {}} + % {<string>} % This mustn't be robust as it's likely to be used mainly tests and so % needs to be expandable -\newcommand*{\rangelen}[1]{% - \blx@rangelen@range#1\bibrangedash\bibrangedash&} +\newcommand*\rangelen[1]{% + \ifblank{#1} + {0}% + {% + \expandafter\blx@rangelen@range\romannumeral-`\q% + #1\bibrangedash\bibrangedash&% + }% + } \def\blx@rangelen@range#1\bibrangedash#2\bibrangedash#3&{% \ifblank{#3} {\blx@rangelen@hyphen#1--&} - {\ifblank{#2} - {0}% n\bibrangedash - {\ifblank{#1} - {0}% \bibrangedash n - {\blx@rangelen@check{#1}{#2}}}}} - + {\blx@rangelen@check{#1}{#2}}% +} \def\blx@rangelen@hyphen#1-#2-#3&{% \ifblank{#3} - {1}% n - {\ifblank{#2} - {\ifblank{#1} - {\let\blx@tempb\@empty} - {\def\blx@tempb{#1}}% - \blx@rangelen@hyphen@i#3&} - {\ifblank{#1} - {0}% -n - {\blx@rangelen@check{#1}{#2}}}}} - -\def\blx@rangelen@hyphen@i#1-#2&{% - \ifblank{#1#2} - {0}% n- - {\notblank{#1} - {\ifdefempty\blx@tempb - {0} - {\expandafter\blx@rangelen@check - \expandafter{\blx@tempb}{#1}}} - {\blx@rangelen@hyphen@i#2&}}} - + {1}% No range at all: assume one page + {\blx@rangelen@check{#1}{#2}}% +} \def\blx@rangelen@check#1#2{% - \blx@imc@ifinteger{#1} - {\blx@imc@ifinteger{#2} - {\the\numexpr#2-#1\relax}% n-m - {0}} - {0}} + \expandafter\blx@rangelen@check@aux + \number\numexpr + \blx@rangelen@check@int{#2} + - + \blx@rangelen@check@int{#1} + + 1 + \relax + &\stop +} +\def\blx@rangelen@check@aux#1\stop{% + \ifblank{#2} + {#1} + {-1}% +} +\def\blx@rangelen@check@int#1{% + \ifblank{#1} + {0&} + {% + \if\number\numexpr0#1-0#1\relax0 + #1 + \else + 0& + \fi + }% +} % <*>[<postpro>]{<string>} @@ -3091,9 +3133,6 @@ \def\ifbibindex{\iftoggle{blx@bibindex}}% \def\iffootnote{\iftoggle{blx@footnote}}% \def\ifuseprefix{\iftoggle{blx@useprefix}}% - \def\ifuseauthor{\iftoggle{blx@useauthor}}% - \def\ifuseeditor{\iftoggle{blx@useeditor}}% - \def\ifusetranslator{\iftoggle{blx@usetranslator}}% \def\ifterseinits{\iftoggle{blx@terseinits}}% \def\iffirstinits{\iftoggle{blx@firstinits}}% \def\ifsingletitle{\iftoggle{abx@bool@singletitle}}% @@ -3519,7 +3558,7 @@ \ifdefvoid\blx@theformat {\blx@nounit} {\blx@begunit - \def\currentfield{#2}% + \edef\currentfield{#2}% \expandafter\expandafter \expandafter\blx@theformat \expandafter\expandafter @@ -3534,7 +3573,7 @@ \ifdefvoid\blx@theformat {} {\begingroup - \def\currentfield{#2}% + \edef\currentfield{#2}% \letcs\blx@tempa{abx@field@#2}% \expandafter\blx@theformat\expandafter{\blx@tempa}% \endgroup}}} @@ -4134,7 +4173,6 @@ \do{translatorsanaf}% \do{byauthor}% \do{byeditor}% - \do{byeditor}% \do{bycompiler}% \do{byredactor}% \do{byreviser}% @@ -4773,6 +4811,11 @@ \begingroup \@makeother\# \gdef\blx@mkautolangbabel{% + \ifundef\bbl@main@language + {\blx@error + {No default babel language defined} + {You must define a default language for babel}} + {}% \pretocmd\select@language{\blx@langsetup{#1}} {\ifdef\blx@thelangenv {\def\blx@beglang{% @@ -4803,6 +4846,11 @@ \blx@mknoautolang}} \gdef\blx@mkautolangpoly{% + \ifundef\bbl@main@language + {\blx@error + {No default polyglossia language defined} + {You must define a default language for polyglossia}} + {}% \catcode`\_=11% polyglossia uses "_" as a letter \pretocmd\select@language{\blx@langsetup{#1}} {\ifdef\blx@thelangenv @@ -4905,7 +4953,6 @@ \def\abx@donames{% \dolistcsloop{blx@biber@datamodel@names}% - \do{labelname}% } \def\abx@dolists{% @@ -4984,7 +5031,6 @@ \do{fullhash}% \do{labelalpha}% \do{labelnumber}% - \do{labeltitle}% \do{labeltitleyear}% \do{labeldate}% \do{localnumber}% @@ -4996,13 +5042,46 @@ \def\abx@dobooleans{% \do{singletitle}} + +% Name toggles like \ifauthor etc. need to be dynamically created for all +% name datatypes in the data model and we have to do this here after the +% datamodel is available. Need to be careful about expansions here as these +% go into hooks to be executed later + +% Define name toggles +\def\do#1{\newtoggle{blx@use#1}\toggletrue{blx@use#1}} +\dolistcsloop{blx@biber@datamodel@names} + +% Define name toggle checking macros +\let\blx@nametoggles\@empty +\def\do#1{\gappto\blx@nametoggles{\expandafter\def\csname ifuse#1\endcsname{\iftoggle{blx@use#1}}}} +\dolistcsloop{blx@biber@datamodel@names} +\eappto\blx@blxinit{\expandafter\expandonce\noexpand\blx@nametoggles} + +% Define ifthen interface name toggle checking macros +\let\blx@nametogglesit\@empty +\def\do#1{\gappto\blx@nametogglesit{\expandafter\def\csname ifuse#1\endcsname{\blx@TE{\iftoggle{blx@use#1}}}}} +\dolistcsloop{blx@biber@datamodel@names} +\expandafter\def\expandafter\blx@nametogglesite\expandafter{\expandonce\blx@nametogglesit} +\appto\blx@blxinit{\appto\blx@TE@hook{\blx@nametogglesite}} + +% Define \ifuse<name> options scope for biber +\def\do#1{\listadd\blx@globalopts{use#1}% + \listadd\blx@typeopts{use#1}% + \listadd\blx@entryopts{use#1}} +\dolistcsloop{blx@biber@datamodel@names} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \def\do#1{% \newcounter{#1}% \newcounter{saved#1}% \appto\abx@dobooleans{\do{more#1}}} \abx@donames +\abx@dornames \abx@dolists +%\abx@dorlists \def\do#1{\newtoggle{abx@bool@#1}} \abx@dobooleans @@ -5017,7 +5096,7 @@ \abx@dolists \let\do\blx@imc@clearfield \abx@dofields - \do{options}\do{labeltitle}\do{labelyear}\do{labelmonth}\do{labelday}\do{datelabelsource}% + \do{options}\do{labelyear}\do{labelmonth}\do{labelday}\do{datelabelsource}% \abx@dointernalfields \def\do##1{\togglefalse{abx@bool@##1}}% \abx@dobooleans @@ -5039,7 +5118,7 @@ \abx@dolists \let\do\blx@savefield \abx@dofields - \do{options}\do{labeltitle}\do{labelyear}\do{labelmonth}\do{labelday}\do{datelabelsource}% + \do{options}\do{labelyear}\do{labelmonth}\do{labelday}\do{datelabelsource}% \abx@dointernalfields \let\do\blx@savebool \abx@dobooleans @@ -5101,10 +5180,15 @@ {\csdef{blx@nih@#1}##1{#2}}} \@onlypreamble\DeclareNameInputHandler -% {<entrykey>}{<refsection>}{<field>}{<value>} -\long\def\blx@bbl@addentryfield#1#2#3#4{% - \csxappto{blx@data@#2@#1}{% - \def\expandafter\noexpand\csname abx@field@#3\endcsname{#4}}} +% {<entrykey>}{<refsection>}{<field>}{<sort context>}{<value>} +\long\def\blx@bbl@addentryfield#1#2#3#4#5{% + \csxappto{blx@data@#2@#4@#1}{% + \def\expandafter\noexpand\csname abx@field@#3\endcsname{#5}}} + +% {<rangefield>}{<value>} +\protected\def\blx@bbl@rangedef#1#2{% + \csxappto\blx@bbl@data{% + \def\expandafter\noexpand\csname abx@range@#1\endcsname{#2}}} % {<field>}{<value>} \long\def\blx@bbl@addfield#1#2{% @@ -5238,6 +5322,12 @@ \def\expandafter\noexpand\csname abx@name@#1\endcsname {{\expandonce\NewOption}{\expandonce\NewValue}}}}} +% blx@setp@<rs>@<sp> = map of set parent <sp> in a refsection <rs> to csv +% of set children +% blx@seti@<rs>@<sc> = position of set child <sc> in entry set in +% refsection <rs> +% blx@setc@<rs>@<sc> = map of set child <sc> in refsection <rs> to set parent + % {<entrykey>,...} \protected\def\blx@bbl@set#1{% \blx@bbl@fieldedef{entryset}{\detokenize{#1}}% @@ -5294,11 +5384,32 @@ \unexpanded{#1}\ifblank{#2}{}{=\unexpanded{#2}}}}} \def\blx@ifdata#1{% - \ifcsdef{blx@data@\the\c@refsection @#1}} + \ifcsdef{blx@data@\the\c@refsection @\blx@refcontext@sorting @#1}} \let\blx@imc@ifentryinbib\blx@ifdata \def\blx@getdata#1{% - \csuse{blx@data@\the\c@refsection @#1}% + \csuse{blx@data@\the\c@refsection @\blx@refcontext@sorting @#1}% + % Here we resolve label* bib fields to their real fields. Doing this here + % dynamically means that we can vary the field chosen depending on the refcontext. + % biber used to resolve these and materialise them in the .bbl but this + % means a static resolution which is independent of the document context. + \def\do##1{% + \ifcsdef{abx@field@##1source} + {\expandafter\def\csname abx@field@##1\endcsname{\csuse{abx@field@\csuse{abx@field@##1source}}}}% + {}}% + \dolistloop{\abx@rfields}% + % Just in case we ever have lists to instantiate like labelname etc. + % \def\do##1{% + % \ifcsdef{abx@field@##1source} + % {\csletcs{abx@list@##1}{abx@list@\csuse{abx@field@##1source}}} + % {}}% + % \dolistloop{\abx@rlists}% + \def\do##1{% + \ifcsdef{abx@field@##1source} + {\csletcs{c@##1}{c@\csuse{abx@field@##1source}}% + \csletcs{abx@name@##1}{abx@name@\csuse{abx@field@##1source}}} + {}}% + \dolistloop{\abx@rnames}% \blx@setcitecounter} \def\blx@getdata@cite#1{% @@ -5361,9 +5472,7 @@ {\blx@addset \global\togglefalse{blx@addset}} {}% - \endgroup - \csnumgdef{blx@labelnumber@\the\c@refsection}{0}% - \iftoggle{blx@reencode}{\blx@reencode}{}} + \endgroup} % {<entrykey>} \protected\def\blx@bbl@missing#1{% @@ -5393,7 +5502,7 @@ \blx@setoptions@type{#2}% \blx@bbl@options{#3}% \blx@setoptions@entry - \edef\blx@bbl@data{blx@data@\the\c@refsection @\abx@field@entrykey}% + \edef\blx@bbl@data{blx@data@\the\c@refsection @\blx@slist@scheme @\abx@field@entrykey}% \csuse\blx@bbl@data \blx@bbl@addfield{entrykey}{\abx@field@entrykey}% \blx@bbl@addfield{entrytype}{#2}% @@ -5445,19 +5554,19 @@ \endgroup} % This, at the end of the .bbl, puts any set parents into the -% global sort list of citations as this is needed for the subentry citing -% when sortcites is enabled as for sortcites, the global sorting list +% current context sort list of citations as this is needed for the subentry citing +% when sortcites is enabled as for sortcites, the current context sorting list % is used and the parent set of a subentry is not necessarily -% available in the global sortlist. +% available in the current context sortlist. \def\blx@addset{% \begingroup - \letcs\blx@tempa{blx@slists@\the\c@refsection @entry@\blx@sorting}% - \global\cslet{blx@slists@\the\c@refsection @entry@\blx@sorting}\@empty + \letcs\blx@tempa{blx@slists@\the\c@refsection @entry@\blx@refcontext@sorting}% + \global\cslet{blx@slists@\the\c@refsection @entry@\blx@refcontext@sorting}\@empty \forlistloop\blx@addset@i\blx@tempa \endgroup} \def\blx@addset@i#1{% - \listcsgadd{blx@slists@\the\c@refsection @entry@\blx@sorting}{#1}% + \listcsgadd{blx@slists@\the\c@refsection @entry@\blx@refcontext@sorting}{#1}% \ifcsdef{blx@setp@\the\c@refsection @#1} {\expandafter\expandafter\expandafter\forcsvlist \expandafter\expandafter\expandafter\blx@addset@ii @@ -5466,7 +5575,7 @@ {}} \def\blx@addset@ii#1{% - \listcsgadd{blx@slists@\the\c@refsection @entry@\blx@sorting}{#1}} + \listcsgadd{blx@slists@\the\c@refsection @entry@\blx@refcontext@sorting}{#1}} \def\blx@bbl@labelfields{% \def\do##1{% @@ -5480,31 +5589,40 @@ % Used at endentry, when reading .bbl % only do this for the global sorting list otherwise we increment % the labelnumbers for each sortlist - \ifdefstrequal{\blx@slist@scheme}{\blx@sorting} - {\ifdefempty\abx@field@localnumber - {}% only if omitnumbers=true - {\ifundef\abx@field@shorthand - {\ifdef\abx@field@localnumber - {}% only if defernumbers=true - {\csnumgdef{blx@labelnumber@\the\c@refsection}{% - \csuse{blx@labelnumber@\the\c@refsection}+1}% - \edef\abx@field@localnumber{% - \csuse{blx@labelnumber@\the\c@refsection}}% - \blx@bbl@fieldedef{labelnumber}{\abx@field@localnumber}}% - \iftoggle{blx@skipbib} - {} - {\blx@setlabwidth{\labelnumberwidth}{% - \csuse{abx@ffd@*@labelnumberwidth}{% - \ifdef\abx@field@prefixnumber - {\csuse{abx@ffd@*@prefixnumber}{\abx@field@prefixnumber}} - {}% - \abx@field@localnumber}}}} - {\csgappto\blx@bbl@data{\let\abx@field@labelnumber\abx@field@shorthand}% - \iftoggle{blx@skipbib} - {} - {\blx@setlabwidth{\labelnumberwidth}{% - \csuse{abx@ffd@*@labelnumberwidth}{\abx@field@shorthand}}}}}} - {}} + \ifdefempty\abx@field@localnumber + {}% only if omitnumbers=true + {\ifundef\abx@field@shorthand + {\iftoggle{blx@defernumbers} + % only if defernumbers=true, we have to define localnumber to + % something to stop labelnumberwidth def complaining on first + % post-backend run since there will be nothing in the .aux yet + % for defernums localnumbers. On the second post-backend run, + % it will have a value correct for generating labelnumberwidth + % We also have to define a dummy value for labelnumber here for + % first post-backend runs otherwise references to labelnumber + % in cite styles like numeric-comp will die. + {\ifundef\abx@field@localnumber + {\numdef\abx@field@localnumber{0}% + \blx@bbl@fielddef{labelnumber}{0}} + {}} + {\csnumgdef{blx@labelnumber@\the\c@refsection @\blx@slist@scheme}{% + \csuse{blx@labelnumber@\the\c@refsection @\blx@slist@scheme}+1}% + \edef\abx@field@localnumber{% + \csuse{blx@labelnumber@\the\c@refsection @\blx@slist@scheme}}% + \blx@bbl@fieldedef{labelnumber}{\abx@field@localnumber}}% + \iftoggle{blx@skipbib} + {} + {\blx@setlabwidth{\labelnumberwidth}{% + \csuse{abx@ffd@*@labelnumberwidth}{% + \ifdef\abx@field@prefixnumber + {\csuse{abx@ffd@*@prefixnumber}{\abx@field@prefixnumber}} + {}% + \abx@field@localnumber}}}} + {\csgappto\blx@bbl@data{\let\abx@field@labelnumber\abx@field@shorthand}% + \iftoggle{blx@skipbib} + {} + {\blx@setlabwidth{\labelnumberwidth}{% + \csuse{abx@ffd@*@labelnumberwidth}{\abx@field@shorthand}}}}}} \def\blx@bbl@prefixnumber{% \ifdef\abx@field@prefixnumber @@ -5600,6 +5718,7 @@ \let\name\blx@bbl@namedef \let\list\blx@bbl@listdef \let\field\blx@bbl@fielddef + \let\range\blx@bbl@rangedef \let\strng\blx@bbl@stringdef \let\cnt\blx@bbl@cntdef \let\true\blx@bbl@booltrue @@ -5694,14 +5813,14 @@ {}% \endgroup} -% {<instcount>}{<entrykey>}{<refsection>}{<labelnumber>} -\protected\def\blx@aux@number#1#2#3#4{% - \blx@bbl@addentryfield{\detokenize{#2}}{#3}{localnumber}{#4}% - \blx@bbl@addentryfield{\detokenize{#2}}{#3}{labelnumber}{#4}% +% {<instcount>}{<entrykey>}{<refsection>}{<sort context>}{<labelnumber>} +\protected\def\blx@aux@number#1#2#3#4#5{% + \blx@bbl@addentryfield{\detokenize{#2}}{#3}{localnumber}{#4}{#5}% + \blx@bbl@addentryfield{\detokenize{#2}}{#3}{labelnumber}{#4}{#5}% \global\toggletrue{blx@localnumber}% - \ifblank{#4} + \ifblank{#5} {} - {\csgdef{blx@labelnumber@#3}{#4}}} + {\csgdef{blx@labelnumber@#3@#4}{#5}}} % Called as part of bib output for an entry % Only used when defernumbers=true @@ -5721,12 +5840,12 @@ test {\ifcsundef{blx@defer@\the\c@refsection @\abx@field@entrykey}} } {\iftoggle{blx@omitnumbers} {\let\abx@field@localnumber\@empty} - {\csnumgdef{blx@labelnumber@\the\c@refsection}{% - \csuse{blx@labelnumber@\the\c@refsection}+1}% + {\csnumgdef{blx@labelnumber@\the\c@refsection @\blx@refcontext@sorting}{% + \csuse{blx@labelnumber@\the\c@refsection @\blx@refcontext@sorting}+1}% \edef\abx@field@localnumber{% - \csuse{blx@labelnumber@\the\c@refsection}}% + \csuse{blx@labelnumber@\the\c@refsection @\blx@refcontext@sorting}}% \blx@bbl@addentryfield{\abx@field@entrykey}{\the\c@refsection}% - {localnumber}{\abx@field@localnumber}}} + {localnumber}{\blx@refcontext@sorting}{\abx@field@localnumber}}} {}% % If localnumbers were already in the .aux, add them % again from the .aux. This prevents some cycling @@ -5740,6 +5859,7 @@ {\the\c@instcount}% {\abx@field@entrykey}% {\the\c@refsection}% + {\blx@refcontext@sorting}% {\abx@field@localnumber}}% % record that we have already generated and output localnum % for this key in this refsection @@ -5757,18 +5877,18 @@ {\edef\abx@field@prefixnumber{\expandonce\blx@prefixnumbers}% \ifundef\abx@field@prefixnumber {\blx@bbl@addentryfield{\abx@field@entrykey}{\the\c@refsection}% - {prefixnumber}{\expandonce\abx@field@prefixnumber}} + {prefixnumber}{\blx@refcontext@sorting}{\expandonce\abx@field@prefixnumber}} {}% \blx@auxwrite\@mainaux{}{% \string\blx@aux@numprefix{\abx@field@entrykey}% - {\the\c@refsection}{\expandonce\abx@field@prefixnumber}}} + {\the\c@refsection}{\blx@refcontext@sorting}{\expandonce\abx@field@prefixnumber}}} {}} {}} {}} -% {<entrykey>}{<refsection>}{<numberprefix>} -\protected\def\blx@aux@numprefix#1#2#3{% - \blx@bbl@addentryfield{\detokenize{#1}}{#2}{prefixnumber}{#3}} +% {<entrykey>}{<refsection>}{<sorting context}{<numberprefix>} +\protected\def\blx@aux@numprefix#1#2#3#4{% + \blx@bbl@addentryfield{\detokenize{#1}}{#2}{prefixnumber}{#3}{#4}} % {<sortlistname>}{<sortlistsortscheme>} \def\blx@bbl@slist#1#2{% @@ -5776,7 +5896,9 @@ \def\blx@slist@scheme{#2}% % This macro (\key) will only be called in sortlists of type "list" \def\key##1{\listcsxadd{blx@slistsbib@\the\c@refsection @#1@#2}{\detokenize{##1}}}} -\let\blx@bbl@endslist\endgroup +\def\blx@bbl@endslist{% + \csnumgdef{blx@labelnumber@\the\c@refsection @\blx@slist@scheme}{0}% + \endgroup} \def\blx@addpageref#1{% \begingroup @@ -5794,22 +5916,10 @@ \def\blx@bblinput{% \begingroup - \iftoggle{blx@reencode} - {\ifdef\inpenc@prehook - {\inpenc@prehook{}% - \inpenc@posthook{}} - {}% - \inputencoding\blx@bibencoding} - {}% \blx@info@noline{Trying to load bibliographic data..}% \blx@blxinit \blx@bblfile@biber - \endgroup - \iftoggle{blx@reencode} - {\ifdef\@enablequotes - {\@enablequotes} - {}} - {}} + \endgroup} \def\blx@bblfile@biber{% \blx@secinit @@ -5823,34 +5933,8 @@ {}% \blx@bblend \endgroup - \csnumgdef{blx@labelnumber@\the\c@refsection}{0}} - -\def\blx@reencode{% - \begingroup - \abx@hook@reencode - \let\protect\@unexpandable@protect - \def\do##1{\cslet{abx@name@##1}\relax}% - \abx@donames - \def\do##1{\cslet{abx@list@##1}\relax}% - \abx@dolists - \def\do##1{\cslet{abx@field@##1}\relax}% - \abx@dofields - \do{options}% - \abx@dointernalfields - \long\def\abx@field@execute##1{% - \unexpanded{\abx@field@execute{##1}}}% - \csuse{abx@preamble}% - \def\do##1{% - \csxdef{blx@data@\the\c@refsection @##1}{% - \csuse{blx@data@\the\c@refsection @##1}}}% - \dolistcsloop{blx@slists@\the\c@refsection @entry@\blx@sorting}% - \endgroup} - -\def\abx@hook@reencode{% - \ifdef\@enablequotes{\@enablequotes}{}% - \def\IeC##1{\unexpanded{\IeC{##1}}}% - \let~\relax -} + % global sorting as this is called at BeginDocument + \csnumgdef{blx@labelnumber@\the\c@refsection @\blx@sorting}{0}} %% Bibliography @@ -5963,8 +6047,8 @@ % options % We need a 2-pass structure for options in \printbibliography and -% \printbiblist because section and/or sorting have to be set before any -% other options and these also determine which list to use for later filtering +% \printbiblist because the section has to be set before any +% other options and this partly determines which list to use for later filtering \define@key{blx@bib1}{segment}{} \define@key{blx@bib1}{type}{} \define@key{blx@bib1}{nottype}{} @@ -6009,40 +6093,8 @@ \define@key{blx@biblist2}{sorting}{} \define@key{blx@bib1}{sorting}{% - \ifcsundef{blx@biber@sorting@#1} - {\blx@err@invopt{sorting=#1}{}}% - {\blx@printbibchecks - \def\blx@tempc{#1}% - % Add the sortscheme to the list of sortschemes - % so we can compare on next run - \ifinlist{#1}{\blx@sortschemes} - {} - {\listgadd\blx@sortschemes{#1}% - \blx@auxwrite\@mainaux{}{\string\abx@aux@sortscheme{#1}}}% - \edef\blx@tempd{% - \blx@xml@sorting{% - \ifcsdef{blx@sortdef@locale@#1} - { locale="\csuse{blx@sortdef@locale@#1}"} - {}}{% - \csuse{blx@biber@sorting@#1}}}}} - -\define@key{blx@biblist1}{sorting}{% - \ifcsundef{blx@biber@sorting@#1} - {\blx@err@invopt{sorting=#1}{}}% - {\blx@printbibchecks - \def\blx@tempc{#1}% - % Add the sortscheme to the list of sortschemes for this biblist - % so we can compare on next run - \ifinlist{#1}{\blx@biblists} - {} - {\listgadd\blx@biblists{#1}% - \blx@auxwrite\@mainaux{}{\string\abx@aux@biblist{#1}}}% - \edef\blx@tempd{% - \blx@xml@sorting{% - \ifcsdef{blx@sortdef@locale@#1} - { locale="\csuse{blx@sortdef@locale@#1}"} - {}}{% - \csuse{blx@biber@sorting@#1}}}}} + \blx@warning@noline{% + sorting option to \string\printbibliography\space is no longer supported, use 'sorting' option to \string\newrefcontext}} \define@key{blx@bib1}{section}{% \ifcsundef{blx@sections@#1} @@ -6056,6 +6108,10 @@ {\c@refsection#1\relax \def\blx@tempe{#1}}} +\define@key{blx@biblist1}{sorting}{% + \blx@warning@noline{% + sorting option to \string\printbiblist\space is no longer supported, use 'sorting' option to \string\newrefcontext}} + \define@key{blx@bbg}{section}{% \ifcsundef{blx@sections@#1} {\blx@err@nosec{#1}} @@ -6259,10 +6315,10 @@ \define@key{blx@bib2}{resetnumbers}[true]{% \iftoggle{blx@defernumbers} {\ifstrequal{#1}{true} - {\csnumdef{blx@labelnumber@\the\c@refsection}{0}} + {\csnumdef{blx@labelnumber@\the\c@refsection @\blx@refcontext@sorting}{0}} {\ifstrequal{#1}{false} {} - {\csnumdef{blx@labelnumber@\the\c@refsection}{#1-1}}}} + {\csnumdef{blx@labelnumber@\the\c@refsection @\blx@refcontext@sorting}{#1-1}}}} {\blx@warning{% Option 'resetnumbers' requires 'defernumbers=true'.\MessageBreak Ignoring 'resetnumbers=true'}}} @@ -6279,7 +6335,7 @@ \define@key{blx@bib2}{prefixnumbers}{% \def\blx@prefixnumbers{#1}% \iftoggle{blx@defernumbers} - {\csnumdef{blx@labelnumber@\the\c@refsection}{0}} + {\csnumdef{blx@labelnumber@\the\c@refsection @\blx@refcontext@sorting}{0}} {\iftoggle{blx@labelnumber} {\blx@warning{% Option 'prefixnumbers' requires global\MessageBreak @@ -6322,20 +6378,31 @@ \let\blx@thetitle\@empty % defaults \let\blx@tempa\@empty% before there is a .bbl, this must not be undef - \let\blx@tempc\blx@sorting% sorting scheme name from "sorting" option \edef\blx@tempd{% \blx@xml@sorting{% - \ifcsdef{blx@sortdef@locale@\blx@sorting} - { locale="\csuse{blx@sortdef@locale@\blx@sorting}"} + \ifcsdef{blx@sortdef@locale@\blx@refcontext@sorting} + { locale="\csuse{blx@sortdef@locale@\blx@refcontext@sorting}"} {}}{% - \csuse{blx@biber@sorting@\blx@sorting}}}% default to global + \csuse{blx@biber@sorting@\blx@refcontext@sorting}}}% default to context \edef\blx@tempe{\the\c@refsection}% default refsection is current \blx@safe@actives - \setkeys{blx@bib1}{#1}% Set sorting and section only, if present ... + % Add the sortscheme to the list of sortschemes + % so we can compare on next run + \xifinlist{\blx@refcontext@sorting}{\blx@sortschemes} + {} + {\listxadd\blx@sortschemes{\blx@refcontext@sorting}% + \blx@auxwrite\@mainaux{}{\string\abx@aux@sortscheme{\blx@refcontext@sorting}}}% + \edef\blx@tempd{% + \blx@xml@sorting{% + \ifcsdef{blx@sortdef@locale@\blx@refcontext@sorting} + { locale="\csuse{blx@sortdef@locale@\blx@refcontext@sorting}"} + {}}{% + \csuse{blx@biber@sorting@\blx@refcontext@sorting}}}% + \setkeys{blx@bib1}{#1}% Set section only, if present ... \blx@rest@actives - \ifcsvoid{blx@slistsbib@\blx@tempe @entry@\blx@tempc} + \ifcsvoid{blx@slistsbib@\blx@tempe @entry@\blx@refcontext@sorting} {} - {\letcs\blx@tempa{blx@slistsbib@\blx@tempe @entry@\blx@tempc}}% + {\letcs\blx@tempa{blx@slistsbib@\blx@tempe @entry@\blx@refcontext@sorting}}% {\ifcsvoid{blx@sbib@\blx@tempe} {} {\letcs\blx@tempa{blx@sbib@\blx@tempe}}}% @@ -6347,7 +6414,7 @@ \setkeys{blx@bib2}{#1}% ... now we have correct \blx@tempa, set rest of options \blx@rest@actives \csxappto{blx@xml@slistsbib}{% - \blx@xml@slist{\blx@tempc}{entry}{\blx@tempe}{\blx@tempc}{\blx@tempd}{}}% + \blx@xml@slist{\blx@refcontext@sorting}{entry}{\blx@tempe}{\blx@refcontext@sorting}{\blx@tempd}{}}% \ifdefvoid\blx@tempa {\blx@warn@bibempty\endgroup} {\blx@bibliography\blx@tempa}} @@ -6377,11 +6444,11 @@ \blx@refsections} \def\blx@refsections{% - \ifcsvoid{blx@slistsbib@\the\c@refsection @entry@\blx@sorting} + \ifcsvoid{blx@slistsbib@\the\c@refsection @entry@\blx@refcontext@sorting} {} {\toggletrue{blx@tempa}% \begingroup - \expandafter\blx@bibliography\csname blx@slistsbib@\the\c@refsection @entry@\blx@sorting\endcsname}% + \expandafter\blx@bibliography\csname blx@slistsbib@\the\c@refsection @entry@\blx@refcontext@sorting\endcsname}% \ifnum\c@refsection<\blx@maxsection \advance\c@refsection\@ne \expandafter\blx@refsections @@ -6420,9 +6487,9 @@ {\toggletrue{blx@tempa}% \begingroup \let\blx@tempa\@empty - \ifcsvoid{blx@slistsbib@\the\c@refsection @entry@\blx@sorting} + \ifcsvoid{blx@slistsbib@\the\c@refsection @entry@\blx@refcontext@sorting} {} - {\letcs\blx@tempa{blx@slistsbib@\the\c@refsection @entry@\blx@sorting}}% + {\letcs\blx@tempa{blx@slistsbib@\the\c@refsection @entry@\blx@refcontext@sorting}}% \blx@filter\blx@tempa{blx@segm@\the\c@refsection @\the\c@refsegment}% \blx@bibliography\blx@tempa}% \ifnum\c@refsegment<\csname blx@maxsegment@\the\c@refsection\endcsname @@ -6465,9 +6532,9 @@ \begingroup \blx@key@heading{#1}% \let\blx@tempa\@empty - \ifcsvoid{blx@slistsbib@\the\c@refsection @entry@\blx@sorting} + \ifcsvoid{blx@slistsbib@\the\c@refsection @entry@\blx@refcontext@sorting} {} - {\letcs\blx@tempa{blx@slistsbib@\the\c@refsection @entry@\blx@sorting}}% + {\letcs\blx@tempa{blx@slistsbib@\the\c@refsection @entry@\blx@refcontext@sorting}}% \blx@filter\blx@tempa{blx@catg@#1}% \blx@bibliography\blx@tempa}}% @@ -6574,7 +6641,7 @@ \let\blx@bibcheck\relax \def\blx@initsep{% - \blx@imc@iffieldundef{bibinitsephash} + \blx@imc@iffieldundef{sortinithash} {} {\ifnum\c@instcount>\@ne \blx@imc@iffieldequals{sortinithash}\blx@previnithash @@ -6688,11 +6755,11 @@ % defaults \let\blx@tempa\@empty% before there is a .bbl, this must not be undef % default sorting scheme and scheme name for list is same name as list - % name, then global if not found + % name, then current context if not found \edef\blx@tempc{% \ifcsdef{blx@biber@sorting@#2} {#2} - {\blx@sorting}}% + {\blx@refcontext@sorting}}% \edef\blx@tempd{% \blx@xml@sorting {\ifcsdef{blx@sortdef@locale@#2} @@ -6700,17 +6767,35 @@ {}} {\ifcsdef{blx@biber@sorting@#2} {\csuse{blx@biber@sorting@#2}} - {\csuse{blx@biber@sorting@\blx@sorting}}}}% + {\csuse{blx@biber@sorting@\blx@refcontext@sorting}}}}% \let\blx@printbibchecks\relax \edef\blx@tempe{\the\c@refsection}% default refsection is current \blx@safe@actives - \setkeys{blx@biblist1}{#1}% Set sorting and section only, if present ... + \blx@printbibchecks + % Add the sortscheme to the list of sortschemes for this biblist + % so we can compare on next run + \xifinlist{\blx@tempc}{\blx@biblists} + {} + {\listxadd\blx@biblists{\blx@tempc}% + \blx@auxwrite\@mainaux{}{\string\abx@aux@biblist{\blx@tempc}}}% + \edef\blx@tempd{% + \blx@xml@sorting{% + \ifcsdef{blx@sortdef@locale@\blx@tempc} + { locale="\csuse{blx@sortdef@locale@\blx@tempc}"} + {}}{% + \csuse{blx@biber@sorting@\blx@tempc}}}% + \setkeys{blx@biblist1}{#1}% Set section only, if present ... \blx@rest@actives \ifcsvoid{blx@slistsbib@\blx@tempe @#2@\blx@tempc} {} {\letcs\blx@tempa{blx@slistsbib@\blx@tempe @#2@\blx@tempc}}% \blx@safe@actives \setkeys{blx@biblist2}{#1}% ... now we have correct \blx@tempa, set rest of options + \ifundef\blx@bibcheck + {\ifcsdef{blx@bibcheck@#2} + {\letcs\blx@bibcheck{blx@bibcheck@#2}} + {}} + {}% \blx@rest@actives \csxappto{blx@xml@slistsbib}{% \blx@xml@slist{#2}{list}{\blx@tempe}{\blx@tempc}{\blx@tempd}{\csuse{blx@biber@biblistfilters@#2}}}% @@ -6797,8 +6882,29 @@ {\printfield{title}} {\printfield{shorttitle}}} -% Reference sections +% Reference contexts +\def\newrefcontext{% + \endrefcontext + \refcontext} + +\def\refcontext[#1]{% + \iftoggle{blx@refcontext} + {\blx@err@nestenv{refcontext}% + \endrefcontext} + {\toggletrue{blx@refcontext}% + \setkeys{blx@refcontext}{#1}% + \ifcsundef{blx@biber@sorting@\blx@refcontext@sorting} + {\blx@err@invopt{sorting=\blx@refcontext@sorting}{}} + {}}} + +% Reset to global sorting when we leave a ref context (since they can't be nested) +\protected\def\endrefcontext{% + \togglefalse{blx@refcontext}% + \xdef\blx@refcontext@sorting{\blx@sorting}} + +\define@key{blx@refcontext}{sorting}{\gdef\blx@refcontext@sorting{#1}} +% Reference sections \newrobustcmd*{\newrefsection}{% \ifnum\c@refsection>\z@ \endrefsection @@ -6904,6 +7010,7 @@ \fi} \AtEndDocument{% + \endrefcontext \blx@endrefsection \def\abx@aux@refsection#1#2{\blx@addchecksum{#1}{#2}}} @@ -7006,7 +7113,6 @@ \let\blx@categories\@empty % {<category>} - \newrobustcmd*{\DeclareBibliographyCategory}[1]{% \ifcsundef{blx@catg@#1} {\global\cslet{blx@catg@#1}\@empty @@ -7018,7 +7124,6 @@ \@onlypreamble\DeclareBibliographyCategory % {<category>}{<entrykey>,...} - \newrobustcmd*{\addtocategory}[2]{% \ifcsundef{blx@catg@#1} {\blx@error @@ -7028,13 +7133,20 @@ \blx@xsanitizeafter{\forcsvlist{\blx@addtocategory{#1}}}{#2}}}} % {<category>}{<entrykey>,...} - \def\blx@addtocategory#1#2{% + % If we are adding a set member to a category, make sure we also add the + % set parent if it is cited. If it is cited, we should be using the set + % parent in the category, not the set child member. blx@setc@... will + % only exist if the set parent is also cited as it is only defined when a + % member contains \inset which only happens when the set parent is cited. + \ifcsdef{blx@setc@\the\c@refsection @#2} + {\blx@auxwrite\@mainaux{}{\string\abx@aux@category{#1}{\csuse{blx@setc@\the\c@refsection @#2}}}% + \abx@aux@category{#1}{\csuse{blx@setc@\the\c@refsection @#2}}} + {}% \blx@auxwrite\@mainaux{}{\string\abx@aux@category{#1}{#2}}% \abx@aux@category{#1}{#2}} % {<category>}{<entrykey>,...} - \protected\def\abx@aux@category#1#2{% \xifinlistcs{\detokenize{#2}}{blx@catg@#1} {} @@ -7043,7 +7155,6 @@ \AtEndDocument{\let\abx@aux@category\@gobbletwo} % [<options>]{<resource>,...} - \renewrobustcmd*{\bibliography}[1]{% \begingroup \def\blx@tempa{file}% @@ -7066,7 +7177,6 @@ \blx@stripbib@i{#1} % [<options>]{<resource>,...} - \newrobustcmd*{\addbibresource}{% \blx@addbib\blx@addbib@resource} \@onlypreamble\addbibresource @@ -7269,8 +7379,8 @@ {\blx@bibreq{*}% \global\csletcs {blx@segm@\the\c@refsection @\the\c@refsegment} - {blx@slists@\the\c@refsection @entry@\blx@sorting}% - \ifcsvoid{blx@slists@\the\c@refsection @entry@\blx@sorting} + {blx@slists@\the\c@refsection @entry@\blx@refcontext@sorting}% + \ifcsvoid{blx@slists@\the\c@refsection @entry@\blx@refcontext@sorting} {\blx@logreq@active{}} {}} {}} @@ -7338,7 +7448,7 @@ \multicitedelim \fi \fi - \letcs\blx@tempb{blx@slists@\the\c@refsection @entry@\blx@sorting}% + \letcs\blx@tempb{blx@slists@\the\c@refsection @entry@\blx@refcontext@sorting}% \blx@thecitesort \edef\blx@tempa{\endgroup \c@citecount\z@ @@ -7364,7 +7474,6 @@ \let\blx@tempb\blx@tempa} % {<entrykey>} - \def\blx@citeadd#1{% \ifcsdef{blx@keyalias@\the\c@refsection @#1} {\edef\blx@realkey{\csuse{blx@keyalias@\the\c@refsection @#1}}} @@ -7374,11 +7483,10 @@ {\advance\blx@tempcnta\@ne \listeadd\blx@tempa{\blx@realkey}} {\ifnum\blx@tempcntb>\z@\multicitedelim\fi - \expandafter\abx@missing\expandafter{\blx@realkey} + \expandafter\abx@missing\expandafter{\blx@realkey}% \advance\blx@tempcntb\@ne}} % {<entrykey>} - \protected\def\blx@citeprint#1{% \advance\c@citecount\@ne \addtocounter{instcount}\@ne @@ -8478,9 +8586,6 @@ \def\ifbibindex{\blx@TE{\iftoggle{blx@bibindex}}}% \def\iffootnote{\blx@TE{\iftoggle{blx@footnote}}}% \def\ifuseprefix{\blx@TE{\iftoggle{blx@useprefix}}}% - \def\ifuseauthor{\blx@TE{\iftoggle{blx@useauthor}}}% - \def\ifuseeditor{\blx@TE{\iftoggle{blx@useeditor}}}% - \def\ifusetranslator{\blx@TE{\iftoggle{blx@usetranslator}}}% \def\ifterseinits{\blx@TE{\iftoggle{blx@terseinits}}}% \def\iffirstinits{\blx@TE{\iftoggle{blx@firstinits}}}% \def\ifsingletitle{\blx@TE{\iftoggle{abx@bool@singletitle}}}% @@ -8540,6 +8645,7 @@ {\textciquote\endgroup} {\blx@setpostpunct\textciquote\endgroup}} + \def\blx@usqcheck#1#2{% \def\blx@tempa{#1}% \def\blx@tempb{#2}% @@ -8550,22 +8656,22 @@ \blx@usqcheck@i\blx@tempa \fi \if\noexpand\@let@token\relax - \blx@usqcheck@i\blx@tempb + \expandafter\blx@usqcheck@iv \fi \expandafter\blx@usqcheck@ii\blx@quotepunct\relax&} \def\blx@usqcheck@i#1#2&{\fi#1} - -\def\blx@usqcheck@ii#1{% - \if\noexpand#1\relax - \blx@usqcheck@i\blx@tempa - \fi - \if\noexpand#1\noexpand\@let@token - \blx@usqcheck@i{\blx@usqcheck@iii\blx@tempa}% - \fi - \blx@usqcheck@ii} - -\def\blx@usqcheck@iii#1#2{#2#1} +\def\blx@usqcheck@iv#1{% + \begingroup + \escapechar=-1 % + \edef\blx@tempa{\expandafter\@gobble\string#2}% + \expandafter\endgroup + \ifx\blx@tempa\@empty + \else + \blx@usqcheck@i\blx@tempb + \fi + #1% +} \newrobustcmd*{\mkbibemph}{\emph} \protected\long\def\blx@imc@mkbibemph#1{% @@ -8871,6 +8977,8 @@ ~~~~~~~~<bcf:per\string_datasource>#1</bcf:per\string_datasource>\blx@nl} \xdef\blx@xml@sourcemap@pertype#1{% ~~~~~~~~<bcf:per\string_type>#1</bcf:per\string_type>\blx@nl} +\xdef\blx@xml@sourcemap@pernottype#1{% + ~~~~~~~~<bcf:per\string_nottype>#1</bcf:per\string_nottype>\blx@nl} \xdef\blx@xml@sourcemap@step#1{% ~~~~~~~~<bcf:map\string_step#1/>\blx@nl} @@ -8975,8 +9083,22 @@ #2}} \xdef\blx@xml@toggle#1{% \blx@xml@svalue{#1}{\noexpand\iftoggle{blx@#1}{1}{0}}} +\xdef\blx@xml@options@scope#1#2{% + ~~<bcf:optionscope type="#1">\blx@nl + #2% + ~~</bcf:optionscope>\blx@nl} +\xdef\blx@xml@option@scope#1{% + ~~~~<bcf:option>#1</bcf:option>\blx@nl} \endgroup +\def\blx@bcf@options@scope{% + \blx@xml@options@scope{GLOBAL}{% + \forlistloop\blx@xml@option@scope\blx@globalopts}% + \blx@xml@options@scope{PER_TYPE}{% + \forlistloop\blx@xml@option@scope\blx@typeopts}% + \blx@xml@options@scope{PER_ENTRY}{% + \forlistloop\blx@xml@option@scope\blx@entryopts}} + \def\blx@bcf@options@global{% \blx@xml@comment{GLOBAL}% \blx@xml@options{biblatex}{global}{% @@ -9002,10 +9124,8 @@ \blx@xml@svalue{sortscheme}{\blx@sorting}% \blx@xml@svalue{uniquelist}{\blx@uniquelist}% \blx@xml@svalue{uniquename}{\blx@uniquename}% - \blx@xml@toggle{useauthor}% - \blx@xml@toggle{useeditor}% \blx@xml@toggle{useprefix}% - \blx@xml@toggle{usetranslator}% + \blx@xml@nametoggles }% } @@ -9042,10 +9162,8 @@ \blx@xml@toggle{skipbiblist}% \blx@xml@svalue{uniquelist}{\blx@uniquelist}% \blx@xml@svalue{uniquename}{\blx@uniquename}% - \blx@xml@toggle{useauthor}% - \blx@xml@toggle{useeditor}% \blx@xml@toggle{useprefix}% - \blx@xml@toggle{usetranslator}% + \blx@xml@nametoggles }% } @@ -9058,6 +9176,10 @@ \edef\sortalphaothers{\sortalphaothers}% \blx@xmlsanitizeafter{\def\labelalphaothers}{\labelalphaothers}% \blx@xmlsanitizeafter{\def\sortalphaothers}{\sortalphaothers}% + % Expand the global use* name toggles + \let\blx@xml@nametoggles\@empty + \def\do##1{\eappto\blx@xml@nametoggles{\blx@xml@toggle{use##1}}}% + \dolistcsloop{blx@biber@datamodel@names} \edef\blx@tempa{% \blx@xml@file \blx@xml@comment{BIBER OPTIONS}% @@ -9077,6 +9199,10 @@ {\def\do##1{% \begingroup \blx@setoptions@type{##1}% + % Expand the type use* name toggles + \let\blx@xml@nametoggles\@empty + \def\do####1{\eappto\blx@xml@nametoggles{\blx@xml@toggle{use####1}}}% + \dolistcsloop{blx@biber@datamodel@names} \begingroup \let\protect\relax \blx@checkoptions@type @@ -9085,6 +9211,10 @@ \endgroup}% \dolistloop\blx@opts@type} {}% + % options scope + \eappto\blx@tempa{% + \blx@xml@comment{BIBLATEX OPTION SCOPE}% + \blx@bcf@options@scope} % sourcemap \ifbool{sourcemap} {\eappto\blx@tempa{% @@ -9302,6 +9432,7 @@ \let\blx@tempe\@empty \let\perdatasource\blx@sourcemap@perdatasource \let\pertype\blx@sourcemap@pertype + \let\pernottype\blx@sourcemap@pernottype \let\step\blx@sourcemap@step \ifblank{#1} {} @@ -9323,6 +9454,10 @@ \eappto\blx@tempe{% \blx@xml@sourcemap@pertype{#1}}} +\newcommand*{\blx@sourcemap@pernottype}[1]{% + \eappto\blx@tempe{% + \blx@xml@sourcemap@pernottype{#1}}} + \newcommand*{\blx@sourcemap@step}[1][2]{% \let\blx@tempf\@empty \setkeys{blx@sourcemap@step}{#1}% @@ -9360,6 +9495,8 @@ \ifstrequal{#1}{true} {\appto\blx@tempf{ map\string_entry\string_null="1"}} {}} +\define@key{blx@sourcemap@step}{entryclone}{% characters + \appto\blx@tempf{ map\string_entry\string_clone="#1"}} \define@key{blx@sourcemap@step}{origfield}[true]{% true|false \ifstrequal{#1}{true} {\appto\blx@tempf{ map\string_origfield="1"}} @@ -9386,6 +9523,8 @@ {\blx@biber@latem{#2}{global}} {\forcsvlist{\blx@biber@latem{#2}}{#1}}} \@onlypreamble\DeclareLabelalphaTemplate +\listadd\blx@globalopts{labelalphatemplate}% for passing to the .bcf +\listadd\blx@typeopts{labelalphatemplate}% for passing to the .bcf \def\blx@biber@latem#1#2{% \begingroup @@ -9521,7 +9660,6 @@ \eappto\blx@tempc{ override\string_target="#1"}} % {<type,type,...>}{<type,type,...>}{<spec>} - \newrobustcmd*{\DeclareDataInheritance}[3]{% \begingroup \let\blx@tempa\@empty @@ -9543,8 +9681,9 @@ \def\blx@inherit@ii#1#2{% \eappto\blx@tempa{\blx@xml@inherit@type{#1}{#2}{}}} -% [<options>]{<source>}{<target>} +\listadd\blx@globalopts{inheritance}% for passing to the .bcf +% [<options>]{<source>}{<target>} \newcommand*{\blx@inherit@field}[3][]{% \let\blx@tempc\@empty \ifblank{#1} @@ -9616,6 +9755,7 @@ \global\cslet{blx@biber@sorting@#2}\blx@tempa \endgroup} \@onlypreamble\DeclareSortingScheme +\listadd\blx@globalopts{sortscheme}% for passing to the .bcf \define@key{blx@sortdef@sorting}{locale}{% locale name \def\blx@templ{#1}} @@ -9700,6 +9840,9 @@ {\forcsvlist\blx@undefpresort{#1}}}% \endgroup} \@onlypreamble\DeclarePresort +\listadd\blx@globalopts{presort}% for passing to the .bcf +\listadd\blx@typeopts{presort}% for passing to the .bcf +\listadd\blx@entryopts{presort}% for passing to the .bcf \def\blx@defpresort#1#2{% \csxdef{blx@bcf@presort@#2}{\blx@xml@presort{#2}{#1}}} @@ -9708,6 +9851,7 @@ \newrobustcmd*{\DeclareSortExclusion}[2]{% \forcsvlist{\blx@sortexlude{#2}}{#1}} +\listadd\blx@typeopts{sortexclusion}% for passing to the .bcf \def\blx@sortexlude#1#2{% \begingroup @@ -9737,6 +9881,8 @@ #2% \endgroup} \@onlypreamble\DeclareLabelname +\listadd\blx@globalopts{labelnamespec}% for passing to the .bcf +\listadd\blx@typeopts{labelnamespec}% for passing to the .bcf \newrobustcmd*{\DeclareLabeltitle}[2][]{% \begingroup @@ -9751,6 +9897,8 @@ #2% \endgroup} \@onlypreamble\DeclareLabeltitle +\listadd\blx@globalopts{labeltitlespec}% for passing to the .bcf +\listadd\blx@typeopts{labeltitlespec}% for passing to the .bcf \newrobustcmd*{\DeclareLabelyear}[2][]{% \blx@warning@noline{% @@ -9770,6 +9918,8 @@ #2% \endgroup} \@onlypreamble\DeclareLabeldate +\listadd\blx@globalopts{labeldatespec}% for passing to the .bcf +\listadd\blx@typeopts{labeldatespec}% for passing to the .bcf \newcommand*{\blx@ordered@field}[2][]{% \let\blx@tempc\@empty @@ -9910,13 +10060,15 @@ \newtoggle{blx@safeinputenc} \DeclareBibliographyOption{sorting}{% - \def\blx@sorting{#1}} + \def\blx@sorting{#1}% + \def\blx@refcontext@sorting{#1}} \AtEndPreamble{% \ifcsdef{blx@biber@sorting@\blx@sorting} {} {\blx@err@invopt{sorting=\blx@sorting}{}% - \def\blx@sorting{nty}}% + \def\blx@sorting{nty}% + \def\blx@refcontext@sorting{nty}}% \listxadd\blx@sortschemes{\blx@sorting}} \DeclareBibliographyOption{sortcase}[true]{% @@ -10033,6 +10185,10 @@ \numdef\blx@maxalphanames{#1}} \DeclareTypeOption{minalphanames}{% \numdef\blx@minalphanames{#1}} +\DeclareEntryOption{maxalphanames}{% + \numdef\blx@maxalphanames{#1}} +\DeclareEntryOption{minalphanames}{% + \numdef\blx@minalphanames{#1}} \appto\blx@checkoptions@global{% \blx@maxmin@num{maxalphanames}{minalphanames}\blx@maxalphanames\blx@minalphanames} @@ -10594,6 +10750,10 @@ \ifcsdef{blx@opt@uniquelist@#1} {\letcs\blx@uniquelist{blx@opt@uniquelist@#1}} {\blx@err@invopt{uniquelist=#1}{}}} +\DeclareEntryOption{uniquelist}[true]{% + \ifcsdef{blx@opt@uniquelist@#1} + {\letcs\blx@uniquelist{blx@opt@uniquelist@#1}} + {\blx@err@invopt{uniquelist=#1}{}}} \def\blx@opt@uniquelist@false{0} \def\blx@opt@uniquelist@true{1} \def\blx@opt@uniquelist@minyear{2} @@ -10606,6 +10766,10 @@ \ifcsdef{blx@opt@uniquename@#1} {\letcs\blx@uniquename{blx@opt@uniquename@#1}} {\blx@err@invopt{uniquename=#1}{}}} +\DeclareEntryOption{uniquename}[true]{% + \ifcsdef{blx@opt@uniquename@#1} + {\letcs\blx@uniquename{blx@opt@uniquename@#1}} + {\blx@err@invopt{uniquename=#1}{}}} \def\blx@opt@uniquename@false{0} \def\blx@opt@uniquename@init{1} \def\blx@opt@uniquename@true{2} @@ -10627,7 +10791,7 @@ \let\blx@thelabelnumber\blx@addlabelnumber \let\abx@aux@number\blx@aux@number} {\let\blx@thelabelnumber\relax - \let\abx@aux@number\@gobblefour}} + \let\abx@aux@number\@gobblefive}} \DeclareBibliographyOption{refsection}{% \ifcsdef{blx@opt@refsection@#1} @@ -10710,8 +10874,17 @@ {\let\blx@bbl@thewarn\blx@bbl@warn} {\let\blx@bbl@thewarn\@gobble}} -% Entry options +% Name field options +\def\do#1{% + \DeclareBibliographyOption{use#1}[true]{% + \settoggle{blx@use#1}{##1}} + \DeclareTypeOption{use#1}[true]{% + \settoggle{blx@use#1}{##1}} + \DeclareEntryOption{use#1}[true]{% + \settoggle{blx@use#1}{##1}}} +\dolistcsloop{blx@biber@datamodel@names} +% Entry options \DeclareBibliographyOption{useprefix}[true]{% \settoggle{blx@useprefix}{#1}} \DeclareTypeOption{useprefix}[true]{% @@ -10719,27 +10892,6 @@ \DeclareEntryOption{useprefix}[true]{% \settoggle{blx@useprefix}{#1}} -\DeclareBibliographyOption{useauthor}[true]{% - \settoggle{blx@useauthor}{#1}} -\DeclareTypeOption{useauthor}[true]{% - \settoggle{blx@useauthor}{#1}} -\DeclareEntryOption{useauthor}[true]{% - \settoggle{blx@useauthor}{#1}} - -\DeclareBibliographyOption{useeditor}[true]{% - \settoggle{blx@useeditor}{#1}} -\DeclareTypeOption{useeditor}[true]{% - \settoggle{blx@useeditor}{#1}} -\DeclareEntryOption{useeditor}[true]{% - \settoggle{blx@useeditor}{#1}} - -\DeclareBibliographyOption{usetranslator}[true]{% - \settoggle{blx@usetranslator}{#1}} -\DeclareTypeOption{usetranslator}[true]{% - \settoggle{blx@usetranslator}{#1}} -\DeclareEntryOption{usetranslator}[true]{% - \settoggle{blx@usetranslator}{#1}} - \DeclareTypeOption{skipbib}[true]{% \settoggle{blx@skipbib}{#1}} \DeclareEntryOption{skipbib}[true]{% @@ -10774,7 +10926,6 @@ \settoggle{blx@skiplab}{#1}} % Option processor/scheduler - \DeclareOption*{% \begingroup \def\blx@tempa#1=#2&{#1}% @@ -10910,28 +11061,23 @@ {\ifdefstring\blx@bibencoding{ascii} {\blx@info@noline{% Data encoding '\blx@bibencoding' specified.\MessageBreak - No need to reencode data}% - \togglefalse{blx@reencode}} + No need to reencode data}} {\ifdefstring\blx@bibencoding{auto} {\let\blx@bibencoding\blx@texencoding \blx@info@noline{% Automatic encoding selection.\MessageBreak - Assuming data encoding '\blx@bibencoding'} - \togglefalse{blx@reencode}} + Assuming data encoding '\blx@bibencoding'}} {\ifdefstrequal\blx@bibencoding\blx@texencoding {\blx@info@noline{% Data encoding '\blx@bibencoding' specified.\MessageBreak - No need to reencode data}% - \togglefalse{blx@reencode}} + No need to reencode data}} {\blx@info@noline{% Data encoding '\blx@bibencoding' specified.\MessageBreak - Backend will reencode on the fly}% - \togglefalse{blx@reencode}}}}} + Backend will reencode on the fly}}}}} {\def\blx@bibencoding{ascii}% \blx@info@noline{% Data encoding not specified.\MessageBreak - Assuming '\blx@bibencoding'}% - \togglefalse{blx@reencode}}% + Assuming '\blx@bibencoding'}}% \ifboolexpr{% togl {blx@safeinputenc} and ( test {\@ifpackageloaded{inputenc}} diff --git a/Master/texmf-dist/tex/latex/biblatex/blx-dm.def b/Master/texmf-dist/tex/latex/biblatex/blx-dm.def index 5646a3f55e6..864c5cec58b 100644 --- a/Master/texmf-dist/tex/latex/biblatex/blx-dm.def +++ b/Master/texmf-dist/tex/latex/biblatex/blx-dm.def @@ -3,6 +3,8 @@ \newbool{dmskipout}% \newbool{dmlabelfield}% +\listadd\blx@globalopts{datamodel}% for passing to the .bcf + % Data model .bcf output macros \xdef\blx@xml@datamodel#1{% ~~<bcf:datamodel>\blx@nl diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx index 7b99454a729..b0799936d61 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/danish.lbx @@ -49,8 +49,8 @@ redactors = {{redakt\o rer}{red\adddot}}, % reviser = {{}{}},% FIXME: missing % revisers = {{}{}},% FIXME: missing -% founder = {{}{}},% FIXME: missing -% founders = {{}{}},% FIXME: missing + founder = {{grundl\ae gger}{grundl\adddot}}, + founders = {{grundl\ae ggere}{grundl\adddot}}, % continuator = {{}{}},% FIXME: missing % continuators = {{}{}},% FIXME: missing % collaborator = {{}{}},% FIXME: missing @@ -65,96 +65,164 @@ % annotator = {{kommentator}{kommentator}}, % annotators = {{kommentatorer}{kommentatorer}}, commentary = {{kommentar}{komm\adddot}}, - annotations = {{forklaring}{forkl\adddot}}, + annotations = {{forklaringer}{forkl\adddot}}, % alternative translation: % annotations = {{fortolkning}{fortolkning}}, introduction = {{indledning}{indl\adddot}}, foreword = {{forord}{forord}}, afterword = {{efterord}{efterord}}, -% editortr = {{}{}},% FIXME: missing -% editorstr = {{}{}},% FIXME: missing -% editorco = {{}{}},% FIXME: missing -% editorsco = {{}{}},% FIXME: missing -% editoran = {{}{}},% FIXME: missing -% editorsan = {{}{}},% FIXME: missing -% editorin = {{}{}},% FIXME: missing -% editorsin = {{}{}},% FIXME: missing -% editorfo = {{}{}},% FIXME: missing -% editorsfo = {{}{}},% FIXME: missing -% editoraf = {{}{}},% FIXME: missing -% editorsaf = {{}{}},% FIXME: missing -% editortrco = {{}{}},% FIXME: missing -% editorstrco = {{}{}},% FIXME: missing -% editortran = {{}{}},% FIXME: missing -% editorstran = {{}{}},% FIXME: missing -% editortrin = {{}{}},% FIXME: missing -% editorstrin = {{}{}},% FIXME: missing -% editortrfo = {{}{}},% FIXME: missing -% editorstrfo = {{}{}},% FIXME: missing -% editortraf = {{}{}},% FIXME: missing -% editorstraf = {{}{}},% FIXME: missing -% editorcoin = {{}{}},% FIXME: missing -% editorscoin = {{}{}},% FIXME: missing -% editorcofo = {{}{}},% FIXME: missing -% editorscofo = {{}{}},% FIXME: missing -% editorcoaf = {{}{}},% FIXME: missing -% editorscoaf = {{}{}},% FIXME: missing -% editoranin = {{}{}},% FIXME: missing -% editorsanin = {{}{}},% FIXME: missing -% editoranfo = {{}{}},% FIXME: missing -% editorsanfo = {{}{}},% FIXME: missing -% editoranaf = {{}{}},% FIXME: missing -% editorsanaf = {{}{}},% FIXME: missing -% editortrcoin = {{}{}},% FIXME: missing -% editorstrcoin = {{}{}},% FIXME: missing -% editortrcofo = {{}{}},% FIXME: missing -% editorstrcofo = {{}{}},% FIXME: missing -% editortrcoaf = {{}{}},% FIXME: missing -% editorstrcoaf = {{}{}},% FIXME: missing -% editortranin = {{}{}},% FIXME: missing -% editorstranin = {{}{}},% FIXME: missing -% editortranfo = {{}{}},% FIXME: missing -% editorstranfo = {{}{}},% FIXME: missing -% editortranaf = {{}{}},% FIXME: missing -% editorstranaf = {{}{}},% FIXME: missing -% translatorco = {{}{}},% FIXME: missing -% translatorsco = {{}{}},% FIXME: missing -% translatoran = {{}{}},% FIXME: missing -% translatorsan = {{}{}},% FIXME: missing -% translatorin = {{}{}},% FIXME: missing -% translatorsin = {{}{}},% FIXME: missing -% translatorfo = {{}{}},% FIXME: missing -% translatorsfo = {{}{}},% FIXME: missing -% translatoraf = {{}{}},% FIXME: missing -% translatorsaf = {{}{}},% FIXME: missing -% translatorcoin = {{}{}},% FIXME: missing -% translatorscoin = {{}{}},% FIXME: missing -% translatorcofo = {{}{}},% FIXME: missing -% translatorscofo = {{}{}},% FIXME: missing -% translatorcoaf = {{}{}},% FIXME: missing -% translatorscoaf = {{}{}},% FIXME: missing -% translatoranin = {{}{}},% FIXME: missing -% translatorsanin = {{}{}},% FIXME: missing -% translatoranfo = {{}{}},% FIXME: missing -% translatorsanfo = {{}{}},% FIXME: missing -% translatoranaf = {{}{}},% FIXME: missing -% translatorsanaf = {{}{}},% FIXME: missing + editortr = {{redakt\o r og overs\ae tter}% + {red\adddotspace og overs\adddot}}, + editorstr = {{redakt\o rer og overs\ae ttere}% + {red\adddotspace og overs\adddot}}, + editorco = {{redakt\o r og kommentator} + {red\adddotspace og komm\adddot}}, + editorsco = {{redakt\o rer og kommentatorer} + {red\adddotspace og komm\adddot}}, + editoran = {{redakt\o r og forklaringer}% + {red\adddotspace og forkl\adddot}}, + editorsan = {{redakt\o rer og forklaringer}% + {red\adddotspace og forkl\adddot}}, + editorin = {{redakt\o r og indledning}% + {red\adddotspace og indl\adddot}}, + editorsin = {{redakt\o rer og indledning}% + {red\adddotspace og indl\adddot}}, + editorfo = {{redakt\o r og forord}% + {red\adddotspace og forord}}, + editorsfo = {{redakt\o rer og forord}% + {red\adddotspace og forord}}, + editoraf = {{redakt\o r og efterord}% + {red\adddotspace og efterord}}, + editorsaf = {{redakt\o rer og efterord}% + {red\adddotspace og efterord}}, + editortrco = {{redakt\o r, overs\ae tter og kommentator}% + {red.,\addabbrvspace overs\adddotspace og komm\adddot}}, + editorstrco = {{redakt\o rer, overs\ae ttere og kommentatorer}% + {red.,\addabbrvspace overs\adddotspace og komm\adddot}}, + editortran = {{redakt\o r, overs\ae tter og forklaringer}% + {red.,\addabbrvspace overs\adddotspace og forkl\adddot}}, + editorstran = {{redakt\o rer, overs\ae ttere og forklaringer}% + {red.,\addabbrvspace overs\adddotspace og forkl\adddot}}, + editortrin = {{redakt\o r, overs\ae tter og indledning}% + {red.,\addabbrvspace overs\adddotspace og indl\adddot}}, + editorstrin = {{redakt\o rer, overs\ae ttere og indledning}% + {red.,\addabbrvspace overs\adddotspace og indl\adddot}}, + editortrfo = {{redakt\o r, overs\ae tter og forord}% + {red.,\addabbrvspace overs\adddotspace og forord}}, + editorstrfo = {{redakt\o rer, overs\ae ttere og forord}% + {red.,\addabbrvspace overs\adddotspace og forord}}, + editortraf = {{redakt\o r, overs\ae tter og efterord}% + {red.,\addabbrvspace overs\adddotspace og efterord}}, + editorstraf = {{redakt\o rer, overs\ae ttere og efterord}% + {red.,\addabbrvspace overs\adddotspace og efterord}}, + editorcoin = {{redakt\o r, kommentator og indledning}% + {red.,\addabbrvspace komm\adddotspace og indl\adddot}}, + editorscoin = {{redakt\o rer, kommentatorer og indledning}% + {red.,\addabbrvspace komm\adddotspace og indl\adddot}}, + editorcofo = {{redakt\o r, kommentator og forord}% + {red.,\addabbrvspace komm\adddotspace og forord}}, + editorscofo = {{redakt\o rer, kommentatorer og forord}% + {red.,\addabbrvspace komm\adddotspace og forord}}, + editorcoaf = {{redakt\o r, kommentator og efterord}% + {red.,\addabbrvspace komm\adddotspace og efterord}}, + editorscoaf = {{redakt\o rer, kommentatorer og efterord}% + {red.,\addabbrvspace komm\adddotspace og efterord}}, + editoranin = {{redakt\o r, forklaringer og indledning}% + {red.,\addabbrvspace forkl\adddotspace og indl\adddot}}, + editorsanin = {{redakt\o rer, forklaringer og indledning}% + {red.,\addabbrvspace forkl\adddotspace og indl\adddot}}, + editoranfo = {{redakt\o r, forklaringer og forord}% + {red.,\addabbrvspace forkl\adddotspace og forord}}, + editorsanfo = {{redakt\o rer, forklaringer og forord}% + {red.,\addabbrvspace forkl\adddotspace og forord}}, + editoranaf = {{redakt\o r, forklaringer og efterord}% + {red.,\addabbrvspace forkl\adddotspace og efterord}}, + editorsanaf = {{redakt\o rer, forklaringer og efterord}% + {red.,\addabbrvspace forkl\adddotspace og efterord}}, + editortrcoin = {{redakt\o r, overs\ae tter, kommentator og indledning}% + {red.,\addabbrvspace overs., komm\adddotspace og indl\adddot}}, + editorstrcoin = {{redakt\o rer, overs\ae ttere, kommentatorer og indledning}% + {red.,\addabbrvspace overs., komm\adddotspace og indl\adddot}}, + editortrcofo = {{redakt\o r, overs\ae tter, kommentator og forord}% + {red.,\addabbrvspace overs., komm\adddotspace og forord}}, + editorstrcofo = {{redakt\o rer, overs\ae ttere, kommentatorer og forord}% + {red.,\addabbrvspace overs., komm\adddotspace og forord}}, + editortrcoaf = {{redakt\o r, overs\ae tter, kommentator og efterord}% + {red.,\addabbrvspace overs., komm\adddotspace og efterord}}, + editorstrcoaf = {{redakt\o rer, overs\ae ttere, kommentatorer og efterord}% + {red.,\addabbrvspace overs., komm\adddotspace og efterord}}, + editortranin = {{redakt\o r, overs\ae tter, forklaringer og indledning}% + {red.,\addabbrvspace overs., forkl\adddotspace og indl\adddot}}, + editorstranin = {{redakt\o rer, overs\ae ttere, forklaringer og indledning}% + {red.,\addabbrvspace overs., forkl\adddotspace og indl\adddot}}, + editortranfo = {{redakt\o r, overs\ae tter, forklaringer og forord}% + {red.,\addabbrvspace overs., forkl\adddotspace og forord}}, + editorstranfo = {{redakt\o rer, overs\ae ttere, forklaringer og forord}% + {red.,\addabbrvspace overs., forkl\adddotspace og forord}}, + editortranaf = {{redakt\o r, overs\ae tter, forklaringer og efterord}% + {red.,\addabbrvspace overs., forkl\adddotspace og efterord}}, + editorstranaf = {{redakt\o rer, overs\ae ttere, forklaringer og efterord}% + {red.,\addabbrvspace overs., forkl\adddotspace og efterord}}, + translatorco = {{overs\ae tter og kommentator}% + {overs\adddotspace og komm\adddot}}, + translatorsco = {{overs\ae ttere og kommentatorer}% + {overs\adddotspace og komm\adddot}}, + translatoran = {{overs\ae tter og forklaringer}% + {overs\adddotspace og forkl\adddot}}, + translatorsan = {{overs\ae ttere og forklaringer}% + {overs\adddotspace og forkl\adddot}}, + translatorin = {{overs\ae tter og indledning}% + {overs\adddotspace og indl\adddot}}, + translatorsin = {{overs\ae ttere og indledning}% + {overs\adddotspace og indl\adddot}}, + translatorfo = {{overs\ae tter og forord}% + {overs\adddotspace og forord}}, + translatorsfo = {{overs\ae ttere og forord}% + {overs\adddotspace og forord}}, + translatoraf = {{overs\ae tter og efterord}% + {overs\adddotspace og efterord}}, + translatorsaf = {{overs\ae ttere og efterord}% + {overs\adddotspace og efterord}}, + translatorcoin = {{overs\ae tter, kommentarer og indledning}% + {overs., komm\adddotspace og indl\adddot}}, + translatorscoin = {{overs\ae ttere, kommentarer og indledning}% + {overs., komm\adddotspace og indl\adddot}}, + translatorcofo = {{overs\ae tter, kommentarer og forord}% + {overs., komm\adddotspace og forord}}, + translatorscofo = {{overs\ae ttere, kommentarer og forord}% + {overs., komm\adddotspace og forord}}, + translatorcoaf = {{overs\ae tter, kommentarer og efterord}% + {overs., komm\adddotspace og efterord}}, + translatorscoaf = {{overs\ae ttere, kommentarer og efterord}% + {overs., komm\adddotspace og efterord}}, + translatoranin = {{overs\ae tter, forklaringer og indledning}% + {overs., forkl\adddotspace og indl\adddot}}, + translatorsanin = {{overs\ae ttere, forklaringer og indledning}% + {overs., forkl\adddotspace og indl\adddot}}, + translatoranfo = {{overs\ae tter, forklaringer og forord}% + {overs., forkl\adddotspace og forord}}, + translatorsanfo = {{overs\ae ttere, forklaringer og forord}% + {overs., forkl\adddotspace og forord}}, + translatoranaf = {{overs\ae tter, forklaringer og efterord}% + {overs., forkl\adddotspace og efterord}}, + translatorsanaf = {{overs\ae ttere, forklaringer og efterord}% + {overs., forkl\adddotspace og efterord}}, byauthor = {{af}{af}}, byeditor = {{udgivet af}{udg\adddotspace af}}, bycompiler = {{kompileret af}{komp\adddotspace af}}, byredactor = {{bearbejdet af}{bearb\adddotspace af}}, -% byreviser = {{}{}},% FIXME: missing -% byreviewer = {{}{}},% FIXME: missing -% byfounder = {{}{}},% FIXME: missing -% bycontinuator = {{}{}},% FIXME: missing -% bycollaborator = {{}{}},% FIXME: missing + byreviser = {{revideret af}{rev\adddotspace af}}, + byreviewer = {{bed\o mt af}{bed\adddotspace af}}, + byfounder = {{grundlagt af}{grundl\adddotspace af}}, + bycontinuator = {{videref\o rt af}{videref\adddotspace af}}, + bycollaborator = {{i samarbejde med}{i samarb\adddotspace med}}, bytranslator = {{oversat \lbx@lfromlang\ af}{oversat \lbx@sfromlang\ af}}, bycommentator = {{kommenteret af}{komm\adddot\ af}}, byannotator = {{forklaret af}{forkl\adddot\ af}}, % alternative translation % byannotator = {{fortolket af}{fortolket af}}, withcommentator = {{med en kommentar af}{med en komm\adddot\ af}}, - withannotator = {{med en forklaring af}{med en forkl\adddot\ af}}, + withannotator = {{med forklaringer af}{med forkl\adddot\ af}}, withintroduction = {{med en indledning af}{med en indl\adddot\ af}}, withforeword = {{med et forord af}{med et forord af}}, withafterword = {{med et efterord af}{med et efterord af}}, @@ -234,9 +302,9 @@ involumes = {{i}{i}}, jourvol = {{\aa rgang}{\aa g\adddot}}, jourser = {{serie}{ser\adddot}}, -% book = {{}{}},% FIXME: missing -% part = {{}{}},% FIXME: missing -% issue = {{}{}},% FIXME: missing + book = {{bog}{bog}}, + part = {{del}{del}}, + issue = {{oplag}{opl\adddot}}, newseries = {{ny serie}{n.s\adddot}},% FIXME: spacing after abbreviation dot? oldseries = {{gammel serie}{g.s\adddot}},% FIXME: spacing after abbreviation dot? edition = {{udgave}{udg\adddot}}, @@ -252,8 +320,8 @@ translationof = {{overs\ae ttelse af}{overs\ae ttelse af}},% FIXME: check translationas = {{oversat som}{oversat som}},% FIXME: check translationfrom = {{oversat fra}{oversat fra}},% FIXME: check -% reviewof = {{}{}},% FIXME: missing - origpubas = {{oprindelig udgivet som}{oprindelig udgivet som}},% FIXME: check + reviewof = {{bed\o mmelse af}{bed\adddotspace af}}, + origpubas = {{oprindeligt udgivet som}{oprindelig udgivet som}},% FIXME: check origpubin = {{oprindeligt udgivet i}{oprindeligt udgivet i}},% FIXME: check astitle = {{i}{i}},% FIXME: check bypublisher = {{af}{af}},% FIXME: check @@ -288,15 +356,15 @@ audiocd = {{lyd-cd}{lyd-cd}}, version = {{version}{vers\adddot}}, url = {{side}{side}}, -% urlfrom = {{}{}},% FIXME: missing + urlfrom = {{tilg\ae ngelig fra}{tilg\adddotspace fra}}, urlseen = {{sidst set}{sidst set}}, -% inpreparation = {{}{}},% FIXME: missing -% submitted = {{}{}},% FIXME: missing -% forthcoming = {{}{}},% FIXME: missing -% inpress = {{}{}},% FIXME: missing -% prepublished = {{}{}},% FIXME: missing + inpreparation = {{under udarbejdelse}{under udarb\adddot}}, + submitted = {{indsendt}{indsendt}}, + forthcoming = {{under udgivelse}{under udgiv\adddot}}, + inpress = {{i trykken}{i trykken}}, + prepublished = {{pre-publiceret}{pre-publ\adddot}}, citedas = {{herefter citeret som}{herefter cit\adddot\ som}}, -% thiscite = {{}{}},% FIXME: missing + thiscite = {{her}{her}}, seenote = {{se note}{se note}}, % alternative translation: % seenote = {{se anm\ae rkning}{se anm\adddot}}, @@ -312,7 +380,7 @@ ibidem = {{ibidem}{ibid\adddot}}, opcit = {{op.\adddotspace cit\adddot}{op.\adddotspace cit\adddot}},% FIXME: spacing after abbreviation dot? loccit = {{loc.\adddotspace cit\adddot}{loc.\adddotspace cit\adddot}},% FIXME: spacing after abbreviation dot? - confer = {{sammenlign}{smlg\adddot}}, + confer = {{j\ae vnf\o r}{jf\adddot}}, sequens = {{sq\adddot}{sq\adddot}}, sequentes = {{sqq\adddot}{sqq\adddot}}, passim = {{passim}{pass\adddot}}, @@ -332,48 +400,48 @@ october = {{oktober}{okt\adddot}}, november = {{november}{nov\adddot}}, december = {{december}{dec\adddot}}, - langamerican = {{amerikansk}{amerikansk}}, -% langbrazilian = {{}{}},% FIXME: missing -% langcatalan = {{}{}},% FIXME: missing -% langcroatian = {{}{}},% FIXME: missing -% langczech = {{}{}},% FIXME: missing -% langdanish = {{}{}},% FIXME: missing -% langdutch = {{}{}},% FIXME: missing + langamerican = {{amerikansk-engelsk}{amerikansk-engelsk}}, + langbrazilian = {{brasiliansk-portugisisk}{brasiliansk-portugisisk}}, + langcatalan = {{catalansk}{catalansk}}, + langcroatian = {{kroatisk}{kroatisk}}, + langczech = {{tjekkisk}{tjekkisk}}, + langdanish = {{dansk}{dansk}}, + langdutch = {{nederlandsk}{nederlandsk}}, langenglish = {{engelsk}{engelsk}}, -% langfinnish = {{}{}},% FIXME: missing + langfinnish = {{finsk}{finsk}}, langfrench = {{fransk}{fransk}}, langgerman = {{tysk}{tysk}}, langgreek = {{gr\ae sk}{gr\ae sk}}, langitalian = {{italiensk}{italiensk}}, langlatin = {{latin}{latin}}, langnorwegian = {{norsk}{norsk}}, -% langpolish = {{}{}},% FIXME: missing -% langportuguese = {{}{}},% FIXME: missing -% langrussian = {{}{}},% FIXME: missing -% langslovene = {{}{}},% FIXME: missing + langpolish = {{polsk}{polsk}}, + langportuguese = {{portugisisk}{portugisisk}},% FIXME: missing + langrussian = {{russisk}{russisk}}, + langslovene = {{slovensk}{slovensk}}, langspanish = {{spansk}{spansk}}, -% langswedish = {{}{}},% FIXME: missing - fromamerican = {{fra amerikansk}{fra amerikansk}}, -% frombrazilian = {{}{}},% FIXME: missing -% fromcatalan = {{}{}},% FIXME: missing -% fromcroatian = {{}{}},% FIXME: missing -% fromczech = {{}{}},% FIXME: missing -% fromdanish = {{}{}},% FIXME: missing -% fromdutch = {{}{}},% FIXME: missing + langswedish = {{svensk}{svensk}}, + fromamerican = {{fra amerikansk-engelsk}{fra amerikansk-engelsk}}, + frombrazilian = {{fra brasiliansk-portugisisk}{fra brasiliansk-portugisisk}}, + fromcatalan = {{fra catalansk}{fra catalansk}}, + fromcroatian = {{fra kroatisk}{fra kroatisk}}, + fromczech = {{fra tjekkisk}{fra tjekkisk}}, + fromdanish = {{fra dansk}{fra dansk}}, + fromdutch = {{fra nederlandsk}{fra nederlandsk}}, fromenglish = {{fra engelsk}{fra engelsk}}, -% fromfinnish = {{}{}},% FIXME: missing + fromfinnish = {{fra finsk}{fra finsk}}, fromfrench = {{fra fransk}{fra fransk}}, fromgerman = {{fra tysk}{fra tysk}}, fromgreek = {{fra gr\ae sk}{fra gr\ae sk}}, fromitalian = {{fra italiensk}{fra italiensk}}, fromlatin = {{fra latin}{fra latin}}, fromnorwegian = {{fra norsk}{fra norsk}}, -% frompolish = {{}{}},% FIXME: missing -% fromportuguese = {{}{}},% FIXME: missing -% fromrussian = {{}{}},% FIXME: missing -% fromslovene = {{}{}},% FIXME: missing + frompolish = {{fra polsk}{fra polsk}}, + fromportuguese = {{fra portugisisk}{fra portugisisk}}, + fromrussian = {{fra russisk}{fra russisk}}, + fromslovene = {{fra slovensk}{fra slovensk}}, fromspanish = {{fra spansk}{fra spansk}}, -% fromswedish = {{}{}},% FIXME: missing + fromswedish = {{fra svensk}{fra svensk}}, countryde = {{Tyskland}{DE}}, countryeu = {{Europ\ae iske Union}{EU}}, countryep = {{Europ\ae iske Union}{EP}}, @@ -392,10 +460,12 @@ patreqfr = {{ans\o gning om fransk patent}{fra\adddot\ pat\adddot\ ans\o gn\adddot}}, patrequk = {{ans\o gning om britisk patent}{britisk pat\adddot\ ans\o gn\adddot}}, patrequs = {{ans\o gning om amerikansk patent}{am\adddot pat\adddot\ ans\o gn\adddot}}, -% file = {{}{}},% FIXME: missing -% library = {{}{}},% FIXME: missing -% abstract = {{}{}},% FIXME: missing -% annotation = {{}{}},% FIXME: missing + file = {{fil}{fil}}, + library = {{bibliotek}{bibliotek}}, + abstract = {{resum\'{e}}{resum\'{e}}}, +% alternative translation: +% abstract = {{abstract}{abstract}}, + annotation = {{forklaring}{forklaring}}, } \endinput diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx index b795becbc5b..0dee39d8496 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/dutch.lbx @@ -328,7 +328,7 @@ translationof = {{vertaling van}{vert\adddotspace van}}, translationas = {{vertaald als}{vert\adddotspace als}}, translationfrom = {{vertaald van}{vert\adddotspace van}}, - reviewof = {{bespreking van}{bespr\addotspace van}}, + reviewof = {{bespreking van}{bespr\adddotspace van}}, origpubas = {{oorspronkelijk gepubliceerd als}{oorspr\addotspace gep\addotspace als}}, origpubin = {{oorspronkelijk gepubliceerd in}{oorspr\addotspace gep\addotspace in}}, astitle = {{als}{als}},% FIXME: check diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx index 73b5108ba31..74336b003a9 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/french.lbx @@ -509,7 +509,7 @@ \begingroup \def\forceD##1{a\relax}% \def\forceDE##1{x\relax}% - \def\do##1{\let##1\@empty}% + \def\do##1{\let##1\@firstofone}% \abx@dosingleaccents \abx@dodoubleaccents \def\i{i}\def\j{j}% @@ -526,7 +526,7 @@ \let~\@empty \fi \let\protect\noexpand - \lowercase{\edef\lbx@tempa{#1}}% + \edef\lbx@tempa{#1}% \expandafter\futurelet \expandafter\lbx@tempa \expandafter\lbx@fr@smartof@ii @@ -537,23 +537,31 @@ \def\lbx@tempa##1{\futurelet\lbx@tempa\lbx@fr@smartof@ii##1}% \else\ifcat\noexpand~\noexpand\lbx@tempa \def\lbx@tempa##1{\futurelet\lbx@tempa\lbx@fr@smartof@ii}% - \else\if a\noexpand\lbx@tempa - \let\lbx@tempa\lbx@fr@smartof@d - \else\if e\noexpand\lbx@tempa - \let\lbx@tempa\lbx@fr@smartof@d - \else\if i\noexpand\lbx@tempa - \let\lbx@tempa\lbx@fr@smartof@d - \else\if o\noexpand\lbx@tempa - \let\lbx@tempa\lbx@fr@smartof@d - \else\if u\noexpand\lbx@tempa - \let\lbx@tempa\lbx@fr@smartof@d - \else\if y\noexpand\lbx@tempa + \else + \ifnum 0% + \if a\noexpand\lbx@tempa 1\fi + \if e\noexpand\lbx@tempa 1\fi + \if i\noexpand\lbx@tempa 1\fi + \if o\noexpand\lbx@tempa 1\fi + \if u\noexpand\lbx@tempa 1\fi + \if y\noexpand\lbx@tempa 1\fi + \if A\noexpand\lbx@tempa 1\fi + \if E\noexpand\lbx@tempa 1\fi + \if I\noexpand\lbx@tempa 1\fi + \if O\noexpand\lbx@tempa 1\fi + \if U\noexpand\lbx@tempa 1\fi + \if Y\noexpand\lbx@tempa 1\fi + >0 % \let\lbx@tempa\lbx@fr@smartof@d - \else\if h\noexpand\lbx@tempa + \else + \ifnum 0% + \if h\noexpand\lbx@tempa 1\fi + \if H\noexpand\lbx@tempa 1\fi + >0 % \def\lbx@tempa##1{\futurelet\lbx@tempa\lbx@fr@smartof@ii}% \else \let\lbx@tempa\lbx@fr@smartof@de - \fi\fi\fi\fi\fi\fi\fi\fi\fi + \fi\fi\fi\fi \lbx@tempa} \gdef\lbx@fr@smartof@d#1&{\endgroup d'} diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx index 16a89071084..bb47c740d58 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/greek.lbx @@ -255,17 +255,17 @@ {μτφρ., επισημ\adddot\ και επίλ\adddot}}, byauthor = {{υπό}{υπό}}, byeditor = {{επιμέλεια υπό}{επιμέλεια υπό}}, - bycompiler = {{σύνταξη υπό}{σύνταξη υπό}} + bycompiler = {{σύνταξη υπό}{σύνταξη υπό}}, byredactor = {{σύνταξη υπό}{σύναταξη υπό}}, % byreviser = {{}{}},% FIXME: missing % byreviewer = {{}{}},% FIXME: missing - byfounder = {{αρχική δημιουργία από}{αρχική δημιουργία από}} - bycontinuator = {{συνέχεια από}{συνέχεια από}} - bycollaborator = {{συνεργασία από}{συνεργασία από}} + byfounder = {{αρχική δημιουργία από}{αρχική δημιουργία από}}, + bycontinuator = {{συνέχεια από}{συνέχεια από}}, + bycollaborator = {{συνεργασία από}{συνεργασία από}}, bytranslator = {{μετάφραση \lbx@lfromlang\ υπό}{μετάφραση \lbx@sfromlang\ υπό}}, bycommentator = {{υπομνηματισμός υπό}{υπομνηματισμός υπό}}, byannotator = {{υπομνηματισμός υπό}{υπομνηματισμός υπό}}, - withcommentator = {{υπομνηματισμός υπό}{υπομνηματισμός υπό}} + withcommentator = {{υπομνηματισμός υπό}{υπομνηματισμός υπό}}, withannotator = {{υπομνηματισμός υπό}{υπομνηματισμός υπό}}, withintroduction = {{εισαγωγή υπό}{εισαγωγή υπό}}, withforeword = {{πρόλογος υπό}{πρόλογος υπό}}, @@ -425,7 +425,7 @@ dateoctober = {{Οκτωβρίου}{Οκτ\adddot}}, datenovember = {{Νοεμβρίου}{Νοέ\adddot}}, datedecember = {{Δεκεμβρίου}{Δεκ\adddot}}, - langamerican = {{Αγγλικά}{Αγγλικά}} + langamerican = {{Αγγλικά}{Αγγλικά}}, langbrazilian = {{Βραζιλιάνικα}{Βραζιλιάνικα}}, % langcatalan = {{}{}},% FIXME: missing % langcroatian = {{}{}},% FIXME: missing diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx index 5ec05897c76..8058bcf86e7 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/portuguese.lbx @@ -361,7 +361,7 @@ % inpreparation = {{}{}},% FIXME: missing submitted = {{submetido}{subm\adddot}}, % forthcoming = {{}{}},% FIXME: missing - inpress = {{na imprensa}{na imp\addot}}, + inpress = {{na imprensa}{na imp\adddot}}, % prepublished = {{}{}},% FIXME: missing citedas = {{doravante citado como}{doravante citado como}}, seenote = {{ver nota}{ver nota}}, diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx index 20cf7a699cd..600160692a5 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/spanish.lbx @@ -63,249 +63,249 @@ bibliography = {{Bibliograf\'{\i}a}{Bibliograf\'{\i}a}}, references = {{Referencias}{Referencias}}, shorthands = {{Lista de abreviaturas}{Abreviaturas}}, - editor = {{editor}{ed\adddot}}, - editors = {{editores}{eds\adddot}}, -% compiler = {{}{}},% FIXME: missing -% compilers = {{}{}},% FIXME: missing - redactor = {{revisor}{rev\adddot}}, - redactors = {{revisores}{revs\adddot}}, - reviser = {{revisor}{rev\adddot}}, - revisers = {{revisores}{revs\adddot}}, -% founder = {{}{}},% FIXME: missing -% founders = {{}{}},% FIXME: missing -% continuator = {{}{}},% FIXME: missing -% continuators = {{}{}},% FIXME: missing -% collaborator = {{}{}},% FIXME: missing -% collaborators = {{}{}},% FIXME: missing - translator = {{traductor}{trad\adddot}}, - translators = {{traductores}{trads\adddot}}, -% commentator = {{}{}},% FIXME: missing -% commentators = {{}{}},% FIXME: missing -% annotator = {{}{}},% FIXME: missing -% annotators = {{}{}},% FIXME: missing + editor = {{edic\'{\i}on}{ed\adddot}}, %% {edic'{\i}on} instead of {editor} or {editora} + editors = {{edic\'{\i}on}{eds\adddot}}, %% {edic'{\i}on} instead of {editores} or {editoras} + compiler = {{compilaci\'{o}n}{comp\adddot}}, %% {compilac\'{\i}on} instead of {compilador} or {compiladora} + compilers = {{compilaci\'{o}n}{comps\adddot}}, %% {compilac\'{\i}on} instead of {compiladores} or {compiladoras} + redactor = {{redacci\'{o}n}{red\adddot}}, %% {redacc\'{\i}on} instead of {redactor} or {redactora} + redactors = {{redacci\'{o}n}{reds\adddot}}, %% {redacc\'{\i}on} instead of {redactores} or {redactoras} + reviser = {{revisi\'{o}n}{rev\adddot}}, %% {revisi\'{\i}on} instead of {revisor} or {revisora} + revisers = {{revisi\'{o}n}{revs\adddot}}, %% {revisi\'{\i}on} instead of {revisores} or {revisoras} + founder = {{fundaci\'{o}n}{fund\adddot}}, %% {fundaci\'{o}n} instead of {fundador} or {fundadora} + founders = {{fundaci\'{o}n}{funds\adddot}}, %% {fundaci\'{o}n} instead of {fundadores} or {fundadoras} + continuator = {{continuaci\'{o}n}{cont\adddot}}, %% {continuaci\'{o}n} instead of {continuador} or {continuadora} + continuators = {{continuaci\'{o}n}{conts\adddot}}, %% {continuaci\'{o}n} instead of {continuadores} or {continuadoras} + collaborator = {{colaboraci\'{o}n}{colab\adddot}}, %% {colaboraci\'{o}n} instead of {colaborador} or {colaboradora} + collaborators = {{colaboraci\'{o}n}{colabs\adddot}}, %% {colaboraci\'{o}n} instead of {colaboradores} or {colaboradoras} + translator = {{traducci\'{o}n \lbx@sfromlang}{trad\adddot \lbx@sfromlang}}, %% {traducci\'{o}n} instead of {traductor} or {traductora} + translators = {{traducci\'{o}n \lbx@sfromlang}{trads\adddot \lbx@sfromlang}}, %% {traducci\'{o}n} instead of {traductores} or {traductoras} + commentator = {{comentario}{com\adddot}}, %% {comentario} instead of {comentador} or {comentadora} + commentators = {{comentarios}{coms\adddot}}, %% {comentarios} instead of {comentadores} or {comentadoras} + annotator = {{anotaciones}{anot\adddot}}, %% {anotaciones instead of {anotador} or {anotadora} + annotators = {{anotaciones}{anots\adddot}}, %% {anotaciones} instead of {anotadores} or {anotadoras} commentary = {{comentario}{com\adddot}}, annotations = {{notas}{notas}}, - introduction = {{introduci\'on}{introd\adddot}}, + introduction = {{introduci\'on}{intr\adddot}}, foreword = {{pr\'ologo}{pr\'ol\adddot}}, afterword = {{ep\'{\i}logo}{ep\'{\i}l\adddot}}, -% editortr = {{}{}},% FIXME: missing -% editorstr = {{}{}},% FIXME: missing -% editorco = {{}{}},% FIXME: missing -% editorsco = {{}{}},% FIXME: missing -% editoran = {{}{}},% FIXME: missing -% editorsan = {{}{}},% FIXME: missing -% editorin = {{}{}},% FIXME: missing -% editorsin = {{}{}},% FIXME: missing -% editorfo = {{}{}},% FIXME: missing -% editorsfo = {{}{}},% FIXME: missing -% editoraf = {{}{}},% FIXME: missing -% editorsaf = {{}{}},% FIXME: missing -% editortrco = {{}{}},% FIXME: missing -% editorstrco = {{}{}},% FIXME: missing -% editortran = {{}{}},% FIXME: missing -% editorstran = {{}{}},% FIXME: missing -% editortrin = {{}{}},% FIXME: missing -% editorstrin = {{}{}},% FIXME: missing -% editortrfo = {{}{}},% FIXME: missing -% editorstrfo = {{}{}},% FIXME: missing -% editortraf = {{}{}},% FIXME: missing -% editorstraf = {{}{}},% FIXME: missing -% editorcoin = {{}{}},% FIXME: missing -% editorscoin = {{}{}},% FIXME: missing -% editorcofo = {{}{}},% FIXME: missing -% editorscofo = {{}{}},% FIXME: missing -% editorcoaf = {{}{}},% FIXME: missing -% editorscoaf = {{}{}},% FIXME: missing -% editoranin = {{}{}},% FIXME: missing -% editorsanin = {{}{}},% FIXME: missing -% editoranfo = {{}{}},% FIXME: missing -% editorsanfo = {{}{}},% FIXME: missing -% editoranaf = {{}{}},% FIXME: missing -% editorsanaf = {{}{}},% FIXME: missing -% editortrcoin = {{}{}},% FIXME: missing -% editorstrcoin = {{}{}},% FIXME: missing -% editortrcofo = {{}{}},% FIXME: missing -% editorstrcofo = {{}{}},% FIXME: missing -% editortrcoaf = {{}{}},% FIXME: missing -% editorstrcoaf = {{}{}},% FIXME: missing -% editortranin = {{}{}},% FIXME: missing -% editorstranin = {{}{}},% FIXME: missing -% editortranfo = {{}{}},% FIXME: missing -% editorstranfo = {{}{}},% FIXME: missing -% editortranaf = {{}{}},% FIXME: missing -% editorstranaf = {{}{}},% FIXME: missing -% translatorco = {{}{}},% FIXME: missing -% translatorsco = {{}{}},% FIXME: missing -% translatoran = {{}{}},% FIXME: missing -% translatorsan = {{}{}},% FIXME: missing -% translatorin = {{}{}},% FIXME: missing -% translatorsin = {{}{}},% FIXME: missing -% translatorfo = {{}{}},% FIXME: missing -% translatorsfo = {{}{}},% FIXME: missing -% translatoraf = {{}{}},% FIXME: missing -% translatorsaf = {{}{}},% FIXME: missing -% translatorcoin = {{}{}},% FIXME: missing -% translatorscoin = {{}{}},% FIXME: missing -% translatorcofo = {{}{}},% FIXME: missing -% translatorscofo = {{}{}},% FIXME: missing -% translatorcoaf = {{}{}},% FIXME: missing -% translatorscoaf = {{}{}},% FIXME: missing -% translatoranin = {{}{}},% FIXME: missing -% translatorsanin = {{}{}},% FIXME: missing -% translatoranfo = {{}{}},% FIXME: missing -% translatorsanfo = {{}{}},% FIXME: missing -% translatoranaf = {{}{}},% FIXME: missing -% translatorsanaf = {{}{}},% FIXME: missing + editortr = {{edici\'{o}n y traducc'{\i}on \lbx@sfromlang}{ed\adddotspace y trad\adddotspace \lbx@sfromlang}}, %% {{edici\'{o}n y traducc'{\i}on} instead of {editor y traductor} or {editora y traductora} + editorstr = {{edici\'{o}n y traducc'{\i}on \lbx@sfromlang}{eds\adddotspace y trads\adddotspace \lbx@sfromlang}}, %% {{edici\'{o}n y traducc'{\i}on} instead of {editores y traductores} or {editoras y traductoras} + editorco = {{edici\'{o}n y comentario}{ed\adddotspace y com\adddot}}, %% {edici\'{o}n y comentario} instead of {editor y comentador} or {editora y comentadora} + editorsco = {{edici\'{o}n y comentarios}{eds\adddotspace y coms\adddot}}, %% {edici\'{o}n y comentarios} instead of {editores y comentadores} or {editoras y comentadoras} + editoran = {{edici\'{o}n y notas}{ed\adddotspace y anot\adddot}}, %% {edici\'{o}n y notas} instead of {editor y notas} or {editora y notas} + editorsan = {{edici\'{o}n y notas}{eds\adddotspace y anot\adddot}}, %% {edici\'{o}n y notas} instead of {editores y notas} or {editoras y notas} + editorin = {{edici\'{o}n e introducci\'{o}n}{ed\adddotspace e intr\adddot}}, %% {edici\'{o}n e introducci\'{o}n} instead of {editor e introducci\'{o}n} or {editora e introducci\'{o}n} + editorsin = {{edici\'{o}n e introducci\'{o}n}{eds\adddotspace e intr\adddot}}, %% {edici\'{o}n e introducci\'{o}n} instead of {editores e introducci\'{o}n} or {editoras e introducci\'{o}n} + editorfo = {{edici\'{o}n y pr\'{o}logo}{ed\adddotspace y pr\'{o}l\adddot}}, %% {edici\'{o}n y pr\'{o}logo} instead of {editor y pr\'{o}logo} or {editora y pr\'{o}logo} + editorsfo = {{edici\'{o}n y pr\'{o}logo}{eds\adddotspace y pr\'{o}l\adddot}}, %% {edici\'{o}n y pr\'{o}logo} instead of {editores y pr\'{o}logo} or {editoras y pr\'{o}logo} + editoraf = {{edici\'{o}n y ep\'{\i}logo}{ed\adddotspace y ep\'{\i}l\adddot}}, %% {edici\'{o}n y ep\'{\i}l\ogo} instead of {editor y ep\'{\i}l\ogo} or {editora y ep\'{\i}l\ogo} + editorsaf = {{edici\'{o}n y ep\'{\i}logo}{eds\adddotspace y ep\'{\i}l\adddot}}, %% {edici\'{o}n y ep\'{\i}l\ogo} instead of {editores y ep\'{\i}l\ogo} or {editoras y ep\'{\i}l\ogo} + editortrco = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang y comentario}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang y com\adddot}}, %% {edici\'{o}n, traducc'{\i}on \lbx@sfromlang y comentarios} instead of {editor, traductor y comentarios} or {editora, traductora y comentarios} + editorstrco = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang y comentarios}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang y coms\adddot}}, %% {edici\'{o}n, traducc'{\i}on \lbx@sfromlang y comentarios} instead of {editores, traductores y comentarios} or {editoras, traductoras y comentarios} + editortran = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang y notas}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang y anot\adddot}}, %% {edici\'{o}n, traducc'{\i}on \lbx@sfromlang y notas} instead of {editor, traductor y notas} or {editora, traductora y notas} + editorstran = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang y notas}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang y anot\adddot}}, %% {edici\'{o}n, traducc'{\i}on \lbx@sfromlang y notas} instead of {editores, traductores y notas} or {editoras, traductoras y notas} + editortrin = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang e introducci\'{o}n}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang e intr\adddot}}, %% {edici\'{o}n, traducc'{\i}on \lbx@sfromlang e introducci\'{o}n} instead of {editor, traductor e introducci\'{o}n} or {editora, traductora e introducci\'{o}n} + editorstrin = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang e introducci\'{o}n}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang e intr\adddot}}, %% {edici\'{o}n, traducc'{\i}on \lbx@sfromlang e introducci\'{o}n} instead of {editores, traductores e introducci\'{o}n} or {editoras, traductoras e introducci\'{o}n} + editortrfo = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang y pr\'{o}logo}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang y pr\'{o}l\adddot}}, %% {edici\'{o}n, traducc'{\i}on \lbx@sfromlang y pr\'{o}logo} instead of {editor, traductor y prologuista} or {editora, traductora y prologuista} + editorstrfo = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang y pr\'{o}logo}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang y pr\'{o}l\adddot}}, %% {edici\'{o}n, traducc'{\i}on \lbx@sfromlang y pr\'{o}logo} instead of {editores, traductores y prologuista} or {editoras, traductoras y prologuistas} + editortraf = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang y ep\'{\i}logo}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang y ep\'{\i}l\adddot}}, %% {edici\'{o}n, traducc'{\i}on \lbx@sfromlang y ep\'{\i}logo} instead of {editor, traductor y ep\'{\i}logo} or {editora, traductora y ep\'{\i}logo} + editorstraf = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang y ep\'{\i}logo}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang y ep\'{\i}l\adddot}}, %% {edici\'{o}n, traducc'{\i}on \lbx@sfromlang y ep\'{\i}logo} instead of {editores, traductores y ep\'{\i}logo} or {editoras, traductoras y ep\'{\i}logo} + editorcoin = {{edici\'{o}n, comentarios e introducci\'{o}n}{ed.,\addabbrvspace com\adddot e intr\adddot}}, %% {edici\'{o}n, comentarios e introducci\'{o}n} instead of {editor, comentador e introducci\'{o}n} or {editora, comentadora e introducci\'{o}n} + editorscoin = {{edici\'{o}n, comentarios e introducci\'{o}n}{eds.,\addabbrvspace coms\adddot e intr\adddot}}, %% {edici\'{o}n, comentarios e introducci\'{o}n} instead of {editores, comentadores e introducci\'{o}n} or {editoras, comentadoras e introducci\'{o}n} + editorcofo = {{edici\'{o}n, comentarios y pr\'{o}logo}{ed.,\addabbrvspace com\adddot y pr\'{o}l\adddot}}, %% {edici\'{o}n, comentarios y pr\'{o}logo} instead of {editor, comentador y pr\'{o}logo} or {editora, comentadora y pr\'{o}logo} + editorscofo = {{edici\'{o}n, comentarios y pr\'{o}logo}{eds.,\addabbrvspace coms\adddot y pr\'{o}l\adddot}}, %% {edici\'{o}n, comentarios y pr\'{o}logo} instead of {editores, comentadores y pr\'{o}logo} or {editoras, comentadoras y pr\'{o}logo} + editorcoaf = {{edici\'{o}n, comentarios y ep\'{\i}logo}{eds.,\addabbrvspace com\adddot y ep\'{\i}l\adddot}}, %% {edici\'{o}n, comentarios y ep\'{\i}logo} instead of {editor, comentador y ep\'{\i}logo} or {editora, comentadora y ep\'{\i}logo} + editorscoaf = {{edici\'{o}n, comentarios y ep\'{\i}logo}{eds.,\addabbrvspace coms\adddot y ep\'{\i}l\adddot}}, %% {edici\'{o}n, comentarios y ep\'{\i}logo} instead of {editores, comentadores y ep\'{\i}logo} or {editoras, comentadoras y ep\'{\i}logo} + editoranin = {{edici\'{o}n, notas e introducci\'{o}n}{ed.,\addabbrvspace anot\adddot e intr\adddot}}, %% {{edici\'{o}n, notas e introducci\'{o}n} instead of {editor, notas e introducci\'{o}n} or {editora, notas e introducci\'{o}n} + editorsanin = {{edici\'{o}n, notas e introducci\'{o}n}{eds.,\addabbrvspace anot\adddot e intr\adddot}}, %% {{edici\'{o}n, notas e introducci\'{o}n} instead of {editor, notas e introducci\'{o}n} or {editora, notas e introducci\'{o}n} + editoranfo = {{edici\'{o}n, notas y pr\'{o}logo}{ed.,\addabbrvspace anot\adddot y ep\'{\i}l\adddot}}, %% {{edici\'{o}n, notas y pr\'{o}logo} instead of {editor, notas y pr\'{o}logo} or {editora, notas y pr\'{o}logo} + editorsanfo = {{edici\'{o}n, notas y pr\'{o}logo}{eds.,\addabbrvspace anot\adddot y ep\'{\i}l\adddot}}, %% {{edici\'{o}n, notas y pr\'{o}logo} instead of {editores, notas y pr\'{o}logo} or {editoras, notas y pr\'{o}logo} + editoranaf = {{edici\'{o}n, notas y ep\'{\i}logo}{ed.,\addabbrvspace anot\adddot y ep\'{\i}l\adddot}}, %% {{edici\'{o}n, notas y ep\'{\i}logo} instead of {editor, notas y ep\'{\i}logo} or {editora, notas y ep\'{\i}logo} + editorsanaf = {{edici\'{o}n, notas y ep\'{\i}logo}{eds.,\addabbrvspace anot\adddot y ep\'{\i}l\adddot}}, %% {{edici\'{o}n, notas y ep\'{\i}logo} instead of {editores, notas y ep\'{\i}logo} or {editoras, notas y ep\'{\i}logo} + editortrcoin = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios e introducci\'{o}n}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, com\adddot e intr\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios e introducci\'{o}n} instead of {editor, traducc\'{\i}on \lbx@sfromlang, comentarios e introducci\'{o}n} or {editora, traducc\'{\i}on \lbx@sfromlang, comentarios e introducci\'{o}n} + editorstrcoin = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios e introducci\'{o}n}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang, coms\adddot e intr\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios e introducci\'{o}n} instead of {editores, traducc\'{\i}on \lbx@sfromlang, comentarios e introducci\'{o}n} or {editoras, traducc\'{\i}on \lbx@sfromlang, comentarios e introducci\'{o}n} + editortrcofo = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios y pr\'{o}logo}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, com\adddot y pr\'{o}l\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios y pr\'{o}logo} instead of {editor, traducc\'{\i}on \lbx@sfromlang, comentarios y pr\'{o}logo} or {editora, traducc\'{\i}on \lbx@sfromlang, comentarios y pr\'{o}logo} + editorstrcofo = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios y pr\'{o}logo}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang, coms\adddot y pr\'{o}l\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios y pr\'{o}logo} instead of {editores, traducc\'{\i}on \lbx@sfromlang, comentarios y pr\'{o}logo} or {editoras, traducc\'{\i}on \lbx@sfromlang, comentarios y pr\'{o}logo} + editortrcoaf = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios y ep\'{\i}logo}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, com\adddot y ep\'{\i}l\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios y ep\'{\i}logo} instead of {editor, traducc\'{\i}on \lbx@sfromlang, comentarios y ep\'{\i}logo} or {editora, traducc\'{\i}on \lbx@sfromlang, comentarios y ep\'{\i}logo} + editorstrcoaf = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios y ep\'{\i}logo}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang, coms\adddot y ep\'{\i}l\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, comentarios y ep\'{\i}logo} instead of {editor, traducc\'{\i}on \lbx@sfromlang, comentarios y ep\'{\i}logo} or {editora, traducc\'{\i}on \lbx@sfromlang, comentarios y ep\'{\i}logo} + editortranin = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, intr\adddot y anot\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas} instead of {{editor, traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas} or {{editora, traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas} + editorstranin = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang, intr\adddot y anot\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas} instead of {{editores, traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas} or {{editoras, traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas} + editortranfo = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, pr\'{o}l\adddot y anot\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas} instead of {editor, traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas} or {editora, traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas} + editorstranfo = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang, pr\'{o}l\adddot y anot\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas} instead of {editores, traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas} or {editoras, traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas} + editortranaf = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas}{ed.,\addabbrvspace trad\adddotspace \lbx@sfromlang, ep\'{\i}l\adddot y anot\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas} instead of {editor, traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas} or {editora, traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas} + editorstranaf = {{edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas}{eds.,\addabbrvspace trads\adddotspace \lbx@sfromlang, ep\'{\i}l\adddot y anot\adddot}}, %% {edici\'{o}n, traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas} instead of {editores, traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas} or {editoras, traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas} + translatorco = {{traducc\'{\i}on \lbx@sfromlang y comentario}{trad\adddotspace \lbx@sfromlang\ y com\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang y comentario} instead of {traductor y comentador} or {traductora y comentadora} + translatorsco = {{traducc\'{\i}on \lbx@sfromlang y comentario}{trads\adddotspace \lbx@sfromlang\ y coms\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang y comentario} instead of {traductores y comentadores} or {traductoras y comentadoras} + translatoran = {{traducc\'{\i}on \lbx@sfromlang y notas}{trad\adddotspace \lbx@sfromlang\ y anot\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang y notas} instead of {traductor y anotador} or {traductora y anotadora} + translatorsan = {{traducc\'{\i}on \lbx@sfromlang y notas}{trads\adddotspace \lbx@sfromlang\ y anots\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang y notas} instead of {traductores y anotadores} or {traductoras y anotadoras} + translatorin = {{traducc\'{\i}on \lbx@sfromlang e introducci\'{o}n}{trad\adddotspace \lbx@sfromlang\ e intr\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang e introducci\'{o}n} instead of {traductor \lbx@sfromlang e introducci\'{o}n} {traductora \lbx@sfromlang e introducci\'{o}n} + translatorsin = {{traducc\'{\i}on \lbx@sfromlang e introducci\'{o}n}{trads\adddotspace \lbx@sfromlang\ e intr\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang e introducci\'{o}n} instead of {traductores \lbx@sfromlang e introducci\'{o}n} {traductoras \lbx@sfromlang e introducci\'{o}n} + translatorfo = {{traducc\'{\i}on \lbx@sfromlang y pr\'{o}logo}{trad\adddotspace \lbx@sfromlang\ y pr\'{o}l\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang y pr\'{o}logo} instead of {traductor \lbx@sfromlang y prologuista} or {traductora \lbx@sfromlang y prologuista} + translatorsfo = {{traducc\'{\i}on \lbx@sfromlang y pr\'{o}logo}{trads\adddotspace \lbx@sfromlang\ y pr\'{o}l\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang y pr\'{o}logo} instead of {traductores \lbx@sfromlang y prologuistas} or {traductoras \lbx@sfromlang y prologuistas} + translatoraf = {{traducc\'{\i}on \lbx@sfromlang y ep\'{\i}logo}{trad\adddotspace \lbx@sfromlang\ y ep\'{\i}l\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang y ep\'{\i}logo} instead of {traductor \lbx@sfromlang y epiloguista} or {traductora \lbx@sfromlang y epiloguista} + translatorsaf = {{traducc\'{\i}on \lbx@sfromlang y ep\'{\i}logo}{trads\adddotspace \lbx@sfromlang\ y ep\'{\i}l\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang y ep\'{\i}logo} instead of {traductores \lbx@sfromlang y epiloguistas} or {traductoras \lbx@sfromlang y epiloguistas} + translatorcoin = {{traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y comentario}{trad\adddotspace \lbx@sfromlang, intr\addot y com\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y comentario} instead of {traductor \lbx@sfromlang, introducci\'{o}n y comentario} or {traductora \lbx@sfromlang, introducci\'{o}n y comentario} + translatorscoin = {{traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y comentarios}{trads\adddotspace \lbx@sfromlang, intr\addot y coms\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y comentarios} instead of {traductores \lbx@sfromlang, introducci\'{o}n y comentarios} or {traductoras \lbx@sfromlang, introducci\'{o}n y comentarios} + translatorcofo = {{traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y comentario}{trad\adddotspace \lbx@sfromlang, pr\'{o}l\addot y com\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y comentario} instead of {traductor \lbx@sfromlang, pr\'{o}logo y comentario} or {traductora \lbx@sfromlang, pr\'{o}logo y comentario} + translatorscofo = {{traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y comentarios}{trads\adddotspace \lbx@sfromlang, pr\'{o}l\addot y coms\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y comentarios} instead of {traductores \lbx@sfromlang, pr\'{o}logo y comentarios} or {traductoras \lbx@sfromlang, pr\'{o}logo y comentarios} + translatorcoaf = {{traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y comentario}{trad\adddotspace \lbx@sfromlang, ep\'{\i}l\addot y com\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y comentarios} instead of {traductor \lbx@sfromlang, ep\'{\i}logo y comentario} or {traductora \lbx@sfromlang, ep\'{\i}logo y comentario} + translatorscoaf = {{traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y comentarios}{trads\adddotspace \lbx@sfromlang, ep\'{\i}l\addot y coms\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y comentarios} instead of {traductores \lbx@sfromlang, ep\'{\i}logo y comentarios} or {traductoras \lbx@sfromlang, ep\'{\i}logo y comentarios} + translatoranin = {{traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas}{trad\adddotspace \lbx@sfromlang, intr\addot y anot\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas} instead of {traductor \lbx@sfromlang, introducci\'{o}n y notas} or {traductora \lbx@sfromlang, introducci\'{o}n y notas} + translatorsanin = {{traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas}{trads\adddotspace \lbx@sfromlang, intr\addot y anot\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, introducci\'{o}n y notas} instead of {traductores \lbx@sfromlang, introducci\'{o}n y notas} or {traductoras \lbx@sfromlang, introducci\'{o}n y notas} + translatoranfo = {{traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas}{trad\adddotspace \lbx@sfromlang, pr\'{o}l\addot y anot\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas} instead of {traductor \lbx@sfromlang, pr\'{o}logo y notas} or {traductora \lbx@sfromlang, pr\'{o}logo y notas} + translatorsanfo = {{traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas}{trads\adddotspace \lbx@sfromlang, pr\'{o}l\addot y anot\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, pr\'{o}logo y notas} instead of {traductores \lbx@sfromlang, pr\'{o}logo y notas} or {traductoras \lbx@sfromlang, pr\'{o}logo y notas} + translatoranaf = {{traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas}{trad\adddotspace \lbx@sfromlang, ep\'{\i}l\addot y anot\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas} instead of {traductor \lbx@sfromlang, ep\'{\i}logo y notas} or {traductora \lbx@sfromlang, ep\'{\i}logo y notas} + translatorsanaf = {{traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas}{trads\adddotspace \lbx@sfromlang, ep\'{\i}l\addot y anot\adddot}}, %% {traducc\'{\i}on \lbx@sfromlang, ep\'{\i}logo y notas} instead of {traductores \lbx@sfromlang, ep\'{\i}logo y notas} or {traductora \lbx@sfromlang, ep\'{\i}logo y notas} byauthor = {{de}{de}}, byeditor = {{editado por}{ed\adddotspace por}}, -% bycompiler = {{}{}},% FIXME: missing - byredactor = {{revisado por}{rev\adddotspace por}}, - byreviser = {{revisado por}{rev\adddotspace por}}, -% byreviewer = {{}{}},% FIXME: missing -% byfounder = {{}{}},% FIXME: missing -% bycontinuator = {{}{}},% FIXME: missing -% bycollaborator = {{}{}},% FIXME: missing - bytranslator = {{traducido \lbx@lfromlang\ por}{trad\adddot\ \lbx@sfromlang\ por}}, - bycommentator = {{comentado por}{com\adddot\ por}}, - byannotator = {{anotado por}{anot\adddot\ por}}, - withcommentator = {{con comentario de}{con com\adddot\ de}}, + bycompiler = {{compilado por}{comp\adddotspace por}}, + byredactor = {{redacción 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}}, + bycontinuator = {{continuado por}{cont\adddotspace por}}, + bycollaborator = {{colaboraci\'{o}n de}{col\adddotspace de}},% FIXME: unsure + bytranslator = {{traducido \lbx@lfromlang\ por}{trad\adddot \lbx@sfromlang\ por}}, + bycommentator = {{comentado por}{com\adddot por}}, + byannotator = {{anotado por}{anot\adddot por}}, + withcommentator = {{con comentario de}{con com\adddot de}}, withannotator = {{con notas de}{con notas de}}, - withintroduction = {{con introduci\'on de}{con introd\adddot\ de}}, - withforeword = {{con pr\'ologo de}{con pr\'ol\adddot\ de}}, - withafterword = {{con ep\'{\i}logo de}{con ep\'{\i}l\adddot\ de}}, + withintroduction = {{con introduci\'on de}{con intr\adddot de}}, + withforeword = {{con pr\'ologo de}{con pr\'ol\adddot de}}, + withafterword = {{con ep\'{\i}logo de}{con ep\'{\i}l\adddot de}}, byeditortr = {{editado y traducido \lbx@lfromlang\ por}% - {ed\adddotspace y trad\adddot\ \lbx@sfromlang\ por}}, + {ed\adddotspace y trad\adddot \lbx@sfromlang\ por}}, byeditorco = {{editado y comentado por}% - {ed\adddotspace y com\adddot\ por}}, + {ed\adddotspace y com\adddot por}}, byeditoran = {{editado y anotado por}% - {ed\adddotspace y anot\adddot\ por}}, + {ed\adddotspace y anot\adddot por}}, byeditorin = {{editado e introducido por}% - {ed\adddotspace e introd\adddot\ por}}, + {ed\adddotspace e intr\adddot por}}, byeditorfo = {{editado y prologado por}% - {ed\adddotspace y pr\'ol\adddot\ por}}, + {ed\adddotspace y pr\'ol\adddot por}}, byeditoraf = {{editado y epilogado por}% - {ed\adddotspace y epil\adddot\ por}}, + {ed\adddotspace y ep\'{\i}l\adddot por}}, byeditortrco = {{editado, traducido \lbx@lfromlang\ y comentado por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ y com\adddot\ por}}, + {ed.,\addabbrvspace trad\adddot \lbx@sfromlang\ y com\adddot por}}, byeditortran = {{editado, traducido \lbx@lfromlang\ y anotado por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ y anot\adddot\ por}}, + {ed.,\addabbrvspace trad\adddot \lbx@sfromlang\ y anot\adddot por}}, byeditortrin = {{editado, traducido \lbx@lfromlang\ e introducido por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ e introd\adddot\ por}}, + {ed.,\addabbrvspace trad\adddot \lbx@sfromlang\ e intr\adddot por}}, byeditortrfo = {{editado, traducido \lbx@lfromlang\ y prologado por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ y pr\'ol\adddot\ por}}, + {ed.,\addabbrvspace trad\adddot \lbx@sfromlang\ y pr\'ol\adddot por}}, byeditortraf = {{editado, traducido \lbx@lfromlang\ y epilogado por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang\ y epil\adddot\ por}}, + {ed.,\addabbrvspace trad\adddot \lbx@sfromlang\ y ep\'{\i}l\adddot por}}, byeditorcoin = {{editado, comentado e introducido por}% - {ed.,\addabbrvspace com\adddot\ e introd\adddot\ por}}, + {ed.,\addabbrvspace com\adddot e intr\adddot por}}, byeditorcofo = {{editado, comentado y prologado por}% - {ed.,\addabbrvspace com\adddot\ y pr\'ol\adddot\ por}}, + {ed.,\addabbrvspace com\adddot y pr\'ol\adddot por}}, byeditorcoaf = {{editado, comentado y epilogado por}% - {ed.,\addabbrvspace com\adddot\ y epil\adddot\ por}}, + {ed.,\addabbrvspace com\adddot y ep\'{\i}l\adddot por}}, byeditoranin = {{editado, anotado e introducido por}% - {ed.,\addabbrvspace anot\adddot\ e introd\adddot\ por}}, + {ed.,\addabbrvspace anot\adddot e intr\adddot por}}, byeditoranfo = {{editado, anotado y prologado por}% - {ed.,\addabbrvspace anot\adddot\ y pr\'ol\adddot\ por}}, + {ed.,\addabbrvspace anot\adddot y pr\'ol\adddot por}}, byeditoranaf = {{editado, anotado y epilogado por}% - {ed.,\addabbrvspace anot\adddot\ y epil\adddot\ por}}, + {ed.,\addabbrvspace anot\adddot y ep\'{\i}l\adddot por}}, byeditortrcoin = {{editado, traducido \lbx@lfromlang, comentado e introducido por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, com\adddot\ e introd\adddot\ por}}, + {ed.,\addabbrvspace trad\adddot \lbx@sfromlang, com\adddot e intr\adddot por}}, byeditortrcofo = {{editado, traducido \lbx@lfromlang, comentado y prologado por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, com\adddot\ y pr\'ol\adddot\ por}}, + {ed.,\addabbrvspace trad\adddot \lbx@sfromlang, com\adddot y pr\'ol\adddot por}}, byeditortrcoaf = {{editado, traducido \lbx@lfromlang, comentado y epilogado por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, com\adddot\ y epil\adddot\ por}}, + {ed.,\addabbrvspace trad\adddot \lbx@sfromlang, com\adddot y ep\'{\i}l\adddot por}}, byeditortranin = {{editado, traducido \lbx@lfromlang, anotado e introducido por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, anot\adddot\ e introd\adddot\ por}}, + {ed.,\addabbrvspace trad\adddot \lbx@sfromlang, anot\adddot e intr\adddot por}}, byeditortranfo = {{editado, traducido \lbx@lfromlang, anotado y prologado por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, anot\adddot\ y pr\'ol\adddot\ por}}, + {ed.,\addabbrvspace trad\adddot \lbx@sfromlang, anot\adddot y pr\'ol\adddot por}}, byeditortranaf = {{editado, traducido \lbx@lfromlang, anotado y epilogado por}% - {ed.,\addabbrvspace trad\adddot\ \lbx@sfromlang, anot\adddot\ y epil\adddot\ por}}, + {ed.,\addabbrvspace trad\adddot \lbx@sfromlang, anot\adddot y ep\'{\i}l\adddot por}}, bytranslatorco = {{traducido \lbx@lfromlang\ y comentado por}% - {trad\adddot\ \lbx@sfromlang\ y com\adddot\ por}}, + {trad\adddot \lbx@sfromlang\ y com\adddot por}}, bytranslatoran = {{traducido \lbx@lfromlang\ y anotado por}% - {trad\adddot\ \lbx@sfromlang\ y anot\adddot\ por}}, + {trad\adddot \lbx@sfromlang\ y anot\adddot por}}, bytranslatorin = {{traducido \lbx@lfromlang\ e introducido por}% - {trad\adddot\ \lbx@sfromlang\ e introd\adddot\ por}}, + {trad\adddot \lbx@sfromlang\ e introd\adddot por}}, bytranslatorfo = {{traducido \lbx@lfromlang\ y prologado por}% - {trad\adddot\ \lbx@sfromlang\ y pr\'ol\adddot\ por}}, + {trad\adddot \lbx@sfromlang\ y pr\'ol\adddot por}}, bytranslatoraf = {{traducido \lbx@lfromlang\ y epilogado por}% - {trad\adddot\ \lbx@sfromlang\ y epil\adddot\ por}}, + {trad\adddot \lbx@sfromlang\ y ep\'{\i}l\adddot por}}, bytranslatorcoin = {{traducido \lbx@lfromlang, comentado e introducido por}% - {trad\adddot\ \lbx@sfromlang, com\adddot\ e introd\adddot\ por}}, + {trad\adddot \lbx@sfromlang, com\adddot e intr\adddot por}}, bytranslatorcofo = {{traducido \lbx@lfromlang, comentado y prologado por}% - {trad\adddot\ \lbx@sfromlang, com\adddot\ y pr\'ol\adddot\ por}}, + {trad\adddot \lbx@sfromlang, com\adddot y pr\'ol\adddot por}}, bytranslatorcoaf = {{traducido \lbx@lfromlang, comentado y epilogado por}% - {trad\adddot\ \lbx@sfromlang, com\adddot\ y epil\adddot\ por}}, + {trad\adddot \lbx@sfromlang, com\adddot y ep\'{\i}l\adddot por}}, bytranslatoranin = {{traducido \lbx@lfromlang, anotado e introducido por}% - {trad\adddot\ \lbx@sfromlang, anot\adddot\ e introd\adddot\ por}}, + {trad\adddot \lbx@sfromlang, anot\adddot e intr\adddot por}}, bytranslatoranfo = {{traducido \lbx@lfromlang, anotado y prologado por}% - {trad\adddot\ \lbx@sfromlang, anot\adddot\ y pr\'ol\adddot\ por}}, + {trad\adddot \lbx@sfromlang, anot\adddot y pr\'ol\adddot por}}, bytranslatoranaf = {{traducido \lbx@lfromlang, anotado y epilogado por}% - {trad\adddot\ \lbx@sfromlang, anot\adddot\ y epil\adddot\ por}}, + {trad\adddot \lbx@sfromlang, anot\adddot y ep\'{\i}l\adddot por}}, and = {{y}{y}}, andothers = {{y~col\adddot}{y~col\adddot}}, -% andmore = {{}{}},% FIXME: missing + andmore = {{et\adddotspace al\adddot}{et\adddotspace al\adddot}}, volume = {{volumen}{vol\adddot}}, volumes = {{vol\'umenes}{vols\adddot}}, involumes = {{en}{en}}, jourvol = {{volumen}{vol\adddot}}, jourser = {{\'epoca}{\'ep\adddot}}, -% book = {{}{}},% FIXME: missing -% part = {{}{}},% FIXME: missing -% issue = {{}{}},% FIXME: missing - newseries = {{nueva \'epoca}{n\adddotspace\'ep\adddot}}, - oldseries = {{antigua \'epoca}{ant\adddotspace\'ep\adddot}}, + book = {{libro}{libro}}, + part = {{parte}{parte}}, + issue = {{n\'umero}{n\'um\adddot}},% FIXME: unsure + newseries = {{nueva \'epoca}{n\adddotspace 'ep\adddot}}, + oldseries = {{antigua \'epoca}{ant\adddotspace 'ep\adddot}}, edition = {{edici\'on}{ed\adddot}}, -% reprint = {{}{}},% FIXME: missing -% reprintof = {{}{}},% FIXME: missing -% reprintas = {{}{}},% FIXME: missing -% reprintfrom = {{}{}},% FIXME: missing -% reviewof = {{}{}},% FIXME: missing -% translationof = {{}{}},% FIXME: missing -% translationas = {{}{}},% FIXME: missing -% translationfrom = {{}{}},% FIXME: missing - origpubas = {{originalmente publicado como}{orig\adddotspace pub\adddotspace como}},% FIXME: check - origpubin = {{publicado originalmente en}{pub\adddot\ orig\adddot\ en}},% FIXME: check -% astitle = {{}{}},% FIXME: missing -% bypublisher = {{}{}},% FIXME: missing + reprint = {{reimpresi\'{o}}{reimp\adddot}}, + reprintof = {{reimpresi\'{o} de}{reimp\adddot de}}, + reprintas = {{reimpreso como}{reimp\adddot como}}, + reprintfrom = {{reimpresi\'{o} de}{reimp\adddotspace de}},% FIXME: unsure. What's the difference between reprintof and reprintfrom? + reviewof = {{rese\~{n}a de}{rese\~{n}a de}}, + translationof = {{traducci\'{o}n de}{trad\adddotspace de}}, + translationas = {{traducido como}{trad\adddotspace como}}, + translationfrom = {{traducido del}{trad\adddotspace del}},% FIXME: unsure. + origpubas = {{publicado originalmente como}{pub\adddotspace orig\adddotspace como}},% FIXME: check + origpubin = {{publicado originalmente en}{pub\adddot orig\adddot en}},% FIXME: check + astitle = {{con el t\'{\i}tulo}{con el t\'{\i}t\adddot}},% FIXME: check + bypublisher = {{por la editorial}{por la ed\adddot}}, page = {{p\'agina}{p\'ag\adddot}}, pages = {{p\'aginas}{p\'ags\adddot}}, column = {{columna}{col\adddot}}, columns = {{columnas}{cols\adddot}}, - line = {{l\'inea}{lin\adddot}},% FIXME: abbrev. unsure - lines = {{l\'ineas}{lins\adddot}},% FIXME: abbrev. unsure - nodate = {{sin\space fecha}{{}s\adddot f\adddot}}, - verse = {{verso}{ver\adddot}},% FIXME: abbrev. unsure - verses = {{versos}{vers\adddot}},% FIXME: abbrev. unsure -% section = {{}{\S}},% FIXME: missing -% sections = {{}{\S\S}},% FIXME: missing -% paragraph = {{}{}},% FIXME: missing -% paragraphs = {{}{}},% FIXME: missing + line = {{l\'{\i}nea}{l\adddot}},% FIXME: abbrev. unsure. There is no standard + lines = {{l\'{\i}neas}{ll\adddot}},% FIXME: abbrev. unsure. There is no standard + nodate = {{sin fecha}{{}s\adddot f\adddot}}, + verse = {{verso}{v\adddot}}, + verses = {{versos}{vv\adddot}}, + section = {{secci\'{o}}{sec\adddot}}, + sections = {{secciones}{secs\adddot}}, + paragraph = {{p\'{a}rrafo}{p\'{a}rr\adddot}}, + paragraphs = {{p\'{a}rrafos}{p\'{a}rrs\adddot}}, in = {{en}{en}}, inseries = {{en}{en}}, ofseries = {{de}{de}}, number = {{n\'umero}{n\sptext{o}}}, chapter = {{cap\'itulo}{cap\adddot}}, - mathesis = {{Tesis de licenciatura}{Tesis de lic\adddot}}, + mathesis = {{Tesis de maestr\'{\i}a}{Tesis de mtr\'{\i}a\adddot}}, phdthesis = {{Tesis doctoral}{Tesis doct\adddot}}, -% candthesis = {{}{}},% FIXME: missing -% resreport = {{}{}},% FIXME: missing + candthesis = {{Tesis de candidatura doctoral}{Tesis de cand\adddotspace doct\adddot}},% FIXME: unsure + resreport = {{reporte de investigaci\'{o}n}{rep\adddotspace de inv\adddot}},% FIXME: unsure techreport = {{informe t\'ecnico}{inf\adddotspace t\'ec\adddot}}, -% software = {{}{}},% FIXME: missing -% datacd = {{}{}},% FIXME: missing -% audiocd = {{}{}},% FIXME: missing - version = {{versi\'on}{versi\'on}}, + software = {{programa}{prog\adddot}}, + datacd = {{disco de datos}{CD de datos}},% FIXME: abbrev. unsure + audiocd = {{disco de audio}{CD de audio}},% FIXME: abbrev. unsure + version = {{versi\'on}{ver\adddot}}, url = {{direcci\'on}{direcci\'on}}, -% urlfrom = {{}{}},% FIXME: missing + urlfrom = {{disponible desde}{disp\adddot desde}},% FIXME: unsure urlseen = {{visitado}{visitado}}, -% inpreparation = {{}{}},% FIXME: missing -% submitted = {{}{}},% FIXME: missing -% forthcoming = {{}{}},% FIXME: missing -% inpress = {{}{}},% FIXME: missing -% prepublished = {{}{}},% FIXME: missing + inpreparation = {{en preparaci\'{o}}{en prep\adddot}}, + submitted = {{enviado}{enviado}}, + forthcoming = {{próximamente}{prox\adddot}}, + inpress = {{en prensa}{en prensa}}, + prepublished = {{previamente publicado}{prepublicado}}, citedas = {{citado en adelante como}{cit\adddotspace en adelante como}}, -% thiscite = {{}{}},% FIXME: missing -% seenote = {{}{}},% FIXME: missing -% quotedin = {{}{}},% FIXME: missing + thiscite = {{especialmente}{esp\adddot}}, + seenote = {{ver nota}{ver n\adddot}}, + quotedin = {{citado en}{cit\adddotspace en}}, idem = {{\'{\i}dem}{\'{\i}d\adddot}}, idemsf = {{\'{\i}dem}{\'{\i}d\adddot}}, idemsm = {{\'{\i}dem}{\'{\i}d\adddot}}, @@ -315,8 +315,8 @@ idempn = {{\'{\i}dem}{\'{\i}d\adddot}}, idempp = {{\'{\i}dem}{\'{\i}d\adddot}}, ibidem = {{ib\'{\i}dem}{ib\'{\i}d\adddot}}, - opcit = {{\'op\adddotspace cit\adddot}{\'op\adddotspace cit\adddot}}, - loccit = {{loc\adddotspace cit\adddot}{loc\adddotspace cit\adddot}}, + opcit = {{\'{o}p\adddotspace cit\adddot}{\'{o}p\adddot cit\adddot}}, + loccit = {{loc\adddotspace cit\adddot}{loc\adddot cit\adddot}}, confer = {{cf\adddot}{cf\adddot}}, sequens = {{s\adddot}{s\adddot}}, sequentes = {{ss\adddot}{ss\adddot}}, @@ -337,46 +337,46 @@ october = {{octubre}{oct\adddot}}, november = {{noviembre}{nov\adddot}}, december = {{diciembre}{dic\adddot}}, - langamerican = {{americano}{americano}}, + langamerican = {{ingl\'{e}s americano}{ingl\'{e}s americano}}, langbrazilian = {{brasile\~no}{brasile\~no}}, -% langcatalan = {{}{}},% FIXME: missing -% langcroatian = {{}{}},% FIXME: missing -% langczech = {{}{}},% FIXME: missing + langcatalan = {{catal\'{a}n}{catal\'{a}n}}, + langcroatian = {{croata}{croata}}, + langczech = {{checo}{checo}}, langdanish = {{dan\'es}{dan\'es}}, langdutch = {{neerland\'es}{neerland\'es}}, langenglish = {{ingl\'es}{ingl\'es}}, -% langfinnish = {{}{}},% FIXME: missing + langfinnish = {{fin\'{e}s}{fin\'{e}s}}, langfrench = {{franc\'es}{franc\'es}}, langgerman = {{alem\'an}{alem\'an}}, langgreek = {{griego}{griego}}, langitalian = {{italiano}{italiano}}, langlatin = {{lat\'{\i}n}{lat\'{\i}n}}, langnorwegian = {{noruego}{noruego}}, -% langpolish = {{}{}},% FIXME: missing + langpolish = {{polaco}{polaco}}, langportuguese = {{portugu\'es}{portugu\'es}}, -% langrussian = {{}{}},% FIXME: missing -% langslovene = {{}{}},% FIXME: missing + langrussian = {{ruso}{ruso}}, +% langslovene = {{esloveno}{esloveno}}, %%FIXME: not defined? langspanish = {{espa\~nol}{espa\~nol}}, langswedish = {{sueco}{sueco}}, - fromamerican = {{del americano}{del americano}}, + fromamerican = {{del ingl\'{e}s americano}{del ingl\'{e}s americano}}, frombrazilian = {{del brasile\~no}{del brasile\~no}}, -% fromcatalan = {{}{}},% FIXME: missing -% fromcroatian = {{}{}},% FIXME: missing -% fromczech = {{}{}},% FIXME: missing + fromcatalan = {{del catal\'{a}n}{del catal\'{a}n}}, + fromcroatian = {{del croata}{del croata}}, + fromczech = {{del checo}{del checo}}, fromdanish = {{del dan\'es}{del dan\'es}}, fromdutch = {{del neerland\'es}{del neerland\'es}}, fromenglish = {{del ingl\'es}{del ingl\'es}}, -% fromfinnish = {{}{}},% FIXME: missing + fromfinnish = {{del fin\'{e}s}{del fin\'{e}s}}, fromfrench = {{del franc\'es}{del franc\'es}}, fromgerman = {{del alem\'an}{del alem\'an}}, fromgreek = {{del griego}{del griego}}, fromitalian = {{del italiano}{del italiano}}, fromlatin = {{del lat\'{\i}n}{del lat\'{\i}n}}, fromnorwegian = {{del noruego}{del noruego}}, -% frompolish = {{}{}},% FIXME: missing + frompolish = {{del polaco}{del polaco}}, fromportuguese = {{del portugu\'es}{del portugu\'es}}, -% fromrussian = {{}{}},% FIXME: missing -% fromslovene = {{}{}},% FIXME: missing + fromrussian = {{del ruso}{del ruso}}, +% fromslovene = {{del esloveno}{del esloveno}}, %%FIXME: not defined? fromspanish = {{del espa\~nol}{del espa\~nol}}, fromswedish = {{del sueco}{del sueco}}, countryde = {{Alemania}{DE}}, @@ -384,23 +384,23 @@ countryep = {{Uni\'on Europea}{EP}}, countryfr = {{Francia}{FR}}, countryuk = {{Reino Unido}{GB}},% FIXME: "Reino Unido" or "Gran Breta\~na"? - countryus = {{Estados Unidos de Am\'erica}{US}},% FIXME: "Estados Unidos" only? + countryus = {{Estados Unidos}{US}},% FIXME: "Estados Unidos de Am\'erica"? patent = {{patente}{pat\adddot}}, - patentde = {{patente alemana}{pat\adddot\ alemana}}, - patenteu = {{patente europea}{pat\adddot\ europea}}, - patentfr = {{patente francesa}{pat\adddot\ francesa}}, - patentuk = {{patente brit\'anica}{pat\adddot\ brit\'anica}}, - patentus = {{patente americana}{pat\adddot\ americana}}, - patreq = {{solicitud de patente}{solicitud de pat\adddot}}, - patreqde = {{solicitud de patente alemana}{solicitud de pat\adddot\ alemana}}, - patreqeu = {{solicitud de patente europea}{solicitud de pat\adddot\ europea}}, - patreqfr = {{solicitud de patente francesa}{solicitud de pat\adddot\ francesa}}, - patrequk = {{solicitud de patente brit\'anica}{solicitud de pat\adddot\ brit\'anica}}, - patrequs = {{solicitud de patente americana}{solicitud de pat\adddot\ americana}}, -% file = {{}{}},% FIXME: missing -% library = {{}{}},% FIXME: missing -% abstract = {{}{}},% FIXME: missing -% annotation = {{}{}},% FIXME: missing + patentde = {{patente alemana}{pat\adddot alemana}}, + patenteu = {{patente europea}{pat\adddot europea}}, + patentfr = {{patente francesa}{pat\adddot francesa}}, + patentuk = {{patente brit\'anica}{pat\adddot brit\'anica}}, + patentus = {{patente estadounidense}{pat\adddot estadounidense}}, + patreq = {{solicitud de patente}{sol\adddot de pat\adddot}}, + patreqde = {{solicitud de patente alemana}{sol\adddot de pat\adddot alemana}}, + patreqeu = {{solicitud de patente europea}{sol\adddot de pat\adddot europea}}, + patreqfr = {{solicitud de patente francesa}{sol\adddot de pat\adddot francesa}}, + patrequk = {{solicitud de patente brit\'anica}{sol\adddot de pat\adddot brit\'anica}}, + patrequs = {{solicitud de patente estadounidense}{sol\adddot de pat\adddot estadounidense}}, + file = {{archivo}{archivo}}, + library = {{biblioteca}{bibl\adddot}}, + abstract = {{resumen}{resumen}}, + annotation = {{anotaci\'{o}n}{anot\adddot}}, } \protected\gdef\lbx@es@smartand{% diff --git a/Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx b/Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx index 65efafba26e..7b9ee1fbdfe 100644 --- a/Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx +++ b/Master/texmf-dist/tex/latex/biblatex/lbx/swedish.lbx @@ -391,7 +391,7 @@ langswedish = {{svenska}{svenska}}, fromamerican = {{fr\aa n amerikanska}{fr\aa n amerikanska}}, % frombrazilian = {{}{}},% FIXME: missing - fromcatalan = {{fr\aan katalanska}{fr\aan katalanska}}, + fromcatalan = {{fr\aa n katalanska}{fr\aa n katalanska}}, fromcroatian = {{fr\aa n kroatiska}{fr\aa n kroatiska}}, fromczech = {{fr\aa n tjeckiska}{fr\aa n tjeckiska}}, fromdanish = {{fr\aa n danska}{fr\aa n danska}}, diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index 544628e85f4..61890183d07 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -314,6 +314,7 @@ chomp ($Build = `cd $Master/../Build/source && pwd`); 'cyklop', "&MAKEcopy", 'dantelogo', "&MAKEflatten", 'datatooltk', "die 'skipping, Java installation'", + 'dbdoc', "&MAKEflatten", 'dco', "die 'skipping, obsolete DC fonts with oldstyle numerals'", 'dejavu', "&MAKEflatten", 'dejavu-math', "&MAKEflatten", @@ -1446,6 +1447,7 @@ $standardtex='\.(.bx|cfg|sty|clo|ldf|cls|def|fd|fontspec|cmap|4ht)$'; 'cweb-latex', 'cwebbase.tex|' . $standardtex, 'cyrillic', '\.tex|\.sty|\.fd$|\.def', 'cyrplain', '.', + 'dbdoc', '\.sty', 'dccpaper', 'dccpaper-base.tex|dccpaper-by.(eps|pdf)|' . $standardtex, 'dehyph-exptl','de.*-x-.*\.tex|\.pat', 'dialogl', '[^c]\.sty|listout\.tex', # not dialogl-doc.sty @@ -2249,6 +2251,7 @@ my $core_latex = "$Master/texmf-dist/tex/latex"; 'ctable' => 'latex', # requires interaction 'curve2e' => 'tex', 'dateiliste' => 'latex', # requires interaction + 'dbdoc', => 'tex', 'dotseqn' => 'latex', # requires interaction 'delimtxt' => 'latex -translate-file=empty.tcx', # no 8-bit 'download' => 'pdflatex', # fancy fonts, doc and subfiles combined @@ -2716,6 +2719,7 @@ $standardclean = '\.head|\.tmp|\.dvi|\.log|\.out|\.aux|\.toc|\.lof|\.lot' 'cmbright' => 'cmbright.pdf', 'cprotect' => $standardclean . '|\.cpt', # temp files for doc 'dateiliste' => $standardclean . '|dateiliste.README*', # already in dist + 'dbdoc' => $standardclean . '|y\.tex', 'elvish' => '\.pk3', # no pk files 'enctex' => '\.ch|\.patch', # binary-related 'findhyph' => 'findhyph.pdf', # we generate |