我使用的\Css
配置是将标题置于图形下方,这要归功于 如何在使用 tex4ht 时使标题位于表格下方中央
现在我发现,如果我将文档类更改为 koma-script,这不起作用!
这是 MWE
%\documentclass[11pt]{scrbook}
\documentclass[11pt]{book}
\usepackage{graphicx}
\usepackage{float}
\begin{document}
\begin{figure}[H]
\centering
\includegraphics[width=0.5\textwidth]{example-image-b}
\caption{test image}
\end{figure}
\end{document}
现在使用make4ht -c my.cfg
where my.cfg
is进行编译
\Preamble{xhtml}
\Css{div.caption{text-align:center;}}
\Css{div.figure img {text-align:center;display:block;margin-left:auto; margin-right: auto;}}
\begin{document}
\EndPreamble
给出预期的输出
现在将文档更改为
\documentclass[11pt]{scrbook}
不做任何其他更改并使用相同命令再次编译,得到
为什么更改文档类会导致CSS
配置无效?
2018 年
答案1
如果你比较生成的 HTML 文件,你会发现,tex4ht 在以下情况下会在标题中添加一个表格scrbook
:
<div class="caption">
<table class="caption">
<tr style="vertical-align:baseline;" class="caption">
<td class="id">Figure 0.1: </td>
<td class="content">test image</td>
</tr>
</table>
</div>
(我改变了换行符和缩进,以使其更易于阅读)。
使用此代码,不仅表格text-align
对齐而且表格对齐也负责对齐。因此,您还需要一行 css 代码:
div.caption table{margin: auto;}
这还会改变表格的边距。因此
\Preamble{xhtml}
\Css{div.caption{text-align:center;}}
\Css{div.figure img {text-align:center;display:block;margin-left:auto; margin-right: auto;}}
\Css{div.caption table{margin: auto;}}
\begin{document}
\EndPreamble
你会得到你想要的。