lstlisting의 유니코드 문자

lstlisting의 유니코드 문자

논문 부록에 코드를 포함시켜야 합니다. 코드에는 주석이 포함되어 있으며 컴파일이 즉시 중단됩니다.

Unicode char �\lst@FillFixed@ (U+5A8)
(inputenc)                not set up for use with LaTeX.
l.160       if (lastArg < 0, lastArg = 360° 
                                             + lastArg);

이것은 문제를 일으키는 많은 캐릭터 중 하나일 뿐입니다. 이것이 컴파일되지 않기 때문에 전체 코드를 변경할 수는 없습니다. 임의의 유니코드 문자가 포함된 코드를 포함할 수 있는 방법이 있나요? 감사합니다.

편집하다:요청한 대로 샘플 코드를 완성하세요.

\RequirePackage[l2tabu,orthodox]{nag}


\documentclass[headsepline,footsepline,footinclude=false,oneside,fontsize=11pt,paper=a4,listof=totoc,bibliography=totoc]{scrbook} % one-sided


\usepackage[toc,page]{appendix}
\usepackage{listings}
\usepackage[utf8]{inputenc}

\lstset{
    inputencoding=utf8,
  extendedchars=true,
  basicstyle=\footnotesize\ttfamily,
  showstringspaces=false,
  showspaces=false,
  numbers=left,
  numberstyle=\footnotesize,
  numbersep=9pt,
  tabsize=2,
  breaklines=true,
  showtabs=false,
  captionpos=b,
    literate={ö}{{\"o}}1 {ä}{{\"a}}1 {ü}{{\"u}}1 
}

\begin{document}

\begin{appendices}
\lstinputlisting{code/power_series.html}
\end{appendices}

\end{document}

관련 내용 power_series.html:

if (lastArg < 0, lastArg = 360° + lastArg);

이 문제에 대해서는 실제로 할 말이 많지 않습니다. 목록 내에서 모든 유니코드 문자만 사용할 수 있기를 원합니다. 감사합니다.

답변1

유니코드 문자를 적절한 방법으로 정의하십시오.

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{listingsutf8}

\protected\def\dg{\ensuremath{^\circ}}
\DeclareUnicodeCharacter{05A8}{\dg}

\lstset{
    inputencoding=utf8,
  extendedchars=true,
  basicstyle=\footnotesize\ttfamily,
  showstringspaces=false,
  showspaces=false,
  numbers=left,
  numberstyle=\footnotesize,
  numbersep=9pt,
  tabsize=2,
  breaklines=true,
  showtabs=false,
  captionpos=b,
  literate={ö}{{\"o}}1 {ä}{{\"a}}1 {ü}{{\"u}}1 {°}{\dg}1
}

\begin{document}

\lstinputlisting{\jobname.html}

\end{document}

파일 \jobname.html에는 다음이 포함되어 있습니다.

if (lastArg < 0, lastArg = 360° + lastArg);

출력은 다음과 같습니다.

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

관련 정보