lstlisting 内の Unicode 文字

lstlisting 内の Unicode 文字

論文の付録にコードを含める必要があります。コードにはコメントが含まれており、コンパイルがすぐに中断して次の結果が返されます。

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

これは、問題を引き起こす多くの文字のうちの 1 つにすぎません。コンパイルされないからといって、コード全体を変更することはできません。任意の Unicode 文字を含むコードを含める方法はありますか? ありがとうございます。

編集:要求どおりにサンプルコードを完成させます。

\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);

この問題に関して言うべきことはあまりありません。リスト内のすべての Unicode 文字を使用できるようにしたいだけです。ありがとうございます。

答え1

Unicode 文字を適切な方法で定義します。

\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);

出力は次のとおりです。

ここに画像の説明を入力してください

関連情報