tex4ebook 不接受配置文件

tex4ebook 不接受配置文件

我今天安装了 2022 年 3 月 27 日的新版 texlive。我制作了 MWE,它与 pdfLatex 配合得很好。它与“tex4ebook -l myfile.tex”配合得很好。但是,如果我包含最小配置文件(来自 Michal 的指南),我会得到

htlatex:?855 TeX 容量超出,抱歉 [输入堆栈大小=5000]

在过去的两年里,我已经完成了 50 多本电子书,没有遇到什么大问题。

现在 htlatex 运行良好并且 dvi 似乎也正常。

为什么 TeX 容量会溢出?

答案1

我找到了一些我发给你的旧配置文件在过去。就是这个:

\Preamble{xhtml}
\renewcommand\breakhtml{\section[page break]{}}
\makeatletter
\renewcommand{\@seccntformat}[1]{}
\makeatother
\CutAt{section,likesection,part}
\begin{document}
\EndPreamble

我使用此配置文件编译了以下 MWE:

\documentclass{article}
\usepackage{lipsum}
\begin{document}
\chapter{First}
\lipsum[1]
\chapter{Second}
\section{XXXX}
\lipsum[2]

\end{document}

编译使用:

 tex4ebook -c config.cfg -a debug sample.tex

但确实失败了:

! TeX capacity exceeded, sorry [input stack size=5000].
\ltx:like ->\ltx:like 
                      \expandafter \let \csname likepart\endcsname \empty \e...
l.7 \CutAt{section,likesection,part}
                          
No pages of output.
Transcript written on sample.log.
[FATAL]   make4ht-lib: Fatal error. Command htlatex returned exit code 1

罪魁祸首似乎是\CutAt命令。它将生成的文档拆分为\section命令上的单独页面。tex4ebook现在内部使用此命令来拆分\chapter书籍类和\section文章的页面。如果您想使用自定义拆分,现在需要no-cut使用选项。

我认为正确的配置文件应该是这样的:

\Preamble{xhtml,no-cut}
% \renewcommand\breakhtml{\section[page break]{}}
\makeatletter
\renewcommand{\@seccntformat}[1]{}
\makeatother
\CutAt{part,appendix} % split on \part
\CutAt{chapter,likechapter,appendix,part} % split on \chapter
\CutAt{likechapter,appendix,part}  % split on \chapter*
\CutAt{appendix,chapter,likechapter,part}  % split on \appendix
\CutAt{likesection,chapter,likechapter,appendix,part} % split on \section*
\CutAt{section,likesection,chapter,likechapter,appendix,part} % split on \section

\begin{document}
\EndPreamble

除了原始\CutAt命令外,它还会拆分\chapter和类似命令。如果您不想要这种效果,请随意删除这些新添加的内容。

相关内容