diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex/biblatex.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/biblatex/biblatex.sty | 163 |
1 files changed, 96 insertions, 67 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex/biblatex.sty b/Master/texmf-dist/tex/latex/biblatex/biblatex.sty index 94fe2dfdf73..61a6ae51e73 100644 --- a/Master/texmf-dist/tex/latex/biblatex/biblatex.sty +++ b/Master/texmf-dist/tex/latex/biblatex/biblatex.sty @@ -1,4 +1,4 @@ -% $Id: biblatex.sty,v 1.1a 2011/01/08 13:30:00 lehman stable $ +% $Id: biblatex.sty,v 1.1b 2011/02/04 11:36:21 lehman stable $ % Copyright (c) 2006-2011 Philipp Lehman. % @@ -21,7 +21,7 @@ \NeedsTeXFormat{LaTeX2e}[2005/12/01] \ProvidesPackage{biblatex} -[\abx@rcsid $Id: biblatex.sty,v 1.1a 2011/01/08 13:30:00 lehman stable $ +[\abx@rcsid $Id: biblatex.sty,v 1.1b 2011/02/04 11:36:21 lehman stable $ programmable bibliographies] \def\blx@bblversion$#1: #2 ${#2} @@ -4428,9 +4428,11 @@ \do{set}% \do{article}% \do{book}% + \do{books}% \do{bookinbook}% \do{booklet}% \do{collection}% + \do{collections}% \do{inbook}% \do{incollection}% \do{inproceedings}% @@ -4521,6 +4523,7 @@ \do{entrysetcount}% \do{related}% \do{relatedtype}% + \do{relatedstring}% \do{hyphenation}% \do{keywords}% \do{authortype}% @@ -5658,14 +5661,14 @@ \def\blx@key@type#1{% \ifcsundef{blx@type@\the\c@refsection @#1} - {\blx@warning{% - Entry type '#1' not found.\MessageBreak - Skipping this type filter}} + {\blx@warning{Type '#1' not found}% + \let\blx@tempa\@empty} {\blx@printbibchecks \iftoggle{blx@tempb} {\togglefalse{blx@tempb}% \blx@filter\blx@tempa{blx@type@\the\c@refsection @#1}} - {\blx@error + {\let\blx@tempa\@empty + \blx@error {'type' used multiple times} {When passing multiple filter options, each entry\MessageBreak must satisfy all conditions (AND conjunction),\MessageBreak @@ -5686,14 +5689,14 @@ \def\blx@key@subtype#1{% \ifcsundef{blx@subt@\the\c@refsection @#1} - {\blx@warning{% - Entry subtype '#1' not found.\MessageBreak - Skipping this subtype filter}} + {\blx@warning{Subtype '#1' not found}% + \let\blx@tempa\@empty} {\blx@printbibchecks \iftoggle{blx@tempb} {\togglefalse{blx@tempb}% \blx@filter\blx@tempa{blx@subt@\the\c@refsection @#1}} - {\blx@error + {\let\blx@tempa\@empty + \blx@error {'subtype' used multiple times} {When passing multiple filter options, each entry\MessageBreak must satisfy all conditions (AND conjunction),\MessageBreak @@ -5714,9 +5717,8 @@ \def\blx@key@keyword#1{% \ifcsundef{blx@keyw@\the\c@refsection @\detokenize{#1}} - {\blx@warning{% - Keyword '\detokenize{#1}' not found.\MessageBreak - Skipping this keyword filter}} + {\blx@warning{Keyword '\detokenize{#1}' not found}% + \let\blx@tempa\@empty} {\blx@printbibchecks \blx@filter\blx@tempa{blx@keyw@\the\c@refsection @\detokenize{#1}}}} @@ -5733,12 +5735,11 @@ \define@key{blx@los}{category}{\blx@key@category{#1}} \def\blx@key@category#1{% - \ifcsundef{blx@catg@#1} - {\blx@warning{% - Category '#1' not found.\MessageBreak - Skipping this category filter}} + \ifcsundef{blx@catg@\detokenize{#1}} + {\blx@warning{Category '\detokenize{#1}' not found}% + \let\blx@tempa\@empty} {\blx@printbibchecks - \blx@filter\blx@tempa{blx@catg@#1}}} + \blx@filter\blx@tempa{blx@catg@\detokenize{#1}}}} \define@key{blx@bib}{notcategory}{\blx@key@notcategory{#1}} \define@key{blx@los}{notcategory}{\blx@key@notcategory{#1}} @@ -5756,9 +5757,11 @@ \ifcsdef{blx@filter@#1} {\blx@printbibchecks \blx@bibfilter\blx@tempa{blx@filter@#1}} - {\blx@warning{% - Custom filter '#1' not found.\MessageBreak - Skipping this custom filter}}} + {\let\blx@tempa\@empty + \blx@error + {Filter '#1' not found} + {The filter '#1' could not be found.\MessageBreak + Use \string\defbibfilter\space to define it}}} \define@key{blx@bib}{check}{\blx@key@bibcheck{#1}} \define@key{blx@los}{check}{\blx@key@bibcheck{#1}} @@ -5766,10 +5769,11 @@ \def\blx@key@bibcheck#1{% \ifcsdef{blx@bibcheck@#1} {\letcs\blx@bibcheck{blx@bibcheck@#1}} - {\blx@error - {Hook '#1' undefined} - {The bibliography check '#1' is undefined.\MessageBreak - Use '\defbibcheck' to define it}}} + {\let\blx@tempa\@empty + \blx@error + {Check '#1' not found} + {The check '#1' could not be found.\MessageBreak + Use \string\defbibcheck\space to define it}}} \define@key{blx@bib}{maxnames}{\blx@key@maxnames{#1}} \define@key{blx@los}{maxnames}{\blx@key@maxnames{#1}} @@ -5828,8 +5832,9 @@ \def\blx@key@heading#1{% \ifcsundef{blx@head@#1} {\blx@error - {Heading '#1' undefined} - {Use \string\defbibheading\space to define it}} + {Heading '#1' not found} + {The heading '#1' could not be found.\MessageBreak + Use \string\defbibheading\space to define it}} {\def\blx@theheading{#1}}} \define@key{blx@bib}{env}{\blx@key@env{#1}} @@ -5841,8 +5846,9 @@ \def\blx@key@env#1{% \ifcsundef{blx@env@#1} {\blx@error - {Environment '#1' undefined} - {Use \string\defbibenvironment\space to define it}} + {Environment '#1' not found} + {The environment '#1' could not be found.\MessageBreak + Use \string\defbibenvironment\space to define it}} {\def\blx@theenv{#1}}} \define@key{blx@bhd}{title}{\long\def\blx@thetitle{#1}} @@ -5857,8 +5863,9 @@ \def\blx@key@prenote#1{% \ifcsundef{blx@note@#1} {\blx@error - {Note '#1' undefined} - {Use \string\defbibnote\space to define it}} + {Note '#1' not found} + {The note '#1' could not be found.\MessageBreak + Use \string\defbibnote\space to define it}} {\def\blx@theprenote{#1}}} \define@key{blx@bib}{postnote}{\blx@key@postnote{#1}} @@ -5870,8 +5877,9 @@ \def\blx@key@postnote#1{% \ifcsundef{blx@note@#1} {\blx@error - {Note '#1' undefined} - {Use \string\defbibnote\space to define it}} + {Note '#1' not found} + {The note '#1' could not be found.\MessageBreak + Use \string\defbibnote\space to define it}} {\def\blx@thepostnote{#1}}} \define@key{blx@bib}{resetnumbers}[true]{% @@ -6536,8 +6544,8 @@ \renewrobustcmd*{\bibliography}{% \@ifstar - {\blx@xsanitizeafter{\forcsvlist\blx@addbibfile}} - {\blx@xsanitizeafter{\forcsvlist\blx@extrabibfile}}} + {\blx@xsanitizeafter{\forcsvlist\blx@extrabibfile}} + {\blx@xsanitizeafter{\forcsvlist\blx@addbibfile}}} \@onlypreamble\bibliography \def\blx@addbibfile#1{% @@ -8346,7 +8354,7 @@ \blx@xml@file \blx@xml@comment{BIBER OPTIONS}% \blx@xml@options{biber}{global}{% - \blx@xml@svalue{bblencoding}{\blx@inputencoding}% + \blx@xml@svalue{bblencoding}{\blx@texencoding}% \blx@xml@svalue{bibencoding}{\blx@bibencoding}% \blx@xml@toggle{debug}% \blx@xml@svalue{mincrossrefs}{\blx@mincrossrefs}% @@ -8429,10 +8437,6 @@ \eappto\blx@tempa{% \blx@xml@sort{\blx@tempc}{\blx@tempb}}} -\define@key{blx@sortdef@sort}{pass}{% final|label - \ifstrequal{#1}{label} - {\appto\blx@tempc{ pass="label"}} - {\appto\blx@tempc{ pass="final"}}} \define@key{blx@sortdef@sort}{direction}{% ascending|descending \ifstrequal{#1}{ascending} {\appto\blx@tempc{ sort_direction="ascending"}} @@ -8619,11 +8623,19 @@ \fi} \def\blx@minxrefs{2} +\DeclareBibliographyOption{texencoding}{% + \ifstrequal{#1}{auto} + {\undef\blx@texencoding} + {\def\blx@texencoding{#1}}} + \DeclareBibliographyOption{bibencoding}{% - \def\blx@bibencoding{#1} - \ifdefstring\blx@bibencoding{inputenc} + \ifstrequal{#1}{inputenc} {\def\blx@bibencoding{auto}} - {}} + {\def\blx@bibencoding{#1}}} + +\DeclareBibliographyOption{safeinputenc}[true]{% + \settoggle{blx@safeinputenc}{#1}} +\newtoggle{blx@safeinputenc} \DeclareBibliographyOption{sorting}{% \def\blx@sorting{#1}} @@ -9463,26 +9475,29 @@ \abx@mapinpenc{x-ascii}{ascii} \def\blx@checkencoding{% - \ifundef\inputencodingname - {\ifundef\XeTeXrevision - {\ifundef\luatexversion - {\def\blx@inputencoding{ascii}% - \blx@info@noline{% - No input encoding detected.\MessageBreak - Assuming '\blx@inputencoding'}} - {\def\blx@inputencoding{utf8}% - \blx@info@noline{% - LuaTeX detected.\MessageBreak - Assuming input encoding '\blx@inputencoding'}}} - {\def\blx@inputencoding{utf8}% - \blx@info@noline{% - XeTeX detected.\MessageBreak - Assuming input encoding '\blx@inputencoding'}}} - {\ifcsdef{blx@enc@\inputencodingname} - {\letcs\blx@inputencoding{blx@enc@\inputencodingname}} - {\let\blx@inputencoding\inputencodingname}% - \blx@info@noline{% - Input encoding '\blx@inputencoding' detected}}% + \ifdef\blx@texencoding + {\blx@info@noline{% + Input encoding '\blx@texencoding' specified}} + {\ifundef\inputencodingname + {\ifundef\XeTeXrevision + {\ifundef\luatexversion + {\def\blx@texencoding{ascii}% + \blx@info@noline{% + No input encoding detected.\MessageBreak + Assuming '\blx@texencoding'}} + {\def\blx@texencoding{utf8}% + \blx@info@noline{% + LuaTeX detected.\MessageBreak + Assuming input encoding '\blx@texencoding'}}} + {\def\blx@texencoding{utf8}% + \blx@info@noline{% + XeTeX detected.\MessageBreak + Assuming input encoding '\blx@texencoding'}}} + {\ifcsdef{blx@enc@\inputencodingname} + {\letcs\blx@texencoding{blx@enc@\inputencodingname}} + {\let\blx@texencoding\inputencodingname}% + \blx@info@noline{% + Input encoding '\blx@texencoding' detected}}}% \ifdef\blx@bibencoding {\ifdefstring\blx@bibencoding{ascii} {\blx@info@noline{% @@ -9490,12 +9505,12 @@ No need to reencode data}% \togglefalse{blx@reencode}} {\ifdefstring\blx@bibencoding{auto} - {\let\blx@bibencoding\blx@inputencoding + {\let\blx@bibencoding\blx@texencoding \blx@info@noline{% Automatic encoding selection.\MessageBreak Assuming data encoding '\blx@bibencoding'} \togglefalse{blx@reencode}} - {\ifdefstrequal\blx@bibencoding\blx@inputencoding + {\ifdefstrequal\blx@bibencoding\blx@texencoding {\blx@info@noline{% Data encoding '\blx@bibencoding' specified.\MessageBreak No need to reencode data}% @@ -9530,7 +9545,7 @@ {\ifnumless\blx@backend\blx@backend@bibtexu {\blx@warning@noline{% Data encoding is '\blx@bibencoding'.\MessageBreak - Use backend=bibtexu or backend=biber}} + Use backend=biber}} {}} {\ifnumodd\blx@backend {\ifnumequal\blx@backend\blx@backend@bibtexe @@ -9538,7 +9553,21 @@ {}} {\blx@warning@noline{% Data encoding is '\blx@bibencoding'.\MessageBreak - Use backend=bibtex8 or backend=biber}}}}} + Use backend=bibtex8 or backend=biber}}}}% + \ifboolexpr{% + togl {blx@safeinputenc} + and test {\ifdefstring\blx@texencoding{utf8}} + and test {\ifnumequal\blx@backend\blx@backend@biber} + and ( test {\@ifpackageloaded{inputenc}} + or + test {\@ifpackageloaded{inputenx}} ) + } + {\def\blx@texencoding{ascii} + \blx@info@noline{% + Input encoding '\blx@texencoding' forced by\MessageBreak + 'safeinputenc' option}} + {}% +} % Deferred last minute setup |