使用 make4ht 将 latex 转换为 html - 图片的宽度和高度

使用 make4ht 将 latex 转换为 html - 图片的宽度和高度

我正在研究将 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; }

相关内容