Latex - странное поведение символа "минус"

Есть такой минимальный воспроизводимый пример:

\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]. ("-"

Преодолеть ошибку можно двумя способами. И оба способа - странные... Вот они:

  1. Закомментировать строку \usepackage[english,russian]{babel} Документ отображается правильно.
  2. Написать тело документа, окружтв символ минуса пробелами: (" - ") Ошибка уходит, но документ при этом отображается НЕправилно. Вот так:

    ( - ")

Я предполагаю, чтот загадочное поведение знака "минус" (это действительно знак "минус" - проверял!) объясняется тем, что он воспринимается как символ переноса. Но как бороться с этим делом?


Ответы (1 шт):

Автор решения: Ainar-G

Это вина пакетов babel и babel-russian. Они определяют так назваемые shorthands:

A shorthand is a sequence of one or two characters that expands to arbitrary TEX code. Shorthands can be used for different kinds of things, for example: (1) in some languages shorthands such as "a are defined to be able to hyphenate the word if the encoding is OT1; (2) in some languages shorthands such as ! are used to insert the right amount of whitespace; (3) several kinds of discretionaries and breaks can be inserted easily with "-, "=, etc. (…)

Если вам действительно нужны именно простые двойные кавычки, можете попробовать вот так:

\catcode`@ = 11
\bbl@deactivate{"}
("-")

Или можете использовать русские кавычки вот так:

("`-"')

("<-">)
→ Ссылка