From 295b453abefbb11e8491968ce857079ce2b76087 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 2 Nov 2012 23:54:18 +0000 Subject: biblatex 2.3 (1nov12) git-svn-id: svn://tug.org/texlive/trunk@28161 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/biblatex/README | 4 +- Master/texmf-dist/doc/latex/biblatex/RELEASE | 16 ++- Master/texmf-dist/doc/latex/biblatex/biblatex.pdf | Bin 1392583 -> 1396472 bytes Master/texmf-dist/doc/latex/biblatex/biblatex.tex | 151 ++++++++++++++++++--- .../latex/biblatex/examples/20-indexing-basic.pdf | Bin 182797 -> 0 bytes .../latex/biblatex/examples/20-indexing-basic.tex | 74 ---------- .../latex/biblatex/examples/20-indexing-single.pdf | Bin 0 -> 182797 bytes .../latex/biblatex/examples/20-indexing-single.tex | 74 ++++++++++ .../biblatex/examples/21-indexing-advanced.pdf | Bin 184600 -> 0 bytes .../biblatex/examples/21-indexing-advanced.tex | 142 ------------------- .../biblatex/examples/21-indexing-multiple.pdf | Bin 0 -> 184600 bytes .../biblatex/examples/21-indexing-multiple.tex | 142 +++++++++++++++++++ .../biblatex/examples/22-indexing-subentry.pdf | Bin 0 -> 88891 bytes .../biblatex/examples/22-indexing-subentry.tex | 87 ++++++++++++ .../latex/biblatex/examples/biblatex-examples.bib | 6 +- 15 files changed, 454 insertions(+), 242 deletions(-) delete mode 100644 Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-basic.pdf delete mode 100644 Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-basic.tex create mode 100644 Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-single.pdf create mode 100644 Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-single.tex delete mode 100644 Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-advanced.pdf delete mode 100644 Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-advanced.tex create mode 100644 Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-multiple.pdf create mode 100644 Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-multiple.tex create mode 100644 Master/texmf-dist/doc/latex/biblatex/examples/22-indexing-subentry.pdf create mode 100644 Master/texmf-dist/doc/latex/biblatex/examples/22-indexing-subentry.tex (limited to 'Master/texmf-dist/doc/latex/biblatex') 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 index 164b011ce53..09a4396084a 100644 Binary files a/Master/texmf-dist/doc/latex/biblatex/biblatex.pdf and b/Master/texmf-dist/doc/latex/biblatex/biblatex.pdf differ 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} @@ -6059,6 +6070,23 @@ Here, if for an entry, the \bibfield{maintitle} field matches a particular regul If an entry has a \bibfield{lista} field which matches regular expression , then it is removed. % \begin{lstlisting}[style=latex]{} +\DeclareSourcemap{ + \maps[datatype=bibtex]{ + \map[overwrite=false]{ + \step[fieldsource=<>] + \step[fieldset=<>, origfieldval, final] + \step[fieldsource=<>, 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{ @@ -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 . 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=<>, final] + \step[fieldset=<>, fieldvalue=<>, append] + \step[fieldset=<>, origfieldval, append] + \step[fieldsource=<>, final] + \step[fieldset=<>, fieldvalue=<>, append] + \step[fieldset=<>, 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=<>, fieldvalue={<>}, append] + \step[fieldsource=<>, match=\regexp{<<\A([^,]+)\s*,>>}] + \step[fieldset=<>, fieldvalue={<<$1>>}, append] + \step[fieldset=>, fieldvalue={<<&as_ylo=>>}, append] + \step[fieldsource=<>] + \step[fieldset=<>, origfieldval, append] + \step[fieldset=<>, fieldvalue={<<&as_yhi=>>}, append] + \step[fieldset=<>, 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 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 (the manuscript has been submitted to a journal or conference). \item[forthcoming] The expression (the manuscript has been accepted by a press or journal). \item[inpress] The expression (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 (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-basic.pdf deleted file mode 100644 index fa30d6b1a1b..00000000000 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-basic.pdf and /dev/null differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-basic.tex b/Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-basic.tex deleted file mode 100644 index d905168b33e..00000000000 --- a/Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-basic.tex +++ /dev/null @@ -1,74 +0,0 @@ -% -% This file demonstrates indexing with the 'makeidx' package. -% This file is processed as follows: -% -% latex file -% bibtex/biber file -% latex file -% makeindex file -% latex file -% -% Note that the file name suffix may be omitted. It's 'latex file' -% and not 'latex file.tex'. -% -\documentclass[a4paper]{article} -\usepackage[T1]{fontenc} -\usepackage[american]{babel} -\usepackage{csquotes} -% -% We set the 'indexing' package option ('indexing' is similar to -% 'indexing=true') to enable indexing in both citations and the -% bibliography. It is rather unusual to add bibliography entries to -% the index so you will normally use 'indexing=cite' instead. The -% only reason we're indexing the bibliography in this example is to -% get a larger index. For a change, let's also use the 'authortitle' -% style in this example. -\usepackage[indexing,style=authortitle,backend=biber]{biblatex} -\addbibresource{biblatex-examples.bib} -% -% The 'makeidx' package provides indexing facilities on a fairly -% basic level. It is highly advisable to use the 'index' package -% instead, even if you do not need the additional facilities -% provided by this package, such as multiple indexes. The reason is -% that the \index command defined by this package is more robust -% than the basic command provided by 'makeidx'. -\usepackage{makeidx} -% We need to enable indexing globally by way of \makeindex. -% Otherwise, no index is created at all, regardless of the -% 'indexing' option of biblatex. -\makeindex -% -% Note that biblatex uses makeindex's 'actual' operator to pass the -% 'indexsorttitle' field to makeindex. The default character used -% is '@'. If the makeindex style uses a different character, i.e., -% if the .ist file contains a line like this -% -% actual '=' -% -% you need to redefine \actualoperator accordingly: -% -% \renewcommand*{\actualoperator}{=} -% -\begin{document} - -\section*{Indexing with the \texttt{makeidx} package} - -% We add the contents of the entire bib file to the bibliography. -% Note that \nocite does not add anything to the index on its own. -\nocite{*} - -% We cite a few items. These citations will be added to the index. -\cite{piccato,gaonkar,malinowski,coleridge,gerhardt,cicero} - -% We also add an explicit index entry. -\index{Example entry} - -\clearpage - -% We print the printbibliography... -\printbibliography -% ...and the index -\raggedright -\printindex - -\end{document} diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-single.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-single.pdf new file mode 100644 index 00000000000..fa30d6b1a1b Binary files /dev/null and b/Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-single.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-single.tex b/Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-single.tex new file mode 100644 index 00000000000..d905168b33e --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex/examples/20-indexing-single.tex @@ -0,0 +1,74 @@ +% +% This file demonstrates indexing with the 'makeidx' package. +% This file is processed as follows: +% +% latex file +% bibtex/biber file +% latex file +% makeindex file +% latex file +% +% Note that the file name suffix may be omitted. It's 'latex file' +% and not 'latex file.tex'. +% +\documentclass[a4paper]{article} +\usepackage[T1]{fontenc} +\usepackage[american]{babel} +\usepackage{csquotes} +% +% We set the 'indexing' package option ('indexing' is similar to +% 'indexing=true') to enable indexing in both citations and the +% bibliography. It is rather unusual to add bibliography entries to +% the index so you will normally use 'indexing=cite' instead. The +% only reason we're indexing the bibliography in this example is to +% get a larger index. For a change, let's also use the 'authortitle' +% style in this example. +\usepackage[indexing,style=authortitle,backend=biber]{biblatex} +\addbibresource{biblatex-examples.bib} +% +% The 'makeidx' package provides indexing facilities on a fairly +% basic level. It is highly advisable to use the 'index' package +% instead, even if you do not need the additional facilities +% provided by this package, such as multiple indexes. The reason is +% that the \index command defined by this package is more robust +% than the basic command provided by 'makeidx'. +\usepackage{makeidx} +% We need to enable indexing globally by way of \makeindex. +% Otherwise, no index is created at all, regardless of the +% 'indexing' option of biblatex. +\makeindex +% +% Note that biblatex uses makeindex's 'actual' operator to pass the +% 'indexsorttitle' field to makeindex. The default character used +% is '@'. If the makeindex style uses a different character, i.e., +% if the .ist file contains a line like this +% +% actual '=' +% +% you need to redefine \actualoperator accordingly: +% +% \renewcommand*{\actualoperator}{=} +% +\begin{document} + +\section*{Indexing with the \texttt{makeidx} package} + +% We add the contents of the entire bib file to the bibliography. +% Note that \nocite does not add anything to the index on its own. +\nocite{*} + +% We cite a few items. These citations will be added to the index. +\cite{piccato,gaonkar,malinowski,coleridge,gerhardt,cicero} + +% We also add an explicit index entry. +\index{Example entry} + +\clearpage + +% We print the printbibliography... +\printbibliography +% ...and the index +\raggedright +\printindex + +\end{document} diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-advanced.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-advanced.pdf deleted file mode 100644 index 940b0590293..00000000000 Binary files a/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-advanced.pdf and /dev/null differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-advanced.tex b/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-advanced.tex deleted file mode 100644 index fef863a4516..00000000000 --- a/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-advanced.tex +++ /dev/null @@ -1,142 +0,0 @@ -% -% This file demonstrates indexing with the 'index' package. -% This file is processed as follows: -% -% latex file -% bibtex/biber file -% latex file -% makeindex -o file.ind file.idx (= makeindex file) -% makeindex -o file.nnd file.ndx -% makeindex -o file.tnd file.tdx -% latex file -% -% Note that the file name suffix may be omitted. It's 'latex file' -% and not 'latex file.tex'. Also note that '-t ' is optional. -% -\documentclass[a4paper]{article} -\usepackage[T1]{fontenc} -% -% The 'index' package provides advanced indexing facilities with -% support for multiple indexes. -\usepackage{index} -\usepackage[american]{babel} -\usepackage{csquotes} -% -% We set the 'indexing' package option and use the 'authortitle' -% style in this example. -\usepackage[indexing,style=authortitle,babel=hyphen,backend=biber]{biblatex} -\addbibresource{biblatex-examples.bib} -% -% We want three indexes: a general index, an index of names, and an -% index of titles. They are defined by way of \newindex, see the -% documentation of the 'index' package for details. -\newindex{default}{idx}{ind}{Subject Index} -\newindex{names}{ndx}{nnd}{Name Index} -\newindex{titles}{tdx}{tnd}{Title Index} -% -% We need to redefine some index formatting directives such that -% biblatex adds names and titles to separate indexes. All names -% should go to the name index, hence we simply redefine the default -% index formatting directive for names. The default definition, -% which is found in biblatex.def, looks like this: -% -% \DeclareIndexNameFormat{default}{% -% \usebibmacro{index:name}{\index}{#1}{#3}{#5}{#7}% -% } -% -% As you can see, the data is simply passed on to a 'bibmacro' which -% takes care of the formatting of the name. The definition of the -% bibmacro, which is also found in biblatex.def, is not relevant in -% our example because all we want to do is change or rather extend -% the \index command, which happens to be the first argument of the -% 'index:name' bibmacro. -% -\DeclareIndexNameFormat{default}{% - \usebibmacro{index:name}{\index[names]}{#1}{#3}{#5}{#7}% -} -% -% Titles are handled in a similar way. The formatting directive we -% need to modify is 'indextitle'. It's default definition looks like -% this: -% -% \DeclareIndexFieldFormat{indextitle}{% -% \usebibmacro{index:title}{\index}{#1}% -% } -% -% We modify it such that the \index command writes to the index of -% titles: -% -\DeclareIndexFieldFormat{indextitle}{% - \usebibmacro{index:title}{\index[titles]}{#1}% -} -% -% That's it as far as splitting the index is concerned. Let's have a -% look at some other facilities you may want to customize. By -% default, biblatex will index the author or editor and the title of -% all references. This behavior may be modified as desired. The -% indexing facilities are not hard-coded. All standard styles which -% ship with this package call two 'bibmacros' which handle the -% indexing. These macros are called 'citeindex' and 'bibindex', both -% of which are defined in biblatex.def. The former handles indexing -% in citations, the latter in the bibliography. Their default -% definitions are as follows: -% -% \newbibmacro*{citeindex}{% -% \ifciteindex -% {\indexnames{labelname}% -% \indexfield{indextitle}} -% {}} -% -% \newbibmacro*{bibindex}{% -% \ifbibindex -% {\indexnames{labelname}% -% \indexfield{indextitle}} -% {}} -% -% The 'labelname' field is a copy of the 'author' field, if there is -% an author, or a copy of the 'editor' field otherwise. 'indextitle' -% is the 'indextitle' field, if defined in the bib file, or a copy -% of the 'title' field otherwise. -% -% The mechanism works like this: the \indexnames and \indexfield -% fields tell biblatex which data to add to the index, the indexing -% directives tell it how to index the data. -% -% The default settings should be fine in most cases. As an example, -% we will modify them here such that author, editors, translators, -% and commentators in the bibliography are indexed: -% -\renewbibmacro*{bibindex}{% - \ifbibindex - {\indexnames{author}% - \indexnames{editor}% - \indexnames{translator}% - \indexnames{commentator}% - \indexfield{indextitle}} - {}} -% -\begin{document} - -\section*{Indexing with the \texttt{index} package} - -% We add the contents of the entire bib file to the bibliography. -% Note that \nocite does not add anything to the index on its own. -\nocite{*} - -% We cite a few items. These citations will be added to the index. -\cite{piccato,gaonkar,malinowski,coleridge,gerhardt,cicero} - -% We also add an explicit index entry. -\index{Example entry} - -\clearpage - -% We print the printbibliography... -\printbibliography -% ...and the indexes -\raggedright -\printindex % the general index -\printindex[names] % the name index -\printindex[titles] % the title index - -\end{document} diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-multiple.pdf b/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-multiple.pdf new file mode 100644 index 00000000000..940b0590293 Binary files /dev/null and b/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-multiple.pdf differ diff --git a/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-multiple.tex b/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-multiple.tex new file mode 100644 index 00000000000..fef863a4516 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex/examples/21-indexing-multiple.tex @@ -0,0 +1,142 @@ +% +% This file demonstrates indexing with the 'index' package. +% This file is processed as follows: +% +% latex file +% bibtex/biber file +% latex file +% makeindex -o file.ind file.idx (= makeindex file) +% makeindex -o file.nnd file.ndx +% makeindex -o file.tnd file.tdx +% latex file +% +% Note that the file name suffix may be omitted. It's 'latex file' +% and not 'latex file.tex'. Also note that '-t ' is optional. +% +\documentclass[a4paper]{article} +\usepackage[T1]{fontenc} +% +% The 'index' package provides advanced indexing facilities with +% support for multiple indexes. +\usepackage{index} +\usepackage[american]{babel} +\usepackage{csquotes} +% +% We set the 'indexing' package option and use the 'authortitle' +% style in this example. +\usepackage[indexing,style=authortitle,babel=hyphen,backend=biber]{biblatex} +\addbibresource{biblatex-examples.bib} +% +% We want three indexes: a general index, an index of names, and an +% index of titles. They are defined by way of \newindex, see the +% documentation of the 'index' package for details. +\newindex{default}{idx}{ind}{Subject Index} +\newindex{names}{ndx}{nnd}{Name Index} +\newindex{titles}{tdx}{tnd}{Title Index} +% +% We need to redefine some index formatting directives such that +% biblatex adds names and titles to separate indexes. All names +% should go to the name index, hence we simply redefine the default +% index formatting directive for names. The default definition, +% which is found in biblatex.def, looks like this: +% +% \DeclareIndexNameFormat{default}{% +% \usebibmacro{index:name}{\index}{#1}{#3}{#5}{#7}% +% } +% +% As you can see, the data is simply passed on to a 'bibmacro' which +% takes care of the formatting of the name. The definition of the +% bibmacro, which is also found in biblatex.def, is not relevant in +% our example because all we want to do is change or rather extend +% the \index command, which happens to be the first argument of the +% 'index:name' bibmacro. +% +\DeclareIndexNameFormat{default}{% + \usebibmacro{index:name}{\index[names]}{#1}{#3}{#5}{#7}% +} +% +% Titles are handled in a similar way. The formatting directive we +% need to modify is 'indextitle'. It's default definition looks like +% this: +% +% \DeclareIndexFieldFormat{indextitle}{% +% \usebibmacro{index:title}{\index}{#1}% +% } +% +% We modify it such that the \index command writes to the index of +% titles: +% +\DeclareIndexFieldFormat{indextitle}{% + \usebibmacro{index:title}{\index[titles]}{#1}% +} +% +% That's it as far as splitting the index is concerned. Let's have a +% look at some other facilities you may want to customize. By +% default, biblatex will index the author or editor and the title of +% all references. This behavior may be modified as desired. The +% indexing facilities are not hard-coded. All standard styles which +% ship with this package call two 'bibmacros' which handle the +% indexing. These macros are called 'citeindex' and 'bibindex', both +% of which are defined in biblatex.def. The former handles indexing +% in citations, the latter in the bibliography. Their default +% definitions are as follows: +% +% \newbibmacro*{citeindex}{% +% \ifciteindex +% {\indexnames{labelname}% +% \indexfield{indextitle}} +% {}} +% +% \newbibmacro*{bibindex}{% +% \ifbibindex +% {\indexnames{labelname}% +% \indexfield{indextitle}} +% {}} +% +% The 'labelname' field is a copy of the 'author' field, if there is +% an author, or a copy of the 'editor' field otherwise. 'indextitle' +% is the 'indextitle' field, if defined in the bib file, or a copy +% of the 'title' field otherwise. +% +% The mechanism works like this: the \indexnames and \indexfield +% fields tell biblatex which data to add to the index, the indexing +% directives tell it how to index the data. +% +% The default settings should be fine in most cases. As an example, +% we will modify them here such that author, editors, translators, +% and commentators in the bibliography are indexed: +% +\renewbibmacro*{bibindex}{% + \ifbibindex + {\indexnames{author}% + \indexnames{editor}% + \indexnames{translator}% + \indexnames{commentator}% + \indexfield{indextitle}} + {}} +% +\begin{document} + +\section*{Indexing with the \texttt{index} package} + +% We add the contents of the entire bib file to the bibliography. +% Note that \nocite does not add anything to the index on its own. +\nocite{*} + +% We cite a few items. These citations will be added to the index. +\cite{piccato,gaonkar,malinowski,coleridge,gerhardt,cicero} + +% We also add an explicit index entry. +\index{Example entry} + +\clearpage + +% We print the printbibliography... +\printbibliography +% ...and the indexes +\raggedright +\printindex % the general index +\printindex[names] % the name index +\printindex[titles] % the title index + +\end{document} 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 new file mode 100644 index 00000000000..0909dec8697 Binary files /dev/null and b/Master/texmf-dist/doc/latex/biblatex/examples/22-indexing-subentry.pdf differ 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 ' 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}, -- cgit v1.2.3