我正在研究将 TeX 文档转换为 html 的问题。经过一番谷歌搜索和阅读后,我最终选择了 make4ht。作为起点,我尝试使用 make4ht 将一个简单的 tex 文档转换为 html (+css)。它成功了,但我想修改其对图片的行为:在 TeX 文件中我有:
\includegraphics[width=\textwidth]{./image.png}
在 html 文件中我发现:
<img width='345' height='345' alt='PIC' src='./image.png' />
这些尺寸从何而来?我希望能够获得的是:
<img alt='PIC' src='./image.png' />
在 html 文件中(没有宽度和高度)有以下几行:
img {
max-width: 100%;
height: auto;
width: auto\9; /* ie8 */
}
在 css 文件中。
这样,我就可以让图像自动适应浏览器宽度并保持其纵横比。
有没有简单的方法来实现这一点?理想情况下,我希望将其包含在 mk4 文件中(我已经在其中设置了 mathjax、mathml 命令)或配置文件中。否则,您能否为我提供 make4ht 入门指南?
非常感谢您的意见
Mario
答案1
您可以在以下位置找到有关图像尺寸的一些信息正在进行的 TeX4ht 文档默认情况下,它使用 Graphicx 包提供的尺寸,因此该值345
与您的有关\textwidth
。不幸的是,DVI 模式下的 Graphicx 无法直接读取图像尺寸,因此您会得到错误的高度,它只是使用与宽度相同的尺寸。您可以使用
ebb -x *.png
命令。然后您将获得正确的高度。
如果您根本不想使用图像尺寸,您可以使用\Configure{Gin-dim}
:
\Preamble{xhtml}
\Configure{Gin-dim}{}
\Css{img {
max-width: 100\%;
height: auto;
width: auto\string\9;
}}
\begin{document}
\EndPreamble
空参数只会禁用 HTML 文件中的尺寸属性。
这是最终的 HTML:
<p class='noindent'><img alt='PIC' src='example-image.png' /> </p>
和 CSS:
img { max-width: 100%; height: auto; width: auto\9; }