発言者: tDB
発言日: 2010 07/14 09:50
発言元: ntchba073010.chba.nt.ftth.ppp.infoweb.ne.jp
第2案まででは,すべての .tex ファイルに対して,
perl との連携許可
をしています。
それを指定したファイルにのみ許可するのが第3案です。
% --- 第3案 -------------------------------------------------------------
perl を起動するバッチファイルを用います。
ここでは仮に,そのファイル名を hoge.cmd とします。
仮のファイル名(hoge) は各自の好みで変更してください。
以下,hoge とあるところはすべて置き換えてください。
ただし,そのファイル名を他人に知られると \write18 の危険が身に及びます。
1) tex の実行ディレクトリ(platex.exe が存在しているディレクトリ)に
次の1行からなるファイル hoge.cmd を作成します。
perl %1
2) texmf.cnf の shell_escape_commands 末尾に
,hoge
を追加します。
3) emath.sty と同じディレクトリに,hugahuga.sty を作ります。
(hugahuga は仮称で,各自のお好みで変更してください。
hoge とは別名の方が良いでしょう。)
その内容は,次の1行のみです:
\setPerlName{hoge}%
4) perl との連携を許容したいファイルには
\usepackage{hugahuga}
(hugahuga は上のステップ3 で作成したスタイルファイルの名称です)。
を付加します(emath.sty がロードされた後に置きます)。
注0:第2案までの emathMy.sty に対する変更は削除します。
また,hoge.sty を作成された場合は,それも削除します。
注1:emath のバージョンについて
丸ごとパックだけではダメで,修正パックを当ててあることが条件です。
注2:log ファイルには,ファイル名 hoge が記録されます。
log ファイルをさらすことは危険を伴います。
注3:ls-R を使用している場合は,mktexlsr を実行する必要があります。
注4:確認リスト perlhoge.tex です。-shell-escape オプションをつけずに
platex perlhoge.tex
を実行して,2の平方根の近似値
1.4142135623731
が表示されれば,
emath から perl を子プロセスとして呼び出す
ことが出来ています。なお,実行すると2個の作業ファイル
perlhoge.d1.pl
perlhoge.d1.dta
が作成されます(emath のバージョンによっては
perlhoge.d1 の部分は perlhoge_d1
となります)。
% --- perlhoge.tex ---------------------------
\documentclass{jarticle}
\usepackage{emath}
\usepackage{emathPl}
\usepackage{hugahuga}
\begin{document}
\calcval[s]{sqrt(2)}\rootii
\rootii
\end{document}
▼関連発言
│
└◆8996:perl との連携 (-shell-escape を付けずに済ます法) [tDB] 07/11 13:04
├◆8997:補足(tex 環境チェック -1-) [tDB] 07/11 16:19
│└◆8998:補足(tex 環境チェック -2-) [tDB] 07/11 16:32
├◆8999:第2案 [tDB] 07/12 10:33
└◆9001:第3案 [tDB] 07/14 09:50<-last