mtxrun 多次打开 PDF 阅读器(以某种无效的方式)

mtxrun 多次打开 PDF 阅读器(以某种无效的方式)

这似乎是一个众所周知且易于修复的问题,但我找不到有关它的任何信息。我​​决定研究一下 ConTeXt,遇到了几个障碍(但其中一个比另一个更烦人,所以我将在这里重点讨论它)。

我按照以下说明在两台计算机上安装了 ConTeXt 和 SciTE:http://wiki.contextgarden.net/Windows_Installation:_ConTeXt_Suite_with_SciTe。一台机器运行 Windows 7 x64,另一台运行 x86。一台安装了 Evince,另一台没有安装(目前安装了 Adob​​e Reader)。

在装有 Evince 的 64 位机器上,当我使用 mtxrun 构建文件时,它会启动 evince 三次(evince 不会打开文件),产生输出,就像它实际上正在执行构建过程一样,然后再打开 Evince 三次。因此,构建的结果始终是 6 个 Evince 实例,所有实例均未加载任何文件。

在装有 Adob​​e Reader 的 32 位机器上,当我尝试使用 mtxrun 时,它会停留很长时间(可能是在 Adob​​e Reader 加载时),并且我会从 Adob​​e Reader 收到三次“发生内部错误”。然后它会构建,然后停留一段时间,然后我会从 Adob​​e Reader 收到另外三次“发生内部错误”。

因此,出于某种原因,它似乎在开始时启动了 3 次默认 PDF 阅读器,在结束时又启动了 3 次,我怀疑是以某种无效的方式调用它们的(使用坏文件?),导致 Evince 无法打开任何内容,Adobe Reader 崩溃。如果我手动打开它生成的 PDF,它看起来不错。

我正在从 SciTE 构建,并且 mtxrun 应该设置为使用 MKIV/LuaTeX。我认为这是 LuaTeX 的配置问题,但我自己了解的不够多,无法调查这个问题,而且似乎没有其他人遇到同样的问题(尽管它在我的两台电脑上都发生同样的情况)。

我的另一个问题是,尽管按照我链接的说明操作,但我无法让 SciTE 语法高亮。我提到这一点只是为了防止有人知道这些说明存在问题,否则这对我来说不是什么大问题,因为我可能最终还是会使用不同的文本编辑器。

答案1

经过一番思考后,我终于回答了我自己的问题。

此行为是由于--autopdf传递给 mtxrun 的选项造成的,理论上,该选项将强制关闭带有输出文件的 PDF 阅读器,然后重新打开它,以便显示最新版本。但它似乎有问题,或者至少它既不能与 Acrobat 也不能​​与 Evince 配合使用。我通过打开site-context.propertiesSciTE 的文件夹并$(name.flag.pdfopen)从行尾删除,从构建中删除了该选项name.context.run=

这样它就不会烦人地多次启动我们的 PDF 阅读器,但我们也失去了在构建后自动启动 PDF 的便利。我认为从设计的角度来看,让构建系统启动 PDF 比 mtxrun 命令更好,所以让我们这样做吧。

ConTeXt 附带的 SciTE 配置已设置为在 GhostScript 的查看器中打开生成的 PDF(例如,当您在打开 TeX 文件的情况下按 ctrl-2 时)。这对我来说有点奇怪,因为 GhostScript 的查看器坦率地说很丑陋,标准 Windows GhostScript 包的最新版本甚至不包含它(当您告诉 SciTE 向您显示文件时会出现错误消息)。我正在研究如何让它现在使用不同的查看器。

相关内容