New answers tagged


It is not sufficient to set the input encoding. For correct uppercasing you also have to set TeX's internal encoding (which is in classical TeX and LaTeX identical to the font encoding) by choosing \usepackage[T1]{fontenc}


the issue is in the class file, which uses \uppercase for the case changing rather than \MakeUppercase. A fix: \makeatletter \def\@ucnt#1\thanks{\MakeUppercase{#1}\futurelet\@tempa\@ucnta} \makeatother The difference here is that \uppercase is a TeX primitive and can only case change 'native' input for the engine, whereas \MakeUppercase is set up to deal ...


In principle you can use the OpenType case feature or its fontspec interface Letters=Uppercase I can demonstrate with Caps and small Caps Which comes from \documentclass{article} \usepackage{fontspec} %\setmainfont{TeX Gyre Pagella}[Letters=Uppercase] \setmainfont{TeX Gyre Pagella}[Letters=SmallCaps] \begin{document} One two three $1=0$ and ...

Top 50 recent answers are included