我在家里使用 Linux Debian Sid、Emacs 和 TeXlive 2013。我使用 LuaLaTeX 编译所有文档,并将标头作为主文件,其中包含以下包文件:
\documentclass[12pt,a4paper]{article}
\usepackage{etex}
\usepackage[urw-garamond,uppercase=upright,greeklowercase=upright]{mathdesign}
\usepackage{garamondx}
\usepackage[no-math]{fontspec}
\usepackage[frenchb]{babel}
\begin{document}
$f(x)=x^2+2x+4$
\end{document}
%%% Local Variables:
%%% mode: LaTeX
%%% LaTeX-command: "lualatex -shell-escape"
%%% End
这些包之间有冲突吗?如果是,应该如何纠正?
该文件的编译工作完美。
最近我发现了 ConTeXt。我尝试了几次,发现 TeXlive 2013 发行版中的字体存在问题。有人建议我安装 Standalone ConTeXt 以避免这些问题。为了永久使用 ConTeXt Standalone,我更改了我的.profile
文件,如下所示:
source /home/fab/context/tex/setuptex
export LIBGS=/usr/lib/libgs.so.9
export PATH=$PATH:/texmf/tex/latex/tex4ebook-master/tex4ebook
export PATH=$PATH:/home/fab/texlive/2013/bin/x86_64-linux
我的结论是,加载了 Standalone ConTeXt 的文件而不是 2013 TeXlive 发行版的文件texnansi.enc
,而他正是问题的根源。
答案1
Tex 安装在组织二进制文件、字体和宏/脚本方面非常复杂,并且代码和数据紧密耦合。由于您的设置似乎将两者混合在一起,因此 TL 程序似乎正在查找 Context Standalone (CS) 层次结构中的文件,并使 TL 感到困惑。通过确保 TL 无法看到 Context Standalone 的层次结构来解开两者的联系,您的编译应该可以正常工作。
当能够使用两个发行版很重要时,Context wiki 建议您仅setuptex
在需要时才进行获取:
ConTeXt 套件以无干扰的方式工作,因为它不会将任何内容放入您的 $PATH 中,也不会设置任何系统变量。这反过来意味着,为了使用它,您需要进行一些初始化。installation-dir/tex/ 中提供了一个名为 setuptex 的初始化脚本。如果您从终端运行 context,请像这样获取 setuptex 的源代码:
source /installation-dir/tex/setuptex
这需要在每次使用 CS 之前完成,并且只会影响从该 shell 调用 SC。相反,你似乎正在使用 wiki 接下来描述的方法:
上述方法意味着您必须始终
source /installation-dir/tex/setuptex
在终端中键入内容,然后才能使用 typeset。如果您始终使用 ConTeXt 套件,而从不使用其他 TeX 发行版提供的 LaTeX 或纯 TeX,则可以将上述初始化行添加到 shell 的启动脚本中。对于 bash,这意味着 $HOME/.bashrc;对于 zsh,这意味着 $HOME/.zshrc;对于 (t)csh,这意味着 $HOME/.cshrc 或 $HOME/.tcshrc。然后,setuptex 将始终在您的终端中被调用。
然后,这会弄乱通常由 中给出的站点范围配置为 TL 完成的设置\etc
。