![如何使用 mlmodern 字体编译 pgfmanual?](https://linux22.com/image/467639/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20mlmodern%20%E5%AD%97%E4%BD%93%E7%BC%96%E8%AF%91%20pgfmanual%EF%BC%9F.png)
我只想要一个 pgf/Ti 版本钾Z 手册使用更粗的mlmodern
字体而不是原始lm
字体。为了实现这一点,我从 git 克隆了 pgf repo,在文件中的和包mlmodern
之后加载了包,并使用在更新的(今天)版本的 上编译了它。和包已经在代码中加载了。它编译了很长时间并生成了一个 pdf,但我在 pdf 中看不到字体。编译后的 pdf 也不正确;我找不到用于代码的等宽字体。如果需要,我可以分享日志文件。amsmath
amssymb
pgfmanual-en-main-preamble.tex
TeX Live
l3build doc -q -H
amsmath
amssymb
mlmodern
如何用 PGF 手册中的 mlmodern 字体替换 lm 字体?
答案1
强制使用以便与 LuaTeX 协同工作\usepackage[T1]{fontenc}
。mlmodern
从目前 pgf GitHub 存储库中的第 158 到 180 行pgfmanual-en-main-preamble.tex
来看,
\ifluatex
% \usepackage[no-math]{fontspec}
% \usepackage{luatextra}
% TT: I have commented luatextra since it loads fontspec, which
% currently breaks "$\mathrm{\Omega}$" (nothing is
% shown). Also, fontspec loads so much stuff, I'm not really sure
% any of it is needed...
% \filedescription is defined in expl3, required by fontspec,
% required by luatextra. Needs to be \relaxed since
% pgfmanual-en-macros.tex defines an environment named filedescription
\let\filedescription\relax
\usepackage[utf8]{luainputenc}
% dvisvgm does not support OpenType fonts so we have to bite the bullet and
% use T1 where quotes are weird. In LuaTeX \outputmode=0 means DVI.
\ifnum\outputmode=0
\usepackage[T1]{fontenc}
\fi
\else
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\fi
手动构建lualatex
默认使用。所以我们输入条件的第一个分支。注释表明LuaTeX \outputmode=0 means DVI
,和lualatex
通常会生成 PDF,所以我们跳过条件\ifnum
,和\usepackage[T1]{fontenc}
永远不会插入,但它是mlmodern
LuaTeX 中工作所必需的。因此,您可以添加
\usepackage[T1]{fontenc}
\usepackage{mlmodern}
在上面外层\iflatex ... \else ... \fi
块之后。注释还建议quotes are weird
使用T1
LuaTeX。我对 LuaTeX 没有太多经验,但以这种方式编译,我没有发现普通的 有什么问题``quotations''
,并且在浏览手册后没有发现任何明显的瑕疵。