问题就在标题里。
例如以下文件a.tex
\ExplSyntaxOn
\ior_str_get_term:nN {} \l_tmpa_tl
\stop
当使用 进行编译时pdflatex a.tex
,并在终端上输入一些内容,请注意日志文件上写入相同的内容。
答案1
如果 TeX 知道它是终端,它就会将其回显到日志中。
但是在支持命名管道的系统上,您可以做一些事情。(Linux,或者我在这里在 Windows 上使用 cygwin)
设置管道
mkfifo my_pipe
确认它存在
file my_pipe
my_pipe: fifo (named pipe)
现在让 tex 读取该内容:
\openin2 my_pipe
\read2 to \xxx
\xxx
\bye
在上面运行 pdftex 它会挂起等待输入,就像您曾经\read-1
从 stdin 读取一样。
现在你可以在第二个终端中使用
echo abc > my_pipe
此时pdftex就会完成abc
对pdf的运行排版,而不会写入日志。