下列程序是正确的吗?
1)发生了以下错误:
`! LaTeX Error: File "baskervillef.sty" not found.`
2)我尝试安装“baskervillef.sty”。为此,我使用以下页面:
https://ctan.org/tex-archive/fonts/baskervillef
3)我下载了它,即baskervillef.zip
,其中包含以下文件:
- 文档
- 恩科
- 地图
- 开放式
- 特克斯
- 动态监测
- 类型1
- 心率
- 自述
4)我打开文件,然后在文件中tex
找到了该文件baskervillef.sty
tex
5)我放仅有的baskervillef.sty
路径中的一个文件C:\texlive\texmf-local\tex\baskervillef.sty
。我忽略所有下载文件(描述于2))除外baskervillef.sty
。我不确定,可以吗?
6)在命令提示符上执行代码mktexlsr
以反映添加样式文件的变化。
编辑评论
- 我在命令提示符下执行了代码
kpsewhich --var-value TEXMFLOCAL
,它的返回值是C:/texlive/texmf-local
- 因此,我下载了包含三个目录的文件
baskervillef.tds
,即 文档,字体,特克斯。 - 我把这三个东西(包括638个文件和25个文件夹)放到了返回的
doc, font, tex
路径下。C:/texlive/texmf-local
kpsewhich --var-value TEXMFLOCAL
- 执行代码
mktexlsr
以反映上述变化。
答案1
你应该总是尽力使用包管理器来安装任何缺失的包,因为在这种情况下它应该知道把包放在哪里638 个文件(其中 600 个为字体)和 25 个文件夹专门针对您对发行版的特定修改。
如果必须手动下载查找 TDS zip在这种情况下http://mirrors.ctan.org/install/fonts/baskervillef.tds.zip该文件符合 TDS 规范,这意味着你只需要在正确的位置解压它,它将类似于包管理器下载的文件
我理解您处于离线状态,无法在需要时下载,但我强烈建议您考虑将全套文件下载到单个位置(4 到 8 GB USB),以便您的 Tex Live 包管理器可以在需要时使用本地文件集。这通常以类似于网络安装的方式完成,单个用户可以调用本地存储库。这比频繁下载单个包更简单。一种替代方法是获取 Tex Live 年度(4 月)DVD,并在需要时更新系统的那些部分。
我不知道你是否发现 W32TeX 更适合你的需求,而且它abTexinst包管理器或标准 Tex Live 设置管理器可让您选择和/或更新大量包,而无需下载完整集合。请注意不要混淆它们,否则可能会发生版本冲突,因为 W32TeX 现在是 2019 版本,而 TeX Live 仍为 2018 版本。如果您将包保存在带有管理器的 USB 记忆棒上,则可以将其在线检查部分更新。
返回当前问题
小心下一步可以用旧版本替换最新的文件集,这就是为什么您应该使用可以执行大多数版本检查的包管理器。
对于 TeX Live您需要通过运行检查 texmf-local 文件夹的位置,
kpsewhich --var-value TEXMFLOCAL
如果没有返回任何内容,则需要构建并设置一个
当你解压 TDS.zip 时,你将只看到 25 个文件夹中的 3 个(Doc Fonts 和 Tex)。只需将这 3 个文件夹复制或移动到 texmf-local 即可文件夹并接受所有必要的覆盖以替换您可能已经拥有的 638 个文件中的任何一个,这对于保持所有新文件处于同一版本是必要的。
最重要的是 你现在已经破坏了你的字体和文件名数据库(超过 1200 次),因此需要告诉包管理器你做了什么,并要求它更新文件名数据库(600 多种方式)和更新字体映射表(600 种方式)
对于Tex Live要更新文件名数据库,您需要再次运行mktexlsr
或者texhash
对于 MiKTeX 用户来说initexmf --update-fndb
然后阅读并应用以下字体映射说明
- 字体映射文件:在此告知 TeX Live 有关新字体的信息https://www.tug.org/fonts/fontinstall.html
注意新字体在这种情况下,.map 是
updmap-sys --force --enable Map=BaskervilleF.map