htlatex
我按照 michal.h21 的建议,从“PDF 图像文件和”分支出来。
我使用 myxhtml.cfg 如下
\Preamble{xhtml}
\makeatletter
\Configure{graphics*}
{pdf}
{
\Needs{"convert \csname Gin@base\endcsname.pdf
\csname Gin@base\endcsname.png"}%
\Picture[pict] {\csname Gin@base\endcsname.png}%
\special{t4ht+@File: \csname Gin@base\endcsname.png}
}
\begin{document}
\EndPreamble
然后是测试.tex
\documentclass[12pt]{article}
\usepackage[dvips]{xcolor}
\usepackage[dvips]{graphicx}
\usepackage[tex4ht]{hyperref}
\begin{document}
\begin{picture}(0,0)%
\includegraphics{1fig2dev.pdf}%
\end{picture}%
\end{document}
并且 pdf 文件 1fig2dev.pdf 相当小
%PDF-1.5
%Çì¢
5 0 obj
>
stream
xS»R^C1^Lìý^UªS^HKgëñ^EÔ ^E^_¤H ^Tü>ò½^RrÇ^LEæ
¥´ëµ/ ·o\÷çô´S8|¥KÊ@Y2SK^R³Ýüô©S:&Ò¬(^E:,^BNjJAá^Z(R¤^A©£gi^Qñ^NÕ^Cc¨äë^QUBV jQ\úÈïYmþë^F>^Rc×&}÷T3ì^S^G^GaR:4A«@^E+g^T30«(ÊP zôä@y»OTX0Ì^@áU¢^PU¼^XèÖâØ^Eñ}zIÛ pX=^U¹÷âÞ7+Â^^Õü^XtÿíñØÏã,\|Ù;êQmðxpÝ«`^V¹é^X¯Á"00÷^RgìtÃ|tuxôS¢ýÞ:Fåä&å\yrsÚ^Ý^A£PhvÓ»¸¢.£«Âï)/T-4^OêÔ\B^Aukâ^T+^S÷oíóm^Bã^_éÒ¦±
Ù¦^_¸´Î!endstream
endobj
6 0 obj
352
endobj
4 0 obj
>
/Contents 5 0 R
>>
endobj
3 0 obj
>
endobj
1 0 obj
>
endobj
7 0 obj
>endobj
8 0 obj
>
endobj
9 0 obj
>stream
2016-10-17T21:01:33+02:00
2016-10-17T21:01:33+02:00
fig2dev Version 3.2 Patchlevel 5e
1fig2dev.fig
endstream
endobj
2 0 obj
>endobj
xref
0 10
0000000000 65535 f
0000000646 00000 n
0000002219 00000 n
0000000587 00000 n
0000000456 00000 n
0000000015 00000 n
0000000437 00000 n
0000000710 00000 n
0000000751 00000 n
0000000780 00000 n
trailer
]
>>
startxref
2407
%%EOF
全部位于同一文件夹中。
现在我输入 htlatex test.tex myxhtml 但这不起作用:
! LaTeX Error: Cannot determine size of graphic in 1fig2dev.pdf (no BoundingBox
).
See the LaTeX manual or LaTeX Companion for explanation.
Type H for immediate help.
...
l.7 \includegraphics{1fig2dev.pdf}
似乎 pdf 没有被替换。我尝试手动转换 1fig2dev.pdf 1fig2dev.png,并使用 gwenview 1fig2dev.png 进行验证... 似乎没问题。
什么地方出了错????
好的,部分答案:如果我删除图片环境,问题就消失了。这是 htlatex 中的错误吗???
答案1
环境的内容picture
使用一些图像转换器转换为图像dvi
。tex4ht
配置被隐藏在其中,因此根本不执行 中的配置graphics*
,PDF 文件按原样插入。如果您尝试使用 运行文档latex
,则会得到完全相同的错误。
如果你将其移出\includegraphics
环境picture
,graphics*
配置就会生效,PDF 图片也会被包含进去。如果你真的想在环境中包含图片picture
,你需要使用eps
DVI 模式支持的格式。
我将使用以下方法:
准备所有需要的格式(pdf、png、eps)的图像,声明 LaTeX 在特定模式下应使用哪些扩展名,从\includegraphics
命令中删除扩展名并让 LaTeX 决定应该使用哪一个。
您修改了文档:
\documentclass[12pt]{article}
\usepackage[]{xcolor}
\usepackage[]{graphicx}
\usepackage[tex4ht]{hyperref}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\DeclareGraphicsExtensions{pdf,png,jpg}
\begin{document}
\begin{picture}(0,0)%
\includegraphics{1fig2dev}%
\end{picture}%
\includegraphics{1fig2dev}
\end{document}
如您所见,\DeclareGraphicsExtensions
命令用于定义扩展名,当包含图像时应尝试这些扩展名。这些将在 PDF 模式下使用。现在您需要修改文件.cfg
:
\Preamble{xhtml}
\Configure{picture}
{\DeclareGraphicsExtensions{.eps}\Picture+[PICT]{}}
{\EndPicture}
\begin{document}
\DeclareGraphicsExtensions{.png,.jpg,.gif}
\EndPreamble
\Configure{picture}
用于声明图像应该在环境eps
内使用,或者应该在其他地方使用。picture
png
jpg
gif