summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/biblatex/biblatex.def
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-11-02 23:54:18 +0000
committerKarl Berry <karl@freefriends.org>2012-11-02 23:54:18 +0000
commit295b453abefbb11e8491968ce857079ce2b76087 (patch)
tree6db4bfbfdae39c1b176bdf037f9b02015871c079 /Master/texmf-dist/tex/latex/biblatex/biblatex.def
parenteaaa1a9357feba342a82289c80811777e6f5eed5 (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/tex/latex/biblatex/biblatex.def')
-rw-r--r--Master/texmf-dist/tex/latex/biblatex/biblatex.def76
1 files changed, 51 insertions, 25 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex/biblatex.def b/Master/texmf-dist/tex/latex/biblatex/biblatex.def
index 840af8ea3c5..055f73791cd 100644
--- a/Master/texmf-dist/tex/latex/biblatex/biblatex.def
+++ b/Master/texmf-dist/tex/latex/biblatex/biblatex.def
@@ -822,12 +822,20 @@
\usebibmacro{index:field}{#1}{\thefield{indexsorttitle}}{\emph{#2}}}
\newbibmacro*{index:field}[3]{%
+ \usebibmacro{index:entry}{#1}{\mkbibindexfield{#2}{#3}}}
+
+% Auxiliary macros for field indexing directives
+% ------------------------------------------------------------------
+
+\newbibmacro*{index:entry}[2]{%
\begingroup
- \protected@edef\theindexentry{%
- \unexpanded{#1}{#2\actualoperator\unexpanded{#3}}}%
+ \protected@edef\theindexentry{\unexpanded{#1}{#2}}%
\theindexentry
\endgroup}
+\newcommand*{\mkbibindexfield}[2]{\mkbibindexentry{#1}{\unexpanded{#2}}}
+\newcommand*{\mkbibindexentry}[2]{#1\actualoperator#2}
+
% ------------------------------------------------------------------
% INDEX FORMATS FOR LITERAL LISTS (#1 is the current item)
% ------------------------------------------------------------------
@@ -891,36 +899,54 @@
% We also use \ifuseprefix to ensure that the name prefix is handled
% properly. \actualoperator is the so-called actual operator, as
% defined by the 'actual' specifier in the .ist file. The makeindex
-% programm will use the part preceeding the \actualoperator
+% program will use the part preceeding the \actualoperator
% delimiter for sorting. The part after the delimiter is used as the
% index is printed. Note that this is not specific to biblatex, see
% the makeindex documentation for details.
\newcommand*{\actualoperator}{@}
+\newcommand*{\subentryoperator}{!}
\newbibmacro*{index:name}[5]{%
- \begingroup
+ \usebibmacro{index:entry}{#1}{\mkbibindexname{#2}{#3}{#4}{#5}}}
+
+% {<last name>}{<first name>}{<first initials>}{<last name prefix>}
+
+\newcommand*{\mkbibindexname}[4]{%
\ifuseprefix
- {\protected@edef\theindexentry{%
- \unexpanded{#1}{%
- \ifblank{#4}{}{#4 }%
- \@firstofone #2% remove spurious braces
- \ifblank{#5}{}{ #5}%
- \ifblank{#3}{}{, #3}%
- \actualoperator
- \ifblank{#4}{}{\MakeCapital{#4} }%
- #2%
- \ifblank{#5}{}{ #5}%
- \ifblank{#3}{}{, #3}}}}
- {\protected@edef\theindexentry{%
- \unexpanded{#1}{%
- \@firstofone #2% remove spurious braces
- \ifblank{#5}{}{ #5}%
- \ifblank{#3#4}{}{,}%
- \ifblank{#3}{}{ #3}%
- \ifblank{#4}{}{ #4}}}}%
- \theindexentry
- \endgroup}
+ {\ifblank{#3}{}{#3 }%
+ \@firstofone #1% remove spurious braces
+ \ifblank{#4}{}{ #4}%
+ \ifblank{#2}{}{, #2}%
+ \actualoperator
+ \ifblank{#3}{}{\MakeCapital{#3} }%
+ #1%
+ \ifblank{#4}{}{ #4}%
+ \ifblank{#2}{}{, #2}}
+ {\@firstofone #1% remove spurious braces
+ \ifblank{#4}{}{ #4}%
+ \ifblank{#2#3}{}{,}%
+ \ifblank{#2}{}{ #2}%
+ \ifblank{#3}{}{ #3}}}
+
+% {<control sequence>}{<control sequence>}
+
+\newcommand*{\mkbibindexsubentry}[2]{%
+ \ifblank{#1}{}{\subentryoperator#1\actualoperator#2}}
+
+% Additional macros with subentries
+
+\newbibmacro*{index:name:field}[6]{%
+ \usebibmacro{index:name:subentry}{#1}{#2}{#3}{#4}{#5}
+ {\thefield{#6}}{\csfield{#6}}}
+
+\newbibmacro*{index:name:title}[5]{%
+ \usebibmacro{index:name:subentry}{#1}{#2}{#3}{#4}{#5}
+ {\thefield{indexsorttitle}}{\emph{\csfield{indextitle}}}}
+
+\newbibmacro*{index:name:subentry}[7]{%
+ \usebibmacro{index:entry}{#1}{%
+ \mkbibindexname{#2}{#3}{#4}{#5}\mkbibindexsubentry{#6}{#7}}}
% ------------------------------------------------------------------
% Driver sourcemaps
@@ -1816,7 +1842,7 @@
\markboth{\chaptermarkformat#1}{\chaptermarkformat#1}}
\defbibheading{subbibliography}[\refname]{%
\section*{#1}%
- \if@twoside\markright{\sectionmarkformat#1}\fi}
+ \if@twoside\markright{#1}\fi}
\defbibheading{subbibintoc}[\refname]{%
\addsec{#1}%
\markboth{#1}{#1}}