如何在列表的列表中正确显示〈和〉?

如何在列表的列表中正确显示〈和〉?

这个问题是'listings' 包和 UTF-8. 我正在尝试显示字符在清单中(来自包裹listings)。感谢Ulrike 的回答,我将它们添加到第一个的处理列表中,listings并使用extendedchars=true它们的 Unicode 位置(如果我没记错的话,2329232A)。

如下面的 MCE 所示,这些字符可以显示,但是位置不佳。

如何解决这个问题?

\documentclass{article}
\usepackage{fontspec}
\usepackage{kpfonts-otf}
\usepackage{listings}

\lstset{basicstyle=\ttfamily,extendedchars=true,frame=single}

\DeclareTextSymbol{\textlangle}\UnicodeEncodingName{"2329}
\DeclareTextSymbol{\textrangle}\UnicodeEncodingName{"232A}

\makeatletter
\lst@InputCatcodes
\def\lst@DefEC{%
 \lst@CCECUse \lst@ProcessLetter
  ^^80^^81^^82^^83^^84^^85^^86^^87^^88^^89^^8a^^8b^^8c^^8d^^8e^^8f%
  ^^90^^91^^92^^93^^94^^95^^96^^97^^98^^99^^9a^^9b^^9c^^9d^^9e^^9f%
  ^^a0^^a1^^a2^^a3^^a4^^a5^^a6^^a7^^a8^^a9^^aa^^ab^^ac^^ad^^ae^^af%
  ^^b0^^b1^^b2^^b3^^b4^^b5^^b6^^b7^^b8^^b9^^ba^^bb^^bc^^bd^^be^^bf%
  ^^c0^^c1^^c2^^c3^^c4^^c5^^c6^^c7^^c8^^c9^^ca^^cb^^cc^^cd^^ce^^cf%
  ^^d0^^d1^^d2^^d3^^d4^^d5^^d6^^d7^^d8^^d9^^da^^db^^dc^^dd^^de^^df%
  ^^e0^^e1^^e2^^e3^^e4^^e5^^e6^^e7^^e8^^e9^^ea^^eb^^ec^^ed^^ee^^ef%
  ^^f0^^f1^^f2^^f3^^f4^^f5^^f6^^f7^^f8^^f9^^fa^^fb^^fc^^fd^^fe^^ff%
  ^^^^20ac^^^^0153^^^^0152% nouveau pour xetex
  ^^^^2329%  Left-Pointing Angle Bracket
  ^^^^232a% Right-Pointing Angle Bracket
  ^^00}
\lst@RestoreCatcodes
\makeatother

\begin{document}
\ttfamily{}
⟨foo⟩
\begin{lstlisting}
⟨foo⟩
\end{lstlisting}
\end{document}

在此处输入图片描述

相关内容