diff options
author | Karl Berry <karl@freefriends.org> | 2012-11-02 23:54:18 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2012-11-02 23:54:18 +0000 |
commit | 295b453abefbb11e8491968ce857079ce2b76087 (patch) | |
tree | 6db4bfbfdae39c1b176bdf037f9b02015871c079 /Master/texmf-dist/doc/latex/biblatex | |
parent | eaaa1a9357feba342a82289c80811777e6f5eed5 (diff) |
biblatex 2.3 (1nov12)
git-svn-id: svn://tug.org/texlive/trunk@28161 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/biblatex')
11 files changed, 238 insertions, 26 deletions
diff --git a/Master/texmf-dist/doc/latex/biblatex/README b/Master/texmf-dist/doc/latex/biblatex/README index 09e2ccfdad0..88e856e9cfa 100644 --- a/Master/texmf-dist/doc/latex/biblatex/README +++ b/Master/texmf-dist/doc/latex/biblatex/README @@ -30,8 +30,8 @@ the babel package. LICENSE -Copyright (c) 2006-2012 Philipp Lehman, 2012-present Philip Lehman, Joseph Wright, -Audrey Boruvka, Philip Kime). Permission is granted to copy, +Copyright (c) 2006-2012 Philipp Lehman, 2012-present Philip Lehman, +Joseph Wright, Audrey Boruvka, Philip Kime). Permission is granted to copy, distribute and/or modify this software under the terms of the LaTeX Project Public License (LPPL), version 1.3. This software is provided 'as is', without warranty of any kind, either expressed or implied, diff --git a/Master/texmf-dist/doc/latex/biblatex/RELEASE b/Master/texmf-dist/doc/latex/biblatex/RELEASE index df60bd3b9c4..f52473f346b 100644 --- a/Master/texmf-dist/doc/latex/biblatex/RELEASE +++ b/Master/texmf-dist/doc/latex/biblatex/RELEASE @@ -1,8 +1,22 @@ +RELEASE NOTES FOR VERSION 2.3 + +* Biber version 1.3 is required for biblatex 2.3 + +* New "append" mode for \DeclareSourcemap so that fields can be combined + +* Detection of some situations which requires biber or latex reruns. + Specifically, when sorting schemes are added or removed, when citations are added + or removed, when sorting=none and citation order changes and the interactions of + these situations when defernumbers=true. Biblatex should now report that a re-run is + required in such situations. + +* Bugfixes + RELEASE NOTES FOR VERSION 2.2 * Biber version 1.2 is required for biblatex 2.2 -* Bugfix release +* Bugfixes RELEASE NOTES FOR VERSION 2.1 diff --git a/Master/texmf-dist/doc/latex/biblatex/biblatex.pdf b/Master/texmf-dist/doc/latex/biblatex/biblatex.pdf Binary files differindex 164b011ce53..09a4396084a 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 ff0e91b9fe9..2837a13be10 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.2}, - date={08/2012}} + revision={2.3}, + date={11/2012}} \hypersetup{% pdftitle={The \biblatex Package}, @@ -315,6 +315,7 @@ compatibility matrix for the recent versions. \toprule Biber version & \biblatex\ version\\ \midrule +1.3 & 2.3\\ 1.2 & 2.1, 2.2\\ 1.1 & 2.1\\ 1.0 & 2.0\\ @@ -664,7 +665,9 @@ In datasources such as a \file{bib} file, all bibliographic data is specified in \item[Date fields] hold a date specification in \texttt{yyyy-mm-dd} format or a date range in \texttt{yyyy-mm-dd/yyyy-mm-dd} format. Date fields are special in that the date is parsed and split up into its components. See \secref{bib:use:dat} for details. A typical example is the \bibfield{date} field. -\item[Verbatim fields] are processed in verbatim mode and may contain special characters. Typical examples of verbatim fields are \bibfield{url} and \bibfield{doi}. +\item[Verbatim fields] are processed in verbatim mode and may contain special characters. Typical examples of verbatim fields are \bibfield{file and }\bibfield{doi}. + +\item[URI fields] are processed in verbatim mode and may contain special characters. They are also URL-escaped if they don't look like they already are. The typical example of a uri field is \bibfield{url}. \item[Comma"=separated value fields] A comma"=separated list of literal values. Examples are the \bibfield{keywords} and \bibfield{options} fields. @@ -1032,9 +1035,9 @@ The translator(s) of the \bibfield{title} or \bibfield{booktitle}, depending on The type of a \bibfield{manual}, \bibfield{patent}, \bibfield{report}, or \bibfield{thesis}. This field may also be useful for the custom types listed in \secref{bib:typ:ctm}. -\fielditem{url}{verbatim} +\fielditem{url}{uri} -The \acr{URL} of an online publication. +The \acr{URL} of an online publication. If it is not URL-escaped (no <\%> chars), with \biber, it will be URI-escaped according to RFC 3987, that is, even Unicode chars will be correctly escaped. \fielditem{urldate}{date} @@ -2264,7 +2267,7 @@ This option controls whether \texttt{long} and \texttt{comp} dates are printed w \boolitem[false]{defernumbers} -In contrast to standard \latex, the numeric labels generated by this package are normally assigned to the full list of references at the beginning of the document body. If this option is enabled, numeric labels (\ie the \bibfield{labelnumber} field discussed in \secref{aut:bbx:fld}) are assigned the first time an entry is printed in any bibliography. See \secref{use:cav:lab} for further explanation. +In contrast to standard \latex, the numeric labels generated by this package are normally assigned to the full list of references at the beginning of the document body. If this option is enabled, numeric labels (\ie the \bibfield{labelnumber} field discussed in \secref{aut:bbx:fld}) are assigned the first time an entry is printed in any bibliography. See \secref{use:cav:lab} for further explanation. This option requires two \latex runs after the data has been exported to the \file{bbl} file by the backend. See \secref{aut:int}. \boolitem[false]{punctfont} @@ -2930,7 +2933,7 @@ Since the \prm{resource} string is read in a verbatim-like mode, it may contain \valitem{label}{identifier} -Assigns a label to a resource. The \prm{identifier} may be used in place of the full resource name in the optional argument of \env{refsection} (see \ref{use:bib:sec}). +Assigns a label to a resource. The \prm{identifier} may be used in place of the full resource name in the optional argument of \env{refsection} (see \secref{use:bib:sec}). \valitem[local]{location}{location} @@ -2964,7 +2967,7 @@ This command differs from \cmd{addbibresource} in that the \prm{resource} is add \cmditem{addsectionbib}[options]{resource} -This command differs from \cmd{addbibresource} in that the resource \prm{options} are registered but the \prm{resource} not added to any resource list. This is only required for resources which 1) are given exclusively in the optional argument of \env{refsection} (\ref{use:bib:sec}) and 2) require options different from the default settings. In this case, \cmd{addsectionbib} is employed to qualify the \prm{resource} prior to using it by setting the appropriate \prm{options} in the preamble. The \opt{label} option may be useful to assign a short name to the resource. +This command differs from \cmd{addbibresource} in that the resource \prm{options} are registered but the \prm{resource} not added to any resource list. This is only required for resources which 1) are given exclusively in the optional argument of \env{refsection} (\secref{use:bib:sec}) and 2) require options different from the default settings. In this case, \cmd{addsectionbib} is employed to qualify the \prm{resource} prior to using it by setting the appropriate \prm{options} in the preamble. The \opt{label} option may be useful to assign a short name to the resource. \cmditem{bibliography}{bibfile, \dots}|\DeprecatedMark| @@ -3386,7 +3389,7 @@ The following additional citation commands are only provided by some of the cita \cmditem{textcite}[prenote][postnote]{key} \cmditem{Textcite}[prenote][postnote]{key} -These citation commands are provided by all non-verbose styles which ship with this package. They are intended for use in the flow of text, replacing the subject of a sentence. They print the authors or editors followed by a citation label which is enclosed in parentheses. Depending on the citation style, the label may be a number, the year of publication, an abridged version of the title, or something else. The numeric and alphabetic styles use square brackets instead of parentheses. \cmd{Textcite} is similar to \cmd{textcite} but capitalizes the name prefix of the first name in the citation if the \opt{useprefix} option is enabled, provided that there is a name prefix. +These citation commands are provided by all styles that ship with this package. They are intended for use in the flow of text, replacing the subject of a sentence. They print the authors or editors followed by a citation label which is enclosed in parentheses. Depending on the citation style, the label may be a number, the year of publication, an abridged version of the title, or something else. The numeric and alphabetic styles use square brackets instead of parentheses. \cmd{Textcite} is similar to \cmd{textcite} but capitalizes the name prefix of the first name in the citation if the \opt{useprefix} option is enabled, provided that there is a name prefix. \cmditem{smartcite}[prenote][postnote]{key} \cmditem{Smartcite}[prenote][postnote]{key} @@ -4298,7 +4301,7 @@ With traditional \bibtex, the \cmd{bibliography} command serves two purposes. It \end{enumerate} -Whenever a reference to a work which has not been cited before is added, this procedure must be repeated. This is also the case if the last reference to a work which has been cited before is removed because some citation labels may change in this case. In contrast to traditional \bibtex, there is normally no need to run \bin{latex} twice after running the backend as far as the handling of bibliographic data is concerned.\footnote{That is, unless the \opt{defernumbers} package option is enabled. This option requires two \latex runs after the data has been exported to the \file{bbl} file by \bibtex.} +Whenever a reference to a work which has not been cited before is added, this procedure must be repeated. This is also the case if the last reference to a work which has been cited before is removed because some citation labels may change in this case. In contrast to traditional \bibtex, there is normally no need to run \bin{latex} twice after running the backend as far as the handling of bibliographic data is concerned.\footnote{That is, unless the \opt{defernumbers} package option is enabled. See \secref{aut:int}} \BibTeXOnlyMark Note that when using \bibtex as the backend this only applies to the most basic case. Using the \bibfield{xref} field or the \bibfield{entryset} field may require an additional \latex/\bibtex/\latex cycle. Some other facilities provided by \sty{biblatex} may also require an additional \bin{latex} run to get certain references and the page tracking right. In this case, the usual warning messages such as «There were undefined references» and «Label(s) may have changed. Rerun to get cross-references right» will be printed. @@ -5793,7 +5796,7 @@ The special fields are \bibfield{related}, \bibfield{relatedtype} and \bibfield{ \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). \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}. They can then define macros and/or formats with the name \texttt{related:\prm{relatedtype}} which will be used to format the data. 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}. +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}. \subsubsection{Dynamic Modification of Data} \label{aut:ctm:map} @@ -5819,7 +5822,7 @@ Defines source data modification (mapping) rules which can be used to perform an entrytype \end{itemize} -The \prm{specification} is an undelimited list of \cmd{maps} directives which specify containers for mappings rules applying to a particular data source type (\ref{use:bib:res}). Spaces, tabs, and line endings may be used freely to visually arrange the \prm{specification}. Blank lines are not permissible. This command may only be used in the preamble. +The \prm{specification} is an undelimited list of \cmd{maps} directives which specify containers for mappings rules applying to a particular data source type (\secref{use:bib:res}). Spaces, tabs, and line endings may be used freely to visually arrange the \prm{specification}. Blank lines are not permissible. This command may only be used in the preamble. \cmditem{maps}{elements} @@ -5829,7 +5832,7 @@ Contains an ordered set of \cmd{map} elements each of which is a logically relat \choitem{datatype}{bibtex, biblatexml, ris, zoterordfxml, endnotexml} -Data source type which the contained \cmd{map} directives apply to (\ref{use:bib:res}). +Data source type to which the contained \cmd{map} directives apply (\secref{use:bib:res}). \boolitem[false]{overwrite} @@ -5871,6 +5874,7 @@ A mapping step. Each step is applied sequentially to every relevant entry where \valitem{replace}{regexp} \valitem{fieldset}{entryfield} \valitem{fieldvalue}{string} +\boolitem[false]{append} \boolitem[false]{final} \boolitem[false]{null} \boolitem[false]{origfield} @@ -5890,9 +5894,16 @@ For all boolean \cmd{step} options, the short form \opt{option} is equivalent to \texttt{final} is \texttt{true} then if there is no \texttt{fieldsource} \prm{entryfield} in the entry, processing of the parent \cmd{map} immediately terminates. \item If \texttt{match} is defined but \texttt{replace} is not, only apply the step if the \texttt{fieldsource} \prm{entryfield} matches the - \texttt{match} regular expression\footnote{Regular expressions are full Perl 5.14 regular expressions. This means you may need to deal with special characters, see examples.} + \texttt{match} regular expression\footnote{Regular expressions are full Perl 5.14 regular expressions. This means you may need to deal with special characters, see examples.}. You may use capture parenthesis as usual and refer to these (\$1\ldots\$9) in later \texttt{fieldvalue} specifications. This allows you to pull out parts of some fields and put these parts in other fields. \item Perform a regular expression match and replace on the value of the \texttt{fieldsource} \prm{entryfield} if \texttt{match} and \texttt{replace} are defined. -\item If \texttt{fieldset} is defined, then one and only one of the following other options is then mandatory: +\item If \texttt{fieldset} is defined, then its value is \prm{entryfield} + which will be set to a value specified by further options. If + \texttt{overwrite} is false for this step and the field to set already + exists then the map step is ignored. If \texttt{final} is also true for + this step, then processing of the parent map stops at this point. If + \texttt{append} is true, then the value to set is appended to the current + value of \prm{entryfield}. The value to set is specified by a mandatory + one and only one of the following options: \begin{itemize} \item\ \texttt{fieldvalue} --- The \texttt{fieldset} \prm{entryfield} is set to the \texttt{fieldvalue} \prm{string} \item\ \texttt{null} --- The \texttt{fieldset} \prm{entryfield} is ignored, as if it did not exist in the datasource @@ -5910,7 +5921,7 @@ For all boolean \cmd{step} options, the short form \opt{option} is equivalent to \cmditem{DeclareDefaultSourcemap}[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 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 \ref{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 \ref{apx:maps} for examples. +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. \end{ltxsyntax} @@ -6061,6 +6072,23 @@ If an entry has a \bibfield{lista} field which matches regular expression <regex \begin{lstlisting}[style=latex]{} \DeclareSourcemap{ \maps[datatype=bibtex]{ + \map[overwrite=false]{ + \step[fieldsource=<<author>>] + \step[fieldset=<<editor>>, origfieldval, final] + \step[fieldsource=<<editor>>, match=\regexp{<<\A(.+?)\s+and.*>>}, replace={<<$1>>}] + } + } +} +\end{lstlisting} +%$<- to stop emacs highlighting breaking +For any entry with an \bibfield{author} field, try to set +\bibfield{sortname} to the same as \bibfield{author}. If this fails because +\bibfield{sortname} already exists, stop, otherwise truncate +\bibfield{sortname} to just the first name in the name list. +% +\begin{lstlisting}[style=latex]{} +\DeclareSourcemap{ + \maps[datatype=bibtex]{ \map{ \step[fieldsource=<<author>>, match={<<Smith, Bill>>}, @@ -6111,7 +6139,46 @@ Here, we have used the hexadecimal escape sequence <|\x20|> in place of literal \end{lstlisting} % Only applies to entries with an \bibfield{author} field matching <Doe,>. First the \bibfield{author} field is copied to both the \bibfield{shortauthor} and \bibfield{sortname} fields, overwriting them if they already exist. Then, these two new fields are modified to canonicalise a particular name, which presumably has some variants in the data source. - +% +\begin{lstlisting}[style=latex]{} +\DeclareSourcemap{ + \maps[datatype=bibtex]{ + \map[overwrite]{ + \step[fieldsource=<<verba>>, final] + \step[fieldset=<<verbb>>, fieldvalue=<</>>, append] + \step[fieldset=<<verbb>>, origfieldval, append] + \step[fieldsource=<<verbb>>, final] + \step[fieldset=<<verbc>>, fieldvalue=<</>>, append] + \step[fieldset=<<verbc>>, origfieldval, append] + } + } +} +\end{lstlisting} +% +This example demonstrates the sequential nature of the step processing and the \opt{append} option. If an entry has a \bibfield{verba} field then first, a forward slash is appended to the \bibfield{verbb} field. Then, the contents of \bibfield{verba} are appended to the \bibfield{verbb} field. A slash is then appended to the \bibfield{verbc} field and the contents of \bibfield{verbb} are appended to the \bibfield{verbc} field. +% +\begin{lstlisting}[style=latex]{} +\DeclareSourcemap{ + \maps[datatype=bibtex]{ + \map[overwrite]{ + \step[fieldset=<<autourl>>, fieldvalue={<<http://scholar.google.com/scholar?q=">>}] + \step[fieldsource=<<title>>] + \step[fieldset=<<autourl>>, origfieldval, append] + \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[fieldsource=<<year>>] + \step[fieldset=<<autourl>>, origfieldval, append] + \step[fieldset=<<autourl>>, fieldvalue={<<&as_yhi=>>}, append] + \step[fieldset=<<autourl>>, origfieldval, append] + } + } +} +\end{lstlisting}%$ <- keep AucTeX highlighting happy +% +This example assumes you have created a field called \bibfield{autourl} using the datamodel macros from \secref{aut:ctm:dm} in order to hold, for example, a Google Scholar query URL auto-created from elements of the entry. The example progressively extracts information from the entry, constructing the URL as it goes. It demonstrates that it is possible to refer to parenthetical matches from the most recent \texttt{match} in any following \texttt{fieldvalue} which allows extracting the lastname from the \bibfield{author}, assuming a <last, first> format. The resulting field could then be used as a hyperlink from, for example, the title of the work in the bibliography. +% \subsubsection{Data Model Specification} \label{aut:ctm:dm} @@ -6147,10 +6214,18 @@ Alternatively, the name of the data model file can be different from any of the \begin{ltxsyntax} -\cmditem{DeclareDatamodelEntrytypes}{entrytypes}|\BiberOnlyMark| +\cmditem{DeclareDatamodelEntrytypes}[options]{entrytypes}|\BiberOnlyMark| Declares the comma"=separated list of \prm{entrytypes} to be valid entrytypes in the data model. This command may only be used in a data model configuration file. +\begin{optionlist*} + +\boolitem[false]{skipout} + +This entrytype is not output to the \file{.bbl}. Typically used for special entrytypes which are processed and consumed by the backend such as \bibtype{xdata}. + +\end{optionlist*} + \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}. This command may only be used in a data model configuration file. Valid \prm{options} are: @@ -6994,6 +7069,14 @@ Expands to the unformatted \prm{field}. If the \prm{field} is undefined, this co Similar to \cmd{thefield}, except that the field is automatically sanitized such that its value may safely be used in the formation of a control sequence name. +\cmditem{csfield}{field} + +Similar to \cmd{thefield}, but prevents expansion. + +\cmditem{usefield}{command}{field} + +Executes \prm{command} using the unformatted \prm{field} as its argument. + \cmditem{thelist}{literal list} Expands to the unformatted \prm{literal list}. If the list is undefined, this command expands to an empty string. Note that this command will dump the \prm{literal list} in the internal format used by this package. This format is not suitable for printing. @@ -7403,8 +7486,10 @@ Similar to \cmd{newbibmacro} but redefines \prm{name}. In contrast to \cmd{renew Similar to \cmd{newbibmacro} but only defines \prm{name} if it is undefined. This command is similar in concept to \cmd{providecommand}. \cmditem{usebibmacro}{name} +\cmditem*{usebibmacro*}{name} -Executes the macro \prm{name}, as defined with \cmd{newbibmacro}. If the macro takes any arguments, they are simply appended after \prm{name}. \cmd{usebibmacro} is robust. +This command executes the macro \prm{name}, as defined with \cmd{newbibmacro}. If the macro takes any arguments, they are simply appended after \prm{name}. The regular variant of this command sanitizes +\prm{name} while the starred variant does not. \cmditem{savecommand}{command} \cmditem{restorecommand}{command} @@ -7431,6 +7516,17 @@ These commands save and restore the formatting directive \prm{format}, as define These commands save and restore the formatting directive \prm{format}, as defined with \cmd{DeclareNameFormat}. Both commands work within a local scope. They are mainly provided for use in localization files. +\cmditem{ifbibmacroundef}{name}{true}{false} + +Expands to \prm{true} if the bibliography macro \prm{name} is undefined, and to \prm{false} otherwise. + +\cmditem{iffieldformatundef}[entry type]{name}{true}{false} +\cmditem{iflistformatundef}[entry type]{name}{true}{false} +\cmditem{ifnameformatundef}[entry type]{name}{true}{false} + +Expands to \prm{true} if the formatting directive \prm{format} is undefined, and to \prm{false} +otherwise. + \cmditem{usedriver}{code}{entrytype} Executes the bibliography driver for an \prm{entrytype}. Calling this command in the \prm{loopcode} of a citation command defined with \cmd{DeclareCiteCommand} is a simple way to print full citations similar to a bibliography entry. Commands such as \cmd{newblock}, which are not applicable in a citation, are disabled automatically. Additional initialization commands may be passed as the \prm{code} argument. This argument is executed inside the group in which \cmd{usedriver} runs the respective driver. Note that it is mandatory in terms of the syntax but may be left empty. Also note that this command will automatically switch languages if the \opt{babel} package option is enabled. @@ -8421,6 +8517,7 @@ Roles which are related to supplementary material may also be expressed as objec \item[submitted] The expression <submitted> (the manuscript has been submitted to a journal or conference). \item[forthcoming] The expression <forthcoming> (the manuscript has been accepted by a press or journal). \item[inpress] The expression <in press> (the manuscript is fully copyedited and out of the author's hands; it is in the final stages of the production process). +\item[prepublished] The expression <pre-published> (the manuscript is published in a preliminary form or location, such as online version in advance of print publication). \end{keymarglist} \paragraph{Pagination} @@ -9825,7 +9922,7 @@ In order to minimize the risk of name clashes, \latex packages typically prefix These are the driver default source mappings. For drivers other than \opt{bibtex} and \opt{ris}, they are highly experimental and subject to change (because the driver datatype itself is unstable or not well suited to bibliographic data). \subsection{\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 \ref{bib:typ:als} and \ref{bib:fld:als} are implemented. +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]{ @@ -10497,7 +10594,19 @@ This revision history is a list of changes relevant to users of this package. Ch \begin{changelog} -\begin{release}{2.2}{2012} +\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 +\item Extended auxiliary indexing macros +\item Added support for plural localization strings with \bibfield{relatedtype}\see{aut:ctm:rel}\BiberOnlyMark +\item Added \cmd{csfield} and \cmd{usefield}\see{aut:aux:dat} +\item Added starred variant of \cmd{usebibmacro}\see{aut:aux:msc} +\item Added \cmd{ifbibmacroundef}, \cmd{iffieldformatundef}, \cmd{iflistformatundef} + and \cmd{ifnameformatundef}\see{aut:aux:msc} +\item Misc bug fixes +\end{release} + +\begin{release}{2.2}{2012-08-17} \item Misc bug fixes \item Added \cmd{revsdnamepunct}\see{use:fmt:fmt} \item Added \cmd{ifterseinits}\see{aut:aux:tst} diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-basic.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-single.pdf Binary files differindex fa30d6b1a1b..fa30d6b1a1b 100644 --- a/Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-basic.pdf +++ b/Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-single.pdf diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-basic.tex b/Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-single.tex index d905168b33e..d905168b33e 100644 --- a/Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-basic.tex +++ b/Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-single.tex diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-advanced.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-multiple.pdf Binary files differindex 940b0590293..940b0590293 100644 --- a/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-advanced.pdf +++ b/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-multiple.pdf diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-advanced.tex b/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-multiple.tex index fef863a4516..fef863a4516 100644 --- a/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-advanced.tex +++ b/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-multiple.tex diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/22-indexing-subentry.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/22-indexing-subentry.pdf Binary files differnew file mode 100644 index 00000000000..0909dec8697 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex/examples/22-indexing-subentry.pdf diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/22-indexing-subentry.tex b/Master/texmf-dist/doc/latex/biblatex/examples/22-indexing-subentry.tex new file mode 100644 index 00000000000..ff4f8fb32ec --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex/examples/22-indexing-subentry.tex @@ -0,0 +1,87 @@ +% +% This file demonstrates indexing with the 'imakeidx' package. +% This file is processed as follows: +% +% latex file +% bibtex/biber file +% latex file +% latex file +% +% Note that the file name suffix may be omitted. It's 'latex file' and not +% 'latex file.tex'. Also note that '-t <file>' is optional. +% +\documentclass[a4paper]{article} +\usepackage[T1]{fontenc} +% +% The 'imakeidx' package provides advanced indexing facilities with support for +% multiple indexes. Unlike the 'index' package, 'imakeidx' does not generate +% "self-protecting" index entries. So we need to protect control sequences in +% indexing fields from expansion. For an example see the 'knuth:ct:a' entry in +% biblatex-examples.bib. +% +\usepackage{imakeidx} +\usepackage[american]{babel} +\usepackage{csquotes} +% +% We set the 'indexing' package option and use the 'authortitle' +% style in this example. +% +\usepackage[indexing=cite,style=authortitle,babel=hyphen,backend=biber]{biblatex} +\addbibresource{biblatex-examples.bib} +% +% We want two indexes: an index of names with title subentries, an index of +% titles organized by year. They are defined by way of \makeindex, see the +% documentation of the 'imakeidx' package for details. +% +\makeindex[name=name-title,title={Name and Title Index}] +\makeindex[name=year-title,title={Year and Title Index}] +% +% A 'name:title' indexing bibmacro can be found in biblatex.def. It takes the same +% arguments as the 'index:name' bibmacro. Note that the title fields are accessed +% inside the name indexing directive. So we have to test for missing titles. +% +\DeclareIndexNameFormat{name:title}{% + \iffieldundef{title} + {\usebibmacro{index:name}{\index[name-title]}{#1}{#3}{#5}{#7}} + {\usebibmacro{index:name:title}{\index[name-title]}{#1}{#3}{#5}{#7}}} +% +% Auxiliary indexing macros in biblatex.def can be used to define additional +% indexing directives with subentries. The following directive creates entries +% for the year-title index. +% +\DeclareIndexFieldFormat{with:year}{% + \iffieldundef{year} + {\usebibmacro{index:entry}{\index[year-title]}{% + \mkbibindexentry{0}{Not dated}% + \subentryoperator% + \mkbibindexfield{\thefield{indexsorttitle}}{\emph{#1}}}} + {\usebibmacro{index:entry}{\index[year-title]}{% + \thefield{year}\subentryoperator% + \mkbibindexfield{\thefield{indexsorttitle}}{\emph{#1}}}}} +% +% We redefine the 'citeindex' bibmacro to use the new indexing directives. +% +\renewbibmacro*{citeindex}{% + \ifciteindex + {\indexnames[name:title]{labelname}% + \indexfield[with:year]{indextitle}} + {}} + +\begin{document} + +\section*{Indexing with the \texttt{imakeidx} package} + +% We cite a few items. These citations will be added to the indexes. +\cite{knuth:ct,knuth:ct:a,knuth:ct:c,knuth:ct:d} +\cite{aristotle:anima,aristotle:poetics,aristotle:physics,aristotle:rhetoric} + +\clearpage + +% We print the printbibliography... +\printbibliography +% ...and the indexes +\raggedright +\printindex[name-title] % the name-title index +\printindex[year-title] % the year-title index + +\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 b86e9bf01f6..994b91995db 100644 --- a/Master/texmf-dist/doc/latex/biblatex/examples/biblatex-examples.bib +++ b/Master/texmf-dist/doc/latex/biblatex/examples/biblatex-examples.bib @@ -594,7 +594,7 @@ sorttitle = {Computers & Typesetting A}, indexsorttitle = {The TeXbook}, author = {Knuth, Donald E.}, - indextitle = {\TeX book, The}, + indextitle = {\protect\TeX book, The}, title = {The \TeX book}, shorttitle = {\TeX book}, maintitle = {Computers \& Typesetting}, @@ -605,7 +605,9 @@ annotation = {The first volume of a five-volume book. Note the \texttt{sorttitle} and \texttt{sortyear} fields. We want this volume to be listed after the entry referring to the entire five-volume set. Also - note the \texttt{indextitle} and \texttt{indexsorttitle} fields} + note the \texttt{indextitle} and \texttt{indexsorttitle} fields. Indexing + packages that don't generate robust index entries require some control + sequences to be protected from expansion} } @book{knuth:ct:b, hyphenation = {american}, |