在XeLaTeX编译完成后,我遇到了这样一个异常:
Missing character: There is no , (U+FF0C) in font [lmroman12-regular]:mapping=tex-text;
正如我在LaTeX 异常排查之“Missing character: There is no + (“2B) in font nullfont!”_KaiserKatze的博客-CSDN博客一文中指出的那样,此类Missing character异常通常是由于我在某个环境中错误地使用了某个符号,它在这个环境中无法正确地编码。
这次发现错误的代码如下:
\begin{align*}
\oint_L v \pdv{u}{\mat{n}} \dd{s}
&= \oint_L v \left(
\pdv{u}{x} \cos\alpha
+ \pdv{u}{y} \cos\beta
\right) \dd{s} \\
&= \oint_L \left( - v \pdv{u}{y} \right) \dd{x}
+ \left( v \pdv{u}{x} \right) \dd{y} \\
&= \iint_D \left[
\pdv{x} \left( v \pdv{u}{x} \right)
- \pdv{y} \left( - v \pdv{u}{y} \right)
\right] \dd{x}\dd{y} \\
&= \iint_D \left(
\pdv{v}{x} \pdv{u}{x}
+ v \pdv[2]{u}{x}
+ \pdv{v}{y} \pdv{u}{y}
+ v \pdv[2]{u}{y}
\right) \dd{x}\dd{y} \\
&= \iint_D (\grad u \cdot \grad v) \dd{x}\dd{y}
+ \iint_D v \laplacian{u} \dd{x}\dd{y},
\end{align*}
乍一看似乎没有问题,但是这是数学环境,出现在倒数第二行行尾的中文全角逗号(,)是无法正确编码的!
现在只要将其替换为英文半角逗号(,)即可解决异常。