我有一台新的 HP 笔记本电脑。它只供我使用;我不是多用户的系统管理员。我使用拇指驱动器中的 ISO 文件清除了 Windows 并将其替换为 Ubuntu 22.04.4 LTS。使用下载安装和命令 install-tl,我安装了完整的 TeXLive 2023 系统和文件组。使用 Karl Berry 的 TeX Live Guide 2023,我将 2023 TeX Live 路径添加到 /etc/environment,然后重新启动。我检查了系统,所有程序都按预期运行。然后,我将自己的 sty 和 cls 文件等添加到 /home/robert/texmflocal 中的相应文件夹中,并将该路径添加到 /etc/environment。然后我运行了 mktexlsr。一切似乎都很好。但是,我测试了一个包含我的 .cls 的简单文件,而 TeXLive 没有找到该文件。我在 /usr/local/texlive/texmf-local 中的相应子文件夹中添加了一些自己的 sty 和 cls 文件。我将其添加到路径中,重新运行 mktexlsr,然后重新启动。TeXLive 仍然没有找到“我的”文件。我主要使用 xelatex,因此我按照说明确保 xetex 可以看到系统字体,并且 TeX 的字体可以被系统使用。这一切似乎都有效,但是……在使用 tlmgr 时,我收到一条消息,似乎强烈建议不要在 Debian 中使用 tlmgr。我阅读了该消息指向的文件。如果我理解正确,那么我应该可以使用 tlmgr,因为我没有使用 apt 或 apt-get 来下载和安装 TeX Live。尽管如此,这还是令人担忧。同时,我不知道我做了什么,但我搞砸了 xetex。安装 TeX Live 后,xetex 在 opentype-info.tex 上运行良好。现在,无法找到 xetex.fmt。所以,我没有让事情变得更好,反而让事情变得更糟。所以,这里似乎有三个问题。1-让 TeX 找到我的文件,2-恢复 xetex.fmt,3-我可以在 Ubuntu 中使用 tlmgr 吗?
答案1
作为记录:
- TeX 找不到我的文件 (sty、cls),因为我已将它们放在 $HOME 中名为“texmflocal”的目录中。仅使用“texmf”。
- 我的另一个错误也导致 TeX 找不到 xetex.fmt。我在 /etc/environment 中的路径中间添加了 /usr/local/texlive/2023/bin/x86_64-linux;它需要放在前面,这就是“prepends”的意思,在 quickinstall 文档的开头写得很清楚。此外,与我不同,任何了解“export”命令如何工作的人都会知道该命令将语句添加到路径行的前面。
- 无法使用 tlmgr 的问题需要更多努力,但最终还是解决了。我首先卸载了 TeX Live 并重新安装,然后按照 wiki debian 页面 TeX Live 和 Debian/Ubuntu 中的说明进行操作,该页面展示了如何安装“原始”TeX,然后使用“equivs”命令来处理 Debian/Ubuntu。然而,经过所有这些,仍然没有运气。有人提到 sudo 使用的路径与环境路径不同。只有在进一步研究类似问题的答案后,我才得到答案。然而,首先,我尝试了符号链接,但当 tlmgr 符号链接到 usr/bin 时,它无法工作。然后,我在 /etc/sudoers 上使用 sudo visudo,在那里我找到了 Defaults secure_path 行,并在那里手动将 TeX 路径添加到其中。之后,sudo tlmgr 就可以工作了。谢谢大家的帮助。