ozkn
(Mathx)
2024 年 12 月 13 日午前 9:12
1
私が経験している問題に関して、OpenAIコミュニティから新しい提案がありました。これに関してアップデートを行う予定はありますか?提案は以下の通りです。
提案1:
def parse_stream_to_katex(stream: Stream):
"""
OpenAI Streamを受け取り、ChatGPTのLaTeX区切り文字をKateXのものに置き換えます。
チャンクではなくテキストをyieldします。
"""
last_text = ""
for chunk in stream:
text = chunk.choices[0].delta.content
if text:
# 区切り文字 \( などが2つのチャンクに分割されることがあります。
# 前のチャンクが \ で終わる場合は、それをこのチャンクに追加します。
if last_text.endswith("\\"):
text = last_text + text
text = (
text.replace(r"\[", "$$")
.replace(r"\]", "$$")
.replace(r"\(", "$")
.replace(r"\)", "$")
)
last_text = text
# テキストが \ で終わる場合は、それを返さず、次のチャンクに含めます。
if not text.endswith("\\"):
yield text
提案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 }) => {
// \\[ を $$ に、\\] を $$ に置き換えて互換性を確保します。
const processedText = content
.replace(/\[/g, '$$') // すべての \[ の出現を $$ に置き換えます
.replace(/\]/g, '$$') // すべての \] の出現を $$ に置き換えます
.replace(/\\(/g, '$') // すべての \( の出現を $ に置き換えます
.replace(/\\\)/g, '$'); // すべての \) の出現を $ に置き換えます
const remarkMathOptions = {
singleDollarTextMath: false,
};
return (
<ReactMarkdown
className="markdown-content"
children={processedText}
remarkPlugins={[[remarkMath, remarkMathOptions], remarkGfm]} // オプションを配列の2番目の要素として渡します
rehypePlugins={[rehypeRaw, rehypeKatex]} // HTMLの場合はrehypeRaw、LaTeXの場合はrehypeKatexを含めます
/>
);
};
export default MarkdownLaTeXRenderer;
’
「いいね!」 1
Jagster
(Jakke Lehtonen)
2024 年 12 月 13 日午前 9:21
2
そして、エンドユーザーとして…私はそのためにシステムプロンプト(OpenAI)を使用しています。
数式が独自の行または章にある場合、\( と \) を独自の行の前後に変更します。$$ はかなり信頼性があります。
しかし、単一の $ でインラインで同じことを行う必要がある場合…それはほとんどの場合失敗します。
それが自動的に行われるようになれば…さらに良いです。
「いいね!」 1
CAX.DO
(Max)
2024 年 12 月 21 日午後 1:57
3
モバイルデバイスで数式を表示すると、数式全体が正しく表示されません(数式が長すぎます)。この問題の解決策を知っている人はいますか?
以下はPCでの正しい表示です。
Jagster
(Jakke Lehtonen)
2024 年 12 月 21 日午後 3:16
4
電話を横向きにすることですか?しかし、なぜ引用符で囲まれ、それが問題になる可能性があるのでしょうか?
それ以外にも、フォーラムのAIに尋ねたところ、次のような回答がありました(役立つか、まったくの的外れかはわかりません)。
数式組版MathJaxを使用した長い数式を揃えるためのソリューション
AI
Jagster:
フォーラムでは、数学や数式にMathJaxを使用しています。時々、数式が長すぎてモバイル画面に収まらないことがあります。数式を複数行に分割する方法はありますか?
Asiavastaaja:
MathJaxは数式の自動改行を直接サポートしていませんが、長い数式がモバイル画面に収まるようにするためのいくつかのテクニックを使用できます。以下にいくつかのヒントを示します。
align 環境を使用する : align 環境を使用して、数式を複数行に分割できます。これにより、数式の一部を複数の行にわたって配置および分散させることができます。たとえば、次のようになります。
$$
\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}
$$
split 環境を使用する : これは、数式を複数行に分割する別の方法です。特に、配置を必要とせずに数式を部分に分割したい場合に便利です。たとえば、次のようになります。
$$
\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}
$$
multline 環境を使用する : この環境は、1行に収まらない長い数式用に設計されています。配置なしで数式を複数行に分割します。たとえば、次のようになります。
$$
\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}
$$
これらの環境を使用すると、数式の表示を制御し、小さな画面でも読みやすくすることができます。MathJax 環境では、amsmath パッケージが必要になることがよくありますが、これは通常、MathJax でデフォルトで有効になっています。
CAX.DO
(Max)
2024 年 12 月 22 日午前 2:54
5
@Jagster これらは良い解決策になるはずです。当初は数式に横スクロールバーを設定したかったのですが、うまくいきませんでした。
.math-tex {
overflow-x: auto;
max-width: 100%;
padding: 5px 0;
display: block;
}
thaidb
(thaidb)
2025 年 2 月 1 日午前 12:34
6
Google スプレッドシートから Meta Discourse に数式をコピーするのに問題があります。数式が正しくレンダリングされていないようです。
NPV=CFt * [1-1(1+r)Tr]- CFo= 84,000 * [1-1(1+13%)713%]- 385,000 = $-13,500
PI = 1 + NPVCFo = 1+ n=1784,000(1,13)n - 385,000385,000 ~ 0,965
$と%は\\でエスケープする必要があると思います。
NPV=CFt * [1-1(1+r)Tr]- CFo= 84,000 * [1-1(1+13\\%)713\\%]- 385,000 = \\$-13,500
こちらで確認してみましょう。
NPV=CFt * [1-1(1+r)Tr]- CFo= 84,000 * [1-1(1+13\\%)713\\%]- 385,000 = \\$-13,500
PI = 1 + NPVCFo = 1+ n=1784,000(1,13)n - 385,000385,000 ~ 0,965
レンダリングは問題ありませんが、数式全体を表示するためのスクロールバーがありません。ただし、プレビューには表示されます。
投稿では、ズームしないと他の部分が見えません。
「いいね!」 1
Ethsim2
(Ethan )
2025 年 3 月 6 日午後 1:42
8
投稿を作成中のプレビュー画面で、SVGがレンダリングされるとプレビュー画面が上にスクロールします。スクロールを一番下に戻す設定はありますか?
数式を編集するたびに下にスクロールしなければならないのは、私の講師を困らせますが、私はなんとかやっています。
Ethsim2
(Ethan )
2025 年 7 月 15 日午後 8:08
9
アクティビティで「非推奨」という言葉をいくつか見かけました。
大規模な数学データベースがあり、正常にレンダリングされているインスタンスにとって、これが何を意味するのか誰か説明していただけますでしょうか。
Ethsim2
(Ethan )
2025 年 7 月 16 日午前 8:13
10
フルアップデート/リビルド後、数学のレンダリングは問題なく行われているようです。
まだ聞いていない方のために、このプラグインは現在コアにバンドルされています。これを示すには、この投稿 のリビルド/改訂3/3を参照してください。
参加しました! ご心配をおかけして申し訳ありません。これで大丈夫なはずです。
このプラグインは、Bundling more popular plugins with Discourse core の一部として、Discourseコアにバンドルされるようになりました。セルフホストでプラグインを使用している場合は、次回のアップグレード前に app.yml から削除する必要があります。
「いいね!」 3
ozkn
(Mathx)
2025 年 8 月 29 日午後 3:35
12
AIの回答で数学の文字の問題が発生しています。必要なプロンプトを入力しても、LaTeX形式で回答され、文字化けしたような画像が表示されます。この問題を解決できますか。例:
\( 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}
\]
以前、OpenAIコミュニティから解決策を共有しました。
Ethsim2
(Ethan )
2025 年 8 月 30 日午前 7:43
13
Hi @ozkn
私もこの問題を抱えています。私のおすすめは以下の通りです。
AIプロバイダーでアカウントにサインアップする
AIアカウントに以下を伝える
今後の回答のために、DiscourseはMathJax/Katex $…$ $$…$$ のインラインまたは複数行セントリックフォーマットと互換性があることを覚えておいてください。
AIアカウントにログインすると、出力がコピー&ペーストしやすくなるはずです。
最高の記憶を維持するためにプッシュし続ける必要があるかもしれません
「いいね!」 3
Ethsim2
(Ethan )
2025 年 8 月 30 日午前 7:49
14
最後の点に付け加えると、数式 と通貨 を混在させる場合は、次のことを覚えておいてください。
$...$ = 数式
\\$ = 文字通りのドル記号
したがって:
$x+1$ costs \\$5. → x+1 の数式が表示され、価格は $5 と表示されます。
これだけです。数式は$、お金は\\$です。
「いいね!」 2
Ethsim2
(Ethan )
2025 年 8 月 30 日午後 1:59
15
詳細ペインのタイトルでは数式をレンダリングできないことを、ChatGPTに記憶させるためのもう一つの良い方法です。
sam
(Sam Saffron)
2026 年 1 月 16 日午前 5:55
16
これらのハックはもう必要ありません。ネイティブでサポートされています。
「いいね!」 1