我正在编写一份文档,其中重要的是字体规格是 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
。