Carácter turco (İ) dentro de los listados de códigos

Carácter turco (İ) dentro de los listados de códigos

Estoy usando el paquete de listados para poner código Java en mis archivos tex. Hay algunos caracteres turcos en el código. Entonces, estoy usando la directiva de alfabetización para que aparezcan correctamente. Todo funciona bien excepto el carácter "İ", la I mayúscula con un punto arriba. Este personaje no se representa correctamente. Mi código es el siguiente:

\usepackage{listings}

\lstset{
   language=Java,
   captionpos=t,
   tabsize=3,
   frame=single,
   frameround=tttt
   backgroundcolor=\color{highlight},
   basicstyle=\footnotesize\ttfamily,
   keywordstyle=\color{javapurple}\bfseries,
   commentstyle=\color{javagreen},
   stringstyle=\color{javared},
   morecomment=[s][\color{javadocblue}]{/**}{*/},
   numbers=left,
   numberstyle=\tiny,
   numbersep=5pt,
   breaklines=true,
   showstringspaces=false,
   emph={label},
   inputencoding=utf8,
   extendedchars=true,
   % German umlauts
   literate=%
   {Ö}{{\"O}}1
   {Ä}{{\"A}}1
   {Ü}{{\"U}}1
   {ß}{{\ss}}1
   {ü}{{\"u}}1
   {ä}{{\"a}}1
   {ö}{{\"o}}1
   %Türkçe karakterler
   {ı}{{\i}}1
   {İ}{{\.{I}}}1    % This is the problem character.
   {ğ}{{\u{g}}}1
   {Ğ}{{\u{G}}}1
   {ş}{{\c{s}}}1
   {Ş}{{\c{S}}}1
   {ç}{{\c{c}}}1
   {Ç}{{\c{C}}}1
}

\begin{lstlisting}
    System.out.println("Test: ı ü ğ ş ç ö, İ Ü Ğ Ş Ç Ö ");
\end{lstlisting}

El resultado de esto es el siguiente: ingrese la descripción de la imagen aquí

La carta se muestra incorrectamente con una línea cerca de la parte inferior de la carta. El resultado correcto debería ser como "İ", con un punto en la parte superior. Tengo varias opciones para solucionar esto. Pero ninguno funcionó. ¿Alguien tiene una solución? Gracias...

Respuesta1

Te sugiero que agregues las instrucciones.

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

a su preámbulo.

El siguiente ejemplo tuvo que modificar las opciones de codificación de colores ya que no proporcionó información sobre cómo se definen los distintos colores de Java....

ingrese la descripción de la imagen aquí

\documentclass{article}
\usepackage[utf8]{inputenc}  % assumes input is utf8-encoded
\usepackage[T1]{fontenc}
\usepackage{listings}
\usepackage{xcolor}
\begin{document}

\lstset{
   language=Java,
   captionpos=t,
   tabsize=3,
   frame=single,
   frameround=tttt
   backgroundcolor=\color{highlight},
   basicstyle=\footnotesize\ttfamily,
   keywordstyle=\color{purple}\bfseries,
   commentstyle=\color{green},
   stringstyle=\color{red},
   morecomment=[s][\color{blue}]{/**}{*/},
   numbers=left,
   numberstyle=\tiny,
   numbersep=5pt,
   breaklines=true,
   showstringspaces=false,
   emph={label},
   inputencoding=utf8,
   extendedchars=true,
   % German umlauts
   literate=%
   {Ö}{{\"O}}1
   {Ä}{{\"A}}1
   {Ü}{{\"U}}1
   {ß}{{\ss}}1
   {ü}{{\"u}}1
   {ä}{{\"a}}1
   {ö}{{\"o}}1
   %Türkçe karakterler
   {ı}{{\i}}1
   {İ}{{\.{I}}}1    % This is the problem character.
   {ğ}{{\u{g}}}1
   {Ğ}{{\u{G}}}1
   {ş}{{\c{s}}}1
   {Ş}{{\c{S}}}1
   {ç}{{\c{c}}}1
   {Ç}{{\c{C}}}1
}

\begin{lstlisting}
    System.out.println("Test: ı ü ğ ş ç ö, İ Ü Ğ Ş Ç Ö ");
\end{lstlisting}
\end{document}

información relacionada