在 TL 2013 中,新安装。添加\label
以下内容会导致 htlatex 中出现错误
\documentclass[12pt]{article}%
\usepackage{hyperref}
\begin{document}
\begin{equation} \label{eq1}
x=y
\end{equation}
\end{document}
编译
htlatex note_on_lecture_2_21_2013.tex
(./note_on_lecture_2_21_2013.aux)
! Undefined control sequence.
\a:newlabel ...utoref\string \endcsname {\NR:Type
}#1}
l.4 \begin{equation} \label{eq1}
?
删除hyperref
会导致错误消失。保留 hyperref 也会使\label
错误消失。
添加已发布的补丁这里没有帮助:
\documentclass[12pt]{article}%
\usepackage{hyperref}
\makeatletter
\catcode`\:=11 %
\AtBeginDocument{%
\@ifpackageloaded{tex4ht}{%
\def\no@sect#1#2#3#4#5#6[#7]#8{\gdef\NR:Title{\a:newlabel{#7}}%
\gdef\NR:Type{#1}%
\NR:no@sect{#1}{#2}{#3}{#4}{#5}{#6}[{#7}]{#8}%
}
\def\:tempc#1#2#3#4#5#6[#7]#8{%
\gdef\NR:Title{\a:newlabel{#7}}%
\gdef\NR:Type{#1}%
\o:NR@sect:{#1}{#2}{#3}{#4}{#5}{#6}[{#7}]{#8}}
\HLet\NR@sect\:tempc
}{}%
}%
\@makeother\:
\makeatother
\begin{document}
\begin{equation} \label{eq1}
x=y
\end{equation}
\end{document}
以相同的方式编译,会出现相同的错误。
(/usr/local/texlive/2013/texmf-dist/tex/generic/tex4ht/html4-math.4ht))
(./note_on_lecture_2_21_2013.aux)
! Undefined control sequence.
\a:newlabel ...utoref\string \endcsname {\NR:Type
}#1}
l.23 \begin{equation} \label{eq1}
?
使用
>latex -v
pdfTeX 3.1415926-2.5-1.40.14 (TeX Live 2013)
kpathsea version 6.1.1
在 Linux mint 15 上。
答案1
它看起来像一个应该报告给 tex4ht 列表的错误,但这是解决此情况的方法:
\documentclass[12pt]{article}%
\usepackage{hyperref}
\expandafter\let\csname NR:Type\endcsname\relax
\begin{document}
\begin{equation} \label{eq1}
x=y
\end{equation}
\end{document}