环境中的文件内容

环境中的文件内容

我正在尝试使用 LaTeX 环境写入一些外部文件filecontents。为此,我创建了一个环境,用于写入内容并使用计数器对文件进行编号。

但是代码无法编译。我收到错误File ended while scanning use of ^^M

平均能量损失

\documentclass[11pt]{book}

\usepackage{currfile}

\newcounter{Qcours}
\setcounter{Qcours}{0}
\newenvironment{qcours}{%
    \refstepcounter{Qcours}
    \begin{filecontents}{\theQcours.tex}}{\end{filecontents}}

%
\begin{document}

It's working fine.
\begin{filecontents}{\theQcours.tex}
ABCDE   
\end{filecontents}

But the following don't.

\begin{qcours}
    FGHI
\end{qcours}

\end{document}

答案1

使用fancyvrb

\documentclass[11pt]{book}
\usepackage{fancyvrb}

\newcounter{Qcours}
%\setcounter{Qcours}{0}

\newenvironment{qcours}{%
  \VerbatimEnvironment\stepcounter{Qcours}%
  \begin{VerbatimOut}{\theQcours.tex}%
}{\end{VerbatimOut}}


\begin{document}

\begin{qcours}
    FGHI
\end{qcours}

\end{document}

答案2

尝试输入以下(未经测试的)代码qcours.sty并执行\usepackage{qcours}

\RequirePackage{verbatim}
\newcounter{Qcours}
\def\Qcours{%
  \@bsphack
  \refstepcounter{Qcours}
  \immediate\openout\qcours@out=\theQcours.tex
  \catcode`\^^M\active
  \def\verbatim@processline{%
    \immediate\write\qcours@out
       {\the\verbatim@line}}%
  \verbatim@start}
\def\endQcours{%
  \immediate\qcours@out
  \@esphack
}

相关内容