Hay nuevas sugerencias de la comunidad de openai con respecto a los problemas que estoy experimentando. ¿Planean hacer una actualización al respecto? Las sugerencias son las siguientes.
Sugerencia 1;
def parse_stream_to_katex(stream: Stream):
"""
Toma una transmisión de OpenAI y reemplaza los delimitadores de LaTeX de ChatGPT
con los de KateX.
Genera texto, no fragmentos
"""
last_text = ""
for chunk in stream:
text = chunk.choices[0].delta.content
if text:
# A veces, los delimitadores como \( pueden dividirse en dos fragmentos.
# Si el fragmento anterior terminó en \, prepáralo a este fragmento
if last_text.endswith("\\"):
text = last_text + text
text = (
text.replace(r"\[", "$$")
.replace(r"\]", "$$")
.replace(r"\(", "$")
.replace(r"\)", "$")
)
last_text = text
# Si el texto termina en \, no lo devolvemos, lo incluiremos en el siguiente fragmento
if not text.endswith("\\"):
yield text
Sugerencia 2:
// MarkdownLaTeXRenderer.js
import React from 'react';
import ReactMarkdown from 'react-markdown';
import remarkGfm from 'remark-gfm';
import remarkMath from 'remark-math';
import rehypeRaw from 'rehype-raw';
import rehypeKatex from 'rehype-katex';
const MarkdownLaTeXRenderer = ({ content }) => {
// Reemplaza \[ con $$ y \] con $$ para garantizar la compatibilidad
const processedText = content
.replace(/\[/g, '$$') // Reemplaza todas las ocurrencias de \[ con $$
.replace(/\]/g, '$$') // Reemplaza todas las ocurrencias de \] con $$
.replace(/\(/g, '$') // Reemplaza todas las ocurrencias de \( con $
.replace(/\)/g, '$'); // Reemplaza todas las ocurrencias de \) con $
const remarkMathOptions = {
singleDollarTextMath: false,
};
return (
<ReactMarkdown
className="markdown-content"
children={processedText}
remarkPlugins={[[remarkMath, remarkMathOptions], remarkGfm]} // Pasa las opciones como el segundo elemento del array
rehypePlugins={[rehypeRaw, rehypeKatex]} // Incluye rehypeRaw para HTML, rehypeKatex para LaTeX
/>
);
Cuando veo fórmulas matemáticas en mi dispositivo móvil, no puedo ver la fórmula completa correctamente (la fórmula es demasiado larga). ¿Alguien sabe cómo solucionar este problema?
A continuación se muestra la visualización correcta en la PC.
¿Girar el teléfono horizontalmente? Pero, ¿por qué está entre comillas y puede ser ese el problema?
Por lo demás. Le pregunté a la IA de mi foro y respondió esto (no tengo idea si es útil o pura basura).
Soluciones para alinear ecuaciones largas usando MathJaxIA
Jagster:
El foro utiliza MathJax para matemáticas y ecuaciones. Ocasionalmente, una ecuación es tan larga que no cabe en una pantalla móvil. ¿Hay alguna manera de dividir la ecuación en varias líneas?
Asiavastaaja:
MathJax no admite directamente el salto de línea automático para ecuaciones, pero puedes usar algunas técnicas para que las ecuaciones largas encajen mejor en las pantallas móviles. Aquí tienes algunos consejos:
Usa el entorno align: Puedes dividir la ecuación en varias líneas usando el entorno align. Esto te permite alinear y distribuir partes de la ecuación en varias líneas. Por ejemplo:
$$
\begin{align}
a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s + t + u + v + w + x + y + z = 0
\end{align}
$$
Usa el entorno split: Esta es otra forma de dividir una ecuación en varias líneas. Es especialmente útil cuando quieres dividir la ecuación en partes sin necesidad de alineación. Por ejemplo:
$$
\begin{split}
a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s + t + u + v + w + x + y + z = 0
\end{split}
$$
Usa el entorno multline: Este entorno está diseñado para ecuaciones largas que no caben en una sola línea. Divide la ecuación en varias líneas sin alineación. Por ejemplo:
$$
\begin{multline}
a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s + t + u + v + w + x + y + z = 0
\end{multline}
$$
Estos entornos te permiten controlar la presentación de las ecuaciones y asegurarte de que sean legibles incluso en pantallas más pequeñas. Recuerda que los entornos de MathJax a menudo requieren el paquete amsmath, que generalmente está habilitado por defecto en MathJax.
@Jagster Estas deberían ser buenas soluciones. Originalmente quería configurar una barra de desplazamiento horizontal para la fórmula, pero no tuve éxito.
Se renderiza bien, pero no hay barra de desplazamiento para ver las matemáticas completas. Sin embargo, sí la hay en la vista previa.
En la publicación, solo puedes ver la otra parte si haces zoom:
En el plano de vista previa mientras se redacta una publicación, cuando se renderiza el SVG, el plano de vista previa se desplaza hacia arriba. ¿Hay alguna configuración que se pueda cambiar para que el desplazamiento vuelva a la posición más baja?
Tener que desplazarme hacia abajo cada vez que edito matemáticas molesta a mis profesores, pero me las he arreglado.
después de una actualización/reconstrucción completa, las matemáticas parecen renderizarse bien
Para aquellos que no lo sepan, este plugin ahora está incluido en el núcleo. Consulte la reconstrucción/revisión 2 de 3 de esta publicación para mostrar esto.
¡En el acto! Disculpas por causar preocupación. Deberías estar listo para empezar ahora.
Este plugin ahora está incluido en el núcleo de Discourse como parte de Bundling more popular plugins with Discourse core. Si te autoalojas y usas el plugin, necesitas eliminarlo de tu app.yml antes de tu próxima actualización.
Tengo un problema con los caracteres matemáticos en las respuestas de la IA. Me da respuestas en formato latex aunque he escrito la indicación requerida. Esto crea una imagen como si hubiera caracteres rotos. ¿Puedes solucionar este problema? Ejemplo;
$$ A = \begin{pmatrix} x & -1 \ z & 2y \end{pmatrix} $$
$$ \boxed{ x = 0, \quad y = 4, \quad z = 4 } $$
$$ \begin{cases} A_{11} = B^T_{11} \Rightarrow x = y - z \ A_{12} = B^T_{12} \Rightarrow -1 = -1 \quad (\text{correcto automáticamente}) \ A_{21} = B^T_{21} \Rightarrow z = y \ A_{22} = B^T_{22} \Rightarrow 2y = 8 \ \end{cases} $$
Anteriormente compartí soluciones de la comunidad de openai.