![在命令行上将源传递给 latex](https://linux22.com/image/466562/%E5%9C%A8%E5%91%BD%E4%BB%A4%E8%A1%8C%E4%B8%8A%E5%B0%86%E6%BA%90%E4%BC%A0%E9%80%92%E7%BB%99%20latex.png)
在 shell 脚本中,我做了类似的事情
pdflatex <<- EOT
\def\something{a}
\documentclass{article}
\begin{document}
\something
\end{document}
EOT
其工作方式与预期一致。但是,当指定 时-interaction=nonstopmode
,latex 会退出并显示
This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023) (preloaded format=latex)
**entering extended mode
LaTeX2e <2023-06-01> patch level 1
L3 programming layer <2023-06-16>
! Emergency stop.
<*> \def\something{a}
No pages of output.
Transcript written on texput.log.
日志文件也没有太多的启发:
This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023) (preloaded format=latex 2023.6.21) 4 JUL 2023 10:59
entering extended mode
%&-line parsing enabled.
**\def\something{a}
! Emergency stop.
<*> \def\something{a}
*** (job aborted, no legal \end found)
我究竟做错了什么?
答案1
nonstopmode
表示不接受来自 stdin 的用户输入,并且<<- EOT
是 stdin 上的用户输入,因此它会按照指定的错误停止。
scrollmode
或许就是您正在寻找的。