タグ: LaTeX

  • 数式表示を MathJax に変更

    このサイト内の数式表示を、 MathJax を使う MathJax-LaTeX プラグインに変更しました。これまで利用してきた mimeTeX プラグインや関連の機能は停止しました。過去の投稿については、MathJax を使うように調整しました。一部、プラグインそのものや、[tex] ~ [/tex] ショートコードを使うことなどを話題にしている投稿は、描画が壊れたままに残してあります。

    MathJax は JavaScript で Content Delivery Network (CDN) から読み込み、\(\LaTeX\) などで HTML に書くと描画してくれます。HTML の <head> ブロックでライブラリを直接呼び出すように WordPress (のテーマ)を書き換えてしまってもいいのですが、更新のたびに書き換えるのも面倒なので、プラグインに任せるほうが無難と思います。

    WordPress で MathJax のプラグインを検索すると、MathJax-LaTeX プラグインSimple Mathjax プラグインの2つが見つかります。導入例をググってみたところ、どちらでもよさそうだったのですが、ソフトウェアは多数派につけ、ということで、MathJax-LaTeX プラグインを選びました。

    MathJax-LaTeX プラグインの設定ですが、デフォルトの CDN が MathJax Ver.2 系になっています。最新版は Ver.3系なので、

    https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js

    を指定しました。CDN の指定方法は本家サイトのドキュメント、

    のあたりに書いてあります。( polyfill のサイトはマルウェア配布元になったので使うなとか、怖いことも書いてありますね)

    MathJax-LaTeX プラグインの設定の 「Force Load」はいまのところオフにしてあります。 \(\LaTeX\) の表記方法を使っていない投稿のほうが多いので、全部のページに読み込むのは無駄に思えました。また、今回、ウェブサイト全体から \(\LaTeX\) で表記している場所を探すため、古いプラグイン用のショートコード [ tex ] ~ [ / tex ] で探しました。その経験上、MathJax-LaTeX のショートコードの [ mathjax ] や [ latex ] ~ [\ latex ] が書いてあったほうが見つけやすいかなと思いまして。MathJax や MathJax-LaTeX プラグインの「 \ ( 」~「 \ )」(インライン)や「 \ ( 」~「 \ )」(別行立て)「$ $」~「$ $」(別行立て)で探せばいいのかもしれませんが。いざとなれば、データベースの SQL (テキスト)や WordPress eXtended RSS (WXR) でエクスポートしてテキストエディタで検索するという手もあるかもしれません。

    一つ、テキトーな数式をサンプルとして:\( y = \frac{a}{b} \int_0^\pi \sin{x} \, dx \) $$ y = \frac{a}{b} \int_0^\pi \sin{x} \, dx $$

    (2025/2/8)

  • 数式表示を改修中

    (2025年2月8日)

    このサイト内の \( \LaTeX \) の表記方法を用いた数式類の描画システムを改修しています。改修前の現在もかなり表示が壊れていますが、しばらくはコードがそのまま見える状態になります。

    MathJax を利用した方法に改める予定です。

    (2025/2/8)

  • TeXworksにplatexを設定

    とりあえずでいいからと TeX Live 2013 を無設定で使っていたのですが、TeXworks から日本語がうまく扱えませんでした。コマンドラインで使う分には問題ありませんしね。その設定方法が「美文書作成入門」(第6版)に載っていました。

    • 奥村晴彦・黒木裕介、「[改定第6版] LaTeX2e 美文書作成入門」、2013/11/25 第一刷発行、技術評論社

    §2.5 「日本語のテスト」(p.24) のエラーメッセージ

    ! LaTeX Error: This file needs format ‘pLaTeX2e’ but this is ‘LaTeX2e’.

    が表示される場合の対処方法。付録A.2 「Windowsへのインストールと設定」(p.333) より

    タイプセットを自分で一から設定する場合、下の「タイプセットの方法」で[+]ボタンを押し、名前「platex(ptex2pdf)」、プログラム ptex2pdf を入れ、引数は[+]ボタンを押して「-l」を加え、さらに[+]ボタンを押して「-ot」を加え、さらに[+]ボタンを押して「$synctexoption -kanji=utf8」を加え、さらに[+]ボタンを押して「$fullname」を加えます。「実行後、PDFを表示する」がオンになっていることを確認し、[OK]を押します。[↑]ボタンを何度か押し、この「platex(ptex2pdf)」を一番上に持っていきます。

    これでコンパイルできました。(引数は謎ですが、追い追い解読できるようになるでしょう)

    (2013/11/2)

    (追記)

    設定方法について詳しくは、

    (2014/8/23)

  • mathTeX.cgi のキャッシュ

    LaTeX 数式の表示は、サーバに latex と dvipng の実行ファイル( TeX Live 2010 )を入れ、mathTeX の CGI から呼び出しています。(一部は mimeTeX)

    昨日気がついたのですが、このサイトのところどころで mathTeX のエラー(7) が発生しています。

    エラーメッセージ ☞ (7) Can't run latex program... mathtex.cgi

    (7) Can’t run latex program:
    check -DLATEX=\”path\”, etc.
    See mathtex.html#message7

    対処療法的には、ページ記述の際に数式に mathtex.cgi の \cache オプションを付加して明示的にサーバにキャッシュを生成するようにすれば、何度かページを再読み込みする間に解消するようです。明示しなくてもデフォルトでサーバにキャッシュ画像を生成するはずなのですが、うまくいかないことがあるようです。latex や dvipng で処理した画像のキャッシュファイルが一度生成できれば、次からはキャッシュ画像を返すようになります。

    サイトをご覧の方の側では、ブラウザで何度か再読み込みを繰り返すと、そのうちに数式画像が表示されるようになります。(たいていは…… orz )

    このエラーは複数の LaTeX 数式画像があるページで発生していて、ブラウザで再読み込みするたびに違う数式画像がエラーになります。サーバ上の mathtex.cgi 用キャッシュ ディレクトリを眺めていると、エラーになるような場合、数式画像のキャッシュが残っていません。

    エラーメッセージによると latex プログラムが実行できないと言っているので、処理が間に合わずに多重起動で失敗が連鎖していくような状況でしょうか。何がおこっているのかはよくわかりません。場合によっては、dvipng が実行できないエラーのこともあります。以前のサーバでは発生していなかったようにも思えるので、CGI や実行ファイルの起動数など、サーバ側の設定による可能性もあります。

    だいたい、LaTeX の処理系自体、シェルログインできないサーバにFTP でファイル一式コピーして、無理やり動かしています。そんな状態なので、現象や問題の切り分けからして難しいんですよね。

    mathtex.cgi は 1.05 が出ていたので 1.03 からバージョンアップしましたが、同じ現象が起こっているようです。

    mathTeX version 1.03 → mathTeX version 1.05

    mathtex.cgi に \version を渡すと、

    現在:(略)

    なお、一度キャッシュが生成されると自動的には書き換わらないので、バージョンアップしたらキャッシュをクリアしておかないと、いつまでも古いバージョンとして表示され続けます。

    < img src=”…/mathtex.cgi?… ” / > で直接書くより、 [ tex ] ~ [ /tex ] で呼び出すほうがエラーの率が高いように思えますが、はっきりしません。問題は mathtex.cgi ではなく、[ tex ] のほうのプラグインかもしれません。

    以下、適当に数式を載せてみます。

    TeX入門/簡単な数式(2) – TeX Wiki より

    mathTeX manual (mathtex.html) より

           

    エラー(7)にならずに表示されているでしょうか。このページ作成時には表示可能でしたが……。私のサイトには LaTeX 処理系のサブセットしか入れていないので、表示不能の例もいろいろありました。そういう場合もエラー(7)が表示されるようです。

    (2013/7/13)

    (2025/2/8) MathJax 化にともない、一部画像を削除。

  • サーバ引越

    [新サーバー]

    makisima.org 用のWebサーバとメールサーバを引っ越しています。こちらが新サーバで、テスト中です。同じホスティング業者の廉価版共有サーバですが、旧サーバから新サーバに完全に切り替わるまでは若干不安定かもしれません。問題があったら、こっそり教えてください 🙂

    このページが表示されていれば、マキシマ文庫 第三巻 と称する現行の WordPress は動作しています。

    第二巻と称する wiki も動作確認。

    第一巻と称する HTML ベタ打ち古いページ群 の SSI 動作確認。

    メールフォーム の CGI 動作確認。

    以下、LaTeX 数式表示用の CGI とプラグインのテスト表示

    mimetex.cgi で直接画像として表示

    y=\int_0^\pi\sin{x}dx

    y=\int_0^\pi\sin{x}dx

    mathtex.cgi を使って、自サーバに置いた LaTeX 処理系の latex と dvipng に数式を渡して画像として表示

    y=\int_0^\pi\sin{x}dx

    y=\int_0^\pi\sin{x}dx

    プラグイン経由で表示。wp-latexrender/mimetex-plugin.php ・ wp-latexrender/mimetex.php を改変したプラグイン。現在、上記の mathtex.cgi に渡しているので同一の描画方式です。このプラグインを通すと LaTeX 中に空白文字を使えます。

    $$ y = \int_0 ^\pi \sin x \, dx $$

    (2013/5/6)

    (追記)

    おそれいりますが、もしも上の本文中の数式(の画像)があるべきところに

    (7) Can't run latex program... mathtex.cgi

    というエラー表示があったら、何度かページを再読み込みしてみてください。サーバ側に正常にキャッシュができると数式画像として表示されます。

    (2013/7/13)

    (2025/2/8)  mimetex.cgi, mathtex.cgi, wp-latexrender/mimetex-plugin.php を停止しました。本文内は、画像ファイルに差し替え、一部は MathJax の数式表示に変更。

検索(WordPress内)

カテゴリー一覧

マキシマ文庫

Makisima Library, Vol.3

Twenty Twenty-Five Child

Proudly powered by WordPress