将字体安装到某个目录中(以非 root 身份)

将字体安装到某个目录中(以非 root 身份)

我正在尝试安装 MinionPro(使用字体专家) 到我的主目录中。我通常做的是安装软件包,将 .sty 和其他文件放入某个目录中,比如说~/latexstyles,然后执行

export TEXINPUTS=$HOME/latexstyles//:.:

因此 latex 将拾取所有文件。优点是,我可以将此目录的内容复制到通常具有完全不同 latex 版本的不同系统,并且它仍然有效。但是,此方案不适用于字体。正确的做法似乎是

sudo updmap --enable Map=MinionPro     # or edit updmap.cfg or /etc/texmf/updmap.d
sudo updmap

然后 updmap 修改了一些系统范围的配置文件。如何将其转换为主目录中的安装?

我希望得到一个可以直接复制到另一个系统的结果,因为我无法在目标系统上运行 FontPro 脚本(无法在那里安装 FontPro 的依赖项)。我尝试设置

TEXMF=$HOME/latexstyles

(和变体),但是 updmap 不执行任何操作,并且 pdflatex 不再运行。

答案1

如果您不想运行 updmap 您将必须使用 加载文档中的地图文件 \pdfmapfile{=MinionPro.map}

答案2

我将发布我到目前为止所取得的成果。这适用于我拥有的两个系统(现代的 Ubuntu 和几年前的 Red Hat,配有相应的 Latex。我现在不知道具体是哪些版本/发行版)。目前,数学仍然存在问题,因此它仅适用于文本。

我使用updmap自定义路径,然后设置环境变量以便pfdlatex选择路径。

1. 根据 FontPro README 安装 MinionPro。使用以下安装路径:$HOME/latexstyles/adobefonts

./scripts/install ~/latexstyles/adobefonts

2. 如果需要,请将 fontaxes 和 MnSymbol 安装到 TeX 路径上的某个位置,可以是与上面相同的目录。(MnSymbol 是在 RedHat 计算机上编译纯文本 .tex 所必需的,我猜它对于一般数学来说也是必需的。)

3. 创建以下文件并编辑BASE。如果您在这里安装它,则可能必须注释掉有关 MnSymbol 的行。

安装文件

BASE=$HOME/latexstyles/adobefonts
echo "Map MinionPro.map" >> $BASE/updmap.cfg 
#echo "MixedMap MnSymbol.map" >> $BASE/updmap.cfg 

mkdir -p $BASE/fonts/map/pdftex/updmap $BASE/fonts/map/dvips/updmap $BASE/fonts/map/dvipdfm/updmap 

export TEXFONTMAPS="$BASE/fonts/map//:$TEXFONTMAPS"
updmap --cnffile=$BASE/updmap.cfg --pdftexoutputdir=$BASE/fonts/map/pdftex/updmap --dvipsoutputdir=$BASE/fonts/map/dvips/updmap --dvipdfmoutputdir=$BASE/fonts/map/dvipdfm/updmap --copy

# must be set after updmap, otherwise it won't work
export TEXINPUTS="$BASE//:$TEXINPUTS"

安装脚本

BASE=$HOME/latexstyles/adobefonts
export TEXFONTMAPS="$BASE/fonts/map//:$TEXFONTMAPS"
export TEXINPUTS="$BASE//:$TEXINPUTS"
export ENCFONTS="$BASE/fonts//:$ENCFONTS"
export TFMFONTS="$BASE/fonts//:$TFMFONTS"
export T1FONTS="$BASE/fonts//:$T1FONTS"
export VFFONTS="$BASE/fonts//:$VFFONTS"

4. 调用bash install.sh一次。如果需要,您现在可以复制 adobefonts 目录。在编译某些内容之前,请调用source setup.sh

我还没有进行过广泛的测试,但是它适用于最小文档,并且由于它是独立的,所以不会损坏任何东西。

最小文档:

\documentclass{article}
\usepackage{MinionPro}

\begin{document}

\section{This is MinionPro}
Lorem ipsum dolor sit amet, consectetur adipisici elit, sed eiusmod tempor incidunt
ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation 
ullamco laboris nisi ut aliquid ex ea commodi consequat. Quis aute iure reprehenderit in 
voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint obcaecat 
cupiditat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

\end{document}

相关内容