使用revtex4-1.cls时htlatex转换LaTeX表格为HTML编译报错
revtex4-1文档使用htlatex转换表格时的报错解决方案
报错原因
- revtex4-1文档类开启
reprint双栏模式时,table*是跨双栏的特殊浮动环境,htlatex(底层为tex4ht工具链)的默认revtex4-1适配配置没有对这类带*号的浮动环境做兼容处理,编译时找不到对应环境的处理逻辑就会抛出错误。 - HTML格式本身不存在单/双栏的排版差异,跨栏浮动环境在HTML场景下没有实际意义,只要把
table*映射为普通table环境即可正常转换。
可行解决方案
方案1:修改TeX源码适配htlatex编译(无需调整编译命令)
在导言区\documentclass和\begin{document}之间加入如下条件判断代码,仅在使用htlatex编译时生效,不影响正常PDF编译:
\ifdefined\HCode % 将跨栏表格环境重定义为普通表格环境 \def\table*{\table} \def\endtable*{\endtable} % 如有figure*报错也可同理添加如下两行 % \def\figure*{\figure} % \def\endfigure*{\endfigure} \fi
修改后直接使用原有htlatex命令编译即可:htlatex 你的文件名.tex "xhtml,charset=utf-8" " -cunihtf -utf8"
方案2:使用make4ht编译(无需修改TeX源码)
make4ht是tex4ht官方推荐的新一代编译前端,内置了revtex4-1的兼容配置,直接执行如下命令即可完成转换:make4ht -f html5+revtex4 你的文件名.tex
内容的提问来源于stack exchange,提问作者Khizar
相关产品推荐
相关产品推荐

