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}
lockstep
  • 250,273
interlude
  • 2,316

1 Answers1

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.

egreg
  • 1,121,712
  • my bad, sorry. great answer. even it would be great if someone put this some kind of faq. – interlude Apr 15 '12 at 16:44
  • @interlude This should really be addressed by fixing babel. – egreg Apr 15 '12 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 02 '18 at 12:19