write18の使い方

write18の使い方

- 匿 名 の投稿
返信数: 7
\write18の出力結果を直接.tex文書に取り込む方法はあるのでしょうか?いまは
\write18{ls>tmp}
\input{temp}
のような状態で,間接的に取り込んでいます。
上記の例だと直接か間接かであまり差はないのですが,例えばリースの残高の計算結果を
「西暦2012年6月分支払い後、残38回380,000円」みたいにしたいとき
(要するにタイプセットする時に自動計算する)

西暦%
\write18{date +%Y}%
年%
\write18{date +%m}%
月分支払い後、残%
\write18{ワンライナーコマンド1}%
回%
\write18{ワンライナーコマンド2}%


のようなイメージでできると、簡明直截かなと思っています。
匿 名 への返信

Re: write18の使い方

- Akira Kakuto の投稿
パイプを使用して、
\input"|date"
ができるようになっています。 % 記号はどうすればよいのかわからない
ので、 \input"|date +%Y" はわかりません。(これでは当然だめです)。
-shell-escape が必要です。

ただし、上が可能なのは、 一般に pdftex をエンジンとするもの
(etex, latex, pdftex, pdflatex , ...) だけです。

(W32TeX では, XeTeX を除いて, 上を可能としています)

Akira Kakuto への返信

Re: write18の使い方

- Akira Kakuto の投稿
> (W32TeX では, XeTeX を除いて, 上を可能としています)

ただし、現在 pTeX 関係では使用不可になっています。
近いうちに訂正します。

Akira Kakuto への返信

Re: write18の使い方

- 本田 知亮 の投稿
> \input"|date +%Y" はわかりません。(これでは当然だめです)。

まったく実験してないですが
%のカテゴリコードを適当に
例えば12とかにしたらどうなるんでしょう
本田 知亮 への返信

Re: write18の使い方

- Akira Kakuto の投稿
> %のカテゴリコードを適当に
> 例えば12とかにしたらどうなるんでしょう

それで ok のはずです。ありがとうございます。

Akira Kakuto への返信

Re: write18の使い方

- Akira Kakuto の投稿
自明ですが,以下で ok であることを確認しました:
\catcode`\%=12
\input"|date +%Y"
\catcode`\%=14
\bye

Akira Kakuto への返信

Re: write18の使い方

- 匿 名 の投稿
ディスカッショントピックを追加した者です。
ありがとうございました。参考になりました。
自分の環境はMacTeX
This is e-pTeX, Version 3.1415926-p3.2-110415-2.3 (utf8.euc) (TeX Live 2011)
なので¥input”|”をつかえず、とりあえず現状でなんとかしのぎます。
匿 名 への返信

Re: write18の使い方

- Akira Kakuto の投稿
pdflatex や latex で使用できますから確かめて下さい。

追伸
W32TeX の場合、 2012/06/30 以降のバイナリで
pTeX 関係でも使用可になっていると思います。