babel、listing 和 arsclassica 之间可能存在不兼容问题

babel、listing 和 arsclassica 之间可能存在不兼容问题
\documentclass{scrbook}

\usepackage[english]{babel}

\usepackage[listings]{classicthesis} % or \usepackage{listings} - also causes the error
\usepackage{arsclassica}

\begin{document}

\paragraph{a~b}

\end{document}

上述代码会导致错误:

! 未定义控制序列。
<<插入文本>> az;
                   b
l.10 \paragraph{ab~cd}

babel删除包含 packages: 、listings或 的三行中的任意一行后arsclassica,文档即可成功编译。

重要的是,更改~ 可使代码再次运行。同样,将~外部处置命令(\paragraph{}\section{})放入文本主体中也有效。

我无法进一步追踪错误的根源。

是否可以以某种方式一起使用这三个包?

答案1

这是一个已知错误listings。作为约瑟夫·赖特的回答状态:

添加

 \lccode`\~=0\relax 

加载后listings修复问题:

\documentclass{scrbook}

\usepackage[english]{babel}

\usepackage[listings]{classicthesis} % or \usepackage{listings} - also causes the error
\lccode`\~=0\relax % <-- the fix
\usepackage{arsclassica}

\begin{document}

\paragraph{a~b}

\end{document}

相关内容