与 unicode-math 和列表冲突

与 unicode-math 和列表冲突
\documentclass{article}
\usepackage{unicode-math}
\usepackage{listings}
\usepackage{fancyvrb}

\begin{document}
\lstset{fancyvrb}
\begin{Verbatim}[commandchars=\\\{\}]
\pm 
\end{Verbatim}
\end{document}

这是最简代码。但我得到了错误“不正确的字母常数”。

附言:我需要\lstset{fancyvrb}

答案1

\pm内部定义为“字符 ±”。在清单中,代码\pm用于 \lccode 分配,但其值太大。您可以通过转换\pm为宏来避免此问题。清单对此的处理方式不同。例如

\documentclass{article}
\usepackage{unicode-math}
\usepackage{listings}
\usepackage{fancyvrb}

\AtBeginDocument{%
 \let\ORIpm\pm
 \renewcommand\pm{\ORIpm}}

\begin{document}


\lstset{fancyvrb}
\begin{Verbatim}[commandchars=\\\{\}]
\pm
\end{Verbatim}

\end{document}

相关内容