TeXStudio 无法识别 \colon

TeXStudio 无法识别 \colon

加载命令的文件是什么\colon加载要识别的作为已知命令)?如果我将它添加到个人命令中,它可以工作,但我猜这个命令来自某个包。

ps:我说的是突出显示未知的命令。

ps2:我尝试grep colon *.cwl打开我的.config/texstudio文件夹,发现

mathabx.cwl:\coloneq#Sm
mathabx.cwl:\eqcolon#Sm
mathtools.cwl:\vcentcolon#S
mathtools.cwl:\ordinarycolon#S
mathtools.cwl:\MT_activate_colon#S
mathtools.cwl:\MT_active_colon_true#S

也就是说,没有\colon命令。

答案1

该宏\colon定义plain.tex为标点符号(:数学模式下的关系符号)

\mathchardef\colon="603A

并由 重新定义amsmath

不幸的是,即使amsmath.cwl选择了完成文件,TeXstudio 也无法识别该命令。

但我们可以创建自己的.cwl文件。在 Windows 上,自定义.cwl文件存储在 TeXstudio 中,并由 TeXstudio 识别%appdata%\texstudio\completion\user。在 Linux 中~/.config/texstudio/completion/user。(更多信息请参见4.13.4 cwl 文件放置

创建你自己的.cwl文件,我将其命名为custom.cwl。一行就足够了:

\colon#m

笔记:

  • m将其声明为数学模式命令,在文本模式下使用\colon仍然会给您无法识别的突出显示。
  • S据我了解,它可以让您识别(即正确突出显示)但不能完成。

保存文件后,custom.cwl启动 TeXstudio,转到“选项”菜单并打开“配置 TeXstudio”对话框。在“完成”选项卡中选择custom.cwl并应用您的更改(“确定”)。

代码

\documentclass{article}
\begin{document}
$a:b$\par
$a{:}b$ \par
$a\mathrel{:}b$ \par
$a{:\,}b$ \par% \colon
$a\colon b$ \par
a \colon b
\end{document}

截图

自动完成 \colon 突出显示正确

答案2

\colon让 TeXStudio 知道latex-mathsymbols.cwl,作为预先定制的 .cwl 文件,最终用户无法直接访问,因为它位于已编译的程序文件中。(通过谷歌搜索找到colon site:http://svn.code.sf.net/p/texstudio/code/trunk/completion/;另请参阅TeXstudio 将 hyperref 和 xspace 的 .cwl 文件存储在哪里?

由于某种原因,该文件中的所有命令都被识别,即建议为自动完成,并且不会标记为未知命令,除了\colon\lnot。这对我来说似乎是一个错误。我将其报告为错误#728 latex-mathsymbols.cwl 中的 \colon 和 \lnot 无法识别

相关内容