# Helvetica not scaling with mtpro2

This LaTeX file:

\documentclass[twoside]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\makeatletter
\renewcommand{\rmdefault}{ptm}
\renewcommand{\ttdefault}{pcr}
\renewcommand{\sfdefault}{phv}
\usepackage{mtpro2}
\makeatother
\begin{document}
$x$ $\mathsf{x}$ \textsf{x} x
\end{document}


produces the pdf output with sans serif font Helvetica too large.

This LaTeX file:

\documentclass[twoside]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\makeatletter
\renewcommand{\rmdefault}{ptm}
\renewcommand{\ttdefault}{pcr}
\usepackage[scaled=.90]{helvet}
\usepackage{mtpro2}
\makeatother
\begin{document}
$x$ $\mathsf{x}$ \textsf{x} x
\end{document}


produces exactly the same pdf output, with Helvetica still too large.

HELVETICA DOES NOT SCALE.

Why? What can be done?

System:
Up to date texlive 2018 on iMac. Compiled using pdflatex, and pdf viewed with Apple Preview. Using adobe type 1 fonts. Same result using urw type 1 fonts.

PROBLEM: \usepackage[scaled=.91]{helvet} was not working

SOLUTION: I had two copies of t1phv.fd on my system. The one in texmf-local did not provide for scaling. I commented it out and now pdflatex uses the other one, located in texmf-dist, which does allow scaling.

NOTE: Package newtxtext breaks \renewcommand{\rmdefault}{bch} . When using it I could not later change rmdefault to Bitstream Charter. Bug in newtxtext IMHO. If only someone would simply break txfonts into txfontstext and txfontsmath without all of the fanciness of newtxfonts, it would be a great service. THANK YOU FOR ALL ANSWERS!

• Works fine for me (but I had to use \usepackage[lite]{mtpro2} as I don't have the full set). Show your log-file. – Ulrike Fischer Feb 4 at 23:15
• Probably unrelated to your problem, but latin9 is an unusual file encoding for mac. Please check if your file really is encoded in latin9. – user36296 Feb 5 at 0:28
• You don’t need \makeatletter and \makeatother. Also, since you are using Times font, you can use \usepackage{newtxtext} for text followed by \usepackage{mtpro2} for math. The former sets up Times as the serif font, and Helvetica (automatically scaled at 0.9) as the sans-serif font. – Ruixi Zhang Feb 5 at 1:34

I'm assuming that you want the sans-serif font (an Helvetica clone) to have the same x-height as does the main text font, a serif Times Roman clone. If that's the case, I suggest you replace the instruction \renewcommand{\sfdefault}{phv} with

\usepackage[scaled=0.865]{helvet}


Note the rather severe scaling factor of 0.865. I obtained it empirically. Interestingly (to me at least), it's slightly smaller than the 0.9 scaling factor applied by the newtxtext package. (As @RuixiZhang has aldready noted in a comment, the newtxtext text font package automatically sets Helvetica as the sans-serif font, scaled down by a factor 0.9.)

Of course, this approach doesn't provide any scaling for the Courier monospaced font. If you wanted to do something about that, I suggest you do load the newtxtext package -- followed by \usepackage[scaled=0.865]{helvet} if you can't abide the package's 0.9 scaling factor for Helvetica. Do be aware, though, that newtxtext also chooses the bold variant of Courier to be the default monospaced font. This is done, I would assume, because the "regular" Courier variant is quite light.

\documentclass[border=0.5pt,12pt]{standalone}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\renewcommand{\rmdefault}{ptm}
\renewcommand{\ttdefault}{pcr}
%\renewcommand{\sfdefault}{phv}
\usepackage[scaled=0.865]{helvet}
\usepackage{mtpro2}

\begin{document}
x \textsf{x} $\mathsf{x}$ \textbf{x} $\mathbf{x}$ \textsf{\textbf{x}} \texttt{x}
\end{document}