titlesec 在 tableofcontents 或 printindex 期间进入水平模式

titlesec 在 tableofcontents 或 printindex 期间进入水平模式

我正在尝试将一本最初使用 pdflatex 和 tufte 包完成的 300 页书转换为电子书。对于转换,我一直使用 LuaLaTex 和 tex4ebook 包,如所述这里

此时,我已经解决了所有小问题,只是无法生成 \tableofcontents 或 \printindex(我已单独尝试过)。在这两种情况下,处理都会提前停止并出现错误:

包 titlesec 错误:以水平模式进入。

我对 Latex 的了解足以完成一些简单的事情,而且我是一个相对不常用的用户。我真的不知道为什么会抛出这个错误,也不知道该如何解决。令人沮丧的是,98% 的转换都已完成并且很顺利。有人能告诉我是什么原因造成的吗?(包冲突,还是其他原因?)

答案1

我不太清楚为什么,但问题似乎出在 tufte-common.def 中的 titleformat{\chapter} 注意,使用 pdflatex 或 lualatex 生成 pdf 时没有问题,只有在使用 tex4ebook/tex4ht 处理时才会出现问题

因此,像这样注释掉/替换可以让处理继续正常进行

%\titleformat{\chapter}%
%  [display]% shape
%  {\relax\ifthenelse{\NOT\boolean{@tufte@symmetric}}{\begin{fullwidth}}{}}% format applied to label+text
%  {\itshape\huge\thechapter}% label
%  {0pt}% horizontal separation between label and title body
%  {\huge\rmfamily\itshape}% before the title body
%  [\ifthenelse{\NOT\boolean{@tufte@symmetric}}{\end{fullwidth}}{}]% after the title body

\titleformat{\chapter}%
[display]% shape
{\itshape\huge}
{\thechapter}% label
{0em}% horizontal separation between label and title body
{\huge\rmfamily\itshape}% before the title body
[] %

如果其他人遇到这个问题,希望这会有所帮助。

相关内容