3.6 Bibliography

  3.6.1 Cite
  3.6.2 Bib Item
  3.6.3 The Bibliography
  3.6.4 acm-proc-article-sp
  3.6.5 JS Contributions

3.6.1 Cite

<..onmouseover cite..>
 \Configure{cite}
   {\HCode{<span class="cite">}}
   {\HCode{</span>}}
   {\Link[ <.mouseover-cite arguments.>]}
   {\EndLink }
 \expandafter\def\csname c:mouseover-cite:\endcsname{%
   \def\:tempb{cite}\csname c:mouseover-?:\endcsname}
 \Configure{mouseover-cite}{tex4ht.body,FULLHTML}
-_-_-

<..mouseover-cite arguments..>
 \mo:args{cite}{\@citeb}{\expandafter
               \jsHash\expandafter{\expandafter X\@citeb}}%
-_-_-

<..default cite..>
 \Configure{cite}
    {\HCode{<span class="cite">}}  {\HCode{</span>}}
    {\Link}         {\EndLink}
-_-_-

<..cite in TocLink..>
 \Configure{cite}{}{}{}{}%
-_-_-

<..mouseover cite config..>
 \string\Configure{mouseover-vars}{cite}{Author,Title}%
-_-_-

<..mouseover cite css..>
 \string\Configure {mouseover-cite}
      {tex4ht.body,CAPTION,tex4ht.caption+tex4ht.var,FULLHTML}%
-_-_-

3.6.2 Bib Item

<..default bibitem..>
 \Configure{bibitem}{\Link}{\EndLink}
-_-_-

