如何使用 fontspec 将 normalsize 设置为 11pt?

如何使用 fontspec 将 normalsize 设置为 11pt?

我正在编写一份文档,其中重要的是字体规格是 Times New Roman 并且字体是 11pt。

这个问题(LuaLa)TeX 在哪里以及为什么会缩小请求的基本字体大小?提供了关于为什么会这样(几何级数)的讨论,并指出使用它很容易改变fontspec,但没有提供例子。

这个答案https://tex.stackexchange.com/a/46089/89786显示了如何使用文本片段来实现这一点。但我想将其重新定义\normalsize为全局精确的 11.pt,而不是其他字体。

我该怎么做?以下代码显示\normalsize字体为10.95pt。

\documentclass[english,11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}

\makeatletter
\usepackage{mathptmx}% http://ctan.org/pkg/mathptmx
\usepackage{fontspec}
\newcommand\thefontsize[2]{{#1 The current font size is: #2 \f@size pt\par}}

\makeatother

\fontsize{11pt}{12pt}\selectfont 

\begin{document}
\thefontsize\tiny{tiny}
\thefontsize\scriptsize{scriptsize}
\thefontsize\footnotesize{footnotesize}
\thefontsize\small{small}
\thefontsize\normalsize{normalsize}
\thefontsize\large{large}
\thefontsize\Large{Large}
\thefontsize\LARGE{LARGE}
\thefontsize\huge{huge}
\thefontsize\Huge{Huge}
\end{document}

在此处输入图片描述

答案1

将 LaTeX 默认值从 10.95 改为 11。您可能还想进行其他舍入。

\makeatletter
\renewcommand\@xipt{11}
\renewcommand\@xviipt{17}
\renewcommand\@xxpt{20}
\renewcommand\@xxvpt{25}
\makeatother

\documentclass[11pt]{article}

\usepackage{mathptmx}% http://ctan.org/pkg/mathptmx
\usepackage{fontspec}

\makeatletter
\newcommand\thefontsize[2]{{#1 The current font size is: #2 \f@size pt\par}}
\makeatother

\begin{document}
\thefontsize\tiny{tiny}
\thefontsize\scriptsize{scriptsize}
\thefontsize\footnotesize{footnotesize}
\thefontsize\small{small}
\thefontsize\normalsize{normalsize}
\thefontsize\large{large}
\thefontsize\Large{Large}
\thefontsize\LARGE{LARGE}
\thefontsize\huge{huge}
\thefontsize\Huge{Huge}
\end{document}

在此处输入图片描述

对于数学,我建议\usepackage{newtxmath}而不是mathptmx

相关内容