코드 목록 내부의 터키어(İ) 문자

코드 목록 내부의 터키어(İ) 문자

내 tex 파일에 Java 코드를 넣기 위해 목록 패키지를 사용하고 있습니다. 코드에 터키어 문자가 일부 포함되어 있습니다. 그래서 저는 그것들이 올바르게 나타나도록 하기 위해 literate 지시문을 사용하고 있습니다. 맨 위에 점이 있는 대문자 I인 "İ" 문자를 제외한 모든 것이 잘 작동합니다. 이 문자는 올바르게 렌더링되지 않습니다. 내 코드는 다음과 같습니다.

\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}

이것의 출력은 다음과 같습니다: 여기에 이미지 설명을 입력하세요

문자가 문자 하단에 가까운 선으로 잘못 표시됩니다. 올바른 출력은 상단에 점이 있는 "İ"와 같아야 합니다. 이 문제를 해결하기 위한 몇 가지 옵션이 있습니다. 그러나 아무도 효과가 없었습니다. 누구든지 해결책이 있습니까? 감사합니다...

답변1

지침을 추가하는 것이 좋습니다

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

당신의 전문에.

다음 예에서는 다양한 java... 색상이 정의되는 방법에 대한 정보를 제공하지 않았기 때문에 색상 코딩 선택을 수정해야 했습니다.

여기에 이미지 설명을 입력하세요

\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}

관련 정보