我无法重现 pdfLaTeX 小型大写字母、(数学/文本)粗体和数学运算符。以下是它在 pdfLaTeX 中的样子:
这就是我想要的 LuaLaTeX 的样子。相反,我得到的是:
主字体和非主字体看起来都不错。
\documentclass{article}
\renewcommand{\rmdefault}{ptm}
\renewcommand{\sfdefault}{phv}
\usepackage{ifluatex}
\ifluatex
\usepackage{fontspec}
\setmainfont{TeX Gyre Termes}
\setsansfont{TeX Gyre Heros}
\else
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{microtype}
\fi
\begin{document}
\textsc{Test} $\mathbf{r}$ \textbf{m} $\max$
\end{document}
答案1
如果你愿意更换
\renewcommand{\rmdefault}{ptm}
\renewcommand{\sfdefault}{phv}
和
\usepackage{newtxtext}
\usepackage[scaled=0.88]{helvet}
并更改\setsansfont{TeX Gyre Heros}
为\setsansfont{TeX Gyre Heros}[Scale=MatchLowercase]
,您将获得 pdfLaTeX 和 LuaLaTeX 输出之间更好的对应关系。
以下是使用 pdfLaTeX 编译下面显示的测试文档的输出:
以下是相应的 LuaLaTeX 输出:
\documentclass{article}
\usepackage{iftex} % iftex combines the conditionals of ifluatex, ifxetex, and ifpdftex packages
\ifluatex
\usepackage[no-math]{fontspec}
\setmainfont{TeX Gyre Termes}
\setsansfont{TeX Gyre Heros}[Scale=MatchLowercase]
\else
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
%\renewcommand{\rmdefault}{ptm}
%\renewcommand{\sfdefault}{phv}
\usepackage{newtxtext}
\usepackage[scaled=0.88]{helvet}
\fi
\usepackage{microtype}
\begin{document}
\textsc{Test} \textbf{mno} \textsf{Hello} $\mathbf{r}$ $\max$ $\det$
\end{document}