imgTeXをWindowsで利用したい

imgTeXをWindowsで利用したい

- 匿 名 の投稿
返信数: 5
imgTeXという中丸さんが作られた、HTMLファイルに埋め込んだTeXソースを画像にしてくれる環境を、Windowsで利用したいと思っています。
しかし、なかなかうまくいかないので、皆様のご助言を頂けたらと思い、投稿致しました。




環境:
Windows Vista Home Premium Service Pack 2
W32TeX(2009年9月1日時点で最新版をフルインストール)
Perl 5.10.1
Apache 2.2.13
dvipng 1.12
mod_fastcgi-2.4.6-AP22.dll




現在の状況:
(1)ドキュメントルート直下のHTMLファイル内に
<img src="http://localhost/cgi-bin/imgtex.fcgi?{\[ f(x) \]}"/>
と書き、ブラウザでそのHTMLファイルにアクセスするとInternal Server Errorが返ってくる。

(2)FastCGIは動作している(と自分では思っている。test.cgiをcgi-binフォルダ内に置き、ブラウザでtest.cgiにアクセスしてログを解析すると、serverのところに「mod_fastcgi/2.4.6」と記録されているので)。




今回の為に設定した事:
(1)FastCGIを有効にする為のApacheのhttpd.confファイルを編集した
(2)cgi-binフォルダ内にpreverr.pngとimgtex_fcgi.txtをリネームしたimgtex.fcgiを置いた
(3)cgi-binフォルダ内に作業用フォルダとしてimgtexworkフォルダを置いた



HTTPステータスコードが500なので、CGIの設定がうまくいっていない事が一番怪しいのではないかと思っています。CGIに慣れていないので、その時点でダメなのかもしれません。その場合、TeXには関係の無い投稿となってしまいますが、何かお気づきの点がありましたらお返事頂けると幸いです。




ちなみに、Ubuntu9.04でimgTeX環境を構築したら、30分ほどで簡単に出来てしまいました。そもそも、imgTeXはWindowsでは利用できないなどあるのでしょうか・・・?




参考にさせて頂いているサイトがいくつかあるのですが、そのURLをここに貼るのはマナー違反になりますでしょうか?それともサイトの管理者の判断に依るものでしょうか?
匿 名 への返信

Re: imgTeXをWindowsで利用したい

- TONE Kozaburo の投稿

>参考にさせて頂いているサイトがいくつかあるのですが、そのURLをここに貼るのはマナー違反になりますでしょうか?

まったく問題は無いです。

参考:リンクに許可は不要です

TONE Kozaburo への返信

Re: imgTeXをWindowsで利用したい

- 匿 名 の投稿
TONE Kozaburo様

投稿者です。
お返事ありがとうございます。
貼って頂いた参考リンクがとても参考になりそうです。

今現在、参考にさせて頂いているページは、
http://ag-i.sblo.jp/category/205496-1.html
http://redcap97.blog21.fc2.com/blog-entry-131.html
辺りです。「imgTeX」で検索して私が分かりやすそうだと思ったページです。Windowsで試されている方のページが見つからなかったので、この辺りを参考にさせて頂いています。


また、中丸さんのimgTeXのページのURLをここに貼っておきます。
http://www.eaflux.com/imgtex/


現段階の最終目標としては、WindowsでpngファイルとしてimgTeX環境を構築した後に、WindowsでsvgファイルとしてimgTeX環境を構築したいと思っています。このページにあるような状況が、今の私の思い描いている状況です。
http://tanaken.myhome.cx/~ktanaka/diary/?20090219#S2
匿 名 への返信

Re: imgTeXをWindowsで利用したい

- 匿 名 の投稿
・imgtexworkフォルダにApacheからの書き込み権限はあるか
・latex, dvipngといったプログラムへのパスは通っているか(あるいはimgtex.fcgiにフルパスを書くか)
といったあたりは大丈夫でしょうか。
匿 名 への返信

Re: imgTeXをWindowsで利用したい

- 匿 名 の投稿
投稿者です。
お返事ありがとうございます。


「imgtexworkフォルダにApacheからの書き込み権限はあるか」との事ですが、Apacheからの書き込み権限があるかどうか、今の私には何も分からない状況です。
どこかで「WindowsはLinuxなどとは違ってパーミッションの設定はない」と聞いた覚えがあるのですが、これは関係ないもしくは間違っている知識でしょうか?



「latex, dvipngといったプログラムへのパスは通っているか」との事ですが、コマンドプロンプト上で、dvipngコマンドとlatexコマンドを実行した結果通りました(dvipng -v、latex -vで、それぞれのバージョン情報が返ってきました)ので、パスは通っていると考えてよろしいでしょうか?
匿 名 への返信

Re: imgTeXをWindowsで利用したい

- Miura B の投稿
私も同じようなことを考えていたので書きこんでおきます.

まず,FCGIを動かすためにApacheのバージョンはある程度古くないといけないようです:
http://kuma.mine.nu/archives/2010/04/windows%E3%81%AEapache%E3%81%A7fastcgi%E3%82%92%E5%8B%95%E3%81%8B%E3%81%99%E3%80%82.html

また,オリジナルのimgTeXではsystem関数を使ってLinuxのコマンドを呼び出しているので,これをWindowsにおけるcmdのコマンドに置き換えなければなりません.

imgtex_fcgi.txtをリネームしたimgtex.fcgiに対して次のような書き換えを実行すると,とりあえず動作してくれました.



1行目:
#!usr/bin/perl

#!c:/perl/bin/perl



90行目:
if (system("ulimit -t 10 -f 1024 -c 0; cd $tmpdir ; latex '\\nonstopmode\\input' t.tex > /dev/null 2>&1 ; case \$? in 0) dvipng -q -D $res -T tight -M -pp 1 --noghostscript t.dvi -o t%03d.png > /dev/null 2>&1 ;; *) exit 1 ;; esac") != 0) {

if ( !((system("cd $tmpdir & platex \\nonstopmode\\input t.tex>NUL")==0)&&(system("cd $tmpdir & dvipng -q -D $res -T tight -M -pp 1 --noghostscript t.dvi -o t%03d.png>NUL")==0))){



119行目付近:
local $/;
$contents = <FI>;

local $/;
binmode (FI);
$contents = <FI>;


1行目はPerlをインストールしたフォルダを指定してください.
if文の中のplatexはもちろんlatexのままでも構いません.

環境:
Windows XP Professional SP2
W32TeX
Perl 5.10.0
Apache 2.2.8
dvipng 1.9
mod_fastcgi-2.4.6-AP22.dll
私はPerlについて完全に初心者ですので (この変更をするためだけにPerlの本を初めて読みました),
何かまずいことをしているかもしれないという事を最後に断っておきます.