11

I'm using SIAM's stylesheet (siamart.cls), and the stylesheet doesn't seem to correctly capitalize the Polish ł to an Ł.

\documentclass{siamart}
\usepackage[utf8]{inputenc}
\title{Title Łitłe}
\author{Authør Łauthør Thorłør}
\begin{document}
\maketitle
\end{document}

Polish error example

It correctly capitalizes the ø to an Ø. I've also tried using '\l' and '\L'.

Question: Is the error on my side, or on the stylesheet's side?

12

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 with a range of additional macro-based entries, including \l.

2
  • 3
    There are a few more places where the class uses \uppercase instead of \MakeUppercase, which can also have adverse effects on non English documents.
    – egreg
    Jan 26 '16 at 16:46
  • @egreg Probably: I didn't pursue all possible cases
    – Joseph Wright
    Jan 26 '16 at 16:53
1

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}
1
  • Thanks, I actually have this in my full document, but that does not help. As you can see in the picture, the letter Ł does indeed exist, but ł isn't capitalized correctly.
    – Pål GD
    Jan 26 '16 at 16:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.