如何在 minted 环境中抑制 chktex 错误?

如何在 minted 环境中抑制 chktex 错误?

有没有办法让 chktex 与 minted 包配合良好?目前,它似乎假设常规检查适用于 minted 环境的内容并产生大量警告。

答案1

准备一个chktexrc.local与要检查的文件位于同一目录中的文件,其中包含

VerbEnvir
{
    verbatim comment listing verbatimtab rawhtml errexam picture texdraw
    filecontents pgfpicture tikzpicture minted
}

称呼

chktex -l chktexrc.local filename.tex

filename当然,代表文件的名称)。

我用文件测试了它gregoire.tex

\documentclass{article}
\usepackage{minted}
\begin{document}

\begin{minted}
a{zxx
\end{minted}

\end{document}

并且正常chktex gregoire.tex调用

ChkTeX v1.7.4 - Copyright 1995-96 Jens T. Berger Thielemann.
Compiled with POSIX extended regex support.
Warning 15 in  line 6: No match found for `{'.

 ^
Warning 17 in gregoire.tex line 9: Number of `{' doesn't match the number of `}'!

而调用chktex -l chktexrc.local gregoire.tex产生

ChkTeX v1.7.4 - Copyright 1995-96 Jens T. Berger Thielemann.
Compiled with POSIX extended regex support.
No errors printed; No warnings printed; No user suppressed warnings; No line suppressed warnings.

注意:VerbEnvir默认chktexrc文件中的列表未涵盖其他几个“逐字类”环境;它已针对pgfpicture和进行了更新tikzpicture,但缺少其他几个常见环境,例如listings和提供的环境fancyvrb。但是,列表不可能完整,因为这些包允许定义新环境;可能添加

Verbatim BVerbatim lstlistings

无论如何都会有用。

答案2

您可以使用找到的默认 chktexrc这里(存储在您的目录中.chktexrc或使用全局目录)。我在此文件中更改了以下内容以适应 minted 包:

VerbEnvir
{
    verbatim comment listing lstlisting verbatimtab rawhtml errexam picture texdraw minted
}

WipeArg
{
    \label:{} \ref:{} \vref:{} \pageref:{} \index:{} \cite:[]{}
    \input:{} \verbatiminput:[]{} \listinginput:[]{}{}
    \verbatimtabinput:[]{} \include:{} \includeonly:{} 
    \bibitem:[]{} \mintinline:[]{}{}
}

相关内容