Web 上で数式をレンダリングするにはどうすればよいですか? 私はすでに LaTeX の Math モードに精通しています。
16 に答える
他の回答は古くなっています。2012 年現在、美しい数学は簡単に記述およびレンダリングできます。このテクノロジーはMathJaxと呼ばれます。これは、 MathOverflowや数百の数学ブログの静かな動作で見ることができます。
MathJax は、最新のすべてのブラウザーで動作する数学用のオープン ソース JavaScript 表示エンジンです。リーダーのセットアップはもう必要ありません。ブラウザのプラグインはもう必要ありません。フォントをインストールする必要はもうありません。ただ機能します。
Mathjax は信頼性が高く、邪魔にならないので、数学を書くだけで済みます。これは、ほとんどの科学者や数学者が慣れ親しんでいる簡潔な構文である Tex (Latex) で行います (そして、何十年にもわたって優れたチュートリアルを共有してきました)。Mathjax の場合、HTML の二重のドル記号の間に Tex コードをインラインで記述するだけです。
$$a \ne 0$$ のとき、$$ax^2 + bx + c = 0$$ の解は 2 つあり、それらは $$x = {-b \pm \sqrt{b^2-4ac} \ 2a以上}.$$
Mathjax を使用して数学をレンダリングするには、HTML ヘッダーに Javascript 行を追加します。
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
Wordpress、Tumblr、Blogger などのプラットフォームで公開する場合は、ギャラリーにこれを行うためのプラグインがあります ( Wordpress )。
Mathjax はどのように数学をレンダリングしますか? Javascript を使用すると、数分の 1 で数学を美しい HTML と CSS (Latex に非常に似ています) にレンダリングします。ブラウザーが MathML をサポートしている場合、それを介して数学をレンダリングすることもできますが、それは重要ではありません。これは、エンド ユーザーのワークフローが簡単であるためであり、その背後にあるテクノロジによるものではありません。
アカウントを持っている場合は、ウィキペディアで Mathjax (png 画像よりも) を使用することを選択できます。Special:Preferences
/ 外観を探します。
MathML はばかげています。人間が読めるものでも、人間が書き込めるものでもありません (二次方程式は800 文字で、Tex では 50 文字です)。それはただの無意味な XML 言語です。ありがたいことに、ほとんどのブラウザーがサポートする前に廃止されました。Tex や Mathjax の HTML-CSS ほど見栄えもよくありません!
私のお気に入りの 2 つのアプローチ:
クライアント側: MathJax . ここでいくつかの例を参照してください。使用とインストールが非常に簡単で、その開発は他の科学機関の中でもAMS と SIAM によって支援されています。これが Web 上で数学を表示するためのデファクト スタンダードになることを期待しています。
サーバー側: LaTeXML . これは、NIST Digital Library of Mathematical Functions の作成に使用されます。TeX ソースにカスタム マクロがある場合、問題が発生する傾向がありますが、一般的には非常に良い結果が得られます。
カテックス
Khan Academyの 2 人の開発者が、Katexと呼ばれる Tex に基づいた非常に高速なライブラリをリリースしました。
- 速い
- 高品質
- 自己完結型。と、
- サーバー上でレンダリング可能
素晴らしい現代的なオプションのように見えます。
jsMathパッケージは、LaTeX マークアップとネイティブ フォントを使用する別のオプションです。彼らのウェブページhttp://www.math.union.edu/~dpvc/jsMath/からの引用:
jsMath パッケージは、Windows、Macintosh OS X、Linux、およびその他の UNIX のフレーバーの複数のブラウザーで動作する HTML ページに数学を含める方法を提供します。数学を表現するために画像を使用する従来の方法の多くの欠点を克服します. Web ページで数学を表示するために、何十もの画像がダウンロードされるのを待つ必要はありません。画像を生成するために Web ページを前処理する必要がなく、数学が TeX 形式で入力されるため、Web ページの作成と保守が簡単であるため、Web ページの作成者にとっても利点があります。
HTML では、ほとんどの人が認識しているよりも多くの計算を直接行うことができます。これらの注記を参照してください。
LaTeX をレンダリングする唯一の安全な方法は、出力を画像として保存することです。一部のサイトでは、ツールを使用してその場でこれを実行しようとしていますが、確実に機能することはありません。たとえば、一部のブログでは、Web ページに直接アクセスすると機能しますが、Feedburner/Google リーダーを使用すると機能しません。
私は、Firefox と IE の両方で、MathML ブラウザーのサポートに関してひどい経験をしました。試してはいけません。まだ。たぶん数年後。
LaTeX を gif にコンパイルするために使用する サイトは次のとおりです。
HTML の代わりに PDF を使用する場合は、作業がはるかに簡単になります。LaTeX ドキュメントを作成し、それを使用pdflatex
して PDF にコンパイルするだけです。PDF ルートを使用する場合は、作成者、キーワードなどのPDF プロパティを LaTeX ファイルに含める方法に興味があるかもしれません。また、このページでは、LaTeX をマークアップして PDF にリンクを作成する方法について説明します。
これを行うために、jqmathという名前のオープンソースのjavascriptモジュールを作成しました。http://mathscribe.com/author/jqmath.htmlを参照してください。方程式を単純化されたTeXのような構文で入力すると、jqmathは、ブラウザーに応じて、それらをMathMLまたは単純なHTMLとCSSに変換します。これは、画像を使用するよりも効率的でアクセスしやすくなっています。
ちなみに、ここにある他の回答で言及されている要約とメモのいくつかは、現在かなり時代遅れになっています。また、Firefoxは現在MathMLをサポートしており、Webkit(ChromeとSafari)はまだリリースしていませんが、ナイトリービルドにMathMLを組み込んでいます。MathPlayerプラグインがある場合、InternetExplorerはMathMLをレンダリングします。OperaはスタイルシートでMathMLを偽造します。MathMLはHTML5標準の一部であるため、おそらくこれらすべてのブラウザーは、後でではなく早くネイティブにサポートするでしょう。それまでは、jqmathの出力はTeXの出力ほど良く見えないことは事実ですが、確かに読みやすく、今後のWebページにとって間違いなく優れたソリューションです。
過去にこれにASCIIMathMLを使用しました。これは本質的に JavaScript ライブラリであり、パフォーマンスを最適化するために IE でプラグインを使用できますが、IE および Firefox/Mozilla ではプラグインなしでも動作します (少し遅くなりますが)。この構文は LaTeX のサブセットをサポートしていますが、その違いによって多少の混乱が生じるため、どこから来たのかによってはユーザーを混乱させる可能性があります。
自分で確認できるように、いくつかのリンクを次に示します。
完璧ではなく、すべてのブラウザー (Safari など) で機能するわけではありませんが、Web の一部のサブセットではありますが、少なくとも今日は機能します。
texvc は、LaTeX の数式を png または HTML に変換できます。
LaTeX とMathMLは、これを行う唯一の「正しい」方法です。ただし、それぞれに厳しい制限があります。その他のオプションは、画像 (後で方程式を編集する必要がある場合は最適ではありません) または複雑な HTML (多少のトレーニングが必要ですが実行できます) です。
私は自分のウィキで LaTeX 式を「オンデマンド」でレンダリングしています。基本的に、各ウィキ セクションからラテックス コードを抽出し、それを .tex ファイルに入れます (ファイル名はラテックスの md5sum であるため、同じコードを再度使用すると、同じ tex が使用されるため、同じ画像が使用されます)。 . 次に、tex ファイルは毎分 cron タスクによってラテックス コンパイルされ、最初に .ps が生成され、次に変換プログラムで .png (元の md5 で再び名前が付けられます) が生成されます。ウィキ エントリは、ラテックス テキストを、この png を参照する img タグに置き換えます (テキスト リーダー用に、元のラテックス コードを alt として使用します)。
このように行きたい場合は、ラテックスをできる限り消毒するように十分に注意してください. \input のようなラテックスのコマンドがあります。これらのコマンドを使用できる人は誰でも、サーバー ディスクに読み取り可能なファイルを含め、結果のラテックス出力に含めることができるため、絶対に通過させたくないコマンドがあります。
この問題を解決するために、Mediawiki (ウィキペディアで有名) にはラテックス入力をサニタイズする特別なプラグインがありますが、2 つの理由で使用したくなかったのです。知らない言語をいじりたくない。
MediaWiki では、LaTeX マークアップ (または類似のもの) を入力して、それを表示する最適な方法を動的に決定できるようになるという印象があります。現在、小さな式には可能な限り HTML を使用し、他の方法では表現できないより複雑な式には画像を使用していると思います。いつの日か、ブラウザーがサポートを開始した場合、MathML などの最先端の他の方法を利用する可能性があると思います。したがって、MediaWiki を Web サイトのエンジンであるかのように使用すると、将来どのようなものに対しても前方互換性があることがわかると思います。
LatexItと呼ばれる小さな Mac アプリがあり、LaTeX 式を PDF や PNG などに簡単に変換できます。
(Keynote または PowerPoint でスライド用の数式を作成するために使用しています。ドラッグ アンド ドロップがサポートされているので、数式をどこにでも「ドラッグ」して挿入できます。)
LaTeX サーバーを介してオンザフライで数式イメージを生成できます。
http://www.forkosh.com/mimetex.html
WordPress を使用している場合は、LaTeX for WordPress ( http://wordpress.org/extend/plugins/latex/ ) プラグインを使用できます。
画像を使用した場合、目の見えないユーザーの読者は方程式を読むことができますか? したい人もいるかもしれません。