![更新 Texlive 2012 后,Texmaker pdflatex 编译时出现 libertine 字体错误](https://linux22.com/image/260496/%E6%9B%B4%E6%96%B0%20Texlive%202012%20%E5%90%8E%EF%BC%8CTexmaker%20pdflatex%20%E7%BC%96%E8%AF%91%E6%97%B6%E5%87%BA%E7%8E%B0%20libertine%20%E5%AD%97%E4%BD%93%E9%94%99%E8%AF%AF.png)
在 Ubuntu 12.04 中更新 texlive 2012 后
# tlmgr update --all
我发现pdflatex
(在 Texmaker 中)无法编译带有 Libertine 字体的 TeX 文件
\usepackage{libertine} % libertine
\usepackage[T1]{fontenc}
\usepackage[libertine]{newtxmath}
但是,在终端中,可以使用以下命令编译 tex 文件
$ pdflatex thesis.tex
我甚至卸载并重新安装了 Texmaker,问题仍然存在。
答案1
这其实是路径的问题。
如果您已经安装了“vanilla” TeXLive,那么在您的文件中添加新的 PATH .profile
(或您的 shell 使用的任何配置填充,如cshrc
或.zshrc
...)是不够的,因为您的图形环境(gnome、kde、xfce...)不使用此配置文件。
对于图形环境,每个用户都没有这样的文件(freedesktop中遗漏了?)!
在 Debian/Ubuntu 发行版中,您可以在文件中添加新的 PATH /etc/environment
(通过sudo
)。替换:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
经过:
PATH="/usr/local/texlive/2012/bin/x86_64-linux:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
(/usr/local/texlive/2012/bin/x86_64-linux
x86_64 架构上 TeXLive 路径在哪里。在 i386 架构上,选择/usr/local/texlive/2012/bin/i386-linux
。)
答案2
Libertine 的文件名称随最新更新而改变。但您安装的 TeX 发行版始终在 Ubuntu 配置中搜索,而不是在 TUG-TeXLive 配置中搜索。您应该删除 Ubuntu TeXLive,然后安装虚拟包
http://archiv.dante.de/~herbert/Ubuntu/texlive-dummy_1.0_all.deb
然后设置路径如下http://archiv.dante.de/~herbert/Ubuntu/zzz-texlive.sh
答案3
我在 TexMaker 中使用 TexLive 2012 中的 xelatex 时也遇到了类似的问题。我认为这是一个 $PATH 问题,因为 TexMaker 不知道在哪里找到正确的命令,即使使用显式路径也是如此。我从未解决过这个问题,但我完全删除了 TexLive 2012 并通过 apt 安装了 Ubuntu 版本。之后 xelatex 文档可以正常编译。
附录:刚刚查看了我的电子邮件,TexMaker 支持确认这是一个路径问题。他没有说如何修复它,只是说这是一个路径问题。
肯特
答案4
我找到了解决这个问题的通用方法:
只是delete all of the texlive 2012 related files/folders in your Home folder
,彻底删除Texmaker
。
然后重新安装 texmaker,安装程序将自动搜索字体和执行文件的正确路径。