diff options
author | Karl Berry <karl@freefriends.org> | 2012-11-30 23:38:12 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2012-11-30 23:38:12 +0000 |
commit | fc70142f1e5e5eed2679e2b020b1d0ad711c7b96 (patch) | |
tree | a680d75a64fe634189272c2fb5d00332ff5c8210 /Master/texmf-dist/doc/latex/biblatex | |
parent | 527b9f18549ea63f103d64d47eb40d7b086a5e59 (diff) |
biblatex 2.4 (27nov12)
git-svn-id: svn://tug.org/texlive/trunk@28404 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/biblatex')
-rw-r--r-- | Master/texmf-dist/doc/latex/biblatex/RELEASE | 32 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/biblatex/biblatex.pdf | bin | 1396472 -> 1332876 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/biblatex/biblatex.tex | 279 |
3 files changed, 266 insertions, 45 deletions
diff --git a/Master/texmf-dist/doc/latex/biblatex/RELEASE b/Master/texmf-dist/doc/latex/biblatex/RELEASE index f52473f346b..6dd58f4bd92 100644 --- a/Master/texmf-dist/doc/latex/biblatex/RELEASE +++ b/Master/texmf-dist/doc/latex/biblatex/RELEASE @@ -1,3 +1,35 @@ +RELEASE NOTES FOR VERSION 2.4 + +* Biber version 1.4 is required for biblatex 2.4 + +* New macro \DeclareStyleSourcemap for style authors who want to define source mappings which + are not changed by users using \DeclareSourcemap. Style maps so defined are run after user + mappings and before driver default mappings. + +* New RELATEDOPTIONS field giving more control over the exact options for related entry processing + +* INCOMPATIBLE CHANGE - \DeclareLabelname, \DeclareLabelTitle and \DeclareLabelyear now have + a different syntax in order to prepare for future multi-script support. The change is minor - + just wrap all fields in \field{} and don't use any commas to separate fields. For example, the + default definition of \DeclareLabelname was: + + \DeclareLabelname{% + shortauthor, + author, + shorteditor, + editor, + translator} + + and is now: + + \DeclareLabelname{% + \field{shortauthor} + \field{author} + \field{shorteditor} + \field{editor} + \field{translator} + } + RELEASE NOTES FOR VERSION 2.3 * Biber version 1.3 is required for biblatex 2.3 diff --git a/Master/texmf-dist/doc/latex/biblatex/biblatex.pdf b/Master/texmf-dist/doc/latex/biblatex/biblatex.pdf Binary files differindex 09a4396084a..81d6f6f4f09 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 2837a13be10..e30fecbbfd7 100644 --- a/Master/texmf-dist/doc/latex/biblatex/biblatex.tex +++ b/Master/texmf-dist/doc/latex/biblatex/biblatex.tex @@ -42,8 +42,8 @@ url={\biblatexhome}, author={Philipp Lehman (with Audrey Boruvka, Philip Kime and Joseph Wright)}, email={}, - revision={2.3}, - date={11/2012}} + revision={2.4}, + date={2012-11-28}} \hypersetup{% pdftitle={The \biblatex Package}, @@ -315,6 +315,7 @@ compatibility matrix for the recent versions. \toprule Biber version & \biblatex\ version\\ \midrule +1.4 & 2.4\\ 1.3 & 2.3\\ 1.2 & 2.1, 2.2\\ 1.1 & 2.1\\ @@ -1096,6 +1097,8 @@ The gender of the author or the gender of the editor, if there is no author. The \multicolumn{1}{@{}H}{Region/Dialect} & \multicolumn{1}{@{}H}{Babel Identifiers} \\ \cmidrule(r){1-1}\cmidrule(r){2-2}\cmidrule{3-3} +Catalan & Andorra, Balearic islands, Catalonia, Valencia, Roussillon & \opt{catalan} \\ +Czech & Czech Republic & \opt{czech} \\ Danish & Denmark & \opt{danish} \\ Dutch & Netherlands & \opt{dutch} \\ English & USA & \opt{american}, \opt{USenglish}, \opt{english} \\ @@ -1157,6 +1160,10 @@ A special field used to modify the sorting order of the bibliography. This field Citation keys of other entries which have a relationship to this entry. The relationship is specified by the \bibfield{relatedtype} field. Please refer to \secref{use:rel} for further details. +\fielditem{relatedoptions}{comma"=separated values\BiberOnlyMark} + +Per"=type options to set for a related entry. Note that this does not set the options on the related entry itself, only the \opt{dataonly} clone which is used as a datasource for the parent entry. + \fielditem{relatedtype}{identifier\BiberOnlyMark} An identifier which specified the type of relationship for the keys listed in the \bibfield{related} field. The identifier is a localized bibliography string printed @@ -1896,6 +1903,24 @@ The following options must be used as \sty{biblatex} is loaded, \ie in the optio \begin{optionlist} +\optitem[biber]{backend}{\opt{bibtex}, \opt{bibtex8}, \opt{bibtexu}, \opt{biber}} + +Specifies the database backend. The following backends are supported: + +\begin{valuelist} + +\item[biber] \biber, the default backend of \sty{biblatex}, supports Ascii, 8-bit encodings, \utf, on-the-fly reencoding, locale"=specific sorting, and many other features. Locale"=specific sorting, case"=sensitive sorting, and upper\slash lowercase precedence are controlled by the options \opt{sortlocale}, \opt{sortcase}, and \opt{sortupper}, respectively. + +\item[bibtex] Legacy \bibtex. Traditional \bibtex supports Ascii encoding only. Sorting is always case"=insensitive. + +\item[bibtex8] \bin{bibtex8}, the 8-bit implementation of \bibtex, supports Ascii and 8-bit encodings such as Latin~1. Depending on the \file{csf} file, case"=sensitive sorting may be supported. + +\item[bibtexu] \bin{bibtexu} is a Unicode-enabled implementation of \bibtex which supports \utf. Note that \bin{bibtexu} is not actively supported by \sty{biblatex} and has not been tested as backend in any way. \biber is the recommended backend. + +\end{valuelist} + +See \secref{bib:cav:enc} for further instructions concerning the encoding of \file{bib} files. This option is only available at load-time as internally, the code chooses completely different paths depending on the backend. This means that you can't set the backend with, for example, \cmd{ExecuteBibliographyOptions} in the preamble. + \valitem[numeric]{style}{file} Loads the bibliography style \path{file.bbx} and the citation style \path{file.cbx}. See \secref{use:xbx} for an overview of the standard styles. @@ -2030,6 +2055,8 @@ This option controls multilingual support. When set to \opt{auto}, \sty{biblatex \multicolumn{1}{@{}H}{Region/Dialect} & \multicolumn{1}{@{}H}{Identifier} \\ \cmidrule(r){1-1}\cmidrule(r){2-2}\cmidrule{3-3} +Catalan & Andorra, Balearic islands, Catalonia, Valencia, Roussillon & catalan \\ +Czech & Czech Republic & czech \\ Danish & Denmark & danish \\ Dutch & Netherlands & dutch \\ English & USA & american \\ @@ -2047,8 +2074,8 @@ German (new) Greek & Greece & greek \\ Italian & Italy & italian \\ Norwegian & Norway & norwegian \\ -Portuguese& Brazil & brazilian \\ - & Portugal & portuguese \\ +Portuguese& Brazil & brazilian \\ + & Portugal & portuguese \\ Russian & Russia & russian \\ Spanish & Spain & spanish \\ Swedish & Sweden & swedish \\ @@ -2286,24 +2313,6 @@ Path selector for arXiv links. If hyperlink support is enabled, this option cont See \secref{use:use:epr} for details on support for arXiv and electronic publishing information. -\optitem[biber]{backend}{\opt{bibtex}, \opt{bibtex8}, \opt{bibtexu}, \opt{biber}} - -Specifies the database backend. The following backends are supported: - -\begin{valuelist} - -\item[biber] \biber, the default backend of \sty{biblatex}, supports Ascii, 8-bit encodings, \utf, on-the-fly reencoding, locale"=specific sorting, and many other features. Locale"=specific sorting, case"=sensitive sorting, and upper\slash lowercase precedence are controlled by the options \opt{sortlocale}, \opt{sortcase}, and \opt{sortupper}, respectively. - -\item[bibtex] Legacy \bibtex. Traditional \bibtex supports Ascii encoding only. Sorting is always case"=insensitive. - -\item[bibtex8] \bin{bibtex8}, the 8-bit implementation of \bibtex, supports Ascii and 8-bit encodings such as Latin~1. Depending on the \file{csf} file, case"=sensitive sorting may be supported. - -\item[bibtexu] \bin{bibtexu} is a Unicode-enabled implementation of \bibtex which supports \utf. Note that \bin{bibtexu} is not actively supported by \sty{biblatex} and has not been tested as backend in any way. \biber is the recommended backend. - -\end{valuelist} - -See \secref{bib:cav:enc} for further instructions concerning the encoding of \file{bib} files. This option is only available at load-time as internally, the code chooses completely different paths depending on the backend. This means that you can't set the backend with, for example, \cmd{ExecuteBibliographyOptions} in the preamble. - \optitem[auto]{texencoding}{\opt{auto}, \prm{encoding}} Specifies the encoding of the \file{tex} file. This option affects the data transferred from the backend to \sty{biblatex}. When using \biber, this corresponds to \biber's |--bblencoding| option. The following choices are available: @@ -2651,9 +2660,33 @@ If this option is enabled, \sty{biblatex} will not assign any labels to the entr \boolitem[false]{dataonly} -Setting this option is equivalent to \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}, 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. +\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. + +\choitem[original]{labelnameform}{original,translated,romanised,uniform} + +Specifies the script variant for the field specified with \opt{labelnamefield}, if the datasource you are using supports this. + +\choitem[none]{labelnamelang}{<language specifier>} + +Specifies the \sty{babel} language variant for the field specified with \opt{labelnamefield} if the datasource you are using supports this. The default, if no \prm{lang} option is set, this means to use the field variant in the datasource which has no explicit language defined. + +\valitem{labeltitlefield}{fieldname} + +Specifies the field to consider first when looking for a \bibfield{labeltitle} candidate. It is essentially prepended to the search list created by \cmd{DeclareLabeltitle} for just this entry. + +\choitem[original]{labeltitleform}{original,translated,romanised,uniform} + +Specifies the script variant for the field specified with \opt{labeltitlefield}, if the datasource you are using supports this. + +\choitem[none]{labeltitlelang}{<language specifier>} + +Specifies the \sty{babel} language variant for the field specified with \opt{labeltitlefield} if the datasource you are using supports this. The default, if no \prm{lang} option is set, this means to use the field variant in the datasource which has no explicit language defined. + \end{optionlist} \subsubsection{Legacy Options} @@ -2829,7 +2862,7 @@ This style prints all bibliographic data in tabular format. It is intended for d \subsection{Related Entries} \label{use:rel} -Almost all bibliography styles require authors to specify certain types of relationship between entries such as «Reprint of», «Reprinted in» etc. It is impossible to provide data fields to cover all of these relationships and so \sty{biblatex} provides a general mechanism for this using the entry fields \bibfield{related}, \bibfield{relatedtype} and \bibfield{relatedstring}. A related entry does not need to be cited and does not appear in the bibliography itself (unless of course it is also cited itself independently). The \bibfield{relatedtype} field should specify a localization string which will be printed before the information from the related entries is printed, for example «Orig. Pub. as». The \bibfield{relatedstring} field can be used to override the string determined via \bibfield{relatedtype}. Some examples: +Almost all bibliography styles require authors to specify certain types of relationship between entries such as «Reprint of», «Reprinted in» etc. It is impossible to provide data fields to cover all of these relationships and so \sty{biblatex} provides a general mechanism for this using the entry fields \bibfield{related}, \bibfield{relatedtype} and \bibfield{relatedstring}. A related entry does not need to be cited and does not appear in the bibliography itself (unless of course it is also cited itself independently) as a clone is taken of the related entry to be used as a data source. The \bibfield{relatedtype} field should specify a localization string which will be printed before the information from the related entries is printed, for example «Orig. Pub. as». The \bibfield{relatedstring} field can be used to override the string determined via \bibfield{relatedtype}. Some examples: \begin{lstlisting}[style=bibtex]{} @Book{key1, @@ -2897,6 +2930,8 @@ 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}. + \subsection{Sorting Options} \label{use:srt} @@ -5697,6 +5732,26 @@ Data commands like \cmd{printfield} normally use the data of the entry currently This command is intended for use in bibliography drivers handling \bibtype{set} entries. It will loop over all members of the set, as indicated by the \bibfield{entryset} field, and execute the appropriate driver for the respective set member. This is similar to executing the \cmd{usedriver} command from \secref{aut:aux:msc} for each set member. The \prm{precode} is arbitrary code to be executed prior to processing each item in the set. The \prm{postcode} is arbitrary code to be executed immediately after processing each item. Both arguments are mandatory in terms of the syntax but may be left empty. See \secref{aut:cav:set} for usage examples. +\cmditem{DeclareFieldInputHandler}{field}{code} + +This command can be used to define a data input handler for \prm{field} when it is read from the \file{.bbl}. Within the \prm{code}, the macro \cmd{NewValue} contains the value of the field. For example, to ignore the \bibfield{volumes} field when it appears, you could do + +\begin{lstlisting}[style=latex]{} +\DeclareFieldInputHandler{volumes}{\def\NewValue{}} +\end{lstlisting} +% +Generally, you would want to use \cmd{DeclareSourcemap} (see \secref{aut:ctm:map}) to remove and modify fields but this alternative method may be useful in some circumstances when the emphasis is on appearance rather than data since the \prm{code} can be arbitraty \tex. + +\cmditem{DeclareListInputHandler}{list}{code} + +As \cmd{DeclareFieldInputHandler} but for lists. Within the \prm{code}, the macro \cmd{NewValue} +contains the value of the list and \cmd{NewCount} contains the number of items in the list. + +\cmditem{DeclareNameInputHandler}{name}{code} + +As \cmd{DeclareFieldInputHandler} but for names. Within the \prm{code}, the macro \cmd{NewValue} +contains the value of the name, \cmd{NewCount} contains the number of individual names in the name and \cmd{NewOption} contains any per-name options passed in the \file{.bbl}. + \end{ltxsyntax} \subsubsection{Formatting Directives} @@ -5789,11 +5844,12 @@ The related entries feature comprises the following components: \item Formats to format the localization string and related data \end{itemize} % -The special fields are \bibfield{related}, \bibfield{relatedtype} and \bibfield{relatedstring}: +The special fields are \bibfield{related}, \bibfield{relatedtype}, \bibfield{relatedstring} and \bibfield{relatedoptions}: \begin{keymarglist} \item[related] A comma"=separated list of keys of entries which are related to this entry in some way. Note the the order of the keys is important. The data from multiple related entries is printed in the order of the keys listed in this field. \item[relatedtype] The type of relationship. This serves three purposes. If the value of this field resolves to a localization string identifier, then the resulting localized string is printed before the data from the related entries. Secondly, if there is a macro called \texttt{related:\prm{relatedtype}}, this is used to format the data from the related entries. If no such macro exists, then the macro \texttt{related:default} is used. Lastly, if there is a format named \texttt{related:\prm{relatedtype}}, then it is used to format both the localized string and related entry data. If there is no related type specific format, the \texttt{related} format is used. \item[relatedstring] If an entry contains this field, then if value of the field resolves to a localization string identifier, the localization key value specified is printed before data from the related entries. If the field does not specify a localization key, its value is printed literally. If both \bibfield{relatedtype} and \bibfield{relatedstring} are present in an entry, \bibfield{relatedstring} is used for the pre-data string (but \bibfield{relatedtype} is still used to determine the macro and format to use when printing the data). +\item[relatedoptions] A list of per"=entry options to set on the related entry (actually on the clone of the related entry which is used as a data source---the actual related entry is not modified because it might be cited directly itself). \end{keymarglist} The related entry feature is enabled by default by the package option \opt{related} from \secref{use:opt:pre:gen}. The related information entry data from the related entries is included via a \cmd{usebibmacro\{related\}} call. Standard styles call this macro towards the end of each driver. Style authors should ensure the existence of (or take note of existing) localization strings which are useful as values for the \bibfield{relatedtype} field, such as \texttt{translationof} or perhaps \texttt{translatedas}. A plural variant can be identified with the localization key \prm{relatedtype}\texttt{s}. This key's corresponding string is printed whenever more than one entry is specified in \bibfield{related}. Bibliography macros and formatting directives for printing entries related by \prm{relatedtype} should be defined using the name \texttt{related:\prm{relatedtype}}. The file \path{biblatex.def} contains macros and formats for some common relation types which can be used as templates. In particular, the \cmd{entrydata*} command is essential in such macros in order to make the data of the related entries available. Examples of entries using this feature can be found in the \sty{biblatex} distribution examples file \path{biblatex-examples.bib}. There are some specific formatting macros for this feature which control delimiters and separators in related entry information, see \secref{aut:fmt:fmt}. @@ -5917,11 +5973,24 @@ For all boolean \cmd{step} options, the short form \opt{option} is equivalent to \end{ltxsyntax} +\noindent With \bibtex\ and RIS datasources, you may specify the +pseudo-field \bibfield{entrykey} for \texttt{fieldsource} +which is the citation key of the entry. Naturally, this <field> cannot +be changed (used as \texttt{fieldset}, \texttt{fieldtarget} or changed using \texttt{replace}). + \begin{ltxsyntax} -\cmditem{DeclareDefaultSourcemap}[datatype=driver]{specification}|\BiberOnlyMark| +\cmditem{DeclareStyleSourcemap}{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 consist of mappings which are part of the driver setup. Users should not normally need to change these. User mappings defined with \cmd{DeclareSourcemap} are applied before the driver defaults. 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{DeclareDefaultSourcemap} only applies to one datatype driver. See the default definitions in Appendix \secref{apx:maps} for examples. +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 no not interfere with user maps or the default driver maps defined with \cmd{DeclareDriverSourcemap}. + +\end{ltxsyntax} + +\begin{ltxsyntax} + +\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. \end{ltxsyntax} @@ -5934,13 +6003,14 @@ Here are some data source mapping examples: \perdatasource{<<example1.bib>>} \perdatasource{<<example2.bib>>} \step[fieldset=<<keywords>>, fieldvalue={<<keyw1, keyw2>>}] + \step[fieldsource=<<entrykey>>] + \step[fieldset=<<note>>, origfieldval] } } } \end{lstlisting} % -This would add a \bibfield{keywords} field with value <keyw1, keyw2> -to all entries which are found in either the +This would add a \bibfield{keywords} field with value <keyw1, keyw2> and set the \bibfield{note} field to the entry key to all entries which are found in either the \texttt{examples1.bib} or \texttt{examples2.bib} files. % \begin{lstlisting}[style=latex]{} @@ -6033,7 +6103,7 @@ field to <pubmedid> and also sets the \bibfield{userd} field to the string \map{ \step[fieldsource=<<series>>, match=\regexp{<<\A\d*(.+)>>}, - replace=\regexp{<<\L$1}>>] + replace=\regexp{<<\L$1>>}] } } } @@ -6167,7 +6237,7 @@ This example demonstrates the sequential nature of the step processing and the \ \step[fieldset=<<autourl>>, fieldvalue={<<"+author:>>}, append] \step[fieldsource=<<author>>, match=\regexp{<<\A([^,]+)\s*,>>}] \step[fieldset=<<autourl>>, fieldvalue={<<$1>>}, append] - \step[fieldset=<autourl>>, fieldvalue={<<&as_ylo=>>}, append] + \step[fieldset=<<autourl>>, fieldvalue={<<&as_ylo=>>}, append] \step[fieldsource=<<year>>] \step[fieldset=<<autourl>>, origfieldval, append] \step[fieldset=<<autourl>>, fieldvalue={<<&as_yhi=>>}, append] @@ -6476,6 +6546,14 @@ Only use this \cmd{field} specification if it is a name list field with \texttt{ By default, for name list fields, the number of names considered when building the label obeys the \cnt{maxalphanames}\slash \cnt{minalphanames} truncation. This option can be used to override this with an explicit upper limit of how many names to consider. This is useful if you have some very long name lists which might result in a very long label. +\choitem[original]{form}{original,translated,romanised,uniform} + +Specifies the script variant of a field, if the datasource you are using supports this. + +\choitem[none]{lang}{<language specifier>} + +Specifies the \sty{babel} language variant of a field if the datasource you are using supports this. The default, if no \prm{lang} option is set, this means to use the field variant in the datasource which has no explicit language defined. + \end{optionlist*} \cmditem{literal}{characters} @@ -6502,6 +6580,18 @@ Here are some examples. The default global \sty{biblatex} alphabetic label templ } \end{lstlisting} % +Here is an example using form and script variants. We use as the label the left three characters of the <romanised> form of the \bibfield{labelname} field as a preference. If this doesn't exist, we use the <translated> form in the <french> language. If this does not exist, we use the default \bibfield{labelname} from the datasource which has no form or lang specifications. + +\begin{lstlisting}[style=latex]{} +\DeclareLabelalphaTemplate{ + \labelelement{ + \field[strwidth=3,strside=left,form=romanised]{<<labelname>>} + \field[strwidth=3,strside=left,form=translated,lang=french]{<<labelname>>} + \field[strwidth=3,strside=left]{<<labelname>>} + } +} +\end{lstlisting} +% To get an idea of how the label automatic disambiguation works, consider the following author lists: \begin{lstlisting}{} @@ -6704,6 +6794,14 @@ Performs a substring match on the \texttt{left} or \texttt{right} side of the fi The number of characters to match. +\choitem[original]{form}{original,translated,romanised,uniform} + +Specifies the script variant of a field, if the datasource you are using supports this. + +\choitem[none]{lang}{<language specifier>} + +Specifies the \sty{babel} language variant of a field if the datasource you are using supports this. The default, if no \prm{lang} option is set, this means to use the field variant in the datasource which has no explicit language defined. + \end{optionlist*} \cmditem{literal}{string} @@ -6757,6 +6855,18 @@ Here are some examples of sorting schemes. In the first example, we define a sim } \end{lstlisting} % +Here is an example of specifying particular field scripts and language variants. Here we are sorting on variants of the \bibfield{author} field. First choice is the <translated> form in the <english> language. If this does not exist, then we look for a <romanised> form and if this does not exist, we use the default form. + +\begin{lstlisting}[style=latex]{} +\DeclareSortingScheme{sample}{ + \sort{ + \field[form=translated, lang=english]{<<author>>} + \field[form=romanised]{<<author>>} + \field{<<author>>} + } +} +\end{lstlisting} +% In the next example, we define the same scheme in a more elaborate way, considering special fields such as \bibfield{presort}, \bibfield{sortkey}, \bibfield{sortname}, etc. Since the \bibfield{sortkey} field specifies the master sort key, it needs to override all other elements except for \bibfield{presort}. This is indicated by the \opt{final} option. If the \bibfield{sortkey} field is available, processing will stop at this point. If not, the sorting routine continues with the next \cmd{sort} directive. This setup corresponds to the default definition of the \texttt{nty} scheme: \begin{lstlisting}[style=latex]{} @@ -6919,33 +7029,93 @@ Some of the automatically generated fields from \secref{aut:bbx:fld:lab} may be \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 a comma"=separated list of fields. 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: +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: \begin{lstlisting}[style=latex]{} -\DeclareLabelname{shortauthor,author,shorteditor,editor,translator} +\DeclareLabelname{% + \field{shortauthor} + \field{author} + \field{shorteditor} + \field{editor} + \field{translator} +} \end{lstlisting} % -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. +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. \cmd{field} may take the following options: + +\begin{optionlist*} + +\choitem[original]{form}{original,translated,romanised,uniform} + +Specifies the script variant of a field, if the datasource you are using supports this. + +\choitem[none]{lang}{<language specifier>} + +Specifies the \sty{babel} language variant of a field if the datasource you are using supports this. The default, if no \prm{lang} option is set, this means to use the field variant in the datasource which has no explicit language defined. + +\end{optionlist*} +% +For example, the following specification for selecting \bibfield{labelname} first looks for an english translation variant of the \bibfield{AUTHOR} field, then a romainsed variant and if neither of these can be found, the default field with no form or lang specifications. +\begin{lstlisting}[style=latex]{} +\DeclareLabelname{% + \field[form=translated,lang=english]{author} + \field[form=romanised]{author} + \field{author} +} +\end{lstlisting} +% +See \secref{use:opt:bib:ded} for options to override this on a per-entry basis. \cmditem{DeclareLabelyear}[entrytype, \dots]{specification}|\BiberOnlyMark| -Defines the date components to consider when generating the \bibfield{labelyear} field (see \secref{aut:bbx:fld:lab}). The \prm{specification} is a comma"=separated list of date components. The items are checked in the order listed and the first item which is available will be used as \bibfield{labelyear}. Note that the items are date components, not date fields. This is the default definition: +Defines the date components to consider when generating the \bibfield{labelyear} field (see \secref{aut:bbx:fld:lab}). The \prm{specification} is an ordered list of \cmd{field} commands. The items are checked in the order listed and the first item which is available will be used as \bibfield{labelyear}. Note that the items are date components, not date fields. This is the default definition: \begin{lstlisting}[style=latex]{} -\DeclareLabelyear{year,eventyear,origyear,urlyear} +\DeclareLabelyear{% + \field{year} + \field{eventyear} + \field{origyear} + \field{urlyear} +} \end{lstlisting} % The \bibfield{labelyear} 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. See also \secref{aut:bbx:fld:dat}. \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 a comma"=separated list of fields. 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: +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: \begin{lstlisting}[style=latex]{} -\DeclareLabeltitle{shorttitle,title} +\DeclareLabeltitle{% + \field{shorttitle} + \field{title} +} \end{lstlisting} % -The \bibfield{labeltitle} 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. +The \bibfield{labeltitle} 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. \cmd{field} may take the following options: + +\begin{optionlist*} + +\choitem[original]{form}{original,translated,romanised,uniform} + +Specifies the script variant of a field, if the datasource you are using supports this. + +\choitem[none]{lang}{<language specifier>} + +Specifies the \sty{babel} language variant of a field if the datasource you are using supports this. The default, if no \prm{lang} option is set, this means to use the field variant in the datasource which has no explicit language defined. + +\end{optionlist*} +% +For example, the following specification for selecting \bibfield{labeltitle} first looks for an english translation variant of the \bibfield{TITLE} field, then a romainsed variant and if neither of these can be found, the default field with no form or lang specifications. +\begin{lstlisting}[style=latex]{} +\DeclareLabelname{% + \field[form=translated,lang=english]{title} + \field[form=romanised]{title} + \field{title} +} +\end{lstlisting} +% +See \secref{use:opt:bib:ded} for options to override this on a per-entry basis. \end{ltxsyntax} @@ -8637,7 +8807,9 @@ Other expressions frequently used in citations: \begin{keymarglist} \item[langamerican] The language <American> or <American English>. \item[langbrazilian] The language <Brazilian> or <Brazilian Portuguese>. +\item[langcatalan] The language <Catalan>. \item[langcroatian] The language <Croatian>. +\item[langczech] The language <Czech>. \item[langdanish] The language <Danish>. \item[langdutch] The language <Dutch>. \item[langenglish] The language <English>. @@ -8659,6 +8831,8 @@ The following strings are intended for use in phrases like <translated from [the \begin{keymarglist} \item[fromamerican] The expression <from [the] American> or <from [the] American English>. \item[frombrazilian] The expression <from [the] Brazilian> or <from [the] Brazilian Portuguese>. +\item[fromcatalan] The expression <from [the] Catalan>. +\item[fromczech] The expression <from [the] Czech>. \item[fromcroatian] The expression <from [the] Croatian>. \item[fromdanish] The expression <from [the] Danish>. \item[fromdutch] The expression <from [the] Dutch>. @@ -8923,7 +9097,7 @@ This section corresponds to \secref{use:fmt:len} in the user part of the manual. \lenitem{bibhang} -The hanging indentation of the bibliography. Bibliography styles should incorporate this length in the definition of the bibliography environment, if applicable. +The hanging indentation of the bibliography, if applicable. This length is initialized to \cmd{parindent} at load-time. If \cmd{parindent} is zero length for some reason, \cmd{bibhang} will default to \texttt{1em}. \lenitem{biblabelsep} @@ -9925,7 +10099,7 @@ These are the driver default source mappings. For drivers other than \opt{bibtex The \opt{bibtex} driver is of course the most comprehensive and mature of the \biblatex/\biber supported data formats. These source mapping defaults are how the aliases from sections \secref{bib:typ:als} and \secref{bib:fld:als} are implemented. \begin{lstlisting}[style=latex]{} -\DeclareDefaultSourcemap[datatype=bibtex]{ +\DeclareDriverSourcemap[datatype=bibtex]{ \map{ \step[typesource=conference, typetarget=inproceedings] \step[typesource=electronic, typetarget=online] @@ -9961,7 +10135,7 @@ The \opt{bibtex} driver is of course the most comprehensive and mature of the \b The \opt{endnotexml} driver for \biber uses the following mappings. This format is quite messy and not well suited to robust typesetting of bibliographic data. It is presented largely as an example of \biber's modular datasource abilities and also of how to map foreign data models into the \biblatex data model. Mappings from such messy and relatively simple data models are inevitably fragile and are of limited use. \begin{lstlisting}[style=latex]{} -\DeclareDefaultSourcemap[datatype=endnotexml]{ +\DeclareDriverSourcemap[datatype=endnotexml]{ \map{ \step[typesource={Aggregated Database}, typetarget=misc] \step[typesource={Ancient Text}, typetarget=misc] @@ -10091,7 +10265,7 @@ The \opt{endnotexml} driver for \biber uses the following mappings. This format The \opt{ris} driver reflects the fact that \opt{ris} itself is a very simple and stable format. It is in fact so simple, it's hardly of any use for most \biblatex users. Again, here more as a proof of concept example. \begin{lstlisting}[style=latex]{} -\DeclareDefaultSourcemap[datatype=ris]{ +\DeclareDriverSourcemap[datatype=ris]{ \map{ \step[typesource=ART, typetarget=artwork] \step[typesource=BILL, typetarget=jurisdiction] @@ -10157,7 +10331,7 @@ The \opt{ris} driver reflects the fact that \opt{ris} itself is a very simple an The \opt{zoterordfxml} driver reads the Zotero\footnote{\url{www.zotero.org}} XML representation of its RDF format. From the \biblatex point of view, it suffers from a lack of the notion of a citation key and so is of limited use. The format may include a citation key in the future at which point the \biber driver and these default mappings will be updated. As with \opt{endnotexml}, the format is somewhat messy with, in particular, a very limited way of dealing with related entries which makes the driver setup rather ugly. As can be seen below, it is possible to map into a field prefixed with «BIBERCUSTOM» which is not a real field in the data model but can be detected in the \biber driver itself and used to process a source field which does not map naturally to any \biblatex data model field as it needs special treatment. This is messy but is due largely due to messy source data models. \begin{lstlisting}[style=latex]{} -\DeclareDefaultSourcemap[datatype=zoterordfxml]{ +\DeclareDriverSourcemap[datatype=zoterordfxml]{ \map{ \step[typesource=conferencePaper, typetarget=inproceedings] \step[typesource=bookSection, typetarget=inbook] @@ -10297,8 +10471,9 @@ Please refer to \secref{bib:cav:ref, aut:ctm:ref} for explanation. options\par presort\par related\par - relatedtype\par + relatedoptions\par relatedstring\par + relatedtype\par shorthand\par shorthandintro\par sortkey & @@ -10531,8 +10706,14 @@ idemtracker &\+&\+&\_&\_\\ indexing &\+&\+&\+&\+\\ isbn &\+&\+&\_&\_\\ % style labelalpha &\+&\+&\+&\_\\ +labelnamefield &\_&\_&\_&\+\\ +labelnameform &\_&\_&\_&\+\\ +labelnamelang &\_&\_&\_&\+\\ labelnumber &\+&\+&\+&\_\\ labeltitle &\+&\+&\+&\_\\ +labeltitlefield &\_&\_&\_&\+\\ +labeltitleform &\_&\_&\_&\+\\ +labeltitlelang &\_&\_&\_&\+\\ labeltitleyear &\+&\+&\+&\_\\ labelyear &\+&\+&\+&\_\\ language &\+&\+&\_&\_\\ @@ -10594,6 +10775,14 @@ This revision history is a list of changes relevant to users of this package. Ch \begin{changelog} +\begin{release}{2.4}{2012-11-28} +\item Added \bibfield{relatedoptions} field\see{aut:ctm:rel}\BiberOnlyMark +\item Added \cmd{DeclareStyleSourcemap}\see{aut:ctm:map}\BiberOnlyMark +\item Renamed \cmd{DeclareDefaultSourcemap} to \cmd{DeclareDriverSourcemap}\see{aut:ctm:map}\BiberOnlyMark +\item Added Czech localisation +\item Documented \cmd{DeclareFieldInputHandler}, \cmd{DeclareListInputHandler} and \cmd{DeclareNameInputHandler}. +\end{release} + \begin{release}{2.3}{2012-11-01} \item Better detection of situations which require a \biber\ or \LaTeX\ re-run \item New append mode for \cmd{DeclareSourcemap} so that fields can be combined\see{aut:ctm:map}\BiberOnlyMark |