caption
我在编译时必须删除该包tex4ht
我发现它在 tex4ht 模式下存在问题,因此
因此我编辑了我的主要包含 tex 文件并执行了以下操作
\ifdefined\HCode %do not load caption package in tex4ht mode
\else
\usepackage{caption}% use only with lualatex and pdflatex
\fi
但由于我已经使用过它,并且有很多像这样使用它的代码
\begin{figure}[!htbp]
\centering
\captionsetup{width=.8\textwidth}
\includegraphics[width=0.9\textwidth]{problems/p1}
\caption{problem 1 description}%
\end{figure}
现在上面的代码在 tex4ht 模式下无法编译,因为 tex4ht 不知道\captionsetup
来自caption
包的设置是什么。
我不想手动编辑我碰巧使用上述内容的所有文件,并将上述每个情况更改为以下内容
\begin{figure}[!htbp]
\centering
\ifdefined\HCode
\else
\captionsetup{width=.8\textwidth}
\fi
\includegraphics[width=0.9\textwidth]{problems/p1}
\caption{problem 1 description}%
\end{figure}
因此我再次更改了我的主 tex 包含文件,将其重新定义\captionsetup
为在 tex4ht 模式下为无任何内容,如下所示
\ifdefined\HCode %disable caption
\newcommand{\captionsetup}{}
\else
\usepackage{caption}
\fi
但上述方法不起作用。现在当我用 tex4ht 编译时,我得到错误
! Missing number, treated as zero.
<to be read again>
}
l.52 \captionsetup{width=.8\textwidth}
禁用采用此类参数的命令的正确方法是什么,这样我就不必手动编辑所有乳胶文件?
Linux 上的 TL 2020。
答案1
TeX4ht 现在可以处理 Caption 包,因此您无需禁用它。以下示例有效:
\documentclass{article}
\usepackage{graphicx}
\usepackage{caption}
\begin{document}
\begin{figure}[!htbp]
\centering
\captionsetup{width=.8\textwidth}
\includegraphics[width=0.9\textwidth]{example-image.png}
\caption{problem 1 description}%
\end{figure}
\end{document}