Отрисовка BBCode и LaTeX в [grid] и [details]: объяснение неожиданного поведения
Я экспериментировал с тем, как Discourse обрабатывает LaTeX внутри тегов [grid] и [details], и хотел задокументировать здесь это поведение и обходное решение для тех, кто использует математическое форматирование.
Проблема
При использовании [grid] для размещения нескольких математических выражений LaTeX рядом, вставка даже одного пробела между двумя блоками встроенной математики $...$ внутри сетки нарушает отрисовку:
[grid]показывает контент рядом с$\text{whitespace} = 1$
- Но теги BBCode, такие как
[grid]и[/grid], становятся видимыми
Посмотрите на этот скриншот, где макет выглядит правильно, но [grid] отображается как текст:
Скриншот 1: [grid] виден, несмотря на корректную отрисовку
Диагностика
Парсер Markdown в Discourse интерпретирует:
$...$без пробелов между блоками как встроенную математику- Это вызывает путаницу в макете внутри
[grid] [grid]ожидает контент блочного уровня, а не встроенный
Решение
Используйте $$...$$ (блочный LaTeX) вместо встроенного $...$ внутри [grid], чтобы обеспечить корректную отрисовку. Пример:
[grid]
$$
\nabla \times \mathbf{A} = \left| \begin{matrix}
\hat{i} & \hat{j} & \hat{k} \\
\partial_x & \partial_y & \partial_z \\
A_x & A_y & A_z
\end{matrix} \right|
$$
$$
\nabla \times \mathbf{A} = \left| \begin{matrix}
\hat{i} & \hat{j} & \hat{k} \\
\partial_x & \partial_y & \partial_z \\
A_x & A_y & A_z
\end{matrix} \right|
$$
[/grid]
![screenshot showing visible [grid] BBCode](http://assets-meta-cdck-prod-meta.s3.dualstack.us-west-1.amazonaws.com/original/4X/b/0/e/b0ea810f54c14fd495383dbe4f533725ae4f5519.png)





