htlatex 需要图形文件扩展名“jpg”,而其他 latex 变体则不需要。该怎么办?

htlatex 需要图形文件扩展名“jpg”,而其他 latex 变体则不需要。该怎么办?

我正在尝试制作一本以印刷版和电子书格式出版的书,并且我希望这本书的来源可以在两种媒体上使用。当我编译以下内容时,它可以xelatex工作。

\documentclass{book}
\usepackage{graphicx}
\usepackage{wrapfig}
\begin{document}
\mainmatter
\chapter{Authors}
\begin{wrapfigure}{r}{0.3\textwidth}
\includegraphics[width=0.28\textwidth]{graphics/jimphoto}
\end{wrapfigure}
\end{document}

编译时htlatex出现错误:

! LaTeX Error: File `graphics/jimphoto' not found.
See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...

l.8 ...cs[width=0.28\textwidth]{graphics/jimphoto}

但是,如果我将“jimphoto”更改为“jimphoto.jpg”,就不会出现此错误。似乎当您指定文件扩展名时,它就会看到该文件。

这是否意味着我需要仔细检查并更改整个源文件,对每个图形进行修改,并将文件扩展名放在所有图形文件上。在其他地方,我被告知不要这样做,因为乳胶中的其他东西以这种方式工作得更好。还是我遗漏了其他什么?

答案1

您需要声明 LaTeX 在包含图形时应尝试的扩展。您可以\DeclareGraphicsExtensions在自定义配置文件中使用:

\Preamble{xhtml}
\DeclareGraphicsExtensions{.jpg,.png,.gif,.svg}
\begin{document}
\EndPreamble

将其保存为myconfig.cfg并编译

make4ht -c myconfig.cfg filename.tex

LaTeX 现在应该尝试将每个图像基名与每个扩展名包含在一起,jpg, png, gif直到svg找到现有文件,然后使用该文件。

相关内容