每当我尝试使用 tex4ebook 引入任意切点时,我都会以奇怪的、错误排序的方式返回页面。这是我的 MWE:
\newcommand{\mycut}{}
\begin{document}
A
\mycut{}
B
\mycut{}
C
\chapter{First}
D
\mycut{}
E
\end{document}
我的配置文件:
\Preamble{xhtml,svg,no-cut}
\NewSection\mycut{}
\CutAt{chapter,chapter,mycut}
\CutAt{mycut,mycut,chapter}
我希望看到我的 MWE 被分成 5 页,页面顺序如下:
A -> B -> C -> 第“第一章” + D(同一页)-> E。
相反,我得到:
A -> 第“第一章” + D(同一页)-> B -> C -> E。
有谁知道为什么会发生这种情况,以及我怎样才能引入任意剪切,以按照我上面描述的方式剪切?(实际上,在我的 MWE 之外,我希望任意剪切不仅能正确尊重章节,还能尊重章节和部分)
答案1
TeX4ebook 需要使用该命令按阅读顺序记录所有生成的页面\OpfRegisterFile
。您的\mycut
命令不会执行此操作,因此生成的页面将放置在 Epub 文件的末尾,位于该\chapter
命令生成的页面之后。
下面的配置文件应该可以修复这个问题:
\Preamble{xhtml,svg,no-cut}
\NewSection\mycut{}
\csgappto{c:mycut}{\OpfRegisterFile}%
\csgappto{c:chapter}{\OpfRegisterFile}%
\CutAt{chapter,chapter,mycut}
\CutAt{mycut,mycut,chapter}
\begin{document}
\EndPreamble
重要的代码是这样的:
\csgappto{c:mycut}{\OpfRegisterFile}%
\csgappto{c:chapter}{\OpfRegisterFile}%
此代码将 添加到\OpfRegisterFile
TeX4ht 使用的钩子中,位于章节标题之前。它应确保\OpfRegisterFile
在正确的文件上调用 。