我正在尝试使用最新的Baskervaldx
包(2020-Nov-07;包含在 TeXLive2020 中),该swash
功能可以作为包选项或使用命令\swshape
。我用latexmk -pdf
它来编译我的文档,但出现以下错误:
...
kpathsea: Running mktextfm Baskervaldx-Ita-tlf-swash-t1
/usr/local/texlive/2020/texmf-dist/web2c/mktexnam: Could not map source abbreviation B for Baskervaldx-Ita-tlf-swash-t1.
/usr/local/texlive/2020/texmf-dist/web2c/mktexnam: Need to update /usr/local/texlive/2020/texmf-dist/fonts/map/fontname/special.map?
mktextfm: Running mf-nowin -progname=mf \mode:=ljfour; mag:=1; ; nonstopmode; input Baskervaldx-Ita-tlf-swash-t1
This is METAFONT, Version 2.7182818 (TeX Live 2020) (preloaded base=mf)
...
Transcript written on mfput.log.
grep: Baskervaldx-Ita-tlf-swash-t1.log: No such file or directory
mktextfm: `mf-nowin -progname=mf \mode:=ljfour; mag:=1; ; nonstopmode; input Baskervaldx-Ita-tlf-swash-t1' failed to make Baskervaldx-Ita-tlf-swash-t1.tfm.
kpathsea: Appending font creation commands to missfont.log.
! Font T1/Baskervaldx-TLF/m/sw/10=Baskervaldx-Ita-tlf-swash-t1 at 10.0pt not loadable: Metric (TFM) file not found.
...
我的MWE如下:
\documentclass{article}
\usepackage{Baskervaldx}
\usepackage{lipsum}
\begin{document}
\swshape
\lipsum[1]
\end{document}
知道缺少了什么吗?在我的 TeXLive 发行版中,文件名中唯一带有“swash”的 Baskervaldx 文件/usr/local/texlive
是 eg Baskervaldx-Ita-tlf-swash-t1.htf
,但我不知道 等是什么。我尝试加载或使用 xelatex ,但这些文件也不起作用,并出现相同的错误mktextfm
。.htf
\usepackage[T1,LY1]{fontenc}
latexmk -pdfxe
提前致谢。
答案1
这是自我回答。软件包的维护者已收到字体文件缺失的通知,他很友好地及时更新了软件包。
我曾经sudo tlmgr update baskervaldx
安装过更新。
[警告:tlmgr
抱怨我的本地版本是 2017,因此是较旧的版本 (2017 < 2020)。事实并非如此,因为我最近才安装了 TeXLive 2020。然后我发现我必须“sudo su”它,因为发行版在 下/usr/local/texlive/
。但是$PATH
存储在我的环境中的变量~/.bashrc
显然未在 root 模式下使用,因此我不得不再次在终端中手动明确地导出 $PATH。]
然后我照做了sudo texhash
,并sudo updmap-sys
刷新了所有内容。
[警告:最初我收到了错误消息mktexpk: perhaps Baskervaldx-Ita-tosf-swash-t1--base is missing from the map file.
,尽管Baskervaldx-Ita-tosf-swash-t1--base.tfm
更新后可以在我的发行版下找到等等。然后我偶然发现了这篇文章,为什么我不应该使用 getnonfreefonts 安装其他字体?为什么我不应该使用 updmap 安装或删除字体?,然后就成功了mv -n $(dirname $(kpsewhich --var-value TEXMFVAR)) $(dirname $(kpsewhich --var-value TEXMFVAR)).bkup
(在链接帖子顶部答案的底部附近)。之后 pdfTeX 编译成功。
作为最后的手段,带有 fontspec 包的 XeLaTeX 总是可以工作的,而且以前也一直可以工作。