⚠️ LaTeX en línea $...$ dentro de [grid] filtra BBCode cuando se usa con [details]

Renderizado de BBCode y LaTeX en [grid] y [details]: Explicación del comportamiento inesperado

He estado experimentando con la forma en que Discourse maneja LaTeX dentro de [grid] y [details] y quería documentar el comportamiento y la solución aquí para otros que usan formato con muchas matemáticas.

:warning: Problema

Al usar [grid] para organizar múltiples expresiones LaTeX una al lado de la otra, insertar incluso un solo espacio en blanco entre dos bloques de matemáticas en línea $...$ dentro de la cuadrícula rompe la renderización:

  • [grid] muestra contenido uno al lado del otro con \\text{espacio en blanco} = 1 :white_check_mark:
  • Pero las etiquetas BBCode como [grid] y [/grid] se vuelven visibles :cross_mark:

Vea esta captura de pantalla, donde el diseño se ve correcto pero [grid] aparece como texto:

:backhand_index_pointing_right: Captura de pantalla 1: [grid] visible a pesar de renderizarse correctamente


:magnifying_glass_tilted_left: Diagnóstico

El analizador de markdown de Discourse interpreta:

  • $...$ sin espacio en blanco entre bloques como matemáticas en línea
  • Esto causa confusión en el diseño dentro de [grid]
  • [grid] espera contenido a nivel de bloque, no en línea

:white_check_mark: Solución

Use $$...$$ (LaTeX de bloque) en lugar de $...$ en línea dentro de [grid] para garantizar una renderización correcta. Ejemplo:

[grid]
$$
\\nabla \\times \\mathbf{A} = \\left| \\begin{matrix}
\\hat{i} \u0026 \\hat{j} \u0026 \\hat{k} \\\\
\\partial_x \u0026 \\partial_y \u0026 \\partial_z \\\\
A_x \u0026 A_y \u0026 A_z
\\end{matrix} \\right|
$$
$$
\\nabla \\times \\mathbf{A} = \\left| \\begin{matrix}
\\hat{i} \u0026 \\hat{j} \u0026 \\hat{k} \\\\
\\partial_x \u0026 \\partial_y \u0026 \\partial_z \\\\
A_x \u0026 A_y \u0026 A_z
\\end{matrix} \\right|
$$
[/grid]

así que pensé en actualizar todo en el panel de administración y ponerme a hacer algunas pruebas


[details="derivando la fórmula para el rizo cartesiano"]
[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]

[grid]
$$\begin{align*} \nabla \times \mathbf{A} = \\ &\hat{i} \left| \begin{matrix} \partial_y & \partial_z \\ A_y & A_z \end{matrix} \right| - \hat{j} \left| \begin{matrix} \partial_x & \partial_z \\ A_x & A_z \end{matrix} \right| \\ &+ \hat{k} \left| \begin{matrix} \partial_x & \partial_y \\ A_x & A_y \end{matrix} \right| \end{align*}$$

$$\begin{align*} \nabla \times \mathbf{A} = \\ &\hat{i} \left| \begin{matrix} \partial_y & \partial_z \\ A_y & A_z \end{matrix} \right| + \hat{j} \left| \begin{matrix} A_z & A_x \\ \partial_z & \partial_x \end{matrix} \right| \\ &+ \hat{k} \left| \begin{matrix} \partial_x & \partial_y \\ A_x & A_y \end{matrix} \right| \end{align*}$$
[/grid]
[/details]

pasa :white_check_mark:


la IA se equivoca al poner demasiado espacio en blanco entre dos $...$ en grid
[details="derivando la fórmula para el rizo cartesiano"]
[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]

[grid]
$\begin{aligned} \nabla \times \mathbf{A} = \\ &\hat{i} \left| \begin{matrix} \partial_y & \partial_z \\ A_y & A_z \end{matrix} \right| - \hat{j} \left| \begin{matrix} \partial_x & \partial_z \\ A_x & A_z \end{matrix} \right| \\ &+ \hat{k} \left| \begin{matrix} \partial_x & \partial_y \\ A_x & A_y \end{matrix} \right| \end{aligned}$

$\begin{aligned} \nabla \times \mathbf{A} = \\ &\hat{i} \left| \begin{matrix} \partial_y & \partial_z \\ A_y & A_z \end{matrix} \right| + \hat{j} \left| \begin{matrix} A_z & A_x \\ \partial_z & \partial_x \end{matrix} \right| \\ &+ \hat{k} \left| \begin{matrix} \partial_x & \partial_y \\ A_x & A_y \end{matrix} \right| \end{aligned}$
[/grid]
[/details]

falla :cross_mark:


[details="derivando la fórmula para el rizo esférico"]

[grid]
$$\nabla \times \mathbf{A} = \frac{1}{r^2 \sin\theta} \left| \begin{matrix} \hat{r} & r\hat{\theta} & r\sin\theta\,\hat{\phi} \\ \partial_r & \partial_\theta & \partial_\phi \\ A_r & r A_\theta & r\sin\theta\, A_\phi \end{matrix} \right|$$

