diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/tex4ht/biblatex.4ht')
-rw-r--r-- | Master/texmf-dist/tex/generic/tex4ht/biblatex.4ht | 328 |
1 files changed, 198 insertions, 130 deletions
diff --git a/Master/texmf-dist/tex/generic/tex4ht/biblatex.4ht b/Master/texmf-dist/tex/generic/tex4ht/biblatex.4ht index b06f4e43b31..99ab30232f9 100644 --- a/Master/texmf-dist/tex/generic/tex4ht/biblatex.4ht +++ b/Master/texmf-dist/tex/generic/tex4ht/biblatex.4ht @@ -1,6 +1,6 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% biblatex.4ht 2008-09-16-11:44 % -% Copyright (C) 2007--2008 Eitan M. Gurari % +% biblatex.4ht 2009-04-14-17:07 % +% Copyright (C) 2007--2009 Eitan M. Gurari % % % % This work may be distributed and/or modified under the % % conditions of the LaTeX Project Public License, either % @@ -24,12 +24,13 @@ % gurari@cse.ohio-state.edu % % http://www.cse.ohio-state.edu/~gurari % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\immediate\write-1{version 2008-09-16-11:44} +\immediate\write-1{version 2009-04-14-17:07} \ifx \blx@startbib\:UnDef \pend:def\blx@shorthands{% \pend:def\blx@bibinit{% \HAssign\shorthands:cnt=0 + \NewConfigure{printfield-shorthand}{2}% \Configure{printfield-shorthand} {\gHAdvance\shorthands:cnt by 1\relax \ifnum \shorthands:cnt=1 \a:printshorthands @@ -42,152 +43,219 @@ \NewConfigure{printshorthands}{4} \NewConfigure{@shorthands}[1]{\concat:config\a:@shorthands{#1}} \let\a:@shorthands\empty -\long\def\blx@bibhyperref@i[#1]#2{#2} -\protected\long\def\blx@bibhyperlink#1#2{#2} -\protected\long\def\blx@bibhypertarget#1#2{#2} +\def\nolinkurl{\o:url:} \def\blx@checksum{\ifx \blx@checksum@old \blx@checksum@new \else \blx@warning@noline {Page references have changed.\MessageBreak Rerun to get references right}\@tempswatrue \blx@reruntrue \fi \@nameuse {blx@rerun}} \pend:def\blx@bibliography{% - \pend:def\blx@bibinit{\a:thebibliography}% - \pend:def\endthebibliography{% - \if@newlist \global\@newlistfalse \fi + \pend:def\blx@bibinit{% + \ConfigureList{thebibliography} + {\a:thebibliography} + {\b:thebibliography} + {\c:thebibliography} + {\d:thebibliography}% + \csname onthebibliography:list\endcsname }% - \append:def\endthebibliography{\b:thebibliography}% +% \pend:def\endthebibliography{% +% \if@newlist \global\@newlistfalse \fi +% }% } -\def\blx@bibitem#1{% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \ifx \bibitem:key\:UnDef - \let\blx:anchor\blx@anchor - \def\blx@anchor{\let\blx@anchor\blx:anchor - \Link{}{\bibitem:key}\EndLink}% - \fi - \def\bibitem:key{#1}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \ifcsundef{blx@dat@\the\c@refsection @#1} - {} - {\let\blx@noitem\@empty - \begingroup - \csuse{blx@dat@\the\c@refsection @#1}% - \ifcsundef{blx@bbx@\bib@field@entrytype} - {\blx@warning{% - No driver for entry type - `\bib@field@entrytype'.\MessageBreak - Skipping entry `\bib@field@entrykey'}} - {\blx@options -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\expandafter\ifx \csname blx@thelabelnumber\endcsname\relax - \csname c:thebibliography\endcsname - \csname d:thebibliography\endcsname -\else - \Configure{printfield-labelnumber} - {\c:thebibliography} - {\d:thebibliography}% -\fi -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \blx@thelabelnumber - \addtocounter{instcount}\@ne - \thebibitem\relax - \blx@bibitem@extrasep - \csuse{blx@hook@bibitem}% - \blx@execute - \blx@initunit - \blx@anchor - \blx@begbabel - \bibsentence - \blx@pagetracker - \blx@driver{\bib@field@entrytype}% - \blx@endbabel}% - \endgroup}} -\protected\def\blx@citeprint#1{% - \advance\c@citecount\@ne - \addtocounter{instcount}\@ne - \blx@citenext - \edef\blx@thecitekey{blx@dat@\the\c@refsection @#1}% - \begingroup - \csuse{\blx@thecitekey}% - \blx@options - \blx@backref - \blx@pagetracker - \csuse{blx@hook@citekey}% - \csuse{blx@hook@citekey@next}% - \blx@execute - \cIteLink{#1}{}\blx@loopcode \EndcIteLink - \blx@citetracker - \blx@ibidtracker - \blx@opcittracker - \blx@loccittracker - \endgroup} +\protected\def\blx@finentry{% + \unspace + \a:finentry + \finentrypunct + \blx@postpunct + \b:finentry + \blx@initunit +} +\NewConfigure{finentry}{2} \def\:tempc[#1]#2{% \expandafter\ifx \csname a:printfield-#2\endcsname\relax - \:warning{\string\Configure{printfield-#2}{...}{...}?}% - \expandafter\gdef \csname a:printfield-#2\endcsname{}% + \NewConfigure{printfield-#2}{2}% + \a:printfield{printfield-#2}% \fi - \csname a:printfield-#2\endcsname + \Configure{blx@unit} + {\csname a:printfield-#2\endcsname} + {\csname b:printfield-#2\endcsname}% \csname o:\string\blx@printfield:\endcsname[#1]{#2}% - \csname b:printfield-#2\endcsname } \expandafter\HLet\csname\string\blx@printfield\endcsname\:tempc -\NewConfigure{printfield-addendum}{2} \Configure{printfield-addendum}{}{} -\NewConfigure{printfield-chapter}{2} \Configure{printfield-chapter}{}{} -\NewConfigure{printfield-doi}{2} \Configure{printfield-doi}{}{} -\NewConfigure{printfield-edition}{2} \Configure{printfield-edition}{}{} -\NewConfigure{printfield-isbn}{2} \Configure{printfield-isbn}{}{} -\NewConfigure{printfield-labelnumber}{2} %\Configure{printfield-labelnumber}{}{} -\NewConfigure{printfield-note}{2} \Configure{printfield-note}{}{} -\NewConfigure{printfield-number}{2} \Configure{printfield-number}{}{} -\NewConfigure{printfield-pages}{2} \Configure{printfield-pages}{}{} -\NewConfigure{printfield-pagetotal}{2} \Configure{printfield-pagetotal}{}{} -\NewConfigure{printfield-part}{2} \Configure{printfield-part}{}{} -\NewConfigure{printfield-series}{2} \Configure{printfield-series}{}{} -\NewConfigure{printfield-subtitle}{2} \Configure{printfield-subtitle}{}{} -\NewConfigure{printfield-titleaddon}{2} \Configure{printfield-titleaddon}{}{} -\NewConfigure{printfield-title}{2} \Configure{printfield-title}{}{} -\NewConfigure{printfield-url}{2} \Configure{printfield-url}{}{} -\NewConfigure{printfield-volumes}{2} \Configure{printfield-volumes}{}{} -\NewConfigure{printfield-volume}{2} \Configure{printfield-volume}{}{} -\NewConfigure{printfield-year}{2} \Configure{printfield-year}{}{} -\NewConfigure{printfield-shorthand}{2} \Configure{printfield-shorthand}{}{} -\NewConfigure{printfield-annotation}{2} \Configure{printfield-annotation}{}{} -\NewConfigure{printfield-booksubtitle}{2} \Configure{printfield-booksubtitle}{}{} -\NewConfigure{printfield-booktitleaddon}{2} \Configure{printfield-booktitleaddon}{}{} -\NewConfigure{printfield-booktitle}{2} \Configure{printfield-booktitle}{}{} -\NewConfigure{printfield-mainsubtitle}{2} \Configure{printfield-mainsubtitle}{}{} -\NewConfigure{printfield-maintitleaddon}{2} \Configure{printfield-maintitleaddon}{}{} -\NewConfigure{printfield-maintitle}{2} \Configure{printfield-maintitle}{}{} -\NewConfigure{printfield-eid}{2} \Configure{printfield-eid}{}{} -\NewConfigure{printfield-journalsubtitle}{2}\Configure{printfield-journalsubtitle}{}{} -\NewConfigure{printfield-journaltitle}{2} \Configure{printfield-journaltitle}{}{} -\NewConfigure{printfield-library}{2} \Configure{printfield-library}{}{} -\NewConfigure{printfield-type}{2} \Configure{printfield-type}{}{} -\NewConfigure{printfield-version}{2} \Configure{printfield-version}{}{} -\NewConfigure{printfield-labeltitle}{2} \Configure{printfield-labeltitle}{}{} -\NewConfigure{printfield-postnote}{2} \Configure{printfield-postnote}{}{} -\NewConfigure{printfield-prenote}{2} \Configure{printfield-prenote}{}{} - - \else - \pend:defI\blx@bibitem{% - \ifx \bibitem:key\:UnDef - \pend:def\blx@anchorbegin{\Link{}{\bibitem:key}\EndLink}% +\NewConfigure{printfield}[1]{\def\a:printfield##1{#1}} +\Configure{printfield}{% + \Configure{#1}% + {\HCode{<!--#1-->}}% + {\HCode{<!--/#1-->}}% +} +\def\:tempc[#1]#2{% + \expandafter\ifx \csname a:bibstring-#2\endcsname\relax + \NewConfigure{bibstring-#2}{2}% + \a:printfield{bibstring-#2}% \fi - \def\bibitem:key{##1}% + \Configure{blx@unit} + {\csname a:bibstring-#2\endcsname} + {\csname b:bibstring-#2\endcsname}% + \csname o:\string\blx@bibstring:\endcsname[#1]{#2}% } -\pend:defI\blx@citeprint{% - \def\:tempc{\Link{##1}{}\o:blx@loopcode:\EndLink}% - \HLet\blx@loopcode\:tempc} -\pend:def\blx@bibliography{% - \pend:def\thebibitem{\c:thebibliography}% - \append:def\thebibitem{\relax\d:thebibliography}% - \pend:def\blx@startbib{\a:thebibliography}% - \pend:def\endthebibliography{% - \if@newlist \global\@newlistfalse \fi - }% - \append:def\endthebibliography{\b:thebibliography}% +\expandafter\HLet\csname\string\blx@bibstring\endcsname\:tempc +\def\:tempc[#1]#2{% + \expandafter\ifx \csname a:bibcpstring-#2\endcsname\relax + \NewConfigure{bibcpstring-#2}{2}% + \a:printfield{bibcpstring-#2}% + \fi + \Configure{blx@unit} + {\csname a:bibcpstring-#2\endcsname} + {\csname b:bibcpstring-#2\endcsname}% + \csname o:\string\blx@bibcpstring:\endcsname[#1]{#2}% +} +\expandafter\HLet\csname\string\blx@bibcpstring\endcsname\:tempc +\def\:tempc[#1]#2{% + \expandafter\ifx \csname a:biblcstring-#2\endcsname\relax + \NewConfigure{biblcstring-#2}{2}% + \a:printfield{biblcstring-#2}% + \fi + \Configure{blx@unit} + {\csname a:biblcstring-#2\endcsname} + {\csname b:biblcstring-#2\endcsname}% + \csname o:\string\blx@biblcstring:\endcsname[#1]{#2}% +} +\expandafter\HLet\csname\string\blx@biblcstring\endcsname\:tempc +\def\:tempc[#1]#2{% + \expandafter\ifx \csname a:bibucstring-#2\endcsname\relax + \NewConfigure{bibucstring-#2}{2}% + \a:printfield{bibucstring-#2}% + \fi + \Configure{blx@unit} + {\csname a:bibucstring-#2\endcsname} + {\csname b:bibucstring-#2\endcsname}% + \csname o:\string\blx@bibucstring:\endcsname[#1]{#2}% +} +\expandafter\HLet\csname\string\blx@bibucstring\endcsname\:tempc +\NewConfigure{biblatex-style}[2]{ + \def\:temp{#1}% + \ifx \:temp\blx@cbxfile + #2% + \global\let\biblatex:style\def + \fi +} +\pend:def\at:docend{% + \ifx \UnDef\biblatex:style + \:warning{\string\Configure{biblatex-style}{\blx@cbxfile}{...} + not available}% + \fi +} +\let\blx:item\@item +\def\@item[#1]{% + \blx:item[#1]% + \ifhmode \spacefactor\blx@sf@par\fi +} +\def\blx@begunit{% + \toggletrue{blx@tempa}% + \iftoggle{blx@insert} + {\iftoggle{blx@unit} + {\begingroup + \let\blx@begunit\@empty + \let\blx@endunit\@empty + \blx@unitpunct\blx@postpunct + \endgroup + \global\togglefalse{blx@unit}% + \togglefalse{blx@tempa}} + {\blx@postpunct}% + \iftoggle{blx@block} + {\begingroup + \let\blx@begunit\@empty + \let\blx@endunit\@empty + \newblockpunct + \endgroup + \global\togglefalse{blx@block}% + \togglefalse{blx@tempa}} + {}} + {}% + \blx@postpunct + \blx@resetpuncthook + \iftoggle{blx@tempa} + {} + {\global\togglefalse{blx@insert}}% + \csname a:blx@unit\endcsname + \blx@leavevmode + \blx@csq@ifkernmark + {} + {\penalty\@M + \hskip-\blx@unitmark\relax + \hskip\blx@unitmark\relax}% + \begingroup + \Configure{blx@unit}{}{}% +} +\def\blx@endunit{% + \endgroup + \csname b:blx@unit\endcsname + \Configure{blx@unit}{}{}% + \ifdim\lastskip=\blx@unitmark + \unskip\unskip\unpenalty + \global\togglefalse{blx@lastins}% + \else + \global\toggletrue{blx@insert}% + \global\toggletrue{blx@lastins}% + \fi } +\NewConfigure{blx@unit}{2} + \else + \fi \NewConfigure{thebibliography}{4} +\append:def\blx@bibinit{\a:bibinit} +\NewConfigure{bibinit}{1} + + \let\blx@anchors\@empty +\protected\def\blx@anchor{% + \xifinlist{X\the\c@refsection -%@ +\bib@field@entrykey}{\blx@anchors} + {} + {\listxadd\blx@anchors{X\the\c@refsection -%@ +\bib@field@entrykey}% + \hyper:natanchorstart{X\the\c@refsection -%@ +\bib@field@entrykey}% + \hyper:natanchorend}} +\protected\def\blx@bibhyperref{% + \@ifnextchar[%] + {\blx@bibhyperref@i} + {\blx@bibhyperref@i[\bib@field@entrykey]}}% +\long\def\blx@bibhyperref@i[#1]#2{% + \hyper:natlinkstart{X\the\c@refsection -%@ +#1}% + #2\hyper:natlinkend} +\protected\long\def\blx@bibhyperlink#1#2{% + \hyper:natlinkstart{X\the\c@refsection --%: +#1}% + #2\hyper:natlinkend} +\protected\long\def\blx@bibhypertarget#1#2{% + \@bsphack + \hyper:natanchorstart{X\the\c@refsection --%: +#1}% + \@esphack + #2\hyper:natanchorend} +\let\blx@ifhyperref\@firstoftwo +\def\hyper:natanchorstart#1{\Link{}{#1}\EndLink} +\def\hyper:natanchorend{} +\def\hyper:natlinkstart#1{\Link{#1}{}} +\def\hyper:natlinkend{\EndLink} + + \let\:temp\do + \def\do#1{% + \patchcmd#1% + {\color@begingroup} + {\color@begingroup\toggletrue{blx@footnote}} + {\togglefalse{blx@tempa}\listbreak} + {}}% + \docsvlist{% + \@footnotetext,% latex + \H@@footnotetext,% hyperref + \scr@saved@footnotetext,% koma-script 3.x + \l@dold@footnotetext,% ledmac + \l@doldold@footnotetext,% ledmac + \@fntORI}% frenchle +\let\do\:temp \Hinput{biblatex} \endinput |