我已经使用 lyx 很多年了,主要在 Linux 上使用,在 MacOS 上使用也有几年了。
在将 macOS Big Sur 升级到 macOS Monterey 12.0.1 时,打印突然停止工作。
设置
我正在使用最新的 Lyx 2.3.6、MacTex 2021、Xerox 6510DN 打印机的最新固件和驱动程序。我提到这款打印机的原因是,它是一台真正的 PostScript 打印机,在 Linux、Windows、Mac、BSD 上都能顺利运行,因为它实际上不需要驱动程序。
错误
后记错误通常为“错误:未定义,错误命令:”。请参阅所附的 3 次尝试打印的图像。实际的错误命令各不相同。
尝试诊断/修复
我尝试使用 MacOS Preview 来“打印到 postscript”。我推断这是将文档发送到打印机时发生的情况。
事实证明,MacOS Preview 本身无法加载这些它自己生成的 postscript 文件。
我尝试使用 TexShop(不是 Preview)打开 PostScript 文件,它会生成一个新的 PDF。第一页可以正常工作,但文档的其余部分无法生成,第二页出现 PostScript 错误,例如“错误:ioerror,违规命令:eexec”
然后我尝试升级 MacTEX 软件包,我通常不这么做,因为我喜欢坚持使用“冻结和测试过的” MacTEX 发行版。但这没有帮助。
然后我手动安装了 Ghostscript 9.55 包,因为之前安装的版本比较旧。但这也没用。
最后,我使用 Lyx 生成的 PDF,并从命令提示符中使用 pdf2ps 和 ps2pdf,它们生成的 PDF 要小得多(pdf1.4 为 2.1MB,而 pdf1.5 为 3.9MB)。我还没有用它们测试过实体打印,但预览打印后记到文件似乎没问题。PDF 的超链接不再起作用,但我可以忍受。
最后一个数据点——在 MacOS 升级到 Monterey 之前,我回到我的备份以获取 Lyx 生成的 PDF,而在 Monterey 下,它们也指向失败。
更新:我可以确认 MacOS 上的 Adobe Reader 可以打印 PDF,正如其他地方的评论所建议的那样。这是我主要测试的 lyx 生成的 PDF (PDF)。
问题
有什么建议可以解决什么问题吗?如何修复?我怀疑原因是蒙特雷,因为其他方面都没有变化。
答案1
MacOS 打印时首先将打印作业转换为 pdf 文件。然后它查看打印机。如果用户有 PostScript 打印机,macOS 会将 pdf 文件转换为 PostScript 文件并将其发送到打印机。打印对话框还允许用户将此 PostScript 文件写入磁盘。Monterey 中的一个错误导致 macOS 在 pdf 包含某些 TeX 字体(包括 Computer Modern)时写入有缺陷的 PostScript 文件。这已报告给 Apple。打印到喷墨打印机是可行的,添加源行 \usepackage{lmodern} 以转换为 Latin Modern 字体通常可以为用户解决问题。