我已经在我的 Windows 7 PC 上安装了 MikTeX 和 TeXWorks。
当我在 TexWorks 中编辑 .tex 文件,然后将文件保存为 pdf 时,创建的 pdf 无法通过 Adobe Reader 打开;Reader 抱怨文件已损坏。
尽管如此,pdflatex myFile.tex
在 Windows 命令行上执行会创建一个 Adobe Reader 可以可靠打开的 pdf。
为什么我不能通过 TexWorks IDE 创建这样的 pdf?
答案1
TeX 文件的输出.pdf
是使用多种编译方法之一(例如 PDFTeX、PDFLatex、XeTeX 等)编译后获得的。这与任何其他编程语言类似,源代码不能保存为文件.exe
以使其成为可执行文件。
在 TeXworks 中,可以使用播放按钮.tex
通过旁边设置的编译器来编译文档。
然而,正如 Peter Grill 所提到的,在源代码编译过程中,尤其是在 Windows 环境中,输出和辅助文件存在一些特殊情况。最常见的情况是使用 Adobe Acrobat 查看器时遇到的情况。如果文档的输出已在其中打开,它们不会让您编译相同的文档,因为它们会锁定文件以进行进一步修改,而 TeX 编译器会发出抱怨并停止编译。如果这是一个需要解决的问题,您可以安全地切换到另一个.pdf
查看器,例如 SumatraPDF。
另一个例子是删除.aux
文件,因为在某些系统中,它们也被锁定并且无法删除,即使它们不是必需的并且可以复制。
当您对机械设备有了更多的经验时,这些奇怪的行为就会越来越少地引起烦恼。
祝您 TeX 愉快。
答案2
这对我有用(参考我上面对已接受的答案的评论):
首先,问题是 pdf 格式的字典部分已损坏或不存在,这是我使用 PDFBox(开源 Java 项目)中出色的 PDFDebugger 工具发现的。
尽管最好在 TeXWorks 中正确完成此操作,但我发现我可以采取的解决方法是使用 Brave 浏览器,打开它(有效),然后使用 Brave 中提供的微软 PrintToPDF 工具(大概也可以在 Windows 上运行的其他浏览器中使用,因为它是微软的工具)。
此后,PDF 便可正确保存。
我注意到,在我的案例中,可能有一种情况会导致这种情况发生,那就是我的 Windows 用户名中有非拉丁字符。损坏的字典条目似乎试图错误地引用包含这些字符的路径,这可能是导致它失败的原因。无论如何,我认为这是 TeXWorks 中的一个错误...