emath BBS

新規発言一覧最新記事過去一覧検索HOME

No.9001  第3案
発言者: 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

Pass 保存


CGIROOM