Запрос функции: поддержка \nicefrac в Discourse Math (\KaTeX/\MathJax)

:puzzle_piece: Запрос функции: Добавить поддержку \nicefrac в рендеринг математики в Discourse

Краткое описание

Пожалуйста, добавьте поддержку команды \nicefrac{a}{b} в рендеринг математики в Discourse. Эта компактная дробь в диагональном стиле идеально подходит для встроенных выражений, улучшая читаемость без нарушения межстрочного интервала.


:test_tube: Зачем нужен \nicefrac?

  • Создает чистые диагональные (косые) дроби, например $ \nicefrac{1}{2} $
  • Более элегантно, чем 1/2, и менее громоздко, чем \dfrac{1}{2}
  • Широко используется в физике, статистике и математических текстах

:package: Примечания по реализации

Discourse может поддерживать математику через KaTeX или MathJax в зависимости от установленного плагина. В этом запросе функции описана реализация для обоих вариантов:

:white_check_mark: MathJax

MathJax может поддерживать \nicefrac, если загружено соответствующее расширение:

MathJax.Hub.Config({
  TeX: {
    extensions: ["AMSmath.js", "nicefrac.js"]
  }
});

Это может означать, что изменения в ядре не потребуются — достаточно обновить конфигурацию плагина для включения расширения.

:wrench: KaTeX

KaTeX не поддерживает \nicefrac нативно. Возможно, удастся реализовать следующее макрос-решение:

macros: {
  "\\nicefrac": "\\raisebox{.5ex}{\\footnotesize #1}/\\raisebox{-.25ex}{\\footnotesize #2}"
}

Альтернативно, стоит изучить возможность поддержки через сторонние расширения KaTeX, такие как katex-extension.


:magnifying_glass_tilted_left: Воспроизведение

Попробуйте отрендерить следующее:

$\nicefrac{3}{4}$

Результат в KaTeX:

`KaTeX parse error: Undefined control sequence: \nicefrac

Результат в MathJax (если расширение не загружено):

LaTeX Error: Command \nicefrac undefined `MathJax parse error: Undefined control sequence: \nicefrac


:white_check_mark: Ожидаемое поведение

  • $ \nicefrac{3}{4} $ отображается как корректная диагональная дробь
  • Должна обеспечиваться стабильная работа как в KaTeX, так и в MathJax установках провайдерах
  • Желательно отсутствие ошибок парсинга и путаницы у пользователей

:speech_balloon: Мотивация

  • \nicefrac широко используется в документах LaTeX и учебных материалах
  • Встроенные дроби выглядят более естественно в тексте
  • Улучшает форматирование математики в сообществах Discourse, ориентированных на STEM

:link: Ссылки

Спасибо за рассмотрение этого небольшого, но ценного улучшения рендеринга математики в Discourse!