我遇到过这种情况好几次,我运行tlmgr update --all
,等待它完成,然后我的 tex 文件拒绝编译,同时给出一些奇怪的错误。据我所知,这通常是由于软件包发生重大变化或软件包被删除造成的。大多数时候,我不得不花费数小时在互联网上研究以解决问题。而且很多时候,我发出了不应该发出的更新命令(并将自己置于困境)(截止日期即将到来)。
我的问题:
我怎样才能防止类似问题的发生?
如果发生这种情况,我该如何尽快解决 tex 文件中导致问题的部分?
或者有没有什么可靠的方法可以将我的 TeXLive 发行版恢复到以前的状态?(因为运行时
tlmgr restore --all
经常会出现一些其他奇怪的错误,而不是摆脱它们)。
答案1
尽管问题很广泛并且已经有 3 个 15k+ 用户发表了评论,但我仍然想尝试一下 :)。
第一种方法
微特克斯
- 当你使用 MiKTeX 时你可以下载完整的 MiKTeX 安装(参见教程这里例如)。
- 安装完成后,您可以轻松存储/保存/归档下载的文件如果您在将来更新后遇到问题,请重新使用它们。
- 您无需更新,只需重复该过程即可获得 MiKTeX 快照集合。
- 完整的 MiKTeX 下载大约有 2 GB,这仅为一部优质高清电影的四分之一 :)。
- 我添加了文件外观的截图。
TeX 直播
- 我对 TeX Live 了解不多——我不确定是否有类似 MiKTeX 的选项来下载完整的安装。
- 但是这里有图像文件(ISO)也可以轻松存储并在更新导致问题的情况下使用。
- 以下是图像来源之一的链接。
- 再次,我添加了一个屏幕截图来说明我的意思。
第二种方法
- 用一个虚拟机喜欢VMware或者虚拟盒。
- 根据您使用的软件/版本,您可以创建所谓的快照,以便在错误更新后可以返回到该快照。
- 您还可以轻松创建虚拟硬盘驱动器的副本(通常虚拟机管理程序)。
- 根据我的经验,虚拟机的性能已经足够好了。
第三种方法
- 如果您可以访问多台计算机,那么您可以先在其中一台计算机上测试更新(在不太重要的计算机上)。
- 如果更新后出现问题,那么您可以在几天/几周后再试一次。
一般建议
我建议,如果截止日期临近(例如少于 4-8 周),除非您需要,否则不要更新您的 LaTeX 系统。
如果您需要更新某些内容,我宁愿更新单个包(我的意思是特定情况下所需的最少数量的包)。
这样的情况可能是您需要最近添加到包中的功能,或者您需要更新,因为有一个错误修复给您带来了(太多)麻烦。
如果可能的话,直接从 CTAN 下载包并将其放置在与您的 LaTeX 文档相关的位置,这样您无需实际安装它即可对其进行测试。
答案2
对于 TeXLive,无论是在 Windows 还是 Linux 上,都可以作为“便携”程序安装在用户的主文件夹中,而不是程序树中。
然后,可以使用偶尔的 zip 存档。为了便于管理,您可能希望在不包含文档和源代码的情况下进行安装(需要时从 Internet 获取单个文档,并将其存储在其他地方)。您可能还希望避免使用永远不会使用的字体。