![使用 ebgaramond 包的文档无法打印,并且无法在 LuaLaTeX 上运行](https://linux22.com/image/407960/%E4%BD%BF%E7%94%A8%20ebgaramond%20%E5%8C%85%E7%9A%84%E6%96%87%E6%A1%A3%E6%97%A0%E6%B3%95%E6%89%93%E5%8D%B0%EF%BC%8C%E5%B9%B6%E4%B8%94%E6%97%A0%E6%B3%95%E5%9C%A8%20LuaLaTeX%20%E4%B8%8A%E8%BF%90%E8%A1%8C.png)
我有一个使用该软件包准备的文档ebgaramond
,因为我喜欢 Garamond 字体的外观。它在屏幕上看起来很好,但当我尝试打印它时,所有应该使用 Garamond 字体的字符都变成了空心矩形。我该怎么做才能尝试解决这个问题?
一些细节:我在 Mac 上使用 pdflatex(通过 TexShop)。我尝试升级到 TexLive 2019 并确保我的打印机驱动程序是最新的,但这些并没有改变任何东西。
根据 @Mico 的建议,我尝试使用 LuaLaTeX 和 XeLaTeX 而不是 pdflatex 来编译文档。它们都抱怨 ebgaramond 包。这是一个 MWE:
\documentclass[a4paper]{article}
\usepackage{ebgaramond}
\begin{document}
This is a test.
\end{document}
以下是 LuaLaTeX 的输出:
This is LuaTeX, Version 1.10.0 (TeX Live 2019)
restricted system commands enabled.
(./ebgaramond.tex
LaTeX2e <2020-02-02> patch level 1
L3 programming layer <2020-02-11>
(/usr/local/texlive/2019/texmf-dist/tex/latex/base/article.cls
Document Class: article 2019/12/20 v1.4l Standard LaTeX document class
(/usr/local/texlive/2019/texmf-dist/tex/latex/base/size10.clo))
(/usr/local/texlive/2019/texmf-dist/tex/latex/ebgaramond/ebgaramond.sty
(/usr/local/texlive/2019/texmf-dist/tex/generic/iftex/ifxetex.sty
(/usr/local/texlive/2019/texmf-dist/tex/generic/iftex/iftex.sty))
(/usr/local/texlive/2019/texmf-dist/tex/generic/iftex/ifluatex.sty)
(/usr/local/texlive/2019/texmf-dist/tex/latex/xkeyval/xkeyval.sty
(/usr/local/texlive/2019/texmf-dist/tex/generic/xkeyval/xkeyval.tex
(/usr/local/texlive/2019/texmf-dist/tex/generic/xkeyval/xkvutils.tex
(/usr/local/texlive/2019/texmf-dist/tex/generic/xkeyval/keyval.tex))))
(/usr/local/texlive/2019/texmf-dist/tex/latex/base/textcomp.sty)
(/usr/local/texlive/2019/texmf-dist/tex/latex/fontspec/fontspec.sty
(/usr/local/texlive/2019/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
(/usr/local/texlive/2019/texmf-dist/tex/latex/l3kernel/expl3.sty
(/usr/local/texlive/2019/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def))
) (/usr/local/texlive/2019/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty
(/usr/local/texlive/2019/texmf-dist/tex/latex/base/fontenc.sty)
(/usr/local/texlive/2019/texmf-dist/tex/latex/fontspec/fontspec.cfg)))
/usr/local/texlive/2019/texmf-dist/tex/latex/ebgaramond/ebgaramond.sty:140: LaT
eX3 Error: Command '\swshape' already defined!
For immediate help type H <return>.
...
l.140 \newfontfamily
\ebgaramondOsF
答案1
我建议,在该包的维护者提供更新以使其可以在最新版本的 LuaLaTeX 和 XeLaTeX 下编译之前,您要么按照 Ulrike 的建议并在加载包之前ebgaramond
发出指令,要么通过-路由加载字体。\let\swshape\undefined
ebgaramond
fontspec
\setmainfont
该路线的一个优点fontspec
是,它允许您启用“基本 5”组之外的其他连字符,即、ff、fi、ffi、fl 和 ffl。使用 LuaLaTeX 或 XeLaTeX,下面显示的 MWE(最小工作示例)会生成以下输出:
相比之下,使用 pdfLaTeX 生成的输出如下:
\documentclass{article}
\usepackage{iftex}
\ifluatex
\usepackage[no-math]{fontspec}
\setmainfont{EB Garamond}[Ligatures={TeX,Common,Rare},
Numbers={OldStyle,Proportional}] % choose suitable options
\else\ifxetex
\usepackage[no-math]{fontspec}
\setmainfont{EB Garamond}[Ligatures={TeX,Common,Rare},
Numbers={OldStyle,Proportional}]
\else % we must be using pdftex
\usepackage[oldstyle,proportional]{ebgaramond}
\fi\fi
\begin{document}
0123456789. ff fi ffi fl ffl. The. fb ffb fh ffh fj ffj fk ffk ft fft. \em as es is us
\end{document}