运行发布的代码这个问题,那里显示的第一个代码,由 Andrew Swann 发布的已接受答案。在 texlive 2012 debian 上通过 htlatex 运行代码时,我收到错误
htlatex index.tex
这是 pdfTeX,版本 3.1415926-2.4-1.40.13 (TeX Live 2012/Debian) 受限 \write18 已启用。进入扩展模式 LaTeX2e <2011/06/27>....
(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd)!缺少插入 $。$ l.28 \end{align*} ?
在同一代码上运行 latex 和 pdflatex 时没有错误。
知道是什么原因导致了这个错误吗?PS:为了以防万一,这里有一个代码的副本。(如果可以在 stackexchange 上直接链接到消息中发布的代码片段,那就太好了,这样就可以更容易地将某人指向网页上的特定代码)。
\documentclass{article}
\usepackage{mathtools}
\usepackage{amsfonts}
\makeatletter
\newcommand{\mydmath}[1]{\( \m@th\displaystyle #1 \)}
\makeatother
\newcommand{\mydmathtowd}[2]{\hbox to #1{\mydmath{#2}}}
\newsavebox\mytmpbox
\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}
\begin{document}
\sbox\mytmpbox{\mydmath{\adjustlimits\lim_{y\to\infty}\sup_{x\in\mathbb{R}}
\abs[\Big]{y^{9/2-\varepsilon}\bigl[\omega(x,y)-\omega_{\mathrm{as}}(x,y)\bigl]}}}
\begin{align*}
\mydmathtowd{\wd\mytmpbox}{\adjustlimits\lim_{y\to\infty}\sup_{x\in\mathbb{R}}
\abs[\Big]{y^{5/2-\varepsilon}\bigl[\vphantom{A^2}u(x,y)-u_{\mathrm{as}}(x,y)\bigr]}}
& = 0 \\
\mydmathtowd{\wd\mytmpbox}{\adjustlimits\lim_{y\to\infty}\sup_{x\in\mathbb{R}}
\abs[\Big]{y^{5/2-\varepsilon}\bigl[\vphantom{A^2}v(x,y)-v_{\mathrm{as}}(x,y)\bigr]}}
& = 0 \\
\usebox\mytmpbox & = 0
\end{align*}
\end{document}
答案1
两个问题:
\(..\)
在\mydmath
定义中。改为\ensuremath{..}
。\adjustlimits
给 tex4ht 带来麻烦。想法是将其定义为\relax
tex4ht。这可以通过配置文件来完成,例如,foo.cfg: \Preamble{html} \let\adjustlimits\relax \begin{document} \EndPreamble
使用以下配置运行 tex4ht:htlatex index.tex "foo,html"