使用 make4ht 编译时,hyperref 包似乎与 titlesec 包有冲突。以下文档使用 make4ht 编译。编译后的 html 文件不包含目录。
\documentclass{article}
\usepackage{titlesec}
\titleformat{\section}[runin]{\normalfont\bfseries}{\thesection.}{3pt}{}
\usepackage{hyperref}
\begin{document}
\tableofcontents
\section{First}
\section{Second}
\section{Third}
\end{document}
这该如何处理?请注意,删除 titlesec 包和命令 titleformat 后就不会出现问题。
答案1
这个问题与 hyperref 无关,\titleformat
问题的关键在于runin
选项。它似乎重新定义了,\section
无法tex4ht
插入 HTML 标签作为标题,而且这些标签不会保存到目录中。此外,文档中完全没有第三部分。
我发现该hang
格式适用于tex4ht
,因此有一个简单的解决方法:只需将runin
(和display
,与 有同样的问题runin
)格式重新定义为hang
:
\Preamble{xhmtl}
\begin{document}
\titlelabel{\thetitle.}
\makeatletter
\let\ttlh@runin\ttlh@hang
\let\ttlh@display\ttlh@hang
\makeatother
\EndPreamble
我添加了\titlelabel{\thetitle.}
一行来获取节号后的点,因为似乎此功能不受tex4ht
以下配置支持\titleformat
-
现在看来可以了: