有没有办法让 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:[]{}{}
}