![如何在 texlive 中检查字体是否存在?](https://linux22.com/image/365282/%E5%A6%82%E4%BD%95%E5%9C%A8%20texlive%20%E4%B8%AD%E6%A3%80%E6%9F%A5%E5%AD%97%E4%BD%93%E6%98%AF%E5%90%A6%E5%AD%98%E5%9C%A8%EF%BC%9F.png)
R
我尝试在我的系统中安装。我运行了./configure
,结果-
..................................
................................
config.status: creating tools/Makefile
config.status: creating src/include/config.h
config.status: src/include/config.h is unchanged
config.status: executing libtool commands
config.status: executing stamp-h commands
R is now configured for x86_64-pc-linux-gnu
Source directory: .
Installation directory: /usr/local
C compiler: gcc -std=gnu99 -g -O2
Fortran 77 compiler: gfortran -g -O2
Default C++ compiler: g++ -g -O2
C++98 compiler: g++ -g -O2
C++11 compiler: g++ -std=gnu++11 -g -O2
C++14 compiler:
C++17 compiler:
Fortran 90/95 compiler: gfortran -g -O2
Obj-C compiler:
Interfaces supported: X11
External libraries: readline, curl
Additional capabilities: PNG, JPEG, NLS
Options enabled: shared BLAS, R profiling
Capabilities skipped: TIFF, cairo, ICU
Options not enabled: memory profiling
Recommended packages: yes
configure: WARNING: pcre < 8.32 is deprecated
configure: WARNING: you cannot build info or HTML versions of the R manuals
configure: WARNING: you cannot build PDF versions of vignettes and help pages
configure: WARNING: neither inconsolata.sty nor zi4.sty found: PDF vignettes and package manuals will not be rendered optimally
现在,我需要iconsolata.sty
修复zi4.sty
安装警告。如何检查这些字体是否存在于我的 texlive 2017 发行版中。我的操作系统是 Ubuntu 14.04。
/usr/local/texlive/2017/texmf-dist/fonts$ ls
afm cid cmap enc lig map misc ofm opentype ovf ovp pk sfd source tfm truetype type1 vf
编辑
我检查了tlmgr info iconsolata
tlmgr: cannot find package iconsolata, searching for other matches:
Packages containing `iconsolata' in their title/description:
Packages containing files matching `iconsolata':
这意味着iconsolata
我的发行版中可能缺少该字体。如果是真的,如何安装字体?
答案1
的意思tlmgr: cannot find package iconsolata
是 tlmgr 不知道名为 的软件包iconsolata
,而不是iconsolata
您的系统上未安装的软件包。这是因为您输入了错误;您应该搜索inconsolata
而不是iconsolata
。就我而言,tlmgr info inconsolata
结果是
package: inconsolata
category: Package
shortdesc: A monospaced font, with support files for use with TeX
longdesc: Inconsolata is a monospaced font designed by Raph Levien. This package contains the font (in both Adobe Type 1 and OpenType formats) in regular and bold weights, with additional glyphs and options to control slashed zero, upright quotes and a shapelier lower-case L, plus metric files for use with TeX, and LaTeX font definition and other relevant files.
installed: Yes
revision: 42871
sizes: doc: 645k, run: 1273k
relocatable: No
cat-version: 1.112
cat-date: 2017-01-04 22:39:25 +0100
cat-license: oflapache2lppl1.3
cat-topics: font font-mono font-type1 font-otf font-t1enc
collection: collection-fontsextra
并且根据R的警告,你会发现installed
状态设置为No
。
如果你想通过 tlmgr 安装软件包,你可以使用tlmgr install
命令。要回答问题标题,查看 TeX Live 上是否安装了某些东西的标准方法是使用kpsewhich
命令,例如
~$ kpsewhich inconsolata.sty
/usr/local/texlive/2017/texmf-dist/tex/latex/inconsolata/inconsolata.sty
我用了这个词包裹但这并不意味着 LaTeX 包(带有.sty
扩展名的文件)。这里的包是 TeX Live 的术语。
此后,封装[l]删除 LaTeX 包并包裹[t]表示 TeX Live 包。包[t] 是提供特定功能的文件包。字体包[t] 通常inconsolata
包含
- 字体定义文件 (
*.fd
), - 编码定义文件 (
*.enc
), - TeX 字体度量文件 (
*.tfm
), - 字体本身(例如
*.otf
), - package[l](
*.sty
) 等等。
因此,当您运行 时tlmgr info inconsolata
, tlmgr 会查找inconsolata
package[t] 而不是inconsolata.sty
。
那么,是什么决定了 TeX Live 是否知道某个特定名称的 package[t]?TeX Live 有一个名为 的 package[t] 数据库texlive.tlpdb
,通常位于TEXMFROOT/tlpkg
。当该数据库中没有信息时,tlmgr info
会声称找不到 package[t]。