我最近在Ubuntu 22.04下列的 ”TeX Live 指南—2023“在我的本地主目录中。虽然我可以在终端上使用 pdflatex 编译文档而不会出现任何问题,但 TeXstudio 在尝试执行相同任务时默认为发行版 TeX Live 安装(版本 2021)。我删除了 TeXstudio,重新安装了它,但问题仍然存在。
我修改了我的 .bashrc 路径以指向新的 TeX Live 安装目录。
$ whereis latex
latex: /usr/bin/latex /home/user/texlive/2023/bin/x86_64-linux/latex /usr/share/man/man1/latex.1.gz
PDFlatex:
$ pdflatex --version
pdfTeX 3.141592653-2.6-1.40.25 (TeX Live 2023)
kpathsea version 6.3.5
...
Compiled with libpng 1.6.39; using libpng 1.6.39
Compiled with zlib 1.2.13; using zlib 1.2.13
Compiled with xpdf version 4.04
TeXstudio:
$ texstudio --version
TeXstudio 4.6.3 (0.0.0++)
$ whereis texstudio
texstudio: /usr/bin/texstudio /usr/share/texstudio
更新:使用此选项运行 TeXstudio 可解决此问题:
texstudio --texpath /your_path/texlive/2023/bin/x86_64-linux/latex
但是在 Xfce 环境下使用相同的命令编辑启动器不起作用。
答案1
在 Ubuntu 中推荐的软件包texstudio
是(apt info texstudio
):
推荐:adwaita-qt、texlive-base、texlive-latex-base、texlive-latex-recommended、texstudio-doc、texstudio-l10n
texstudio
这意味着,如果通过 安装,它们也会默认安装apt
。如果texlive
手动安装,这些包texlive-base, texlive-latex-base, texlive-latex-recommended
不受欢迎,因为它们是多余的,而且很可能是过时的。
为了避免这种情况,需要安装一个“虚拟”包,告诉包管理器,推荐的依赖项已得到满足。(这必须在安装之前完成texstudio
。)这正是equivs
包的用途。equivs
获取包含依赖项信息的文本文件,并根据这些依赖项创建一个包。如果随后安装了此包,包管理器就会知道,文本文件中的所有依赖项都已通过刚刚安装的包得到满足。
值得庆幸的是,tex 用户组提供了构建满足 texlive 依赖项所需的包所需的文本文件。看一下 vanilla texlive 2023 的这个文本文件:debian-equivs-2023-ex.txt。如果仔细检查,这个文本文件的结构和目的是非常清晰的。
我将只介绍创建和安装虚拟包所需的步骤。如果你想了解更多,debian wiki 中有更深入的解释这里。本文作者指出,严格来说,这种方法要求texlive
以 root 身份在整个系统范围内安装 vanilla,因为(我猜)否则,系统的其他用户将无法再安装发行版的 texlive 软件包。但只要您是系统上的唯一用户TeX
,那就没有问题。
现在:要构建虚拟包,需要一些其他包:,,,,,,。equivs
它们可以通过tex-common
以下方式安装:texinfo
perl-tk
perl-doc
freeglut3
sudo apt install tex-common texinfo equivs perl-tk perl-doc freeglut3
如果这样做了,所需要的就是:
- 用于
equivs
创建虚拟包 - 安装虚拟包
- 清理临时文件
1. 使用equivs
创建包
创建临时目录:
sudo mkdir /tmp/tl-equivs
cd 进入目录:
cd /tmp/tl-equivs
下载 equivs 的文本文件(相应更改 texlive 版本):
sudo wget https://www.tug.org/texlive/files/debian-equivs-2023-ex.txt
使用 equivs 构建包(相应地更改 texlive 版本):
sudo equivs-build debian-equivs-2023-ex.txt
2. 安装包
仍在临时目录中:
sudo dpkg -i texlive-local_*_all.deb
3. 清理
当我们构建所有内容时,/tmp/
清理是没有必要的,因为系统会为我们处理。
我希望这有帮助!