2014年3月4日火曜日

LaTeXで名刺を作る

MacやLinuxを使っていて困ることに、日本独特の文章があります。
Windowsなら用意されている便利なテンプレートがMacにはありませんから、年賀状にしても縦書きの文章を作るにしても困ることになります。
もちろんお金があればWindows機が別にあってそれを使って作ることができるでしょうし、絵を描くためにMacを使っているユーザーであればIllustratorの力技で作ることもできるでしょう。ただそれは「ちょっとした用途」のためだけで考えるにはあまりにも高価……できれば無料で、仕上がりが綺麗で、将来的にWindowsに移った後も同じデータが利用できる、というのが理想じゃないですか。
そこでLaTeXの出番です。
LaTeXとは、論文の作成を目的として開発されたマークアップ言語(ラッパであるLaTeXがマークアップ、TeX自体は関数型言語だとも言われます)のことであり、日本ではアスキーが管理するplatexが広く使われます。Mac、Windows、Linuxの全てのプラットフォームで動作し、誰もが無料で利用することができます。

今回はそれを使って名刺を作ります。
見ての通り、テストとして打ってある名前や住所はでたらめです。

ソースコードはここからダウンロードしてください。
emagital.com/Blogs/NameCard.zip
文字にホワイトシャドウを入れられないのか、だったらいいや、と思った本格派のあなた。
それは追々やりましょう。とりあえず今回は、レイアウトを名刺用に組版して、印刷できる状態にするところまでです。

1、つかいかた
Meishi.texをコンパイルするとpdfが出力されますから、それを厚手のケント紙に印刷して、断ち切り線に定規を合わせて切ってください。
ここで名刺の内容を書き換えたいのなら、ここの数字とパスを変えてください。
\newcount\switch
\switch=1
\ifcase\switch
%%0のときに実行
\input{NameList/Private/Test.tex}
\or
%%1のときに実行
\input{NameList/Private/Test.tex}
\else
%%2以降のときに実行
\input{NameList/Private/Test.tex}
\fi
Switch文です。inputの参照先のパスを変更する方法は便利です。inputされたファイルが参照され、そのファイルで定義されている関数が実行されます。
これが指しているファイルの内容を書き換えてください。
%%背景画像を指定
\def\pictureName{NameList/res/mulsimg.jpg}

%%ライン色(この場合はシアン色)を指定
\def\lineColor{cyan}

%%これを書き換える
\def\drawMeishi{
____\put(0, 0){\framebox(\the\mwidth,\the\mheight){\LARGE{螺鳥 学}}}
____\put(0, 7){\framebox(\the\mwidth,\the\mheight){\large{\textsf{LaTeX Manabu}}}}
____\put(10,5){\footnotesize
________\put(0, 7){東京都文京区大字歩外 1-1-1}
________\put(0, 3.5){Tel:080-xxxx-1234}
________\put(0,0){Mail:latex@hogehoge.com}
____}
____\put(5,44){
________\put(0, 5){\framebox(80,0){株式会社テストコード\hfill 第三業務部}}
________\put(0, 0){\framebox(80,0){\hfill 部長代理}}
____}
}
\drawMeishi関数の中にあるのはpicture環境用のコードです。
putの後で指定されているものがxyの座標、そのあとの{}でくくられた場所に文字を書くと指定した座標に文字や図形が出力されます。putは入れ子にすることで相対座標にすることができます。
画像を変えるにはNameList/res/mulsimg.jpgを書き換えてください。画像の大きさが変わると設定が面倒になるので、mulsimg.jpgをコピーして、画像編集ソフトで開いて、その上にデータをペーストすると楽です。

2、なかみの話
幅90mm高さ55mmのparboxを作って、中身の描画関数を外部ファイルで定義、それをtabularで並べています。背景として、画像とpicture環境で作った断ち切り線を描画。これらの背景は大きさのない箱として独立して描画されるため、有無によってレイアウトが変更されることはありません(背景の描画方法については、奥村さんが書いておられるこのマクロがベースです)。
ざっくりと以上です。それでは、また。

0 件のコメント:

コメントを投稿