![与 unicode-math 和列表冲突](https://linux22.com/image/331313/%E4%B8%8E%20unicode-math%20%E5%92%8C%E5%88%97%E8%A1%A8%E5%86%B2%E7%AA%81.png)
\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}