运行时将宏写入文件并输入内容

运行时将宏写入文件并输入内容

举个例子:

我想将一些命令写入文件

\newwrite\tempfile
\immediate\openout\tempfile=mycommands
\immediate\write\tempfile{"\toprule"}%Yes it don't work like this!
\immediate\closeout\tempfile

然后在某处:

\begin{tabular}{r l l l l l l l}
\input{mycommands}%add toprule here

答案1

写入文件时必须防止扩展。如果文件以 \toprule: 开头,则您无法使用 \input 加载文件,因为该文件\input不可扩展,因此不允许在此处使用。原始输入命令将起作用。

\documentclass{article}
\usepackage{booktabs}
\begin{document}
\newwrite\tempfile
\immediate\openout\tempfile=mycommands.txt
\immediate\write\tempfile{\unexpanded{\toprule}}%
\immediate\closeout\tempfile

\begin{tabular}{r l l l l l l l}
\csname @@input\endcsname mycommands.txt
abc\\
\end{tabular}
\end{document}

相关内容