使用 \crefformat 与 cleveref 会导致虚假的 chktex 警告

使用 \crefformat 与 cleveref 会导致虚假的 chktex 警告

Cleveref 在 \crefformat 中有一个有用的功能,可以引用等式,例如不等式。这为 \label 命令添加了一个额外的方括号参数。例如:

\crefformat{inequality}{inequality~(#2#1#3)}

\begin{equation}
    S \leq 2.
    \label[inequality]{eqn:bell}
\end{equation}

但是,使用 chktex 进行语法验证时,会出现两个虚假的语法警告。首先,它指向 \label 行上的右方括号,内容是

单独找到‘]’。

其次,文件的最后一行写道

`[' 的数量与 ']' 的数量不匹配。

我不想简单地关闭这些警告,因为我相信这些警告有一些潜在的解释。

答案1

创建一个名为“某处”的文件mychktexrc,其中包含

WipeArg
{
    \label:[]{} \ref:{} \eqref:{} \vref:{} \pageref:{} \index:[]{}
    \cite:[][]{} \nocite:{}
    \input:{} \verbatiminput:[]{} \listinginput:[]{}{}
    \verbatimtabinput:[]{} \include:{} \includeonly:{}
    \bibitem:[]{}
    \cline:{} \cmidrule:[](){}
    \href:{}{}
    # Cleveref -- there are many others that could be here as well...
    \cref:*{} \cpageref:*{} \crefrange:*{}{} \cpagerefrange:*{}{}
    \Cref:*{} \Cpageref:*{} \Crefrange:*{}{} \Cpagerefrange:*{}{}
    # natbib
    \citet:*[][]{} \citep:*[][]{} \citealt:*{} \citealp:*[]{} \citeauthor:*{}
    \Citet:*[][]{} \Citep:*[][]{} \Citealt:*{} \Citealp:*[]{} \Citeauthor:{}
    \citetext:{} \citeyear:*{} \citeyearpar:{}
    # tipa which uses "
    \textipa:{}
}

与默认文件中的条目相同chktexrc,但\label标记为接受可选参数。

然后运行

chktex -l mychktexrc filename

您不应该收到任何错误消息。

命令行选项的参数-l应该包含创建的文件的路径。

相关内容