使用 TeXlive 2014 我安装了翡翠字体(~/.texmf
其他 TEXMF 树也会导致同样的问题)。
无论我texhash
或多少updmap
,这个最小的例子都无法使用进行编译pdflatex
:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{emerald}
\begin{document}
\ECFAugie
This is very minimal!
\end{document}
我总是收到错误
kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 1+0/600 --dpi 600 faumw8r
mktexpk: don't know how to create bitmap font for faumw8r.
mktexpk: perhaps faumw8r is missing from the map file.
kpathsea: Appending font creation commands to missfont.log.
!pdfTeX error: pdflatex (file faumw8r): Font faumw8r at 600 not found
==> Fatal error occurred, no output PDF file produced!
尽管存在文件,使用latex
和将产生类似的结果。出了什么问题?dvips
.texmf/fonts/tfm/emerald/faumw8r.tfm
答案1
不要遵循 README 文件中的说明,因为它们不是最新的,并且不能确保字体通常可用于多个引擎。
以下假设您已成功安装了包文件。强烈建议您使用。TEXMFLOCAL
您可以使用 找出它在哪里kpsewhich -var TEXMFLOCAL
。使用您的个人texmf
树是第二好的选择,而updmap
不是 ,updmap-sys
不推荐。它将需要不断更新 - 每次您更新 TeX 安装并对安装的字体进行更改时,您都需要重新生成您的个人地图文件。一点也不好玩。仅当您无权安装到 时才考虑这一点。TEXMFLOCAL
(然后,问问自己您真的有多需要这个字体......)
从您的个人树中删除该包的所有痕迹texmf
并安装到适当的位置TEXMFLOCAL
。然后运行mktexlsr <TEXMFLOCAL>
。
软件包中提供了type1版本的字体以及支持文件,无需另外安装字体。
使用例如 再次检查是否正确安装kpsewhich faumw.pfb
。这应该给出上面标识的本地树的根的位置<TEXMFLOCAL>/fonts/type1/emerald/faumw.pfb
。<TEXMFLOCAL>
texmf
如果<TEXMFLOCAL>/web2c/updmap.cfg
存在,则需要编辑它。如果不存在,则需要创建它。无论哪种方式,添加以下行
Map emerald.map
现在运行updmap-sys
。
您可能需要从主目录中删除文件,以防止系统范围的文件发挥其预期效果。例如,在 GNU/Linux 上,我将删除目录,~/.texlive2014
其中~
是我的主目录,并且2014
是我正在使用的 TeX Live 版本。如果您有任何疑问,请重命名目录,而不是删除它。
然后你的文档就能够顺利编译了:
顺便说一句,即使没有该软件包,TeX Live 中也可以使用 Augie 的一个版本emerald
。
\documentclass{article}
\usepackage[T1]{fontenc}
\DeclareRobustCommand{\augiefamily}{%
\fontfamily{augie}\fontseries{m}\fontshape{n}\selectfont}
\DeclareTextFontCommand{\textaugie}{\augiefamily}
\begin{document}
\augiefamily
This is very minimal!
\end{document}
编辑
不可否认,如果没有以下条件,你就无法做到这一点emerald
:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{emerald}
\begin{document}
\def\efont{APicture,Augie,Decadence,DecadenceWithoutTheDiamonds,DecadenceCondensed,DecadenceInTheDark,DecadenceInTheDarkCondensed,DecadenceInADifferentLight,DecadenceInTheDarkCondensedMarquee,Intimacy,IntimacyDeux,JD,Movieola,MovieolaTitleType,Pookie,PookieType,Skeetch,SpankysBungalow,SpankysBungalowItalico,SpankysBungalowBlanco,SpankysBungalowBlancoItalico,Syriac,TallPaul,TeenSpirit,Webster}%
\makeatletter
\@for \xx:=\efont \do {%
\expandafter\expandafter\expandafter\csname ECF\xx\endcsname This is very minimal\dots\par
}%
\makeatother
\end{document}
答案2
我不完全了解 TeX Live 的结构。我遵循了上面接受的答案。我已经在 macos/OSX 上安装了 2020 版 TeX Live。这是我下载emerald.zip
并解压 zip 文件后遵循的配方。在终端窗口中以 root 用户身份运行:
TEXDIR=/usr/local/texlive
EMERALDDIR=/path/to/emerald
mkdir -p ${TEXDIR}/texmf-local/fonts/doc/emerald
cp ${EMERALDDIR}/fonts/map/dvips/emerald.map ${TEXDIR}/texmf-local/dvips/.
cd ${EMERALDDIR}/tex
tar -cf - latex | (cd ${TEXDIR}/texmf-local/tex;tar -xf -)
cd ${EMERALDDIR}/doc
tar -cf - * | (cd ${TEXDIR}/texmf-local/fonts/doc/emerald; tar -xf -)
cd ${EMERALDDIR}/fonts
tar -cf - tfm type1 vf | (cd ${TEXDIR}/texmf-local/fonts; tar -xf -)
vi ${TEXDIR}/texmf-local/web2c/updmap.cfg
[added "Map emerald.map" line at end of file and saved]
mktexlsr
updmap-sys