年賀状の宛名印刷を TeX を用いて行う

自分がいくつか試した中で、一番簡単にちゃんと動いたのが T Domae. 様作の 宛名&はがき・往復はがき印刷マクロ でした。使用の手順としては以下のとおり。

  1. ダウンロードしてきたファイルの中にある atena.stynenga.tex とを UTF-8 に変換(自分の環境が UTF-8 なので。不要な場合は不要)。
  2. プリアンブルで \OmoteZipParameter(7mm,9mm,2mm)(4mm,22mm,1.6mm) などとして縦横位置を調節。パラメータの意味は manual.tex を参照。このマニュアルはけっこう詳しく、タイプセットすればマージンのパラメータの意味を図で見られるので、PDF 化して読むと便利だと思います。
  3. nenga.tex にある例を見ながら、住所録から \personal のリストを作成。敬称は \keisho{先生} などとすれば変更可能です。
  4. あとはいつものように $ platex nenga.tex $dvipdfmx nenga.dvi してやればよい。ちなみに特定のフォントを使いたい場合は、マップファイルを作って $ dvipdfmx -f hiraginoEmbed.map nenga.dvi みたいにします。

フリーの印刷ソフトもあるのにどうして TeX でやろうと思ったかというと、フリーのはなんかレイアウトが汚かったというのが1点、あと使用フォントの制限の関係で異体字が出力できなかったというのが1点です。その点このパッケージは TeX なので、\usepackage{otf} してやれば \utf{585A} みたいにして異体字を出力できます。(UTF-8 で作業してるんだからテキストファイルにそのまま異体字を書き込めるかと思ったのですが、なぜかできなかった。TeX わけわからん。)

2014-01-13 追記

TeXUnicode まわりについてよくわかっていなかったので TeX処理系御伽話 を読んだ。非常にクリアに継承関係などが書かれていて勉強になった。これによれば、とりあえず ε-upTeX を使っておけば Unicode とかいろいろやってくれるらしい。ですので組版のコマンドを $ uplatex nenga.tex にしてやれば概ね解決する。ただしドキュメントクラスのところを \documentclass[uplatex]{jsarticle} としてやらなければならなかった。