![使用 make4ht 时出现错误“缺少 \endcsname 插入”](https://linux22.com/image/463677/%E4%BD%BF%E7%94%A8%20make4ht%20%E6%97%B6%E5%87%BA%E7%8E%B0%E9%94%99%E8%AF%AF%E2%80%9C%E7%BC%BA%E5%B0%91%20%5Cendcsname%20%E6%8F%92%E5%85%A5%E2%80%9D.png)
当我将 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 一起使用。