Existem novas sugestões da comunidade openai em relação aos problemas que estou enfrentando. Vocês planejam fazer uma atualização sobre isso? As sugestões são as seguintes.
Sugestão 1;
def parse_stream_to_katex(stream: Stream):
"""
Recebe um Stream da OpenAI e substitui os delimitadores LaTeX do ChatGPT
pelos delimitadores KateX.
Retorna texto, não pedaços
"""
last_text = ""
for chunk in stream:
text = chunk.choices[0].delta.content
if text:
# Às vezes, delimitadores como \( podem ser divididos em dois pedaços.
# Se o pedaço anterior terminou em \, anexe-o a este pedaço
if last_text.endswith("\\"):
text = last_text + text
text = (
text.replace(r"\[", "$$")
.replace(r"\]", "$$")
.replace(r"\(", "$")
.replace(r"\)", "$")
)
last_text = text
# Se o texto terminar em \, não o retornamos, ele será incluído no próximo pedaço
if not text.endswith("\\"):
yield text
Sugestão 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 }) => {
// Substitui \[ por $$ e \] por $$ para garantir compatibilidade
const processedText = content
.replace(/\[/g, '$$') // Substitui todas as ocorrências de \[ por $$
.replace(/\]/g, '$$') // Substitui todas as ocorrências de \] por $$
.replace(/\(/g, '$') // Substitui todas as ocorrências de \( por $$
.replace(/\)/g, '$'); // Substitui todas as ocorrências de \) por $$
const remarkMathOptions = {
singleDollarTextMath: false,
};
return (
<ReactMarkdown
className="markdown-content"
children={processedText}
remarkPlugins={[[remarkMath, remarkMathOptions], remarkGfm]} // Passa opções como o segundo elemento do array
rehypePlugins={[rehypeRaw, rehypeKatex]} // Inclui rehypeRaw para HTML, rehypeKatex para LaTeX
/>
);
Quando visualizo fórmulas matemáticas no meu dispositivo móvel, não consigo ver a fórmula inteira corretamente (a fórmula é muito longa). Alguém sabe como resolver este problema?
Abaixo está a exibição correta no PC.
Virando o telefone na horizontal? Mas por que está entre aspas e isso pode ser o problema?
Caso contrário. Perguntei à IA do meu fórum e ela respondeu isto (não sei se é útil ou pura besteira).
Soluções para Alinhar Equações Longas Usando MathJaxIA
Jagster:
O fórum utiliza MathJax para matemática e equações. Ocasionalmente, uma equação é tão longa que não cabe em uma tela de celular. Existe alguma maneira de quebrar a equação em várias linhas?
Respondente:
O MathJax não suporta diretamente a quebra automática de linha para equações, mas você pode usar algumas técnicas para fazer com que equações longas caibam melhor em telas de celular. Aqui estão algumas dicas:
Use o ambiente align: Você pode dividir a equação em várias linhas usando o ambiente align. Isso permite alinhar e distribuir partes da equação em várias linhas. Por exemplo:
$$
\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}
$$
Use o ambiente split: Esta é outra maneira de dividir uma equação em várias linhas. É particularmente útil quando você deseja dividir a equação em partes sem precisar de alinhamento. Por exemplo:
$$
\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}
$$
Use o ambiente multline: Este ambiente é projetado para equações longas que não cabem em uma única linha. Ele divide a equação em várias linhas sem alinhamento. Por exemplo:
$$
\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}
$$
Esses ambientes permitem controlar a apresentação das equações e garantir que elas sejam legíveis mesmo em telas menores. Lembre-se que os ambientes MathJax geralmente exigem o pacote amsmath, que normalmente é habilitado por padrão no MathJax.
Estou tendo problemas para copiar fórmulas matemáticas do Google Sheets para o Meta Discourse. As fórmulas não parecem estar sendo renderizadas corretamente?
Ele renderiza OK, mas não há barra de rolagem para ver toda a matemática. Há, na pré-visualização, no entanto.
Na postagem, você só pode ver a outra parte se der zoom:
Na área de visualização enquanto se elabora uma postagem, quando o SVG é renderizado, a área de visualização rola para cima. Existe alguma configuração que possa ser alterada para que a rolagem retorne à posição mais baixa?
Ter que rolar para baixo toda vez que edito matemática incomoda meus professores, mas eu tenho lidado com isso.
após uma atualização/reconstrução completa, a matemática parece estar sendo renderizada corretamente
Para aqueles que ainda não ouviram, este plugin agora está incluído no core. Por favor, veja a reconstrução/revisão 2 de 3 deste post para mostrar isso.
Estou dentro! Desculpe por causar preocupação. Você já deve estar pronto para usar.
Este plugin agora está incluído no core do Discourse como parte de Bundling more popular plugins with Discourse core. Se você está auto-hospedando e usa o plugin, precisa removê-lo do seu app.yml antes da sua próxima atualização.
Tenho um problema com caracteres matemáticos nas respostas da IA. Ela me dá respostas em formato latex, mesmo que eu tenha digitado o prompt necessário. Isso cria uma imagem como se houvesse caracteres quebrados. Você pode resolver este problema. Exemplo;
\( 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{correto automaticamente}) \\
A_{21} = B^T_{21} \Rightarrow z = y \\
A_{22} = B^T_{22} \Rightarrow 2y = 8 \\
\end{cases}
\]