以下 MWE 显示了tex4ebook
运行 时问题中命名的错误epubcheck
。它(在 MWE 中)给出 3 条相同的错误消息:
\documentclass[a4paper]{report}
\usepackage[cmintegrals,cmbraces]{newtxmath}
\usepackage{ebgaramond-maths}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[rm,sc,small]{titlesec}
\renewcommand{\thesection}{\arabic{section}}
\titleformat{\section}[display]%
{}%
{\Huge\centering\textbf{\thesection}}%
{0.2\textheight}{}%
[]
\begin{document}
\clearpage
\section{}
Some first little poem.
\clearpage
\section{}
Some second little poem.
\clearpage
\section{}
Some third little poem.
\end{document}
一开始我以为是空的章节文本,但问题不在这里。给出章节标题时,错误仍然存在。
答案1
这是sectionid
由 的过滤器引起的make4ht
。它根据其名称为每个部分创建唯一的 ID。当部分名称为空时,它会为第一个部分设置空 ID,然后添加数字后缀,因为它检测到重复的名称(空名称)。epubcheck
将这些空 ID 和数字 ID 报告为错误。
我在 的开发版本中修复了这个问题make4ht
,现在添加了一个_
前缀,因此 ID 应该是有效的。如果您不想使用开发版本,可以make4ht
使用以下命令禁用过滤器:
$ tex4ebook -f epub-common_domfilters filename.tex
这应该可以防止创建章节的 ID,但它可能会导致其他问题,具体取决于您的文档。