如何手动更新 TeX Live 发行版(不使用冻结的 TeX Live 管理器)?

如何手动更新 TeX Live 发行版(不使用冻结的 TeX Live 管理器)?

举例来说,假设我想将已安装的tcolorbox包从 CTAN 更新为新的包。

  1. tcolorbox.zip我从下载了最新的软件包ctan.org/pkg/tcolorbox。我将其解压,其内容如下所示。

    在此处输入图片描述

  2. 我注意到有两个与安装(旧)相关的文件夹,tcolorbox如下图所示。

    在此处输入图片描述

问题:

  1. 我如何知道应该将解压文件夹中的哪些文件复制...\doc\latex...\tex\latex

  2. 有没有更方便的方法来做到这一点?

  3. 我需要texhash在最后调用吗?

  4. 软件包作者是否应该将主文件与文档文件分开,并在压缩包中使用两个子文件夹来方便手动更新?

答案1

在分发中,文档与运行时文件是分开的,但您不必这样做,因此如果有疑问(或着急),只需将所有文件放在输入路径中的目录中。

之后是否需要运行 texhash 取决于文件存放的位置。有些目录被标记为已散列,因此如果新文件未散列,则无法找到它们;其他目录被标记为未散列,kpse 会搜索文件系统,因此只需将文件放在那里就足够了。(例如,当前目录永远不需要 texhash)

kpsepath tex

会告诉你你的输入路径

我的是

$ kpsepath tex
.:/home/davidc/.texlive2012/texmf-config/tex/kpsewhich//:
/home/davidc/.texlive2012/texmf-var/tex/kpsewhich//:
/home/davidc/texmf/tex/kpsewhich//:
!!/usr/local/texlive/2012/texmf-config/tex/kpsewhich//:
!!/usr/local/texlive/2012/texmf-var/tex/kpsewhich//:
!/usr/local/texlive/2012/texmf/tex/kpsewhich//:
!!/usr/local/texlive/2012/../texmf-local/tex/kpsewhich//:
!!/usr/local/texlive/2012/texmf-dist/tex/kpsewhich//:
/home/davidc/.texlive2012/texmf-config/tex/generic//:
/home/davidc/.texlive2012/texmf-var/tex/generic//:
/home/davidc/texmf/tex/generic//:
!!/usr/local/texlive/2012/texmf-config/tex/generic//:
!!/usr/local/texlive/2012/texmf-var/tex/generic//:
!!/usr/local/texlive/2012/texmf/tex/generic//:
!!/usr/local/texlive/2012/../texmf-local/tex/generic//:
!!/usr/local/texlive/2012/texmf-dist/tex/generic//:
/home/davidc/.texlive2012/texmf-config/tex///:
/home/davidc/.texlive2012/texmf-var/tex///:
/home/davidc/texmf/tex///:
!!/usr/local/texlive/2012/texmf-config/tex///:
!!/usr/local/texlive/2012/texmf-var/tex///:
!!/usr/local/texlive/2012/texmf/tex///:
!!/usr/local/texlive/2012/../texmf-local/tex///:
!!/usr/local/texlive/2012/texmf-dist/tex///

这是一个未经修改的 texlive 2012 设置。

!!以需要的路径段为前缀的texhash路径段以//包含所有子目录结尾直至任意深度。

相关内容