文本大小写、列表和波浪符号

文本大小写、列表和波浪符号

考虑以下 MWE:

\documentclass{scrreprt}

\usepackage{textcase}

\RequirePackage{listings}
\usepackage[american]{babel}

\begin{document}
    \MakeTextLowercase{A~B}
\end{document}

LaTeX 失败并出现错误

! Undefined control sequence.
<to be read again> az
                     b
l.9     \MakeTextLowercase{A~B}

? 

错误似乎出在MakeTextLowercaselistings包和波浪号的组合上。每当我删除这三个组件中的任何一个时,一切都会正常工作。有人知道问题出在哪里吗?

答案1

这是一个错误listings:它是全局设置的

\lccode`\~=`\z

这是不合理的。TeX 随后将小写化,~并且z找不到活动的定义z(很奇怪)。我建议简单地用

\lccode`\~=0\relax

之后立马

\usepackage{listings}

该错误本身是由内部宏引起的,它将和\lst@CCPut的设置\lccode为各种值以设置内部数据。遗憾的是,这不是在组中完成的,也没有“重置”代码来将事情恢复正常,所以我们得到了这两个代码点的“垃圾”小写映射。~/

相关内容