![列表中的 Unicode 字符](https://linux22.com/image/358077/%E5%88%97%E8%A1%A8%E4%B8%AD%E7%9A%84%20Unicode%20%E5%AD%97%E7%AC%A6%20.png)
我需要在论文附录中添加代码。代码包含注释,编译立即中断并返回:
Unicode char �\lst@FillFixed@ (U+5A8)
(inputenc) not set up for use with LaTeX.
l.160 if (lastArg < 0, lastArg = 360°
+ lastArg);
这只是产生问题的众多字符之一。我不能因为无法编译而更改整个代码。有没有办法包含任意 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);
这是输出。