mathpazo + siunitx: π turns into ß
As others have observed, the issue here is the way the mathpazo
treats \pi
. I would go with
\documentclass{article}
\usepackage{mathpazo, siunitx}
\protected\def\numpi{\text{\ensuremath{\pi}}}
\sisetup{input-symbols = \numpi}
\begin{document}
$\pi + \SI{\numpi}{\ohm}$
\end{document}
The idea here is that this approach forces the use of the 'standard' font for \pi
in all cases (it's safe in both math and text mode). There are reasons that siunitx
uses \mathrm
rather than \mathnormal
as the standard math mode font: try
\documentclass{article}
\begin{document}
$\mathnormal{123}$
\end{document}
to see why!
The following rectifies your problem:
\pi
withoutsiunitx
ormathpazo
is defined as\mathchar"119
;\pi
under onlysiunitx
remains the same (\mathchar"119
);\pi
under onlymathpazo
is defined as\mathchar"7119
.
Since siunitx
does not touch the definition of \pi
and the load order does not correct for this, redefining \pi
works:
\documentclass{article}
\usepackage{siunitx,mathpazo}
\begin{document}
$\pi + \SI{\pi}{\ohm}$ \par
\renewcommand{\pi}{\mathchar"119}% Revert to original mathchar definition for \pi
$\pi + \SI{\pi}{\ohm}$ \par
\end{document}
The problem is that mathpazo defines \pi
as \mathalpha
, that is it adds "7000
to its code and that siunitx uses by default \mathrm
in the arguments of \SI
:
\sisetup{number-math-rm=\mathnormal}
would be wrong; use
\SI[number-math-rm=\mathnormal]{\pi}{\ohm}