[Tex/LaTex] LaTeX \mathcal{w} has strange printout

mathcal

The follwing LaTex lines don't print out what I hope to see:

calculate $\rho_i^{t} = \| \mathcal{w}_{i}^{t} - \mathcal{w}_{i}^{t-1} \|_2$

what I get instead of the two w is that:

see here

Can anyone help me please?

Thank you!

Best Answer

That's because the font does not have lowercase characters. This is also documented in the TeXbook (in plain TeX you get the effect of \mathcal using \cal).

For example, ‘$\cal A$’ produces ‘𝒜‘ and ‘$\cal Z$‘ produces ‘𝒵’. But beware: This works only with the letters A to Z; you'll get weird results if you apply \cal to lowercase or Greek letters.

As you can see from the symbols table below, there are other characters encoded in the slots where lowercase usually is (w maps to slot 119).

enter image description here


That being said, some Unicode math fonts have a lowercase script alphabet, e.g. XITS Math. The Unicode version of Latin Modern unfortunately does not have a lowercase script alphabet.

\documentclass{article}
\usepackage{unicode-math}
\setmathfont{XITS Math}
\begin{document}
$\rho_i^{t} = \| \mathscr{w}_{i}^{t} - \mathscr{w}_{i}^{t-1} \|_2$
\end{document}

enter image description here