使用 make4ht 时出现错误“缺少 \endcsname 插入”

使用 make4ht 时出现错误“缺少 \endcsname 插入”

当我将 mak4ht 与 miktex 发行版结合使用时,我遇到了一些奇怪的错误,我无法解释。有人知道吗?

首先有两个警告:[警告] tocid:未找到 char-def 模块 [警告] tocid:无法修复部分 id

然后我得到每个部分和子部分“缺少 \endcsname 插入”,每个部分重复 5 次,但是第一个带有错误的行号(855)。

最佳基督徒

\documentclass[12pt,a4paper,notitlepage,german,twoside]{book}%
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage[ngerman]{babel}
\usepackage{eurosym}
\usepackage{amsfonts}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{minitoc}
\usepackage{verbatim}
\usepackage{hyperref}
\usepackage{textcomp}
\usepackage{tabularx}
\usepackage{etoc}


\begin{document}
\shorthandoff{"}
\part{Markt}
%\input{dynvwl-part1-markt.tex}
\chapter{test}
\section{test2}
test
\part{Übungen}
\end{document}

答案1

我没有收到任何与你的文件相关的错误,因此错误可能是由你系统上某些软件包的旧版本引起的。查看你使用的软件包,我发现其中一些软件包对 TeX4ht 没用。即 Minitoc 和 Etoc。你可以有条件地包含它们,但前提是你不使用 TeX4ht 编译文档:

\documentclass[12pt,a4paper,notitlepage,german,twoside]{book}%
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage[ngerman]{babel}
\usepackage{eurosym}
\usepackage{amsfonts}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{verbatim}
\usepackage{hyperref}
\usepackage{textcomp}
\usepackage{tabularx}
\ifdefined\HCode\else
\usepackage{minitoc}
\usepackage{etoc}
\fi


\begin{document}
\shorthandoff{"}
\part{Markt}
%\input{dynvwl-part1-markt.tex}
\chapter{test}
\section{test2}
test
\part{Übungen}
\end{document}

如果仍然出现错误,请尝试将更多包移至此部分:

\ifdefined\HCode\else
\usepackage{minitoc}
\usepackage{etoc}
\fi

这些包将不会与 TeX4ht 一起使用。

相关内容