2006-07-08

送付状のテンプレート その二 |plainTeX|

前回のエントリーに、コンスタントに visitor が来ているので、続き記事を書いてみる。その前に、前記事へのリンク:

宛名を別ファイルにする

送付状は使い回しが利く。新しい送付状を書く時、手を入れるのは、「宛名」と「送付物」くらいのもの。

とはいえ、「宛名」については、何度も同じ宛先に送ることもある。宛先は誤りがあってはいけないけれど、(株)○○会社なのか◎◎株式会社なのか、○ャ○○なのか○ヤ○○なのかは微妙で頭を悩ませる。送付状を作る度に調べ直すのは面倒。なので、ぼくは宛名を別ファイルに保存して、送付状に取り込むようにしている。

宛名の取り込みには、plainTeX の \input という命令を使っている。plainTeX で、次のように書くと

\input foo

foo.tex の内容をそこに読み込むという意味になる (拡張子 .tex は書かなくていい)。

そこで、社名ごとに宛名ファイルをいくつか作っておく。宛名ファイルは、宛名の内容をそのまま書くだけでいい。

すると、前エントリーのテンプレートは次のようになる。

まずは、宛名ファイル。

\宛先{株式会社シックス・マンション}
\宛先{開発部 マイケル・ソフト 様}

これを sixmansion.tex という名前で保存する。

次にテンプレート・ファイル。宛名を挿入する部分に、input sixmansion を入れる。

%% 送付状

%% A4 Paper
% Paper size: 8.3 x 11.7 inches
\hsize=6.3in
\vsize=9.7in
\nopagenumbers

% 和歴
\newcount\和歴
\和歴=\the\year
\advance\和歴 by-1988

% 送付アイテム
\newcount\送付アイテム
\送付アイテム=0
\def\送付{\advance\送付アイテム by1 \item{\the\送付アイテム.}}

\def\送付状ロゴ{\centerline{送付状}}
\def\日付{\hfill 平成 \the\和歴 年 \the\month 月 \the\day 日}
\def\宛先#1{\noindent #1\par}
\def\送り主#1{\hfill #1\par}

\def\拝啓{\vskip1cm \noindent 拝啓\vskip1em}
\def\敬具{\vskip1em \hfill 敬具}

\def\前略{\vskip1cm \noindent 前略\vskip1em}
\def\草々{\vskip1em \hfill 草々}

%% Body %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\送付状ロゴ
\日付

% \宛先{株式会社...}
% \宛先{...部 .... 様}
\input sixmansion

\送り主{〒123-4567 ○○県□□市〜〜町 8-9-10}
\送り主{ブログ・アパート 666 号室}
\送り主{Clmemo At Aka}
\送り主{Email: {\tt foo@bar.info}}

\前略

\noindent
送付状の例として、下記書類を送付致します。

\smallskip
\送付 送付状サンプル 1 通
\送付 ブログの勧め 1 通
\送付 80 円切手 5 枚


\草々

\bye
%%% Local Variables: 
%%% mode: japanese-plain-tex
%%% End: 

テンプレートと宛名は一対多対応な所がミソ。宛名ファイルが増えたら、コメント・アウトを活用すると便利。こんな風に...

...
\送付状ロゴ
\日付

\input sixmansion       % この宛名を使う
%\input moonmicrosystem % この宛名ファイルはコメント・アウト
%\input hatenabikkuri   % この宛名ファイルはコメント・アウト

\送り主{〒123-4567 ○○県□□市〜〜町 8-9-10}
...

\input で plainTeX コードを読み込めるんなら、%% Body %%... 以前のコードも別ファイルにしてしまえば? ってアイデアもある。

でも、ぼくは別ファイルには分けない。何故なら、分割してテンプレートの見通しをよくするメリットよりも、テンプレート部分が大きく二つに分かれてメンテナンスにかかるコストの方が大きいと感じるから。例えば、もし誰かが「送付状のテンプレートを送ってよ」と言ってきたら。テンプレートが二つに分かれてると、コピーも面倒だし、どっちのファイルをコンパイルすればいいのかも明瞭じゃない。もしかしたら、古い前半部分と新しい後半部分がゴッチゃになるかもしれない。

なので、この程度の大きさの TeX ファイルは、一つに纏めて管理する方が楽でいいと思う (あくまで、この程度の大きさという縛りを付けての話 :p)。

2 comments:

  1. とても魅力的な記事でした!!
    また遊びに来ます!!
    ありがとうございます。。

    ReplyDelete
  2. コメントありがとうございます。
    最近は plainTeX をいじっていませんが、また面白いことを見つけたら記事にしてみます。

    ReplyDelete