我最近将我的 tex 安装从 Windows 移到了 Linux Mint。虽然我在 Windows 上从未遇到过路径问题,但在 Linux 下却无法运行。
我有几个自己的包(BriefVorlageDeutsch 和 CVVorlageDeutsch),它们位于 /home/tikey/Dokumente/.../。我试图将这些包添加到我的 tex 安装中,但失败了,即当我运行 pdflatex 和 kpsewhich 时找不到这些文件,也找不到它们。我尝试了以下方法:
- 检查哪个是我的 TEXMFHOME
- 在 TEXMFHOME 中创建指向我的软件包的符号链接
- 在 TEXMFHOME 中运行 texhash
当我这样做时,我的软件包中的文件会列在我的 TEXMFHOME 的 ls-R 中,但 kpsewhich 仍然找不到它们。有人知道这里出了什么问题吗?
tikey@tikey ~ $ kpsewhich --var-value TEXMFHOME
/home/tikey/texmf
tikey@tikey ~ $ cd /home/tikey/texmf/
tikey@tikey ~/texmf $ ln -s /home/tikey/Dokumente/_business/mail/eclipse_workspace/CVVorlageDeutsch/ .
tikey@tikey ~/texmf $ ln -s /home/tikey/Dokumente/_business/mail/eclipse_workspace/BriefVorlageDeutsch/ .
tikey@tikey ~/texmf $ texhash .
texhash: Updating /home/tikey/texmf/./ls-R...
texhash: Done.
tikey@tikey ~/texmf $ ll
insgesamt 16
drwxr-xr-x 2 tikey tikey 4096 Jul 24 12:58 ./
drwxr-xr-x 64 tikey tikey 4096 Jul 24 12:55 ../
lrwxrwxrwx 1 tikey tikey 75 Jul 24 12:58 BriefVorlageDeutsch -> /home/tikey/Dokumente/_business/mail/eclipse_workspace/BriefVorlageDeutsch//
lrwxrwxrwx 1 tikey tikey 72 Jul 24 12:57 CVVorlageDeutsch -> /home/tikey/Dokumente/_business/mail/eclipse_workspace/CVVorlageDeutsch//
tikey@tikey ~/texmf $ cat ls-R
% ls-R -- filename database for kpathsea; do not change this line.
./:
.:
BriefVorlageDeutsch
CVVorlageDeutsch
ls-R
./BriefVorlageDeutsch:
doc
document.pdf
document.synctex.gz
ls-R
.project
tex
.texlipse
tmp
./BriefVorlageDeutsch/doc:
document.tex
./BriefVorlageDeutsch/tex:
address
briefkopf
MailTK.sty
settings
./CVVorlageDeutsch:
doc
ls-R
.project
tex
.texlipse
./CVVorlageDeutsch/doc:
document.tex
./CVVorlageDeutsch/tex:
CurriculumVitaeAnna.sty
CurriculumVitaeTKen.sty
CurriculumVitaeTK.sty
tikey@tikey ~/texmf $ kpsewhich CurriculumVitaeAnna.sty
tikey@tikey ~/texmf $ kpsewhich enumitem.sty
/usr/share/texlive/texmf-dist/tex/latex/enumitem/enumitem.sty
编辑:我也尝试将文件放入 texmf/tex/latex 但仍然不起作用。
tikey@tikey ~/texmf $ cat ls-R
% ls-R -- filename database for kpathsea; do not change this line.
./:
.:
ls-R
tex
./tex:
latex
./tex/latex:
CVVorlageDeutsch
./tex/latex/CVVorlageDeutsch:
CurriculumVitaeAnna.sty
tikey@tikey ~/texmf $ kpsewhich CurriculumVitaeAnna.sty
tikey@tikey ~/texmf $
如果在 texmf/tex/latex 中直接放置指向该文件的链接,kpsewhich 会找到 .sty 文件:
tikey@tikey ~/texmf $ cat ls-R
% ls-R -- filename database for kpathsea; do not change this line.
./:
.:
ls-R
tex
./tex:
latex
./tex/latex:
CurriculumVitaeAnna.sty
tikey@tikey ~/texmf $ kpsewhich CurriculumVitaeAnna.sty
/home/tikey/texmf/tex/latex/CurriculumVitaeAnna.sty
但是,这只能解决单个 sty 文件或文件很少的项目的问题。但是,如果我有一个模板,其中我在 sty 文件中包含了几个其他文件,我该把这些其他文件放在哪里?
第二次编辑:
我现在已经将项目文件夹的链接放在 /usr/local/share/texmf/tex 中,然后它就可以正常工作了。我只是不明白为什么。
tikey@tikey /usr/local/share/texmf/tex $ ll
insgesamt 16
drwxr-sr-x 2 root staff 4096 Jul 24 22:14 ./
drwxrwsr-x 3 root staff 4096 Mai 31 18:29 ../
lrwxrwxrwx 1 root staff 75 Mai 31 18:16 BriefVorlageDeutsch -> /home/tikey/Dokumente/_business/mail/eclipse_workspace/BriefVorlageDeutsch//
lrwxrwxrwx 1 root staff 72 Jul 24 22:14 CVVorlageDeutsch -> /home/tikey/Dokumente/_business/mail/eclipse_workspace/CVVorlageDeutsch//
tikey@tikey /usr/local/share/texmf/tex $ mktexlsr /home/tikey/Dokumente/_business/mail/eclipse_workspace/CVVorlageDeutsch/
mktexlsr: Updating /home/tikey/Dokumente/_business/mail/eclipse_workspace/CVVorlageDeutsch//ls-R...
mktexlsr: Done.
tikey@tikey /usr/local/share/texmf/tex $ sudo mktexlsr
mktexlsr: Updating /usr/local/share/texmf/ls-R...
mktexlsr: Updating /var/lib/texmf/ls-R-TEXLIVEDIST...
mktexlsr: Updating /var/lib/texmf/ls-R-TEXMFMAIN...
mktexlsr: Updating /var/lib/texmf/ls-R...
mktexlsr: Done.
tikey@tikey /usr/local/share/texmf/tex $ kpsewhich CurriculumVitaeAnna.sty
/usr/local/share/texmf/tex/CVVorlageDeutsch/tex/CurriculumVitaeAnna.sty