编写宏以在当前和未来版本的 MikTeX 中以纯 TeX 显示 pdf

编写宏以在当前和未来版本的 MikTeX 中以纯 TeX 显示 pdf

笔记: 正如问题和答案中所述这里,我暂时用一种非常临时的方法解决了这个问题。但每次我买新电脑时,这个问题都会再次出现,所以我想知道正确的解决这个问题的方法——一种不需要太多即兴发挥的方法。

我有数百个旧的 Plain TeX 文件(重写这些文件不是一个实用的选择)。我希望能够将 pdftex 应用于这些文件并获得显示图像的输出。我使用名为“\graph”的宏来实现这一点,其中命令

\graph{picname}{width}{height}

这将显示 picname.pdf 的内容,并按比例缩放到高度“height”。(参数“width”是历史遗留问题,将被忽略。)

实现这个宏的代码是

\def\graph#1#2#3{
     \includegraphics[height=#3]{#1.pdf}}

\newcount\pdfoutput\pdfoutput=1


\input c:/dos/belfry/graphixx
\input c:/dos/belfry/eplain

文件 c:/dos/belfry/graphixx.tex 以以下内容开头:

\input c:/dos/belfry/miniltx

我有一个 Windows .bat 文件,每当调用 pdftex 时,它都会自动将上述行添加到我的 .tex 文件中。 (我有一个不同的 .bat 文件,每当调用 tex (而不是 pdftex) 时,它都会自动附加一组不同的行,但这不是这里关心的问题。)

我不记得为什么 \pdfoutput 行在那里。我也记不清 graphixx、eplain 和 miniltx 的本地版本与标准版本有何不同,只是我知道我的宏在调用本地版本时有效,而在调用标准版本时无效。我不确定您是否需要此信息,因为我怀疑这个问题的答案会告诉我从放弃那些非标准版本开始,但为了记录起见,我已发布了所有三个文件这里

(我首先为自己造成的混乱感到抱歉。我得为自己辩解一下,每次我买了一台新电脑并下载了最新版本的 MikTeX 后,我都发现它不再运行过去一直运行的文件,而我总是急着重新启动它,而现在的情况是我拼命想尽一切办法让事情正常运转的结果。当然,我应该保留更好的文档。)

根据要求,我还可以分享我过去收到的完整错误日志,但我再次怀疑这些日志无关紧要,因为我认为解决方案是放弃一切并从头开始编写一个可以工作并且在 MikTeX 将来可能进行的任何更改下都具有稳健性的宏。

我的问题: 下次我买一台新电脑并下载另一个修订版本的 MikTeX 时,我该怎么做才能让我的 \graph 宏按预期工作?

答案1

在当前的 miktex 中使用 eplain 和 graphicx 我没有任何问题:

\input eplain
\input miniltx
\input graphicx.sty

\def\graph#1#2#3{
     \includegraphics[height=#3]{#1.pdf}}
     
\graph{example-image-duck}{}{4cm}     

\bye

相关内容