MathJax не отображается внутри <details> без новой строки после <summary>

Привет — это продолжение моего предыдущего поста:


Я выяснил, что выражения MathJax внутри блоков <details> не отображаются, если сразу после тега <summary> не вставить перенос строки.


Минимальный пример воспроизведения:

Это не отображается:

<details><summary>Пример</summary>
$$
x^2 + y^2 = z^2
$$
</details>

Это отображается:

<details><summary>Пример</summary>

$$
x^2 + y^2 = z^2
$$
</details>

Примечания:

  • Такое поведение неочевидно и не задокументировано.
  • Оно влияет как на встроенные, так и на блочные выражения MathJax.
  • ChatGPT сообщил мне, что это «тестировалось на Discourse 3.2.0beta3 с настройками по умолчанию».

Можно ли сделать это поведение более надежным или задокументировать его в каком-либо месте для пользователей, полагающихся на математическую верстку?

У вас бы не возникло этой проблемы, если бы вы использовали блок details, что является рекомендуемым способом:

[details="Пример"]
$$
x^2 + y^2 = z^2
$$
[/details]

Ах, наверное, лучше не исправлять эту тему тогда


Исправить нужно было ChatGPT :rofl:

Да, это не ошибка, это ограничение/особенность CommonMark.

Смешивание HTML и Markdown подчиняется очень специфичным и порой неожиданным правилам.