我在 Windows 7 上使用 TexStudio 2.9.4。这里至少提到过一次一个问题。那就是 TexStudio 将无法识别的命令标记为,
\begin{IEEEeqnarray}{rCl}
然后在环境中将表达式标记
\mathrm
为在数学环境之外使用。解决方法(在 Windows 上)是手动编辑文件C:\Users\USER\AppData\Roaming\texstudio\IEEEtrantools.cwl
并添加:
\begin{IEEEeqnarray}{cols}#\math,array
\end{IEEEeqnarray}
\begin{IEEEeqnarray*}{cols}#\math,array
\end{IEEEeqnarray*}
代替那里的 \IEEEeqnarray 条目。
这可行,但是是否有一个单独的文件可以添加(例如myfixes.cwl
)TexStudio 会读取该文件?将修复程序隐藏在一个大的自动生成的文件中并不理想。
顺便问一下,有没有关于.cwl 文件格式的文档?
答案1
自动生成只是在没有其他可用信息的情况下的一种后备方法。它不如自定义 cwl,因为它无法提供有关命令的语义信息。只有在 cwl 不存在时才会自动生成(无论是在 cwl 的内部集合中还是在设置目录中)。因此,编辑设置目录中的任何 cwl 文件都是安全的。事实上,这是推荐的方法。此外,我们鼓励将此类改进的 cwl 发送给我们,以便我们可以将它们包含在未来的版本中。
您还可以创建其他myfixes.cwl
。但是,您必须明确告诉 TXS 使用它。IEEEtrantools.cwl
将被使用,因为您包含了相应的\usepackage
命令。当然,此机制不适用于myfixes.cwl
。要在其中使用定义,您必须在 全局启用它Options -> Completion
。
另请参阅常见问题解答:为什么 TeXstudio 将命令标记为无法识别?
cwl 格式的描述如下手册。
答案2
我能够使用以下步骤解决 IEEEeqnarray 环境的问题
- 在文本编辑器中打开自动生成的 IEEEtrantools.cwl。查找 TexStudio 安装的“...\config\completion\autogenerated”子文件夹。
- 删除包含文本“”的行
- 将以下5行添加到IEEEtrantools.cwl文件并保存
\begin{IEEEeqnarray}#\math
\begin{IEEEeqnarray*}#\math
\end{IEEEeqnarray}#\math
\end{IEEEeqnarray*}#\math
&#m
- 启动 TexStudio,现在您不应该再看到任何恼人的高亮。