tex4ht 不会将 convert_graphics 文件夹中的 .eps 图像转换为 .png 或 .svg

tex4ht 不会将 convert_graphics 文件夹中的 .eps 图像转换为 .png 或 .svg

在乳胶文件(.tex)中,使用典型的图片命令:

\includegraphics[bb=0 0 2100 1528,width=3.83in,height=2.79in,keepaspectratio]{summbetadiethist.eps}

但是,当使用以下命令运行 htlatex 时:

htlatex foo.tex "myfile.cfg,charset=utf-8,pic-m" " -utf8 -cunihft"

抛出的错误消息如下:

在此处输入图片描述

序言(myfile.cfg 内容)如下:

\Preamble{xhtml}
\DeclareGraphicsExtensions{.eps,.pdf,.svg,.png,.jpg}
\Configure{Picture}{.svg}
\ifdefined\HCode\else .... \fi
\DeclareMathSizes{12}{14}{10}{8}
\ConfigureEnv{tabular}
    {\HCode{}}{\HCode{}}{}{}
\ConfigureEnv{figure} 
    {\HCode{}}{\HCode{}}{}{}    
\Configure{float}
   {\ifOption{refcaption}{}{\csname par\endcsname\ShowPar \leavevmode}}
   {\HCode{}}
{\ifvmode \IgnorePar \fi\EndP \HCode{}\csname par\endcsname\ShowPar}
\Css {body {margin-top: 100px;
                 margin-right: 400px;
                 margin-bottom: 10px;
                 margin-left: 400px;
                }
         }
\begin{document}
\EndPreamble

如果注释掉序言中的 .svg 行以强制创建 .png 文件,则每个输入的 .eps 图像仍会抛出错误。那么包装到 tex4ht 中的图像引擎是否与 .eps 图像不一样?

答案1

html4.4ht 包含一个图形配置,其中直接引用了对 的调用convert。如果我将此配置复制到您的cfg文件中并对其进行更改,则 htlatex 会改为调用magick convert,并在 Windows 上成功:

\Preamble{xhtml}
\DeclareGraphicsExtensions{.eps,.pdf,.svg,.png,.jpg}
\Configure{Picture}{.svg}
\Configure{graphics*}
   {eps}
   {\openin15=\csname Gin@base\endcsname\PictExt\relax%
   \ifeof15%
   \Needs{"magick convert \csname Gin@base\endcsname.eps \csname Gin@base\endcsname\PictExt"}%
   \fi%
   \closein15%
   {\Configure{Needs}{File: \csname Gin@base\endcsname\PictExt}\Needs{}}%
   \Picture[\csname a:GraphicsAlt\endcsname]{{\csname Gin@base\endcsname\PictExt} \csname a:Gin-dim\endcsname
}}
\ifdefined\HCode\else .... \fi
\DeclareMathSizes{12}{14}{10}{8}
\ConfigureEnv{tabular}
    {\HCode{}}{\HCode{}}{}{}
\ConfigureEnv{figure}
    {\HCode{}}{\HCode{}}{}{}
\Configure{float}
   {\ifOption{refcaption}{}{\csname par\endcsname\ShowPar \leavevmode}}
   {\HCode{}}
{\ifvmode \IgnorePar \fi\EndP \HCode{}\csname par\endcsname\ShowPar}
\Css {body {margin-top: 100px;
                 margin-right: 400px;
                 margin-bottom: 10px;
                 margin-left: 400px;
                }
         }
\begin{document}
\EndPreamble

相关内容