使用 \write 写入命令后删除空格

使用 \write 写入命令后删除空格

我正在编写一个宏来将命令写入文件。这些命令应该在构建文档时被读取。

我用来写入文件的行是:

\newwrite\outtest
\immediate\openout\outtest=\jobname.ong
\immediate\write\outtest{\unexpanded{\ShowF{#1}{#2}{#3}{#4}{#5}{#6}}\wbgroup\getpagerefnumber{\the\value{line}}\wegroup \writepercent}%

它在文件中写入如下内容jobname.ong

\ShowF {1}{A}{AB}{ABI}{0}{\Trad {}{}{}{}}{5}%
\ShowF {1}{A}{AB}{ABO}{0}{\Trad {}{}{}{}}{5}%
\ShowF {1}{A}{AB}{ABR}{0}{\Trad {}{}{}{}}{5}%

我还需要\obeyspaces与单色字体结合使用。

由于未知原因,我的文档无法使用 \obeyspaces 构建,但不使用 \obeyspaces 则可正常工作。我注意到,当我删除 中的空白行时jobname.ong,我的文档可以编译:

\ShowF{1}{A}{AB}{ABI}{0}{\Trad{}{}{}{}}{5}%
\ShowF{1}{A}{AB}{ABO}{0}{\Trad{}{}{}{}}{5}%
\ShowF{1}{A}{AB}{ABR}{0}{\Trad{}{}{}{}}{5}%

您知道如何删除输出文件中命令后的空行吗?

你知道为什么\obeyspaces要抱怨这些空间吗?

答案1

我没有看到任何空行,你的意思是避免写空格吗?也许吧。

\immediate\write\outtest{\string\ShowF\unexpanded{{#1}{#2}{#3}{#4}{#5}{#6}}\wbgroup\getpagerefnumber{\the\value{line}}\wegroup \writepercent}% 

相关内容