Il y a de nouvelles suggestions de la communauté openai concernant les problèmes que je rencontre. Prévoyez-vous de faire une mise à jour à ce sujet ? Les suggestions sont les suivantes.
Suggestion 1 :
def parse_stream_to_katex(stream: Stream):
"""
Prend un flux OpenAI et remplace les délimiteurs LaTeX de ChatGPT
par ceux de KateX.
Produit du texte, pas des morceaux
"""
last_text = ""
for chunk in stream:
text = chunk.choices[0].delta.content
if text:
# Parfois, les délimiteurs comme \( peuvent être divisés en deux morceaux.
# Si le morceau précédent se terminait par \, ajoutez-le à ce morceau
if last_text.endswith("\\"):
text = last_text + text
text = (
text.replace(r"\[", "$$")
.replace(r"\]", "$$")
.replace(r"\(", "$")
.replace(r"\)", "$")
)
last_text = text
# Si le texte se termine par \, nous ne le retournons pas, nous l'inclurons dans le prochain morceau
if not text.endswith("\\"):
yield text
Suggestion 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 }) => {
// Remplacez \[ par $$ et \] par $$ pour assurer la compatibilité
const processedText = content
.replace(/\[/g, '$$') // Remplace toutes les occurrences de \[ par $$
.replace(/\]/g, '$$') // Remplace toutes les occurrences de \] par $$
.replace(/\(/g, '$') // Remplace toutes les occurrences de \( par $
.replace(/\)/g, '$'); // Remplace toutes les occurrences de \) par $
const remarkMathOptions = {
singleDollarTextMath: false,
};
return (
<ReactMarkdown
className="markdown-content"
children={processedText}
remarkPlugins={[[remarkMath, remarkMathOptions], remarkGfm]} // Passez les options comme deuxième élément du tableau
rehypePlugins={[rehypeRaw, rehypeKatex]} // Incluez rehypeRaw pour HTML, rehypeKatex pour LaTeX
/>
);
Lorsque j’affiche des formules mathématiques sur mon appareil mobile, je ne peux pas voir la formule entière correctement (la formule est trop longue). Quelqu’un sait-il comment résoudre ce problème ?
Ci-dessous, l’affichage correct sur le PC.
Tourner le téléphone horizontalement ? Mais pourquoi est-ce entre guillemets, et cela pourrait-il être le problème ?
Sinon. J’ai demandé à l’IA de mon forum et elle a répondu ceci (aucune idée si c’est utile ou pure foutaise).
Solutions pour aligner de longues équations avec MathJaxIA
Jagster :
Le forum utilise MathJax pour les mathématiques et les équations. Parfois, une équation est si longue qu’elle ne rentre pas sur un écran mobile. Existe-t-il un moyen de diviser l’équation en plusieurs lignes ?
Répondant :
MathJax ne prend pas directement en charge le retour à la ligne automatique pour les équations, mais vous pouvez utiliser certaines techniques pour que les longues équations s’adaptent mieux aux écrans mobiles. Voici quelques conseils :
Utilisez l’environnement align : Vous pouvez diviser l’équation en plusieurs lignes en utilisant l’environnement align. Cela vous permet d’aligner et de répartir des parties de l’équation sur plusieurs lignes. Par exemple :
$$
\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}
$$
Utilisez l’environnement split : C’est une autre façon de diviser une équation en plusieurs lignes. Elle est particulièrement utile lorsque vous souhaitez diviser l’équation en parties sans avoir besoin d’alignement. Par exemple :
$$
\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}
$$
Utilisez l’environnement multline : Cet environnement est conçu pour les longues équations qui ne rentrent pas sur une seule ligne. Il divise l’équation en plusieurs lignes sans alignement. Par exemple :
$$
\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}
$$
Ces environnements vous permettent de contrôler la présentation des équations et de vous assurer qu’elles sont lisibles même sur de petits écrans. N’oubliez pas que les environnements MathJax nécessitent souvent le package amsmath, qui est généralement activé par défaut dans MathJax.
@Jagster Ces solutions devraient être bonnes. Je voulais à l’origine définir une barre de défilement horizontale pour la formule, mais cela n’a pas abouti.
Cela s’affiche correctement, mais il n’y a pas de barre de défilement pour voir l’intégralité des mathématiques. Il y en a une dans l’aperçu, cependant.
Dans la publication, vous ne pouvez voir l’autre partie qu’en zoomant :
Dans le plan de prévisualisation lors de la rédaction d’un article, lorsque le SVG est rendu, le plan de prévisualisation défile vers le haut. Existe-t-il un paramètre qui peut être modifié afin que le défilement revienne à la position la plus basse ?
Devoir faire défiler vers le bas à chaque fois que je modifie des mathématiques agace mes professeurs, mais je m’en suis accommodé.
après une mise à jour/reconstruction complète, les mathématiques semblent s’afficher correctement
Pour ceux qui ne l’ont pas entendu, ce plugin est maintenant inclus dans le cœur. Veuillez consulter la reconstruction/révision 2 sur 3 de ce post pour le montrer.
Dans l’action ! Désolé d’avoir causé de l’inquiétude. Vous devriez être prêt maintenant.
Ce plugin est maintenant inclus dans le cœur de Discourse dans le cadre de Bundling more popular plugins with Discourse core. Si vous auto-hébergez et utilisez le plugin, vous devez le supprimer de votre app.yml avant votre prochaine mise à niveau.
J’ai un problème de caractères mathématiques dans les réponses de l’IA. Elle me donne des réponses au format latex même si j’ai tapé la requête requise. Cela crée une image comme s’il y avait des caractères cassés. Pouvez-vous résoudre ce problème. Exemple :
\( 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{benar otomatis}) \\\\
A\{21} = B^T\{21} \\Rightarrow z = y \\\\
A\{22} = B^T\{22} \\Rightarrow 2y = 8 \\\\
\\end{cases}
\\\]
J’ai déjà partagé des solutions de la communauté openai.