如何从辅助文件恢复.tex 文件的内容?

如何从辅助文件恢复.tex 文件的内容?

我正在用 LaTeX 写一份文档。我保存了它并从中生成了一个 .pdf 文件。但突然我的电脑崩溃了。当我再次打开 .tex 文件时,它一片空白。

有没有办法从 .aux、.log、.synctex.gz 文件重新生成 .tex 文件的内容?

答案1

有没有办法从 .aux、.log、.synctex.gz 文件重新生成 .tex 文件的内容?

不。

.aux文件仅包含文档内部交叉引用的信息。.log包含编译日志。.synctex.gz文件允许您从文档查看器中定位文档位置。

您必须从备份中恢复您的文档,或者从生成的 PDF 中“反向移植”它。

答案2

这可能对你有帮助。我也遇到过这个问题。我通过在文本编辑器 (winedt) 中打开 null tex 文件并右键单击顶部栏上的文件来解决这个问题。然后选择“打开备份”。

最好的祝愿

答案3

深表同情。我遇到了类似的问题。我使用了以下工作流程,这可能会对处于类似情况的其他人有所帮助。

在我编辑书籍时,TexStudio 冻结并崩溃。尽管我在任何阶段都没有故意点击“保存”,但不幸的是,崩溃导致 TexStudio 在未要求确认的情况下将空白 .tex 文件保存在原始源 .tex 文件上。我的 .tex 文件会自动与 Dropbox 同步,因此我的云备份也被毁了,连同我数月的工作成果一起被毁了……

然而,我在几分钟前的会议期间已经编译了一个 .pdf,因此有我最近的工作记录,但它不再是可以在 TexStudio 或任何其他 tex 编辑器中进一步编辑的格式。

与 MS Word 不同,TeXstudio 不会将当前 .tex 文件的版本保存为隐藏/系统位置的临时文件或备份文件,因此无法从这些文件恢复。

幸运的是,几天前我使用 DejaDup 将我的硬盘完整备份到外部硬盘上,因此能够使用它来检索包含我大部分工作的源 .tex 文件的旧版本以及相应的 .pdf 输出。DejaDup 可以从备份中恢复所有文件,但也可以恢复可以通过打开 Nautilus 浏览器(如果 Nautilus 不是您的发行版的默认浏览器,请在命令行中输入“nautilus”来运行它)来选择的单个文件,右键单击文件名并从下拉菜单中选择“恢复到以前的版本”。

然后,我需要找到自外部硬盘备份以来所做的更改,并使用这些更改更新恢复的 .tex 文件。为此,我使用实用程序 pdftotext(已包含在我的 Ubuntu 安装中)将两个 .pdf 文件转换为原始文本文件,使用命令行:pdftotext input.pdf output.txt

然后,我使用视觉差异工具 (Meld) 并排打开两个转换后的文本文件,以查看我之前的外部硬盘备份和崩溃之间发生了哪些更改;并将更改的文本部分剪切并粘贴到我恢复的 .tex 文件中。整个过程花了几个小时,但我恢复了所有的工作。

TeXstudio 有一个自动保存命令,默认情况下在以下位置禁用:选项>配置 TeXstudio>高级选项>特殊选项>自动保存所有文件。自动保存可以设置为每隔 5 到 60 分钟定期进行一次。然而,这并非没有风险,而且我认为这对我的情况没有帮助,因为我的源 .tex 文件被自动覆盖,而 TeXstudio 似乎不允许使用不同名称或不同位置自动保存当前 .tex 文件的备份版本。

故事的寓意是:在工作时经常将 .tex 文件编译为 .pdf,不要依赖同步到基于云的服务器作为唯一的备份:也要对外部硬盘进行完整且频繁的备份。

相关内容