有这样一个最小的可重现示例:
\documentclass[a4paper,11pt]{article}
\usepackage{cmap}
\usepackage[utf8]{inputenc}
\usepackage[english,russian]{babel}
\begin{document}
("-")
\end{document}
如果我尝试编译 pdf,我会收到错误消息:
TeX capacity exceeded, sorry [input stack size=5000]. ("-"
有两种方法可以克服错误。两种方式都很奇怪......它们是:
- 注释掉 \usepackage[english,russian]{babel} 行,文档显示正确。
编写文档的正文,用带空格的减号字符包围: (" - ") 错误消失,但文档显示不正确。像这样:
(-")
我认为减号的神秘行为(它实际上是一个减号 - 我检查过!)是因为它被认为是一个连字符。但是如何处理这种情况呢?
这是包
babel
和babel-russian
. 他们定义了所谓的速记:如果你真的想要纯双引号,你可以试试这个:
或者你可以使用这样的俄语引号: