在全新的 Ubuntu 12.04 64 位系统上,我想将 mdframed 包添加到我的texlive
发行版中。
在 Ubuntu 标准存储库中搜索无果后,我前往 CTAN 网站下载并手动编译和安装该软件包。我这样做了,并将其放在texmf
我家的目录树中,在texhash
此目录上运行后,我在编译时收到有关缺少xparse
软件包的新错误。
我重复了同样的操作,并在 texlive-latex3 标准 Ubuntu 包中找到了此包。所以我安装了它apt-get
,现在我得到了以下我无法解决的其他错误:
/usr/share/texmf-texlive/tex/latex/oberdiek/zref-abspage.sty:94: Missing \begin{document}.
我该如何解决它?
答案1
在最近的版本中,行数zref-abspage.sty
为 66。在历史记录中,我找不到可以解释超过 28 行的提示。第 94 行及其前后两行是什么?
如果安装了源,您可以重新创建该文件。创建一个临时目录,将文件 zref.dtx 复制到那里并解压,例如:
mkdir /tmp/zref-scratch
cd /tmp/zref-scratch
cp /usr/share/texmf-texlive/source/latex/oberdiek/zref.dtx .
tex zref.dtx
这应该会生成许多样式文件zref-abspage.sty
。请注意,您需要的是纯 TeX,而不是 LaTeX。否则会生成文档。可以比较这两个文件:
diff -u /usr/share/texmf-texlive/tex/latex/oberdiek/zref-abspage.sty zref-abspage.sty
有区别吗?
如果是,那么有什么区别?然后可以重命名错误的文件(出于安全和进一步分析的考虑)并替换:
sudo mv -i /usr/share/texmf-texlive/tex/latex/oberdiek/zref-abspage.sty /usr/share/texmf-texlive/tex/latex/oberdiek/zref-abspage-saved.sty sudo cp /tmp/zref-scratch/zref-abspage.sty /usr/share/texmf-texlive/tex/latex/oberdiek/zref-abspage.sty
如果不是,您使用的是哪个版本?请查看文件
zref-abspage.sty
。
我的建议是安装原版的 TeX Live,“操作方法”可以在网上找到,例如:
另一种方法是在本地 TDS 树(适用于所有用户)或主 texmf 树(~/texmf
仅适用于当前用户)中安装手动更新的软件包。Ubuntu 文档包含有关乳胶。
要识别本地树,您可以尝试:
kpsewhich --expand-var '$TEXMFLOCAL'
家里的树通常是~/texmf
。
如果软件包提供了.tds.zip
文件,那么安装就很简单。例如,我使用我的软件包在主 texmf 树中安装:
wget http://mirror.ctan.org/install/macros/latex/oberdiek.tds.zip
unzip oberdiek.tds.zip -d ~/texmf
如果是本地 texmf 树,texhash
需要调用:
sudo texhash