我正在为包制作一个 .cwl 文件nicematrix
,但不确定 TeXstudio 如何检查键值是否完成。以下是显示问题的 TeXstudio 中编辑器的示例 .cwl 文件和图像:
# nicematrix package
#include:amsmath
#include:array
#include:l3keys2e
#include:pgfcore
#include:xparse
\begin{NiceTabular}[position]{cols}[keyvals]#\tabular
\end{NiceTabular}
\begin{NiceArray}[position]{cols}[keyvals]#m\array
\end{NiceArray}
\begin{NiceMatrix}[keyvals]#m\array
\end{NiceMatrix}
#keyvals:\begin{NiceTabular},\begin{NiceArray},\begin{NiceMatrix}
hlines
#endkeyvals
它对于 NiceMatrix 环境来说工作得很好,因为它可以识别hlines
.cwl 中列出的键,而不能识别未列出的键hvlines
。但是,对于 NiceTabular 环境,它既不能识别列出的键,也不能识别未列出的键;对于 NiceArray 环境,它不会将未列出的键标记为无效。
显然,这与 NiceTabular 和 NiceArray 具有可选[position]
和强制功能{cols}
而 NiceMatrix 没有有关,但我无法从中找到解决方法用户手册或者例子。如何解释[position]
和{cols}
参数,同时仍让 TeXstudio 正确检查是否完成[keyvals]
?
答案1
TeXstudio 对 cwls 的解析能力有些有限,因此目前nicematrix cwl仅使用键位于前导码之前的语法来检查键值完成。