! 缺少分隔符(插入 .)。错误

! 缺少分隔符(插入 .)。错误
\documentclass[sn-mathphys]{sn-jnl} %\documentclass{article}

\begin{document}

\begin{equation*}
  |u|_{p(x)}=\inf\left \{\tau>0;\int_{\Omega}\left|\frac{u}{\tau}\right|^{p(x)}\,dx\leq 1\right\}.
\end{equation*}

\end{document}

我不明白为什么这段代码不起作用。谢谢

! Missing delimiter (. inserted).
<to be read again> 
                   \let 
l.6 ...(x)}=\inf\left \{\tau>0;\int_{\Omega}\left|
                                                  \frac{u}{\tau}\right|^{p(x...

? 

答案1

发布的代码没有产生错误,你只显示了错误消息的片段。如果我编辑你的示例以产生错误,那么输入是

\documentclass{article}
\usepackage{amsmath}
\begin{document}

\begin{equation*}
  |u|_{p(x)}=\inf\left x\{\tau>0;\int_{\Omega}\left|\frac{u}{\tau}\right|^{p(x)}\,dx\leq 1\right\}.
\end{equation*}

\end{document}

错误信息是

! Missing delimiter (. inserted).
<to be read again> 
                   x
l.6   |u|_{p(x)}=\inf\left x
                            \{\tau>0;\int_{\Omega}\left|\frac{u}{\tau}\right...

? 

错误信息正如您所显示的那样,但重要的部分是您未显示的上下文显示。

告诉l.6您它在第 6 行,并且显示屏上的换行符显示 TeX 已到达的点,因此在这里它在跟随之后停止了x\left并且尚未扫描方程的其余部分(显示在换行符后)。

一般来说,错误是由\left或后面的非分隔符产生的\right,完整的错误消息会将有问题的字符(x此处)显示为错误上下文显示中换行符前的最后一个字符。


这里使用注释中提到的类,错误消息是

! Missing delimiter (. inserted).
<to be read again> 
                   \let 
l.6 ...(x)}=\inf\left \{\tau>0;\int_{\Omega}\left|
                                                  \frac{u}{\tau}\right|^{p(x...

? 

表明此类中|有一个非标准定义,它不是分隔符。您可以使用命令形式\lvert\rvert获取原始字符:

\documentclass[sn-mathphys]{sn-jnl} %\documentclass{article}

\begin{document}

\show|
\begin{equation*}
  |u|_{p(x)}=\inf\left \{\tau>0;\int_{\Omega}\left\lvert\frac{u}{\tau}\right\vert^{p(x)}\,dx\leq 1\right\}.
\end{equation*}

\end{document}

或者program包(这里真正的罪魁祸首)提供\normalbaroutside以避免破坏标准标记。所以

\documentclass[sn-mathphys]{sn-jnl} %\documentclass{article}
\normalbaroutside
\begin{document}


\begin{equation*}
  |u|_{p(x)}=\inf\left \{\tau>0;\int_{\Omega}\left|\frac{u}{\tau}\right|^{p(x)}\,dx\leq 1\right\}.
\end{equation*}

\end{document}

相关内容