我正在尝试制作一本以印刷版和电子书格式出版的书,并且我希望这本书的来源可以在两种媒体上使用。当我编译以下内容时,它可以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
找到现有文件,然后使用该文件。