我正在使用 Ubuntu 上的 TL 2022 编译旧的源代码树。
我注意到了这个警告,但我不知道它的来源在哪里,以及如何纠正它
[INFO] htlatex: LaTeX call: dvilualatex --interaction=errorstopmode -jobname='index' --interaction=batchmode -shell-escape '\makeatletter\def\HCode{\futurelet\HCode\HChar}\def\HChar{\ifx"\HCode\def\HCode"##1"{\Link##1}\expandafter\HCode\else\expandafter\Link\fi}\def\Link#1.a.b.c.{\AddToHook{class/before}{\RequirePackage[#1,html]{tex4ht}}\let\HCode\documentstyle\def\documentstyle{\let\documentstyle\HCode\expandafter\def\csname tex4ht\endcsname{#1,html}\def\HCode####1{\documentstyle[tex4ht,}\@ifnextchar[{\HCode}{\documentstyle[tex4ht]}}}\makeatother\HCode nma_mathjax.cfg,mathjax,htm,fn-in,3,notoc*,p-width,charset=utf-8,charset=utf-8,html5.a.b.c.\input "\detokenize{index.tex}"'
This is LuaTeX, Version 1.15.0 (TeX Live 2022)
system commands enabled.
[INFO] mkutils: mathjax,htm,fn-in,3,notoc*,p-width,charset=utf-8,html5,
[INFO] mkutils: executing: tex4ht -cunihtf -utf8 "index.dvi"
--- warning --- Couldn't find font `mlmsy8.htf' (char codes: 0--173)
我搜索了这个文件mlmsy8.htf
,但找不到。我甚至不知道哪个 latex 文件导致源代码树中出现此问题,因此无法更正。
有人能建议如何纠正这个问题吗?为什么这个文件丢失了?我在两个 Linux Ubuntu 系统上尝试了 TL 2022,出现了同样的警告。
抱歉,我没有 MWE,因为我不知道这个警告来自哪里,以及忽略它是否安全。它仅在使用 tex4ht 时显示,而不是 lualatex。
答案1
此错误消息表示缺少该字体的字符映射表,因此将改用默认表。由于默认表基于 Computer Modern,因此文件中不会出现字符缺失的情况。但您可能会遇到格式缺失的情况,这也包括在映射文件中。
无论如何,mlmodern
可以使用这些文件添加基本映射:
rm-mlm.htf
:
.rm-lm
htfcss: rm-mlmbo font-style: oblique;
htfcss: rm-mlmbx font-weight: bold;
htfcss: rm-mlmbxi font-style:italic; font-weight: bold;
htfcss: rm-mlmbxo font-style: oblique; font-weight: bold;
htfcss: rm-mlmri font-style:italic;
htfcss: rm-mlmro font-style: oblique;
htfcss: rm-mlmss font-family: sans-serif;
htfcss: rm-mlmssbo font-family: sans-serif; font-style: oblique; font-weight: bold;
htfcss: rm-mlmssbx font-family: sans-serif; font-weight: bold;
htfcss: rm-mlmssdc font-family: sans-serif;
htfcss: rm-mlmssdo font-family: sans-serif; font-style: oblique;
htfcss: rm-mlmsso font-family: sans-serif; font-style: oblique;
htfcss: rm-mlmssq font-family: sans-serif;
htfcss: rm-mlmssqbo font-family: sans-serif; font-style: oblique; font-weight: bold;
htfcss: rm-mlmssqbx font-family: sans-serif; font-weight: bold;
htfcss: rm-mlmssqo font-family: sans-serif; font-style: oblique;
htfcss: rm-mlmcsc font-variant: small-caps;
该.rm-lm
行表示它应该使用 的字符映射rm-lm.htf
。我们可以使用此技巧,因为它们具有相同的字符。
您还需要一些其他文件:
mlmex.htf
:
.cmex
mlmmi.htf
:
.cmmi
htfcss: mlmmib font_weight:bold;
mlmsy.htf
:
.plbsy
所有这些文件都是 Latin Modern 映射文件的副本,并引用包含实际字符映射的其他 HTF 文件。