$$\begin{vmatrix} \hat{r} & \hat{\theta} & \hat{\phi} \\ \partial_\theta & \partial_\phi & \partial_r \\ r A_\theta & r \sin\theta A_\phi & A_r \end{vmatrix} = \frac{1}{r^2 \sin\theta}$$
[/grid]

[grid]
$$\begin{align*} = \frac{1}{r^2 \sin\theta} \Big( &\hat{r} \left| \begin{matrix} \partial_\theta & \partial_\phi \\ r A_\theta & r \sin\theta A_\phi \end{matrix} \right| \\ &- \hat{\theta} \left| \begin{matrix} \partial_r & \partial_\phi \\ A_r & r \sin\theta A_\phi \end{matrix} \right| \\ &+ \hat{\phi} \left| \begin{matrix} \partial_r & \partial_\theta \\ A_r & r A_\theta \end{matrix} \right| \Big) \end{align*}$$

$$\begin{align*} = \frac{1}{r^2 \sin\theta} \Big( &\hat{r} \left| \begin{matrix} \partial_\phi & \partial_r \\ r \sin\theta A_\phi & A_r \end{matrix} \right| \\ &+ \hat{\theta} \left| \begin{matrix} A_r & r \sin\theta A_\phi \\ \partial_r & \partial_\phi \end{matrix} \right| \\ &+ \hat{\phi} \left| \begin{matrix} \partial_\theta & \partial_r \\ r A_\theta & A_r \end{matrix} \right| \Big) \end{align*}$$
[/grid]

[/details]

pasa :white_check_mark:


[details="derivando la fórmula para el rizo esférico"]

[grid]
$$\nabla \times \mathbf{A} =\frac{1}{r^2 \sin\theta}\left| \begin{matrix} \hat{r} & r\hat{\theta} & r\sin\theta\,\hat{\phi} \\ \partial_r & \partial_\theta & \partial_\phi \\ A_r & r A_\theta & r\sin\theta\, A_\phi \end{matrix} \right|$$

$$\begin{vmatrix} \hat{r} & \hat{\theta} & \hat{\phi} \\ \partial_\theta & \partial_\phi & \partial_r \\ r A_\theta & r \sin\theta A_\phi & A_r \end{vmatrix} = \frac{1}{r^2 \sin\theta}$$
[/grid]

[grid] $\begin{align} = \frac{1}{r^2 \sin\theta} \Big( &\hat{r} \left| \begin{matrix} \partial_\theta & \partial_\phi \\ r A_\theta & r \sin\theta A_\phi \end{matrix} \right| \\ &- \hat{\theta} \left| \begin{matrix} \partial_r & \partial_\phi \\ A_r & r \sin\theta A_\phi \end{matrix} \right| \\ &+ \hat{\phi} \left| \begin{matrix} \partial_r & \partial_\theta \\ A_r & r A_\theta \end{matrix} \right| \Big) \end{align}$ $\begin{align} = \frac{1}{r^2 \sin\theta} \Big( &\hat{r} \left| \begin{matrix} \partial_\phi & \partial_r \\ r \sin\theta A_\phi & A_r \end{matrix} \right| \\ &+ \hat{\theta} \left| \begin{matrix} A_r & r \sin\theta A_\phi \\ \partial_r & \partial_\phi \end{matrix} \right| \\ &+ \hat{\phi} \left| \begin{matrix} \partial_\theta & \partial_r \\ r A_\theta & A_r \end{matrix} \right| \Big) \end{align}$ [/grid]

[/details]

pasa :white_check_mark:


[details="derivando la fórmula para el rizo esférico"]

[grid]
$$\nabla \times \mathbf{A} =\frac{1}{r^2 \sin\theta}\left| \begin{matrix} \hat{r} & r\hat{\theta} & r\sin\theta\,\hat{\phi} \\ \partial_r & \partial_\theta & \partial_\phi \\ A_r & r A_\theta & r\sin\theta\, A_\phi \end{matrix} \right|$$

$$\begin{vmatrix} \hat{r} & \hat{\theta} & \hat{\phi} \\ \partial_\theta & \partial_\phi & \partial_r \\ r A_\theta & r \sin\theta A_\phi & A_r \end{vmatrix} = \frac{1}{r^2 \sin\theta}$$
[/grid]

