在 TEXMFHOME 中手动安装字体映射 - updmap 找不到映射文件

在 TEXMFHOME 中手动安装字体映射 - updmap 找不到映射文件

我正在尝试安装来自 CTAN 的 newtx仅供我的用户使用。起初,我尝试遵循那里提供的 README。

首先,我使用TeXlive 2011Archlinux我还使用检查了所有TEXMF...变量是否指向正确的位置kpsewhich --var-value

  • TEXMFHOME=/home/$USER/texmf
  • TEXMFCONFIG=/home/$USER/.texlive/texmf-config

然后我进行了“安装”:

  • mkdir -p /home/$USER/texmf/tex/latex/newtx
  • cp -rnewtx.zip该文件中的所有内容
  • ls-R通过运行创建texhash /home/$USER/texmf/
  • 跑步updmap --enable Map=ntx.map
  • 得到第一个错误:

$ updmap --enable Map=ntx.map

copy /etc/texmf/web2c/updmap.cfg => /home/$USER/.texlive/texmf-config/web2c/updmap.cfg
Config file: "/home/$USER/.texlive/texmf-config/web2c/updmap.cfg"
dvips output dir: "/home/$USER/.texlive/texmf-var/fonts/map/dvips/updmap"
pdftex output dir: "/home/$USER/.texlive/texmf-var/fonts/map/pdftex/updmap"
dvipdfm output dir: "/home/$USER/.texlive/texmf-var/fonts/map/dvipdfm/updmap"
pxdvi output dir: "/home/$USER/.texlive/texmf-var/fonts/map/pxdvi/updmap"

/usr/bin/updmap is creating new map files
using the following configuration:
  LW35 font names                  : URWkb
  prefer outlines                  : true
  texhash enabled                  : true
  download standard fonts (dvips)  : true
  download standard fonts (pdftex) : true
  create a mapfile for pxdvi       : false

Scanning for LW35 support files  [  3 files]
Scanning for MixedMap entries    [ 36 files]
Scanning for KanjiMap entries    [  0 files]
Scanning for Map entries         [129 files]


ERROR:  The following map file(s) couldn't be found:
    ntx.map

    Did you run mktexlsr?

    You can delete non-existent map entries using the option
      --syncwithtrees.

找不到ntx.map!我找到了这个Debian 上安装地图的指南,并尝试将其适配到我的系统中。所以我做了与上述相同的步骤,但现在将其ntx.map放入/home/$USER/texmf/fonts/map/newtx/

updmap --enable Map=ntx.map现在运行顺利,我可以Map ntx.map在中找到一个条目/home/$USER/.texlive/texmf-config/web2c/updmap.cfg,正如它应该的那样。

但有一个最小的例子:

\documentclass{minimal}

\usepackage{mathtools}
\usepackage{newtxmath}

\begin{document}
\begin{equation*}
    \Phi(u) = \frac{1}{\sqrt{2\pi}} \int^u_{-\infty} e^{-t^2/2} dt
\end{equation*}
\end{document}

我现在收到一个编译错误pdflatex,它找不到字体ntxmi(只是日志中的一小段摘录):

kpathsea: Running mktextfm ntxmi
/usr/share/texmf/web2c/mktexnam: Could not map typeface abbreviation tx for ntxmi.
/usr/share/texmf/web2c/mktexnam: Need to update /usr/share/texmf-dist/fonts/map/fontname/special.map?
mktextfm: Running mf-nowin -progname=mf \mode:=ljfour; mag:=1; nonstopmode; input ntxmi
This is METAFONT, Version 2.718281 (TeX Live 2012/dev/Arch Linux)


kpathsea: Running mktexmf ntxmi
! I can't find file `ntxmi'.
<*> ...e:=ljfour; mag:=1; nonstopmode; input ntxmi

Please type another input file name
! Emergency stop.
<*> ...e:=ljfour; mag:=1; nonstopmode; input ntxmi

Transcript written on mfput.log.
grep: ntxmi.log: No such file or directory
mktextfm: `mf-nowin -progname=mf \mode:=ljfour; mag:=1; nonstopmode; input ntxmi' failed to make ntxmi.tfm.

该怎么办?

编辑: kpsewhich newtxmath.sty正确地指向/home/$USER/texmf/tex/latex/newtx/newtxmath.stykpsewhich ntx.map以及/home/$USER/texmf/fonts/map/newtx/ntx.map

答案1

您不能将 zip 的所有内容复制到 中tex/latex/。各种文件类型必须放在本地 texmf 树的不同分支中。例如, 应该.tfm放在 中/fonts/tfm/newtx, 应该.vf放在 中fonts/vf/newtx,等等。查看主 texmf 树以获取正确路径的示例。

答案2

如上所述,您不能简单地将所有内容复制到 latex 目录中。文件应放在以下目录中:

  • *.enc->字体/enc/public/newtx/
  • *.地图-> 字体/地图/dvips/public/newtx/
  • *.tfm->字体/tfm/公共/newtx/
  • *.pfb->字体/type1/public/newtx/
  • *.vf->字体/vf/public/newtx/
  • *.fd,*.sty->tex/latex/newtx/

如果您将它们放在 $HOME/texmf ($TEXMFHOME) 中,则无需运行 mktexlsr(或 texhash,它们是相同的)。

之后,按照您所做的方式重新运行 updmap 调用。

相关内容