LaTeXをHTMLに変換。plasTeX (python)

LaTeX

学生時代にLaTeXに出会った。それ以来、LaTeXを使っている。論文作成や数式作成に使うツールで研究者だけが使っているのがLaTeXのイメージだろう。実際はどんな文書作成にも一番いい。仕上がりはとてもきれいだ。WordやPagesの組版とは別世界。読みやすさがちがう。ほとんどの文書をLaTeXで作っている。これをHTMLに変換したい。

LaTeXはマークアップ構造なので、文章を構造化して書いていく、これのおかげで構造化されたわかりやすい文章を簡単に作れる。データはテキストデータなのでどの環境でも読めるメリットもある。デメリットは使えるまでの敷居がちょぴり高い。WYSIWYGのWordやPagesのほうが始めるのは簡単だ。マークアップ言語のLaTeXを始めるのは大変だろう。(Word・Pagesも突き詰めていくと多くの知識を必要とする。)

LaTeXはデータとして大きなメリットを持っている。ほかのマークアップ言語に変換が得意なことだ。HTMLもマークアップ言語。plasTeX (pythonプログラム)を使えば、LaTeXからHTMLへ変換できることを知った。plasTeX をMacOSX Lionへインストールした。いくつか知らなかったことがあったので、覚え書きにしておく。

調べたら専門書もあった。5000円するので今回は買わなかったが、TeXとHTMLの変換について詳しく日本語で書かれた数少ない(おそらくこの一冊だけ)書籍だろう。

LATEX Webコンパニオン―TEXとHTML/XMLの統合 (アスキーアジソンウェスレイシリーズ)

 参考サイト

インストール・使い方で参考にしたサイト。TeXWikiはTeX情報の総本山。

インストール

ダウンロード

http://sourceforge.net/projects/plastex/files/にて、
「Looking for the latest version? Download plastex-0.9.2.tgz (865.9 kB)」と案内される。
これをクリックしてダウンロードする。

ダウンロードした「plastex-0.9.2.tgz」をダブルクリックして解凍する。「plastex」フォルダができる。これをデスクトップに移動させる。

インストール

pythonのプログラムなので、インストールはpythonのインストールコマンドを使う。この点が通常のプログラムと違う。ターミナルコマンドからインストールを行う。

ターミナルを起動する。解凍した「plastex」フォルダはデスクトップに配置している。だから、デスクトップフォルダへターミナルのカレントフォルダの移動を行う。

cd ./Desktop/plastex/

 以下のインストールコマンドを実行する。

sudo python setup.py install

sudo オプションをつけている。パスワードを聞かれるので入力。すると、インストールが始まる。しばらくすると、インストール完了。コマンド入力ではあるが簡単にインストールできる。

使い方

ターミナルから実行する。使い方は変換したいTeXファイルのあるフォルダに移動し、「tex_file.tex」を変換する例だと、下のコマンドを実行すればよい。

plastex tex_file.tex

これで変換される。変換結果はそのフォルダの中にファイル名のサブフォルダが作られる。そこに変換結果のindex.htmlがある。

インストールプログラムにサンプルがあるので実際に変換してみる。

サンプルファイルで実行

plastex/Doc/sample2e.texがサンプルファイル。ターミナルを起動させて以下のとおりフォルダを移動する。フォルダ名の大文字・小文字は区別されるので注意する。

cd ./Desktop/plastex/Doc

変換を実行する。下のコマンドを実行。

plastex smaple2e.tex

変換が実行される。変換完了したら、Finderにて、デスクトップの[plastex] – [Doc] – [sample2e]フォルダを開く。”index.html”がある。ダブルクリックすればブラウザーで開く。どうだろうか?数式もきれいに変換されている。

日本語文書の変換はどうなのか?。UTF-8の日本語TeXドキュメントは変換できる。ただし、ファイル名は日本語にせず、アルファベットを使った方がいいだろう。(S-JISやEUCのファイルは変換できない。)

このサイトの記事のTeXドキュメントを準備し変換した。変換結果は下のリンクに置いてある。

こLaTeXをHTMLに変換 (TeXドキュメントからplastexでの変換サンプル

結果を見ていただいて判断してもらえればと思う。

 

トラブル事例(ターミナルの環境変数PATH設定が出来ていなかった。)

インストールを初めてしたあと、変換を実行したところ「OSError: [Errno 2] No such file or directory」のエラーメッセージとなり、変換できなかった。エラーメッセージの意味を理解できず、いろいろ試行錯誤した。でも解決できなかった。

Traceback (most recent call last):
  File "/usr/local/bin/plastex", line 108, in 
    main(sys.argv)
  File "/usr/local/bin/plastex", line 36, in main
    tex = TeX(document, file=file)
  File "/Library/Python/2.7/site-packages/plasTeX/TeX.py", line 121, in __init__
    self.input(codecs.open(self.kpsewhich(file), 'r', encoding, 'replace'))
  File "/Library/Python/2.7/site-packages/plasTeX/TeX.py", line 1309, in kpsewhich
    stdout=subprocess.PIPE).communicate()[0].strip()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 672, in __init__
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1202, in _execute_child
OSError: [Errno 2] No such file or directory

 困ったので、TeXWikiの一般フォーラムに相談した。

Plastex MacOSX Lion でのエラー

すぐに回答をもらえた。「kpsewhich」のパスが通っていないのでは?という指摘だった。ターミナルの環境変数PATHに、TeX実行ファイルのPATHが通っていないのが原因だった。設定したつもりが、うっかり設定を忘れていた。いままではTeXworksでTeXドキュメントを作っており、ターミナルからのコンパイルをしたことが無かった。(一度もしていなかった。お恥ずかしい。)

すぐに、ターミナルの環境変数PATHを「.bashrc /.bash_profile」を編集して設定した。設定したらエラーは消え、問題無く変換できた。

ちょっとしたPATH設定のミス(ありがちかもしれない)だったが、問題を見つけるまでかなり苦労した。もし、おなじエラーに出会ってしまったときに参考になればと思う。

.bashrc/.bash_profileをvimで編集する方法は、こちらの「ターミナルの環境設定方法。LionにTeXインストール。」の記事にまとめた。



この記事を書いた人

大東 信仁

カンパチが好きです。

プロフィールはこちら

10月14日開催 参加者募集中
(画像をタップ→詳細へ)

ミッションナビゲート モニター
(画像をタップ→詳細へ)

広告