htlatex:使用自定义列表时 minitoc 不正确

htlatex:使用自定义列表时 minitoc 不正确

这个问题是tex4ht:自定义列表...(第 2 部分,共 2 部分)

我使用来以每页一个子部分为基础htlatex进行制​​作。我还使用上面链接的帖子中描述的技术来生成自定义列表。这两种方法似乎互相干扰,如以下最小工作示例所示。html<things>

mwe.tex

\documentclass{article}

\usepackage{figuredescriptions}
\begin{document}

\section{First section}

\subsection{subsection}
\figuredescription{Figure description needed: 9}

\figuredescription{Figure description needed: 10}

\subsection{another subsection}

\section{Second section}

section text

\subsection{a subsection}

subsection text

\listofdesc

\end{document} 

ht-mwe.cfg

\Preamble{xhtml,3}
\begin{document}
\EndPreamble

figuredescriptions.sty

\ProvidesPackage{figuredescriptions}
\newcommand\printdescentry[1]{#1}
\newcommand{\figuredescription}[1]{\addcontentsline{desc}{subsection}{#1}\printdescentry{#1}}
\newcommand{\listofdesc}{\section{List of figure descriptions}\@starttoc{desc}}
\endinput

该文件figuredescriptions.4ht对于演示该问题来说并不是必需的。

运行命令后

 htlatex mwe.tex "ht-mwe.cfg"

然后我收到以下输出:

错误输出的屏幕截图

请注意,第 2 节的“minitoc”不正确。

minitoc我可以通过使用来解决这个问题\Preamble{xhtml,3,nominitoc},但也许在将来我实际上非常喜欢基于每个部分(正确的!)的 minitoc。

问题

我怎样才能修改上述代码,以便minitoc每个部分的输出都是正确的html

答案1

这个问题似乎是由命令\addtocontentsline中使用manual 引起的\figuredescription。在这种情况下,一些计数器需要更新。我在tex4ht资料中发现了以下说明:

Tex4ht 依靠两个计数器“\TitleCount”和“\TocCount”来决定全局目录中的哪些条目应该进入本地目录。遇到分段命令时,第一个计数器会增加。遍历全局目录时,第二个计数器会增加。

当分段命令对全局 TOC 的贡献与第一个计数器的增量不同步时,就会出现差异。通常情况下,在引入分段命令时,tex4h 并不知道它们被指定为分段命令。

据我了解,必须手动更新计数器\TitleCount。例如,通过将以下代码附加到figuredescription.4ht

\pend:defI\figuredescription{\gHAdvance\TitleCount  1\relax}

\pend:defI命令将在命令开头插入带有一个参数的代码。我在源代码\gHAdvance\TitleCount 1中的各个地方找到了该代码。tex4ht

TOC 现在似乎是正确的:

在此处输入图片描述

请注意,我已添加\TocAt{section,subsection}到 .cfg 文件中,以请求章节文本之前的目录。

相关内容