Проблема
Discourse-math отлично отображается в браузере, но в контекстах, где JavaScript не может выполняться, математика возвращается к исходному коду LaTeX. Два высокоприоритетных случая:
- Печать (
/printили печать в PDF через браузер): математика отображается как$...$вместо отрисованных символов. - Электронные письма (дайджесты, уведомления, подписки): математика доставляется в исходном виде и нечитаема для получателей, если они не копируют и не вставляют её в редактор LaTeX.
Это нарушает важные рабочие процессы для сообществ, полагающихся на Discourse для технической документации.
Почему это важно
- Преподаватели и исследователи в области STEM часто нуждаются в печати тем или пересылке писем. Если математика нечитаема, такие экспорты становятся бесполезными.
- Другие пробелы в печати/письмах (спойлеры, oneboxes, изображения) уже исправлены — отсутствие поддержки математики является очевидным упущением.
- Поддержка обработанной математики в контекстах без JavaScript сделала бы Discourse платформой первого класса для технических сообществ.
Предлагаемое решение
- Лёгкий шаг (печать):
- Обеспечить, чтобы вид
/printвключал обработанный HTML-код математики. - Запускать типовую обработку MathJax перед печатью.
- Обеспечить, чтобы вид
- Более сложный шаг (электронные письма):
- Изучить серверную отрисовку MathJax, как предложил Сэм.
- Отрисовывать математику в SVG или предварительно обработанный HTML, чтобы получатели видели читаемые формулы непосредственно в почтовых клиентах.
- Опциональная настройка сайта:
- «Использовать обработанную математику в виде для печати/письмах» → позволяет администраторам выбирать между исходным кодом и отрисованной математикой.
Связанные задачи / предшествующая работа
Исправлена математика внутри панелей [details](PR #111, июнь 2025).
В виде для печати уже были исправления для спойлеров и oneboxes → это служит прецедентом для включения обработанных элементов.
Электронные письма: комментарий Сэма (#214) определил серверную отрисовку как долгосрочное решение.
Резюме / TL;DR
В настоящее время математика в виде для печати и в письмах возвращается к исходному коду LaTeX. Добавление отрисовки обработанной математики сделало бы PDF-файлы и дайджесты читаемыми, профессиональными и согласованными с тем, что пользователи видят в браузере.
Воспроизвести в Discourse с iOS Safari
Даже при включённой опции Запросить версию для ПК в Safari, Discourse всё равно добавляет
?mobile_view=1 при открытии /print, что принудительно включает упрощённую мобильную версию для печати.
Обходной путь: вручную изменить на ?mobile_view=0 для получения полной версии для печати с макетом для ПК.
Пример
/t/fw-the-email-subject/12345/print?mobile_view=0