我有以下方程代码片段,直接从 mathtype 生成并放入方程环境中。
\begin{equation}
\underset{\alpha_j ,D}{\mathop{\min }}\text{ } \frac{1}{2}\,\left\| D\alpha_j -x_j \right\|_{2}^{2}+\lambda {{\left\| {\alpha}_j \right\|}_{1}}\text{ subject to }\Sigma D\le c
\label{eqmain}
\end{equation}
然而,代码抛出了错误
Missing delimiter (. inserted).
<to be read again>
\begingroup
l.40 ...athop{\min }}\text{ } \frac{1}{2}\,\left\|
代码在 IEEEtran 和 svcproc.cls 中运行正常,但在其他类文件中则不行。它应该是这样的。即使我放了所有库文件,代码还会有什么问题?
答案1
请始终提供重现错误的测试文件。
你得到
! Missing delimiter (. inserted).
<to be read again>
\begingroup
l.7 ...mathop{\min }}\text{ } \frac{1}{2}\,\left\|
D\alpha_j -x_j \right\|_{...
?
来自以下文档
\documentclass{article}
\usepackage{amsmath}
\renewcommand\|{\begingroup x\endgroup}
\begin{document}
\begin{equation}
\underset{\alpha_j ,D}{\mathop{\min }}\text{ } \frac{1}{2}\,\left\| D\alpha_j -x_j \right\|_{2}^{2}+\lambda {{\left\| {\alpha}_j \right\|}_{1}}\text{ subject to }\Sigma D\le c
\label{eqmain}
\end{equation}
\end{document}
您可能没有\renewcommnd\|{...}
在序言中真正地描述这一点,但您会有一些\|
在某处重新定义的包。
如果你把
\typeout{\meaning\|}
每次之后\usepackage
你都会看到它的定义发生改变的地方。
答案2
我无法从您给出的代码中重现错误,而且我不知道“其他类文件”到底是什么,所以我无法真正帮助您。不过,我已经整理了源代码,这样可能更容易调试:
\begin{equation}
\min_{\alpha_j, D} \frac{1}{2} \left\| D \alpha_j - x_j \right\|_2^2
+ \lambda {\left\| \alpha_j \right\|}_{1}
\text{ subject to } \Sigma D\le c
\label{eqmain}
\end{equation}