我想要一个 *.tex 文档,该文档创建包含以下行的 *.tex:
\newread\NoFile
\newcounter{AME}
\openin\NoFile=V/AME.txt
\read\NoFile to \AME
\closein\NoFile
所以我在网上查了一下并得出了这个结论:
\newwrite\file
\immediate\openout\file=myfilename.tex
\immediate\write\file{\newread\NoFile}
\immediate\write\file{\newcounter{AME}}
\immediate\write\file{\openin\NoFile=V/AME.txt}
\immediate\write\file{\read\NoFile to \AME}
\immediate\write\file{\closein\NoFile}
\closeout\file
但问题是它没有以应有的方式提供信息。我不知道如何解决
答案1
文件
\newwrite\file
\immediate\openout\file=myfilename.tex
\immediate\write\file{\newread\NoFile}
\immediate\write\file{\newcounter{AME}}
\immediate\write\file{\openin\NoFile=V/AME.txt}
\immediate\write\file{\read\NoFile to \AME}
\immediate\write\file{\closein\NoFile}
\closeout\file
\stop
产生错误
! Undefined control sequence.
<argument> \NoFile
l.4 \immediate\write\file{\newread\NoFile}
因为\Nofile
此时尚未定义,因此您可以使用以下方法抑制其尝试扩展,\string
这样就可以运行而不会出现错误
\newwrite\file
\immediate\openout\file=myfilename.tex
\immediate\write\file{\string\newread\string\NoFile}
\immediate\write\file{\string\newcounter{AME}}
\immediate\write\file{\openin\string\NoFile=V/AME.txt}
\immediate\write\file{\read\noexpand\NoFile to \string\AME}
\immediate\write\file{\closein\string\NoFile}
\closeout\file
\stop
留下myfilename.tex
包含
\newread\NoFile
\newcounter{AME}
\openin \NoFile=V/AME.txt
\read \NoFile to \AME
\closein \NoFile