在 tex4ht 的 html 输出中设置图像大小

在 tex4ht 的 html 输出中设置图像大小

我有一个复杂的文档,我试图在 Ubuntu 下html使用tex4htTeXLive 将其转换为,但我无法连贯地控制jpgeps图像的图像大小。在html输出中,jpg图像直接引用原始图像,似乎以 1 比 1 像素显示,而eps图像被转换为png​​在中指定大小html但似乎显示得太小的图像。在两种(或至少某些)情况下,原始\includegraphics[width=mymeasure]{myimage.jpg-eps}规范都没有得到尊重。我尝试了很多技巧、配置和代码片段(例如) 没有成功。

是否可以将 LaTeX 源中指定的图像大小传输到html输出?

这是我的 MWE:

\documentclass{book}
\usepackage{graphicx}
\begin{document}
Lorem ipsum dolor sit amet, consectetur adipisici elit:
\begin{centering}
\includegraphics[width=0.5\textwidth]{myimage.jpg}

\includegraphics[width=1.0\textwidth]{myimage.jpg}

\includegraphics[width=0.5\textwidth]{myimage.eps}

\includegraphics[width=1.0\textwidth]{myimage.eps}
\end{centering}
\end{document}

我用它来编译htlatex myfile

这是html输出。

在此处输入图片描述

如您所见,大(以及小)图像jpgeps应该具有相同的 (100%) 宽度,而在 中它们却不相同(在 中html,但在 中却相同pdf)。

此外,两幅jpg图像中,一张宽度应为另一张宽度的一半,而实际上却并非如此(在 中html,但在 中却有pdf)。

答案1

编辑:这个答案相当老了。看看这里以获取更多最新信息。


对于我来说,使用 Linux 上的 TeX Live 2012 可以正常使用。

\documentclass{book}
\usepackage{graphicx}
\begin{document}
Lorem ipsum dolor sit amet, consectetur adipisici elit:    

\begin{centering}
\includegraphics[width=.7\textwidth]{myimage.eps}\\
\includegraphics[width=.3\textwidth]{myimage.eps}\\
\includegraphics[width=1.0\textwidth]{myimage.eps}\\
\end{centering}

\the\dimexpr .7\textwidth\relax
\end{document}

生成的 html:

<p class="noindent" ><img 
src="epss0x.png" alt="PIC" class="graphics" width="241.49895pt" height="169.62851pt"  /><!--tex4ht:graphics  
name="epss0x.png" src="myimage.eps"  
--><br />
<img 
src="epss1x.png" alt="PIC" class="graphics" width="103.50105pt" height="72.6991pt"  /><!--tex4ht:graphics  
name="epss1x.png" src="myimage.eps"  
--><br />
<img 
src="epss2x.png" alt="PIC" class="graphics" width="345.0pt" height="242.3276pt"  /><!--tex4ht:graphics  
name="epss2x.png" src="myimage.eps"  
--><br />
</p><!--l. 13--><p class="indent" >   241.49895pt</p>

请注意width=.7\textwidth\the\dimexpr .7\textwidth\relax产生相同的值:241.49895pt

在此处输入图片描述

关于jpg图片,由于某些原因,尺寸信息未保存。但我们可以使用自定义配置文件:

\Preamble{xhtml}
\Configure{graphics*}
        {jpg}
        {%  
           \Picture[pict]{\csname Gin@base\endcsname .jpg
              \space width="\the\dimexpr \expandafter\csname Gin@req@width\endcsname * 1.5"
}%  
         }
\Configure{graphics*}
        {png}
        {%  
           \Picture[pict]{\csname Gin@base\endcsname .png
              \space width="\expandafter\the\csname Gin@req@width\endcsname"
}%  
         }
\begin{document}
\EndPreamble

这将使所包含图像的大小增加 os 倍1.5。将其另存为myconf.cfg并使用以下方法编译源文件

htlatex myfile myconf

答案2

(声誉不足以发表评论,因此我正在回答)

正如 mmj 在其评论中所说,乘法不起作用,至少对我们来说,只有整数才能这样工作(小数点无法识别?)。写入 4.523 将乘以 4。

将 1.5 倍放在中间即可对我来说正如预期的那样:

          \space width="\the\dimexpr 1.5 \expandafter\csname Gin@req@width\endcsname"

相关内容