金魚亭日常

読書,ガジェット,競技プログラミング

LaTeX で 座席表

3年ぐらい前に tikz で作った座席表を発掘したので備忘録的に

座席表 (uplatex, tikz)

コンパイルは,uplatexで.

ptex2pdf -u -l zaseki.tex

フォントは,Source Sans Pro と 源ノ角ゴシック. tcsourcehans は CTAN にないっぽいので,手動でインストール

github.com

最初の

\draw [help lines] (0,0) grid (24,15);

でマス目が出るので,最後はコメントアウトする.

座標系は,左下が (0, 0)で,縦15,横24.

\draw (0,0) [thick] rectangle (24,15);

で一番外枠を描き,

\draw [very thick] (0,13) rectangle (24,15);
\draw [very thick] (4,13) -- (4,15);
\draw [very thick] (8,13) -- (8,15);
\draw [very thick] (12,13) -- (12,15);
\draw [very thick] (16,13) -- (16,15);
\draw [very thick] (20,13) -- (20,15);

というところで座席を描く. 最初の行が外枠で,続く5行で線を引く

\draw [very thick] (x1, y1) rectangle (x2, y2);

で,左下が(x1, y1),右上が(x2, y2) の四角形を描き,

\draw [very thick] (x1, y1) -- (x2, y2);

で,(x1, y1)から(x2, y2) まで線を引く.

名前を入れるのは,

\node [anchor=north] at (2,14.4){Major};
\node [anchor=north] at (6,14.4){};
\node [anchor=north] at (10,14.4){};
\node [anchor=north] at (14,14.4){};
\node [anchor=north] at (18,14.4){};
\node [anchor=north] at (22,14.4){};

というところで,中心座標を指定してテキストを描画する. 長いテキストは,

\node [anchor=north] at (10.5,7.6){\parbox{5zw}{\centering Daisuke\\ Aramaki}};

てなかんじで,\parboxで囲って改行する.

右下のドアは,

\draw (22,0) [thick] arc (180:90:1) --(23,0)--cycle;

で描いている.

f:id:what_alnk:20170422231059p:plain