TeXStudio 无法识别 \big( 或 \big[

TeXStudio 无法识别 \big( 或 \big[

当我在数学模式下使用\big(或时,\big[我收到一条消息“无法识别的命令”,但没有错误,并且它给了我想要的结果。但是,该命令工作正常。当我使用相同的命令并在和或\big|之间留有空格时,没有问题。最近几天,当我将 TexStudio 升级到 2.12.8 版本时,发生了这种情况。\big([

我希望 TeXStudio 能够识别不带空格的\big(\big[\bigg(、...。谢谢!

在此处输入图片描述

答案1

已针对 TXS ≥ 2.12.9 进行修复 (gitb1157fa

该问题已在开发快照中修复,可从以下网址下载:

从现在起,未来发布的(官方)版本2.12.10将不再需要以下解决方法。


解决方法(TXS ≤ 版本 2.12.8)

笔记:正如所建议的那样评论\bigl(\bigr)建议改为使用。这些是在 中定义的latex-mathsymbols.cwl,因此可能需要类似的修复。

现在没有很好的办法,如果latex-document.cwl禁用它会影响其他命令,你可以从源代码tempfix.cwl现在继续类似操作。

似乎是在和中的命令分类格式的实现中出现了错误分类错误。您无法直接编辑它,因为它已编译到可执行文件中。我现在将提供一种替代方案:latex-document.cwllatex-mathsymbols.cwl

  1. tempfix.cwl使用记事本或其他文本编辑器创建一个新文件。

  2. 前往项目页面latex-document.cwl并将和的内容复制latex-mathsymbols.cwl到 中tempfix.cwl

  3. 然后用以下内容替换相关的\big(、等命令:(本质上是从或中\bigl(删除KM分类。)#mK#mM

    \Big(%|\Big)#m
    \Big[%|\Big]#m
    \Big|%|\Big|#m
    \big(%|\big)#m
    \big[%|\big]#m
    \big|%|\big|#m
    \Bigg(%|\Bigg)#m
    \Bigg[%|\Bigg]#m
    \Bigg|%|\Bigg|#m
    \bigg(%|\bigg)#m
    \bigg[%|\bigg]#m
    \bigg|%|\bigg|#m
    
    \Bigl(%|\Bigr)#m
    \Bigl[%|\Bigr]#m
    \Bigl|%|\Bigr|#m
    \bigl(%|\bigr)#m
    \bigl[%|\bigr]#m
    \bigl|%|\bigr|#m
    \Biggl(%|\Biggr)#m
    \Biggl[%|\Biggr]#m
    \Biggl|%|\Biggr|#m
    \biggl(%|\biggr)#m
    \biggl[%|\biggr]#m
    \biggl|%|\biggr|#m
    \Bigr#m
    \bigr#m
    \Biggr#m
    \biggr#m
    
  4. 放入文件夹tempfix.cwl./config/completion/user/(见这里如果您不确定这在哪里),然后重新启动 TeXstudio。选中testfix.cwlConfigure TeXstudio -> Completion并取消选中latex-document.cwllatex-mathsymbols.cwl

临时修复

关闭选项对话框,然后从顶部栏中Idefix -> Refresh structure“刷新”命令识别(如果需要)。

这个问题应该在下一版本(> TXS 版本2.12.8)中得到修复。

测试文件:

\documentclass{article}
\begin{document}
$
\Big(x+y\Big)
\Big[x+y\Big]
\Big|x+y\Big|
\big(x+y\big)
\big[x+y\big]
\big|x+y\big|
\Bigg(x+y\Bigg)
\Bigg[x+y\Bigg]
\Bigg|x+y\Bigg|
\bigg(x+y\bigg)
\bigg[x+y\bigg]
\bigg|x+y\bigg|
\Bigl(x+y\Bigr)
\Bigl[x+y\Bigr]
\Bigl|x+y\Bigr|
\bigl(x+y\bigr)
\bigl[x+y\bigr]
\bigl|x+y\bigr|
\Biggl(x+y\Biggr)
\Biggl[x+y\Biggr]
\Biggl|x+y\Biggr|
\biggl(x+y\biggr)
\biggl[x+y\biggr]
\biggl|x+y\biggr|
$
\end{document}

相关内容