連載 \hl ine \end{tabular} スタイルファイル活用法ー 8 表 2 t b \hhline コマンドの引数 カラム幅の二重罫線を引く カラム幅の罫線を引く そのカラムには罫線を引かない 糸 ) 罫線 ( 横の二重罫線と交わらない ) を引く 縦の罫線 ( 横の二重罫線と交わる ) を引く 直交する二重罫線を引く 二重罫系 ) うち、旧則の罫線を引く 二重罫彳 ) うち、一ド側の罫線を引く tabular/array 工竟の引数と同櫪 * { 2 } { = = } のよ うに指定して同しコマンドを繰り返し実行する と指定すると次のように出力されます。 PoIitically lncorrect correct A lcoholic Problem Drinker Girl 01d Pre-Woman Ageful \begin{tabular}{ Ⅱ cc Ⅱ cc Ⅱ } \hhline{ は : = : t け 豚 & 狸 & 狐 & 猫 \ \ \hhline{ l: 蝙蝠 & 栗鼠 & 雀 & 目白 \ \ 験馬 & 隼 & 犀 & 犬 \ \ \ h 1 土Ⅱ e { ル : \end{tabular} 隼 栗鼠 = : b は 目白 雀 犀 マニュアルにもあるように、 hhline. sty では小さな罫 線フォントを多用しているため、プリンタドライバなどに よっては思ったとおりの出力が得られないことがありま す。そのような場合は、 \arrayrulewidth などを用い て罫線をすこし太くするとアラが目立たなくなるかもしれ ません。 表の上下方向の詰まりすぎを補正したい 表中で数式を使ったり文字サイズを大きくしたりする と、横の罫線と文字列がくつついてしまうことがありま す。これを補正するには、 \ \ コマンドのオプション引数 を使うか、蝠がゼロの \ rule コマンドを利用します。 前者の方法では、たとえは、 \begin{tabular}{ ににけ \hline \mu1tic01umn{2}{ lc l}{P01itica11y}\\ \hline xncorrect & \hline A1coh01ic & Prob1em Drinker\\ [ 1 .5ex ] correct\\[lex] このガ去は新たにコマンドを定義しなくてもよいので便 利ですが、罫線直下のスペースは調整できません。そうい う場合は、後者のガ去を利用します。 具イ勺には次のようにします [ 2 ] 。 \newcommand{\setTBstruts}{% \def\T{\ru1e{0ptH2.6ex}}% \def\B{\ru1e [ ー 1 .2ex] {0pt}{Opt}}} と定義し、表の前の適当な場所で \setTBstruts を宣言 します。そして、表のなかで \T や \B を使って上下のス ペースを調整します。図 3-a は通常の入力、 b はこのガ去 を用いて下記のように入力したものです。 \begin{tabular} { lc lc ほけ \hline \mu1tic01umn{3}{ lc I}{Lap1ace transforms\T\B}\\ \hline & $(p)$\B & with struts \\\hline $\delta(t)$ & $I$\T & optional arg ・ \ \ [. 5ex] $\cos\omega-Ot$ & $\frac{p}{pA2 + \omega-OA2\B}$ \hline 複数行の中央に文字列を出力したい \end{tabular} 900 500 A B det1Xiörne たとえば、次のような表を作ったとします。 1 , 000 prermer これを下記のように出力するにはどうすればいいのでし ようか ? 1 , 000 deuxieme A B 900 500 Gir1 01d & Pr e —Woman & Agefu1 UNIX MAGAZINE 1994.11 この問題は、 \raisebox コマンドを使えば角夬できま す。上の表は、 117
\end{tabular} のようにします ( この例では、表の左端の縦の罫線が lmm 幅になります ) 。あるいは、 \begin{tabular}{ 国 { } はに \end{t abul ar } でも、通常よりやや太い罫辛勦ゞ引けます。これらのガ去は、 あとで説明する array. sty を使えはもうちょっとスマート に実現できます。 横の罫線を磁泉にしたいときは、文献 [ 1 ] ( 131 ~ 132 ペ ージ ) にあるガ去か利用できます。これは、 \cline の定 義を変更して任意のカラムに水平の破線を引くものです。 デフォルトの石嬲泉パターンは、 4pt のあいだに 2pt の実 線を引いていきます。 これを \dline などの名前に変更すれば、 tabular 環 境の \cline と并用も可能です。ただし、 latex. tex に ある \cline の部分の定義をコピーし、次のように書き 換える必要があります。 これに対し、縦・横ともに罫線を石泉にするスタイルフ ァイルが arydshln. sty です。破線は、表や行・列全体の 幅・高さにわたって引かれます。行列を小行列に分割表示 する場合などにも便利です。 \hline の代わりに \hdash- line 、 \cline の代わりに \cdashline を使います。 磁泉の間隔は、 ・ \hdashlinewidth ・ \hdashlinegap の 2 つのパラメータで指定します ( デフォルトでは、 らも 4pt)o 縦の線を石嬲泉にしたいときは、 \begin{tabular}{ は : 1 け \end{tabular} どち 変更前 \@cla \@clb \cline \@cline → → → のように一の代わりに 入力例とその出力を示します。 \setlength{\arrayrulewidth}{. 5mm} \begin{tabular}{ は : 1 け \hl ine ltem A & Contents A \ \ \cline{l—l}\hdashline ltem B & Contents B \ \ \hline \ end{t abul ar } ( コロン ) を指定します。 \@clinea → \@clineb 後 \@dla \@dlb \dline \@dline \@dlinea \@dlineb ltem A ltem B Contents A Contents B 石泉のパターンを変えたいときは、 \d1inepattern{2pt}{4pt} というコマンドで変更します。第 1 引数には、かならす第 2 引数より小さな値を指定します。 入力例とその出力を以下に記します。 \setlength{\arrayrulewidth}{. 5mm} \begin{tabular}{ ほはけ \ 1 土 ne ltem A & Contents A \ \ \cIine{1-1}\d1ine{2-2} ltem B & Contents B \ \ \hline \end{tabular} ltem A ltem B 116 Contents A Contents B I*TEX の tabular 環境では、 \hline は表の幅ぶんの 罫線を引くだけの機能しかもっていません。 hhline. sty を使えば、もうすこし複雑な処理が可能です 5 。このスタ イルファイルでは、 \hhline コマンドが追加されていま す。これは、 \hline を使う箇所で、 \hhline{arg} のように利用します。佖四では tabular/array 工竟と同 様なガ去で、表 2 の引数を組み合わせて罫線の不頁を指定 します。 この表を見ただけでも分かると思いますが、これらの引 数を使いこなすにはかなりの、、慣れ " が必要です。以下の 例を参考に、試行錯誤してください。 5 Meinz パッケージの一部として配布されています。 UNIX MAGAZINE 1994.11
連載スタイルファイル活用法ー 8 表 1 longtable 竟の引数とコマンド \endfirsthead \endhead \endfoot \endlastfoot \kiII \caption{name} \caption [lot] {name} \caption ロ {name} \caption*{name} [ 1 ] \LT1eft \LTright \LTchunksize \LTcapvidth \begin{longtable} のオプション引数 表を中刻前えにする 表を左寄せにする 表を右寄せにする パラメータ (* 内はデフォルト値 ) 表の左側に挿入するグルー (\fill) 表の右側に挿入するグルー (\fill) 処理する単位 ( 行数 ) ( 20 ) キャプションの幅 (4in) 宣言・コマンド 表の知頁に出力する文字列 各ページの表の知頁に出力する文字列 各ヾージの表の末尾に出力する文字列 表の末尾に出力する文字列 カラム幅を指定する行の末尾に指定 ( その行自体は出力されない ) 表のキャプションとして "Table 1 : れ佖 me " を、表目次にれのれ e という項目を出力する 表のキャプションとして、 Table 1 : れ。 me " を、表目次には lot という項目を出力する 表のキャプションとして、 Table 1 : name" を出力するが、表目次には何も出力しない 表のキャプションとして、れ佖 me " とだけ出力し、表目次には何も出力しない のようにします。 \begin{Tabu1ar} の引数は、オプショ ン引数カ甘旨定できない以外は tabular 竟と同しです。 表の形式の変更 罫線の太さや形状を変えたい tabular 環境の罫線の太さは、 \arrayrulewidth で 変更します ( デフォルトでは 0.4pt ) 。しかし、このガ去 には罫線を太くすると角の部分がギサギサになってしまう UNIX MAGAZINE 1994.11 \myhline \begin{tabular}{@{\myvline\ } 凵地 { \ \myvline}} としておいて、 \def\myvline{\vrule vidth 2mm} \def\myhline{\noalign{\hrule height のようになってしまいます。これを防ぐには、 ギサギサ とすると、 \end{tabular} ギサ & ギサ \ \ \hline \begin{tabular}{ に 1 . \set1ength{\arrayru1ewidth}{2mm} という欠点があります。たとえは、 すべ & すべ \ \ \end{tabular} 4 これらのま、以前にネットニュースの fj. comp. texhax て齠介さ \begin{tabular}{@{\mythickline\ } } 1 はけ \def\mythickline{\noalign{\vrule vidthlmm}} これに対し、縦の罫糸 ) 幅を一 - ・だけ変えたいときは、 さは変更できません [ 1 ] 。 幅を変えることカきます。このガ去では、縦の罫糸 ) 太 としておき、 \hline\hline とすればその部分の罫線の \doubl erul e s ep=Opt 手段ですが ) 、 横の罫線だけを太くすればよいのなら ( ちょっと姑息な となります。 すべすべ 後者のガ去を用いると、 \makeatother \vrule \@width \arrayrulewidth}} \def\@arrayrule{\@addtopreamble{% \makeatletter に定義しなおします 4 。 とするか、プリアンプルなどで \arrayrule を次のよう れたものです。 115