<..onmouseover bibitem..>
 \Configure{bibitem}
    {\bibitem:link}
    {\EndLink<.js end skip bib.>}
 \def\bibitem:link#1#2{<.js skip bib.>\HCode
    {<!--}<.js mark 1 bib.>\HCode{#2=}<.js mark 2 bib.>\HCode
    {-->}\Link{#1}{#2}}
-_-_-

<..config bib-p HtmlPar..>
 \Configure{HtmlPar}
    {\EndP\HCode{<p class="bibitem-p" \a:LRdir>}}
    {\EndP\HCode{<p class="bibitem-p" \a:LRdir>}}
    {\Tg</p>} {\Tg</p>}%
-_-_-

<..config bib HtmlPar..>
 \Configure{HtmlPar}
    {\EndP\HCode{<p class="bibitem" \a:LRdir>}}
    {\EndP\HCode{<p class="bibitem" \a:LRdir>}}
    {\Tg</p>} {\Tg</p>}%
-_-_-

<..config bib-p HtmlParNO..>
 \Configure{HtmlPar}
    {\HCode{</p><p class="bibitem-p">}}
    {\HCode{</p><p class="bibitem-p">}}
    {} {}%
-_-_-

<..bibitem css..>
 \Css{p.bibitem { text-indent: -2em; margin-left: 2em;
        margin-top:0.6em; margin-bottom:0.6em;     }}
 \Css{p.bibitem-p { text-indent: 0em; margin-left: 2em;
        margin-top:0.6em; margin-bottom:0.6em;     }}
-_-_-

<..bibitem 2..>
    \Configure{bibitem2}
       {<.config bib HtmlPar.>\par\ShowPar
        \HCode{<span class="biblabel">}%
        <.config bib-p HtmlPar.>%
       }
       {\EndP}
       {\HCode{<span class="bibsp">}~~~\HCode{</span></span>}}
-_-_-

<..js bibitem..>
 \HCode{<!--}%
 <.js from bib.>%
 \HCode{<bibitem>}%
 <.js skip bib.>%
 <.js Set1 bib.>%
 <.js end skip bib.>%
 <.js Set2 bib.>%
 <.js skip bib.>%
 <.js end skip bib.>%
 \HCode{<div class="js">}%
 <.js skip bib.>%
 \HCode{-->}%
 <.js end skip bib.>%
-_-_-

<..js /bibitem..>
 <.js skip bib.>%
 \HCode{<!--}%
 <.js end skip bib.>%
 \HCode{</div></bibitem>\Hnewline}%
 <.js Until bib.>%
 \HCode{-->}
-_-_-

<..js p.bibitem-p css..>
 .js p.bibitem-p
-_-_-

<..js p.bibitem css..>
 js p.bibitem
-_-_-

3.6.3 The Bibliography

The bibliography environment is prooblematic because it carries a definition that implies an environment similar to

  \begin{....}  
  \section*{...}  
  ...  
  \end{....}

The \begin{...} has a \SaveEverypar, and \end{...} has a \RecallEverypar. In the case of paginations across sectioning commands, we have also the saving and recalling also at the start and end of each section (each page). In such a case, we don’t have proper nestings of environments.

<..shared bib env..>
 \ConfigureEnv{thebibliography}{\IgnorePar}{\ShowPar\par}{}{}
-_-_-

<..foils bib..>
 \ConfigureEnv{thebibliography}{\par\leavevmode}{\ShowPar}{}{}
-_-_-

<..default thebibliography..>
 \ConfigureList{thebibliography}%
    {\ifvmode\IgnorePar\fi \EndP \HCode{<div
                    class="thebibliography">}\let\en:bib=\empty}
    {\en:bib \ifvmode\IgnorePar\fi \EndP \HCode{</div>}}
    {\en:bib\def\en:bib{<.bibliography2.>\EndP}%
    <.config bib HtmlPar.>\par\ShowPar
     \HCode{<span class="biblabel">}<.config bib-p HtmlPar.>}
    {\HCode{<span class="bibsp">}\:nbsp
       \:nbsp\:nbsp\HCode{</span></span>}}
-_-_-

<..onmouseover thebibliography..>
 \ConfigureList{thebibliography}%
    {\ifvmode\IgnorePar\fi\EndP <.start js.>\HCode{<div
                    class="thebibliography">}\let\en:bib=\empty}
    {\en:bib \ifvmode\IgnorePar\fi\EndP \HCode{</div>}}
    {\en:bib\def\en:bib{<.js bibliography2.>%
         \EndP<.js /bibitem.>}<.js bibitem.>%
         <.config bib HtmlPar.>\par\ShowPar
         \leavevmode <.js skip bib.>\HCode{<span
       class="biblabel">}<.config bib-p HtmlPar.>}
    {\HCode{<span class="bibsp">}\:nbsp
       \:nbsp\:nbsp\HCode{</span></span>}<.js end skip bib.>}
-_-_-

<..latex ltbibl..>
 \:CheckOption{bibtex2} \if:Option
    \Configure{bibliography2}
       {~~[} {more} {]}
    <.bibitem 2.>%
 \fi
-_-_-

<..config bibitem..>
 \:CheckOption{no-bib} \if:Option\else
    \:CheckOption{mouseover} \if:Option
       <.onmouseover cite.>
       <.onmouseover bibitem.>
    \else
       <.default cite.>
       <.default bibitem.>
    \fi
 \fi
-_-_-

<..thebib config..>
 \:CheckOption{no-bib} \if:Option\else
    \:CheckOption{mouseover} \if:Option
       <.onmouseover thebibliography.>
    \else
       <.default thebibliography.>
    \fi
    <.bibitem css.>
 \fi
-_-_-

<..bibliography2..>
 \csname bibliography2\endcsname
-_-_-

<..js bibliography2..>
 <.js skip bib.>\csname bibliography2\endcsname
 <.js end skip bib.>%
-_-_-

<..bib in amsppt.sty..>
 \Configure{vol}{\HCode{<strong>}}{\HCode{</strong>}}
 \Configure{book}{\HCode{<em>}}{\HCode{</em>}}
 \Configure{paper}{\HCode{<em>}}{\HCode{</em>}}
 \Configure{Refs}{\IgnorePar\EndP\HCode{<table class="Refs">}}
                 {\HCode{</table>}}
 \Configure{ref}{\HCode{<tr style="vertical-align:top;"><td style="text-align:right;">}}
                {\EndP\HCode{</td></tr>}}{}
 \Configure{keyformat}{}{\EndP\HCode{</td><td>}}
-_-_-

<..configure html4 biblatex..>
 \HAssign\bibN=0
 \Configure{thebibliography}%
    {\ifvmode \IgnorePar\fi \EndP
     \EndP\HCode{<dl \a:LRdir class="thebibliography">}%
     \PushMacro\end:itm
     \global\let\end:itm=\empty}
    {\ifvmode \IgnorePar\fi \EndP
     \PopMacro\end:itm \global\let\end:itm \end:itm
     \EndP\HCode{</dd></dl>}\ShowPar}
    {\ifvmode \IgnorePar\fi \EndP
     \gHAdvance\bibN by 1
     \end:itm \global\def\end:itm{\EndP\Tg</dd>}\HCode{<dt
         id="bib-\bibN"
         class="thebibliography">}\bgroup \bf}
    {\ifvmode \IgnorePar\fi \EndP
     \gHAdvance\bibN by 1
     \egroup\HCode{</dt><dd\Hnewline
        id="bib-\bibN" class="thebibliography">}\par\ShowPar}
-_-_-

<..configure html4 biblatex..>+
 \Configure{printshorthands}
    {\ifvmode \IgnorePar\fi \EndP
     \HCode{<dl class="printshorthands"><dt class="printshorthands">}}
    {\ifvmode \IgnorePar\fi \EndP  \HCode{</dd></dl>}}
    {\ifvmode \IgnorePar\fi \EndP
     \HCode{</dd><dt class="printshorthands">}}
    {\HCode{</dt><dd class="printshorthands">}\par\ShowPar}
 \Css{dt.printshorthands{float:left; clear:left; margin-right:1em;}}
-_-_-

<..configure html4 biblatex..>+
 \Configure{finentry}
     {\hbox{\HCode{<!--finentry-->}}}
     {\hbox{\HCode{<!--/finentry-->}}}
-_-_-

<..configure html4 biblatex ..>
 \NewConfigure{printfield-annotation}{2}
 \NewConfigure{printfield-file}{2}
 \Configure{printfield-annotation}
    {\HCode{<br class="annotation"/><span class="annotation">}}
    {\HCode{<!--/annotation--></span>}}
 \Configure{printfield-file}
    {\HCode{<br class="file" /><span class="file">}}
    {\HCode{<!--/annotation--></span>}}
 \Css{div.bibitem br.annotation,
      div.bibitem br.file
          {margin-bottom:0.5em}}
-_-_-

<..configure html4 biblatex..>+
 \NewConfigure{printfield-entrykey}{2}
 \Configure{printfield-entrykey}
    {\HCode{<span class="entrykey">}}
    {\HCode{</span>}}
-_-_-

<..configure html4 reading..>
 \Configure{entryhead:name}
    {\hbox{\HCode{<!--entryhead:name-->}%
     \Css{dd\#bib-\bibN\space p:last-child
                {border-bottom:solid black 1px}}%
    }}
    {\hbox{\HCode{<!--/entryhead:name-->}}}
 \Configure{entryhead:full}
    {\hbox{\HCode{<!--entryhead:full-->}%
     \Css{dd\#bib-\bibN\space p:last-child
                {border-bottom:solid black 1px}}%
    }}
    {\hbox{\HCode{<!--/entryhead:full-->}}}
-_-_-

<..configure html4 biblatex..>+
 \Configure{biblatex-style}
    {authortitle}
    {<.indented dd biblatex style.>}
 \Configure{biblatex-style}
    {authortitle-comp}
    {<.indented dd biblatex style.>}
 \Configure{biblatex-style}
    {authortitle-tcomp}
    {<.indented dd biblatex style.>}
 \Configure{biblatex-style}
    {authortitle-icomp}
    {<.indented dd biblatex style.>}
 \Configure{biblatex-style}
    {authortitle-ibid}
    {<.indented dd biblatex style.>}
 \Configure{biblatex-style}
    {authoryear}
    {<.indented dd biblatex style.>}
 \Configure{biblatex-style}
    {authoryear-ibid}
    {<.indented dd biblatex style.>}
 \Configure{biblatex-style}
    {authoryear-comp}
    {<.indented dd biblatex style.>}
 \Configure{biblatex-style}
    {verbose}
    {<.indented dd biblatex style.>}
 \Configure{biblatex-style}
    {verbose-ibid}
    {<.indented dd biblatex style.>}
 \Configure{biblatex-style}
    {verbose-note}
    {<.indented dd biblatex style.>}
 \Configure{biblatex-style}
    {alphabetic-verb}
    {<.dt biblatex style.>}
 \Configure{biblatex-style}
    {alphabetic}
    {<.dt biblatex style.>}
 \Configure{biblatex-style}
    {numeric}
    {<.dt numeric biblatex style.>}
 \Configure{biblatex-style}
    {numeric-verb}
    {<.dt numeric biblatex style.>}
 \Configure{biblatex-style}
    {numeric-comp}
    {<.dt numeric biblatex style.>}
 \Configure{biblatex-style}
    {draft}
    {
      \Css{dd.thebibliography {margin-left: 2.5em;}}
      \Css{dt.thebibliography {float:left; clear:left; margin-right:1em;}}
    }
 \Configure{biblatex-style}
    {reading}
    {
      \Css{.entrykey {float:right; margin-top:-1.25em;}}
    }
 \Configure{biblatex-style}{verbose-trad1}{}
 \Configure{biblatex-style}{verbose-trad2}{}
-_-_-

<..indented dd biblatex style..>
 \Css{dd.thebibliography { text-indent: -2em; margin-left: 2em;}}
 \Css{dd.thebibliography p:first-child{ text-indent: -2em; }}
 \Css{dt.thebibliography{float:left; clear:left; margin-right:1em;}}
-_-_-

<..dt biblatex style..>
 \Css{dd.thebibliography {margin-left: 5em;}}
 \Css{dt.thebibliography {float:left; clear:left; margin-right:1em;}}
-_-_-

<..dt numeric biblatex style..>
 \Css{dd.thebibliography {margin-left: 2.5em;}}
 \Css{dt.thebibliography {float:left; clear:left; margin-right:1em;}}
-_-_-

<..configure html4 debug..>
 \Css{dd.thebibliography {margin-left: 7em;}}
 \Css{dt.thebibliography {float:left; clear:left; margin-right:1em;}}
 \Configure{subfieldlabel}
    {\HCode{<span class="subfieldlabel">}}
    {\HCode{</span>}}
-_-_-

3.6.4 acm-proc-article-sp

<..acm-proc-article-sp thebib config..>
 \:CheckOption{no-bib} \if:Option\else
    \:CheckOption{mouseover} \if:Option
       <.acm-proc-article-sp onmouseover thebibliography.>
    \else
       <.acm-proc-article-sp default thebibliography.>
    \fi
    <.bibitem css.>
 \fi
-_-_-

<..acm-proc-article-sp default thebibliography..>
 \ConfigureEnv{thebibliography}%
    {\ifvmode\IgnorePar\fi \EndP \HCode{<div
                    class="thebibliography">}\let\en:bib=\empty}
    {\en:bib \ifvmode\IgnorePar\fi \EndP \HCode{</div>}}
    {}{}
 \ConfigureList{thebibliography}%
    {}{}
    {\en:bib\def\en:bib{<.bibliography2.>\EndP}%
    <.config bib HtmlPar.>\par\ShowPar
     \HCode{<span class="biblabel">}<.config bib-p HtmlPar.>}
    {\HCode{<span class="bibsp">}\:nbsp
       \:nbsp\:nbsp\HCode{</span></span>}}
-_-_-

<..acm-proc-article-sp onmouseover thebibliography..>
 \ConfigureEnv{thebibliography}%
    {\ifvmode\IgnorePar\fi\EndP <.start js.>\HCode{<div
                    class="thebibliography">}\let\en:bib=\empty}
    {\en:bib \ifvmode\IgnorePar\fi\EndP \HCode{</div>}}
    {}{}
 \ConfigureList{thebibliography}%
    {}{}
    {\en:bib\def\en:bib{<.js bibliography2.>%
         \EndP}<.js /bibitem.><.js bibitem.>%
         <.config bib HtmlPar.>\par\ShowPar
         \leavevmode <.js skip bib.>\HCode{<span
       class="biblabel">}<.config bib-p HtmlPar.>}
    {\HCode{<span class="bibsp">}\:nbsp
       \:nbsp\:nbsp\HCode{</span></span>}<.js end skip bib.>}
-_-_-

3.6.5 JS Contributions

<..js from bib..>
 \ht:special {t4ht@DCopyTo: \jobname-js.tex From bib }%
-_-_-

<..js skip bib..>
 \ht:special {t4ht@DCopyTo: \jobname-js.tex Skip bib }%
-_-_-

<..js end skip bib..>
 \ht:special {t4ht@DCopyTo: \jobname-js.tex Cont bib }%
-_-_-

<..js Until bib..>
 \ht:special {t4ht@DCopyTo: \jobname-js.tex Until bib }%
-_-_-

<..js Set1 bib..>
 \ht:special {t4ht@DCopyTo: \jobname-js.tex Set1 bib }%
-_-_-

<..js Set2 bib..>
 \ht:special {t4ht@DCopyTo: \jobname-js.tex Set2 bib }%
-_-_-

<..js mark 1 bib..>
 \ht:special {t4ht@DCopyTo: \jobname-js.tex Addr1 bib }%
-_-_-

<..js mark 2 bib..>
 \ht:special {t4ht@DCopyTo: \jobname-js.tex Addr2 bib }%
-_-_-