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/tex/latex/biblatex/biblatex.def | |
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/tex/latex/biblatex/biblatex.def')
-rw-r--r-- | Master/texmf-dist/tex/latex/biblatex/biblatex.def | 76 |
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}} |