[grid] $\begin{align} = \frac{1}{r^2 \sin\theta} \Big( &\hat{r} \left| \begin{matrix} \partial_\theta & \partial_\phi \\ r A_\theta & r \sin\theta A_\phi \end{matrix} \right| \\ &- \hat{\theta} \left| \begin{matrix} \partial_r & \partial_\phi \\ A_r & r \sin\theta A_\phi \end{matrix} \right| \\ &+ \hat{\phi} \left| \begin{matrix} \partial_r & \partial_\theta \\ A_r & r A_\theta \end{matrix} \right| \Big) \end{align}$ $\begin{align} = \frac{1}{r^2 \sin\theta} \Big( &\hat{r} \left| \begin{matrix} \partial_\phi & \partial_r \\ r \sin\theta A_\phi & A_r \end{matrix} \right| \\ &+ \hat{\theta} \left| \begin{matrix} A_r & r \sin\theta A_\phi \\ \partial_r & \partial_\phi \end{matrix} \right| \\ &+ \hat{\phi} \left| \begin{matrix} \partial_\theta & \partial_r \\ r A_\theta & A_r \end{matrix} \right| \Big) \end{align}$ [/grid]

[/details]

ahí es donde falla

:warning: el problema es que estoy poniendo muy poco espacio en blanco entre [grid] → object y/o object → [/grid]

1 me gusta

i thought i should at least conculde mathematically accurate information, not ChatGPT waffle :grinning_face:


\frac{1}{r^2 \sin\theta} \left| \begin{matrix} \textcolor{orange}{\hat{r}} & r\hat{\theta} & r\sin\theta,\,\hat{\phi} \\ \partial_r & \boxed{\partial_\theta} & \boxed{\partial_\phi} \\ A_r & \boxed{r A_\theta} & \boxed{r\sin\theta,\, A_\phi} \end{matrix} \right|
\frac{1}{r^2 \sin\theta} \left| \begin{matrix} \textcolor{orange}{\hat{r}} & r\hat{\theta} & r\sin\theta,\,\hat{\phi} \\ \partial_r & \boxed{\partial_\theta} & \boxed{\partial_\phi} \\ A_r & \boxed{r A_\theta} & \boxed{r\sin\theta,\, A_\phi} \end{matrix} \right|
el 1er término del Curl

[center]
\Huge \frac{1}{r^2 \sin\theta} \cdot \textcolor{orange}{\hat{r}}\begin{vmatrix} \partial_\theta & \partial_\phi \\ r A_\theta & r\sin\theta,\, A_\phi \end{vmatrix}
[/center]


\textcolor{red}{ \frac{1}{r^2 \sin\theta} \left| \begin{matrix} \hat{r} & \textcolor{purple}{r\hat{\theta}} & r\sin\theta,\,\hat{\phi} \\ \left|\overrightarrow{\partial_r}\right| & \partial_\theta & \left|\overrightarrow{\;\;\;\;\partial_\phi\;}\right. \\ \left|\underrightarrow{A_r}\right| & r A_\theta & \underrightarrow{\biggl| \, r\sin\theta\, A_\phi \,} \end{matrix} \right| }
\textcolor{green}{ \frac{1}{r^2 \sin\theta} \left| \begin{matrix} \hat{r} & \textcolor{purple}{r\hat{\theta}} & r\sin\theta,\,\hat{\phi} \\ \left|\overrightarrow{\partial_r}\right. & \partial_\theta & \left.\overrightarrow{\;\;\;\;\partial_\phi\;}\right| \\ \left|\underrightarrow{A_r}\right. & r A_\theta & \underrightarrow{ \, r\sin\theta\, A_\phi \, \biggl|} \end{matrix} \right| }
el 2do término del Curl

[center]
\Huge \textcolor{red}{- \frac{1}{r^2 \sin\theta} \cdot \textcolor{purple}{r\hat{\theta}}\begin{vmatrix} \partial_\phi & \partial_r \\ r\sin\theta\, A_\phi & A_r \end{vmatrix} }

\Huge \textcolor{green}{+ \frac{1}{r^2 \sin\theta} \cdot \textcolor{purple}{r\hat{\theta}}\begin{vmatrix} \partial_r & \partial_\phi \\ A_r & r\sin\theta\, A_\phi \end{vmatrix} }
[/center]


\frac{1}{r^2 \sin\theta} \left| \begin{matrix} \hat{r} & r\hat{\theta} & \textcolor{blue}{r\sin\theta,\,\hat{\phi}} \\ \boxed{\partial_r} & \boxed{\partial_\theta} & \partial_\phi \\ \boxed{A_r} & \boxed{r A_\theta} & r\sin\theta,\, A_\phi \end{matrix} \right|
\frac{1}{r^2 \sin\theta} \left| \begin{matrix} \hat{r} & r\hat{\theta} & \textcolor{blue}{r\sin\theta,\,\hat{\phi}} \\ \boxed{\partial_r} & \boxed{\partial_\theta} & \partial_\phi \\ \boxed{A_r} & \boxed{r A_\theta} & r\sin\theta,\, A_\phi \end{matrix} \right|
el 3er término del Curl

[center]
\Huge \frac{1}{r^2 \sin\theta} \cdot \textcolor{blue}{r\sin\theta,\,\hat{\phi}}\begin{vmatrix} \partial_r & \partial_\theta \\ A_r & r A_\theta \end{vmatrix}
[/center]


i have created another Topic about colouring the text in the details panes titles’ , which could match the 3 colours on specific elements

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.