如果文件在 documentclass 之前定义,则抑制 filecontents 警告

如果文件在 documentclass 之前定义,则抑制 filecontents 警告

我想在 LaTeX 文档中filecontents预先定义块。有什么方法可以抑制警告吗?documentclassWriting or overwriting file ./filename

我的MWE如下:

\begin{filecontents}[overwrite]{test.txt}
test
\end{filecontents}

\documentclass{article}

\usepackage{silence}
\WarningFilter{latex}{Writing file}

\begin{document}
\input{test.txt}
\end{document}

答案1

您可以silence在 之前加载\documentclass

\RequirePackage{silence}
\WarningFilter{latex}{Writing or overwriting file}

\begin{filecontents}[overwrite]{\jobname.txt}
test
\end{filecontents}

\documentclass{article}

\begin{document}

\input{\jobname.txt}

\end{document}

如果您正在运行旧版本的 LaTeX,并且overwrite没有该选项,请\RequirePackage{filecontents}在最开始处添加。使用涉及重新定义的技巧\ifeof

另一方面,我想了解此类写入操作。

(我更改了文件名,以避免破坏我的文件。)

相关内容