加载命令的文件是什么\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}
截图
答案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 无法识别。