TeXlive 2016 出现 literat (Literaturnaya) 字体错误

TeXlive 2016 出现 literat (Literaturnaya) 字体错误

很奇怪整个网站上没有一个问题专门针对文学字体(尽管它在 10 年前左右经常用于俄语文档),并且只有 问题參考它!

在新安装并更新了 TeXLive 2016 的系统上,我lit­erat-0.2.zip这一页texmf-dist分别进入(docfonts和)的正确对应目录tex。在完成三个“神奇”的操作(更新文件名数据库、重建所有格式和更新字体映射数据库)之后,将生成以下 MWE:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T2A]{fontenc}
\usepackage[russian]{babel}
\usepackage{literat}
\begin{document}
О, суд людей неправый, что пьянствовать грешно!
\end{document}

pdfLaTeX通过(仅复制尝试加载的日志的相关部分)产生以下错误literat.sty

(c:/texlive/2016/texmf-dist/tex/latex/literat/literat.sty
Package: literat 1999/05/20 v0.2 ParaGraph Literaturnaya as default upright
) (./literat.aux)
\openout1 = `literat.aux'.

LaTeX Font Info:    Checking defaults for OML/cmm/m/it on input line 8.
LaTeX Font Info:    ... okay on input line 8.
LaTeX Font Info:    Checking defaults for T1/cmr/m/n on input line 8.
LaTeX Font Info:    ... okay on input line 8.
LaTeX Font Info:    Checking defaults for OT1/cmr/m/n on input line 8.
LaTeX Font Info:    ... okay on input line 8.
LaTeX Font Info:    Checking defaults for OMS/cmsy/m/n on input line 8.
LaTeX Font Info:    ... okay on input line 8.
LaTeX Font Info:    Checking defaults for OMX/cmex/m/n on input line 8.
LaTeX Font Info:    ... okay on input line 8.
LaTeX Font Info:    Checking defaults for U/cmr/m/n on input line 8.
LaTeX Font Info:    ... okay on input line 8.
LaTeX Font Info:    Checking defaults for T2A/cmr/m/n on input line 8.
LaTeX Font Info:    ... okay on input line 8.
LaTeX Font Info:    Try loading font information for T2A+tli on input line 8.

(c:/texlive/2016/texmf-dist/tex/latex/literat/t2atli.fd
File: t2atli.fd 1999/05/20 Fontinst v1.902 font definitions for T2A/tli.
) [1

{c:/texlive/2016/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] (./literat.aux
LaTeX Font Info:    Try loading font information for OT1+tli on input line 3.

(c:/texlive/2016/texmf-dist/tex/latex/literat/ot1tli.fd
File: ot1tli.fd 1999/05/20 Fontinst v1.902 font definitions for OT1/tli.
)) ) 
Here is how much of TeX's memory you used:
 1729 strings out of 494319
 17975 string characters out of 6169309
 70210 words of memory out of 5000000
 5095 multiletter control sequences out of 15000+600000
 7184 words of font info for 20 fonts, out of 8000000 for 9000
 452 hyphenation exceptions out of 8191
 23i,4n,23p,200b,131s stack positions out of 5000i,500n,10000p,200000b,80000s

!pdfTeX error: pdflatex.exe (file rtlir6i): Font rtlir6i at 600 not found
 ==> Fatal error occurred, no output PDF file produced!

除了日志输出之外,这些是来自控制台的消息:

pdflatex.exe -synctex=1 -interaction=nonstopmode "literat".tex

name = rtlir6i, rootname = rtlir6i, pointsize = mktexmf: empty or non-existent rootfile!

Cannot find font rtlir6i in map file(s).

kpathsea: Running mktexmf rtlir6i.mf The command name is C:\texlive\2016\bin\win32\mktexmf
Cannot find rtlir6i.mf . I try ps2pk --> gsftopk --> ttf2pk --> hbf2gf. ps2pk cannot be used.
I try gsftopk. gsftopk.exe rtlir6i 600 gsftopk cannot be used.
Next I try ttf2pk. ttf2pk.exe -q rtlir6i 600 ttf2pk failed.
Finally I try hbf2gf. hbf2gf.exe -q -p rtlir6i 600 All trials failed.

kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 1+0/600 --dpi 600 rtlir6i
The command name is C:\texlive\2016\bin\win32\mktexpk kpathsea: 
Appending font creation commands to missfont.log.

为了尝试复制例如,我将.tex文件重新编码为cp1251并尝试\usepackage[cp1251]{inputenc}— — 毫无效果。然后,我尝试了 OT1,同样成功。只有注释掉加载字体的行才有助于生成“默认”文档。

处理它latex.exe并在查看器中打开生成的 DVI 会产生一堆消息,例如:

rtlir6i.600(3000)
Searched C:\Users\admin\.texlive2016\texmf-var\fonts\pk\\...
Searched C:\texlive\2016\texmf-var\fonts\pk\\...
Searched C:\texlive\2016\texmf-dist\fonts\tfm\\...

自 2015 年 1 月以来的 1.5 年里,@egreg 的回答可能发生了什么变化?如何正确配置文学字体并使其工作(如果不仅可以使其工作,而且还可以使它工作microtype,因为它通常使用默认参数重新缩放外来/未知字体)?

答案1

这些文件应该不是转到.../texlive/2016/texmf-dist/,但在 下.../texlive/texmf-local。主树仅用于官方发行版中的内容:更改它可能会导致 TeX 系统不稳定。

在“分发”树中安装文件的结果是,每次发布 TeX Live 时都必须重新做所有事情。

话虽如此,程序如下:

  1. 将相关文件复制到本地树中的相应目录中,即在.../texlive/texmf-local/(创建必要的目录结构)下

  2. .../texmf-local/web2c/updmap.cfg通过附加行来编辑文件literat.map(如果需要,创建文件)

  3. 跑步mktexlsr

  4. 跑步updmap-sys

“本地”updmap.cfg文件避免了调用的需要updmap-sys --enable-map,而且将继续为 TeX Live 的未来版本提供地图文件。


一个临时的解决方法是在文档中加载地图文件,方法是输入

\pdfmapfile{+literat.map}

作为第一行。

答案2

除了 egreg 的回答之外: 中的行updmap.cfg应该不仅仅是literat.map,而且Map literat.map

相关内容