期間限定50%オフPro 年間, $49.98$24.99/年
3:21:55:21
50%オフを獲得 →
← すべての記事

ChatGPTのLaTeX数式を崩さずにエクスポートする方法

ChatGPTはブラウザ上でLaTeX数式を美しくレンダリングします。しかし、その会話を保存しようとすると、数式は生の $$ \int_0^\infty e^{-x^2} dx $$ ソースコードに変わってしまうか、さらに悪いことに、横倒しで印刷されるUnicodeの文字化けになってしまいます。

ここでは、エクスポート中に数式が壊れる理由と、すべてのフォーマットでそれを修正する方法を説明します。

なぜLaTeXはエクスポート時に壊れるのか

ChatGPTのウェブインターフェースはKaTeXを使ってLaTeXをレンダリングしており、各数式は組版されたSVGとHTMLを含む<span>になります。元のLaTeXソースはそのスパンに付加されたdata-属性として存在しています。

レンダリングされたページをコピーしたり、Chromeの「PDFに印刷」を使ったりすると、ブラウザは画面に表示されているものだけをキャプチャします。長いディスプレイ数式は途中で切れてしまいます。\Sigmaのようなインライン記号は、システムフォントにそのグリフがない場合、ランダムなUnicodeとして印刷されます。そして、実際のLaTeXを含むデータ属性は完全に失われます。

コピペでは数式が失われます。PDFに印刷すると壊れます。解決策は、レンダリングにLaTeXソースを抽出し、エクスポートで明示的に再レンダリングすることです。

フォーマット別対策

PDF

ChatExport AIのPDFエクスポートを使用してください。すべてのLaTeXブロックを生のソースとして抽出し、バンドルされたKaTeXで鮮明なSVGにレンダリングし、最終的なPDFを構成します。インライン数式、ディスプレイ数式、行列、ビッグオー記法、積分、すべて完璧に組版されます。

数式を含む会話には、Chromeの組み込み「PDFに印刷」を決して使わないでください。その出力は真面目な用途には使えません。

Word(.docx)

.docxフォーマットにはネイティブの数式タイプ(Office Math)があります。ChatExport AIのWordエクスポートはデフォルトでLaTeXを等幅フォントで囲んだテキストとして出力します。Wordでは挿入 → 数式 → LaTeXを使ってこれを組版数式に変換できます。(直接のOffice Math出力は近日対応予定です。)

文書内ですぐに組版数式が必要な場合は、まずPDFとしてエクスポートし、そのPDFページを画像として.docxファイル内に埋め込んでください。

Markdown

簡単です。区切り文字をそのまま維持するだけです。$inline$$$display$$は標準のCommonMark数式規則です。ChatExport AIのMarkdownエクスポートはこれらをバイト単位で保持します。

エクスポートされた.mdは以下の環境で数式をレンダリングします:

  • Obsidian(v0.10以降ネイティブ対応)
  • MkDocs Materialpymdownx.arithmatex拡張機能使用)
  • VitePressmarkdown-it-mathjax3プラグイン経由)
  • Quartz(組み込み)
  • GitHub Gist(2022年以降、Gist内の$..$数式をレンダリング)

HTML(オフライン)

このフォーマットは堅牢です。ChatExport AIのHTMLエクスポートはKaTeXをファイル内に直接バンドルするため、インターネット接続がゼロでも数式がレンダリングされます。メールで送ったり、USBメモリにアーカイブしたり、10年後でも開ける、単一の自己完結型.htmlファイルが手に入ります。

JSON

自動化ワークフロー向け:ChatExport AIのJSONエクスポートは、メッセージごとに専用フィールド(content_latex)としてLaTeXソースを保持し、レンダリングされたフォールバックテキストも併せて出力します。クリーンなLaTeX文字列を必要とするRAGシステムやファインチューニングデータセットに最適です。

よくある落とし穴

落とし穴1:「チャットでは完璧に見えるのに、エクスポートすると壊れる」、その通りです。チャットはレンダリングされた出力を表示し、エクスポートはソースコードを取得します。エクスポートツールが再レンダリングしない場合、生の$$区切り文字がそのまま出てきます。

落とし穴2:「ChatGPTからWordに数式をコピーしたら全部おかしくなった」、WordはLaTeXを自動的にレンダリングしません。変換を処理してくれるエクスポートツールが必要です。

落とし穴3:「ギリシャ文字が□になって表示されるのはなぜ?」、ビューアのフォントにそれらのグリフがありません。HTMLやPDF内のKaTeXは数式をテキスト文字ではなく正しいベクターパスとしてレンダリングするため、この問題を回避できます。

数式が長すぎてレンダリングすらできない場合

中には印刷ページよりも幅の広い行列や証明があります。ChatExport AIのPDFエクスポートは自動的にディスプレイ数式をページ幅に合わせて縮小します。それでも行列が広すぎる場合、そのブロックだけ横長に切り替えます。

Markdownエクスポートでは、巨大な行列を手動で分割する必要があります。静的な文書フォーマットで「水平スクロール」を表現するポータブルな方法はありません。

試してみる

ChatExport AIを無料でインストールして、次の数式だらけのChatGPT会話を、適切に組版された数式とともにエクスポートしましょう。無料枠では1日5回のエクスポートが可能です。

関連リンク

ChatExport AI を試す

無料のChrome拡張機能。アカウント不要。

Chromeに追加, 無料