在 XeTeX 和 Ubuntu 中使用微类型凸起

在 XeTeX 和 Ubuntu 中使用微类型凸起

我相信我手头有并安装了所有正确版本的软件(microtype 2.5 版和 XeTeX .9998 版),以使突起能够在我的 Ubuntu 系统上与 XeTeX 配合使用,但我在编译时不断收到错误。这是 MWE:

\documentclass{book}
\usepackage[T1]{fontenc}
\usepackage{lipsum}
\usepackage[protrusion=true]{microtype}
\begin{document}
\mainmatter
\lipsum
\end{document}

但是当我尝试编译时,xelatex microtest.tex我得到了:

This is XeTeX, Version 3.1415926-2.4-0.9998 (TeX Live 2012/Debian)
restricted \write18 enabled.
entering extended mode
(./microtest.tex
LaTeX2e <2011/06/27>
Babel <v3.8m> and hyphenation patterns for english, dumylang, nohyphenation,     lo
aded.
(/usr/share/texlive/texmf-dist/tex/latex/base/book.cls
Document Class: book 2007/10/19 v1.4h Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/bk10.clo))
(/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
(/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def))
(/usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.sty
(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty)


! LaTeX Error: File `microtype-xetex.def' not found.

我已在 /usr/share/texlive/texmf-dist-tex/latex/microtype 中安装了 microtype-xetex.def:

pwd
/usr/share/texlive/texmf-dist/tex/latex/microtype
ls
letterspace.sty       mt-bch.cfg        mt-eus.cfg               mt-ppl.cfg
microtype.cfg         mt-blg.cfg        mt-LatinModernRoman.cfg  mt-ptm.cfg
microtype.lua         mt-CharisSIL.cfg  mt-msa.cfg               mt-ugm.cfg
microtype-luatex.def  mt-cmr.cfg        mt-msb.cfg               mt-zpeu.cfg
microtype-pdftex.def  mt-euf.cfg        mt-mvs.cfg
microtype.sty         mt-eur.cfg        mt-pad.cfg
microtype-xetex.def   mt-euroitc.cfg    mt-pmn.cfg

我已将这些文件复制到其他位置,但仍然出现相同的错误。是否有某种我应该运行或编译的安装脚本?我所做的只是将下载的解压文件复制到此目录(替换microtype已存在的文件)。

答案1

TeX 系统依靠缓存来查找文件,以减少其搜索时间巨大的目錄。

所有主树的顶层都有一个名为的文件ls-R,其中包含子目录及其内容的树形表示。

当在主树中的目录中安装新文件时,需要通过以下方式更新缓存:

sudo texhash

但是,修改主树中的目录并不是一个好主意,因为它们可能会在更新期间恢复,最终导致 TeX 系统不稳定。

所有 TeX 发行版都维护一个“本地”树,你可以使用 shell 命令找到它的位置

kpsewhich -var-value TEXMFLOCAL

在我的计算机上

/usr/local/texlive/texmf-local

您可以使用以下方式创建相关子树

sudo mkdir -p $(kpsewhich -var-value TEXMFLOCAL)/tex/latex/microtype

然后通过以下方式复制属于该包的文件microtype到创建的目录中:

sudo cp * $(kpsewhich -var-value TEXMFLOCAL)/tex/latex/microtype

假设您位于包含下载文件的工作目录中。新的

sudo texhash

将使您能够使用microtype2.5 版本而无需接触原始版本,因为在查看主树之前会先查看“本地”树。

相关内容