\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}