我有一个复杂的文档,我试图在 Ubuntu 下html
使用tex4ht
TeXLive 将其转换为,但我无法连贯地控制jpg
和eps
图像的图像大小。在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
输出。
如您所见,大(以及小)图像jpg
和eps
应该具有相同的 (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"