Я столкнулся с проблемой рендеринга встроенного MathJax в Discourse, когда математическое выражение следует за кавычным апострофом (U+2019), который часто подставляется «умными» кавычками в некоторых браузерах или редакторах.
Это отображается корректно:
$\mathbb{R}^2$'s basis
Здесь используется прямой ASCII-апостроф (U+0027).
\mathbb{R}^2’s basis
Это не отображается:
$\mathbb{R}^2$’s basis
$\mathbb{R}^2$’s basis
Здесь используется правая одинарная кавычка (U+2019), которую иногда автоматически вставляют мобильные клавиатуры, текстовые редакторы с поддержкой форматирования или при копировании/вставке из форматированных источников.
Ожидаемое поведение:
Обе версии должны корректно отображать математику. Символ, идущий сразу после блока встроенной математики, не должен влиять на парсинг MathJax.
Почему это важно:
- Это сложно обнаружить, если не сравнивать символы по Unicode.
- Кавычный апостроф визуально неотличим от прямого в большинстве шрифтов.
- Небольшое различие в форматировании не должно незаметно ломать рендеринг.
- Непоследовательное поведение подрывает опыт создания постов с большим количеством математики.