12

I can't make uppercase of turkish characters like Giriş Tex converts it to GIRIş instead of GİRİŞ.. It's making me crazy.

%this is mwe i guess
\documentclass[12pt,a4paper]{article}

\usepackage[utf8]{inputenc}
\usepackage{titlesec}

\usepackage[T1]{fontenc}
\usepackage[turkish]{babel}
\usepackage{pslatex}
\begin{document}
\uppercase{Giriş}
\end{document}
1

1 Answer 1

12

It's a deficiency in the setup by babel:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[turkish]{babel}

\addto\extrasturkish{%
  \uccode`i=\string"9D \uccode\string"19 = `I
  \lccode\string"9D=`i \lccode`I=\string"19 }
\addto\noextrasturkish{%
  \uccode`i=`I \lccode`I=`i }

\begin{document}
\MakeUppercase{Giriş}

\MakeLowercase{GİRİŞ}
\end{document}

It's better to do it this way instead of globally changing the tables.

In the T1 encoding the character "dotless i" is at position "19 and "dotted I" is at "9D.

3
  • my bad, sorry. great answer. even it would be great if someone put this some kind of faq.
    – interlude
    Apr 15, 2012 at 16:44
  • @interlude This should really be addressed by fixing babel.
    – egreg
    Apr 15, 2012 at 16:44
  • 1
    Note: the problem has long been solved: with version 1.3a of turkish.ldf, released 2014-01-14, the correspondence between uppercase and lowercase letters has been fixed.
    – egreg
    Jan 2, 2018 at 12:19

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.