[Tex/LaTex] How to use fontspec to set normalsize to 11pt

fontsizeluatex

I'm writing a document where it is important that the font specification is times new roman and the font is 11pt.

This question Where and why does (LuaLa)TeX scale down the requested base font size? provides a discusseion regarding why this is so (geometric progression) and states that it's easy to change using fontspec but does not provide an example.

This answer https://tex.stackexchange.com/a/46089/89786 shows how it can be done with snippets of text. But I want to redefine \normalsize to be precisely 11.pt globally, but not the other fonts.

How do i do it? The following code shows that the \normalsize font is 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}

enter image description here

Best Answer

Change the LaTeX default to be 11 instead of 10.95. You may also want to do other roundings.

\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}

enter image description here

For math, I recommend \usepackage{newtxmath} rather than mathptmx.