当在 内部定义脚注时,TeX4ht 会生成双脚注csquotes
\blockquote
。
这里有一个乳胶可重现的示例:
\documentclass[a4paper]{report}
\usepackage{csquotes}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\begin{document}
\section{About Color Science}
The International Commission on Illumination (CIE) defines perceived color as
the~\blockquote{characteristic of visual perception that can be
described by attributes of hue~\footnote{See sub-section~\ref{subsec:terminology}
for the definitions of hue, brightness, lightness, colorfulness, saturation and
chroma.}, brightness (or lightness) and colourfulness (or saturation or
chroma).}
\end{document}
我的TeX4ht剥离配置:
\Preamble{3,charset=utf-8,fn-in,html5,sec-filename,sections+,xhtml}
\EndPreamble
以及相关HTML输出:
<div class="footnotes"><!--l. 16--><p class="noindent"><span class="footnote-mark"><a href="#fn1x0-bk" id="fn1x0"><sup class="textsuperscript"><span class="ec-lmr-9">1</span></sup></a></span>See sub-section ?? for the definitions of hue, brightness, lightness, colorfulness, saturation and
chroma.</p><!--l. 16--><p class="indent"> <span class="footnote-mark"><a href="#fn1x0-bk"><sup class="textsuperscript"><span class="ec-lmr-9">1</span></sup></a></span>See sub-section ?? for the definitions of hue, brightness, lightness, colorfulness, saturation
and chroma.</p> </div>
答案1
该\blockqoute
命令对参数进行两次排版,一次用于检测它是否包含多个段落,第二次用于打印文本。段落检测发生在中\vbox
,然后将其丢弃。问题是tex4ht
检测到这个被丢弃的框中的脚注并对其进行排版,这会导致重复的脚注。解决这个问题的一个简单方法是跳过段落检测。缺点是,如果在命令中使用多个段落,\blockquote
并且仅当它从段落中间开始的情况下,您将获得与常规 LaTeX 不同的结果。我不知道这种情况发生的频率,无论如何这似乎不是一个好主意。
将以下代码保存为csquotes.4ht
:
\long\def\csq@bquote@i#1#2#3#4#5#6{%
\csq@bquote@ii{#1}{#2}{#3}{#4}{#5}{#6}}
\Hinput{csquotes}
\endinput
结果:
如果它对您有用,我会将此文件添加到 tex4ht 源中。