2 小时前我刚刚更新到最新的 TL 2022 后,发现了两个大问题。
因此,我将针对这些问题发布两个单独的问题。如果我发现更多问题,将添加单独的问题。
我发现使用分层时,目录不再显示在网页上。index.htm 基本上是空的。
如果我不使用分层,它确实会显示。但这不是它应该的样子。
这是 MWE
\documentclass[12pt]{book}%
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{hyperref}
\begin{document}
\frontmatter
\title{my book title}
\author{me}
\date{\today}
\maketitle
\ifdefined\HCode
\Configure{tableofcontents*}{chapter}
\TocAt{chapter,section}
\TocAt{section,subsection}
\TocAt{subsection,subsubsection}
\TocAt{subsubsection,paragraph}
\fi
\tableofcontents
\mainmatter
\chapter{First order ode $F\left( x,y,y^{\prime}\right) =0$}%
data
\section{First order linear in derivative $F\left( x,y,y^{\prime}\right)=0$}%
These are first order ode's which are linear in $y^{\prime}$.
\subsection{Quadrature ode $y^{\prime}=f\left( x\right) $}
data
\subsubsection{Introduction}
data
\end{document}
使用编译
make4ht -ulm default -a debug index.tex 'mathjax,htm,4'
这是生成的 HTML
这是原始的 html
<!DOCTYPE html>
<html lang='en-US' xml:lang='en-US'>
<head><title>my book title</title>
<meta charset='utf-8' />
<meta content='TeX4ht (https://tug.org/tex4ht/)' name='generator' />
<meta content='width=device-width,initial-scale=1' name='viewport' />
<link href='index.css' rel='stylesheet' type='text/css' />
<meta content='index.tex' name='src' />
<script>window.MathJax = { tex: { tags: "ams", }, }; </script>
<script async='async' id='MathJax-script' src='https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml-full.js' type='text/javascript'></script>
</head><body>
<!-- l. 10 --><p class='indent'>
</p>
<div class='maketitle'>
<h2 class='titleHead'>my book title</h2>
<div class='author'><span class='ec-lmr-12x-x-120'>me</span></div><br />
<div class='date'><span class='ec-lmr-12x-x-120'>December 26, 2022</span></div>
</div>
</body>
</html>
您可以看到,空主体。当请求分层时会发生这种情况。在命令中更改4
为3
或2
make4ht -ulm default -a debug index.tex 'mathjax,htm,4'
没什么区别。主页是空的。所以某个地方出了什么严重问题。
>which tex4ht
/usr/local/texlive/2022/bin/x86_64-linux/tex4ht
>make4ht --version
make4ht version v0.3l
票https://puszcza.gnu.org.ua/bugs/?588
更新
找到问题了!!
已更改
\ifdefined\HCode
\Configure{tableofcontents*}{chapter}
\TocAt{chapter,section}
\TocAt{section,subsection}
\TocAt{subsection,subsubsection}
\TocAt{subsubsection,paragraph}
\fi
\tableofcontents
到
\ifdefined\HCode
\Configure{tableofcontents*}{chapter}
\TocAt{chapter,section}
\TocAt{section,subsection}
\TocAt{subsection,subsubsection}
\TocAt{subsubsection,paragraph}
\else
\tableofcontents
\fi
基本上,不应该\tableofcontents
在 tex4ht 模式下发出。
现在使用命令显示目录
make4ht -ulm default -a debug foo.tex 'mathjax,htm,4'
原始 HTML 现在显示目录
</p>
<div class='tableofcontents'>
<span class='chapterToc'>1 <a href='foch1.htm#first-order-ode-fleft-xyy-right-' id='QQ2-2-1'>First order ode \(F\o:left: ( x,y,y^{\prime }\o:right: ) =0\)</a></span>
</div>
</body>
</html>
这是在 tex4ht 中发出的\tableofcontents
,导致它不显示目录!
顺便问一下,这可能与这个变化有关吗? tex4ht 中的目录问题。子部分级别缺少编号,并且对齐不正确
我还必须修复 \NewConfigure{tableofcontetns*},因为否则它会打印两次目录。
我不知道。但目前来说,我没问题,只是确保不在\tableofcontents
tex4ht 模式下使用。