如何在 lstlisting 环境中使用扩展 ASCII 字符?

如何在 lstlisting 环境中使用扩展 ASCII 字符?

在 lstlisting 环境中使用扩展 ASCII 字符时,即对应于代码 191 - 197 的字符(字面意思是:┐、└、┴、┬、═、─、┼),latex 会产生以下错误:

Package inputenc Error: Unicode char �\lst@EC�\lst@EC� (U+2832C0)(inputenc) not set up for use with LaTeX. ├──

有什么方法可以在 lstlisting 中启用此类字符?使用\usepackage[utf8x]{inputenc}代替 并\usepackage[utf8]{inputenc}不能解决问题。

答案1

使用pmboxdrawliterate的键listings。 的文档中pmboxdraw有包含 LICR 名称的完整列表。

\documentclass{article}
\usepackage{listings,pmboxdraw}

\lstset{
  basicstyle=\ttfamily,
  columns=fullflexible,
  keepspaces,
  literate=
  {┐}{\textSFiii}1%
  {└}{\textSFii}1%
  {┴}{\textSFvii}1%
  {┬}{\textSFvi}1%
  {├}{\textSFviii}{1}%
  {─}{\textSFx}1%
  {┼}{\textSFv}1,
}

\begin{document}

\begin{lstlisting}
a b c d e f g
┐ └ ┴ ┬ ├ ─ ┼
\end{lstlisting}

\end{document}

enter image description here

相关内容