继续迁移到,如何使中lualatex
的无衬线字体具有相同的外观?lualatex
pdflatex
是不是有什么我没有安装或者是命令错误?
\documentclass{article}
\RequirePackage{ifluatex}
\ifluatex
\RequirePackage{luacode}
\RequirePackage{fourier}
%\RequirePackage{helvet} % is useless
\RequirePackage{fontspec}
\setmainfont{Erewhon}
% "font-not-found"
\setsansfont{Helvetica}
\else
\RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc}
\RequirePackage{fourier}
\RequirePackage{helvet} % remplace arial pour les polices Sans Serif
\fi
\begin{document}
\textsf{Exercice}
\end{document}
答案1
从用法来看,\RequirePackage
我猜你正在编写一个包,所以你希望它尽可能独立于特定用户的设置。我假设你的用户应该拥有最新的 TeX 发行版,但不假设他们拥有可用作系统字体的字体。
将 Erewhon 设置为主字体可以通过
\setmainfont{Erewhon}[
Extension=.otf,
UprightFont=*-Regular,
ItalicFont=*-Italic,
BoldFont=*-Bold,
BoldItalicFont=*-BoldItalic,
SlantedFont=*-RegularSlanted,
BoldSlantedFont=*-BoldSlanted,
]
在许多系统上,这可以简化为\setmainfont{Erewhon}
,只要 TeX Live 中的字体已被系统的字体库所知;但是,如果需要,您必须为倾斜的变体补充字体名称:
\setmainfont{Erewhon}[
SlantedFont=Erewhon-RegularSlanted,
BoldSlantedFont=Erewhon-BoldSlanted,
]
Helvetica 的替代品是 TeX Gyre Heros:
\setsansfont{texgyreheros}[
Scale=MatchLowercase,% or MatchUppercase
Extension=.otf,
UprightFont=*-regular,
ItalicFont=*-italic,
BoldFont=*-bold,
BoldItalicFont=*-bolditalic,
]
如果系统识别 TeX Live 字体\setsansfont{TeX Gyre Heros}
就足够了。