![TeXlive2020 TEXMFHOME 不存在](https://linux22.com/image/424705/TeXlive2020%20TEXMFHOME%20%E4%B8%8D%E5%AD%98%E5%9C%A8.png)
我正在尝试安装 CTAN 中的“dropping”包,以在 TeXstudio 中编译模板,使用 Windows 10 上的 TeXlive2020。dropping.sty
无法找到该文件,正如我在尝试编译时 TeXStudio 中的错误日志告诉我的那样(以及事实上kpsewhich dropping.sty
没有任何结果,尽管它适用于其他 .sty 文件)。我将从 CTAN 下载中提取的文件复制到,C:\texlive\texmf-local
并且已经在 latex 中运行了 .ins 文件。当我使用该命令时,kpsewhich -var-value TEXMFHOME
我得到了预期的结果C:/Users/<me>/texmf
,但文件夹没有显示在资源管理器中。我知道你必须自己创建目录,并遵守 tds 结构,所以我尝试使用资源管理器中的“新文件夹”图标,并使用mkdir tex
里面latex
的文件夹来放置 .sty 文件。我也尝试过使用texhash ~/texmf
,但我收到消息“无法打开 ~/texmf/ls-R 进行写入”。尽管如此,.sty 文件仍然无法找到,我不确定我是否正确地创建了我的 TEXMFHOME 目录。我不太明白如何让 TEXMFHOME 目录符合 tds 结构;我必须手动添加所有这些随机文件扩展名吗?(我指的是https://tug.org/tds)。我对与编程相关的所有东西都不太熟悉,尤其是 TeX,所以如果我用词不当,我深表歉意。我有什么选择?非常感谢大家的帮助。
PS:TexLive 文档建议创建一个环境变量,例如TEXINPUTS=.:/my/macro/dir:
将个人目录添加到搜索路径。这是我应该做的吗?我是否只需将其逐字粘贴到文件中../2020/texmf.cnf
?
答案1
默认情况下,TeX Live 维护三个分布子树,在其中搜索用于运行 LaTeX 文档的文件:
- 主分布树,对应变量
TEXMFDIST
; - 局部树,对应于
TEXMFLOCAL
; - 个人树,对应于
TEXMFHOME
。
第二个的标准值是.../texlive/texmf-local
,这是您放置样式文件的地方。您应该创建整个结构,即
.../texlive/texmf-local/tex/latex/dropping
并在此目录中放置dropping.sty
。
在您的情况下...
似乎代表C:/texlive
,在我的系统上它是/usr/local/texlive/2020
。
在基于 Unix 的系统上,我会这样做
mkdir -p $(kpsewhich -var-value TEXMFLOCAL)/tex/latex/dropping
(具有适当的权限)。在 Windows 上可能有类似的方法,但您始终可以查看输出kpsewhich -var-value TEXMFLOCAL
并在需要时复制粘贴。
接下来的任务是运行mktexlsr
(或texhash
,但该名称已弃用)而不使用任何选项。这是因为TEXMFLOCAL
通过查看文件来搜索ls-R
。
绝不执行mktexlsr ~/texmf
:如果找到名为的文件ls-R
,程序仅“查看”那里列出的文件,而不会进行递归查找。