作表

表のカラムに斜め線を入れたりするなどの拡張機能についての説明です。
 

作表

表を作成するには,
  tabular環境,array環境
を使用します。

array環境

カラムに数式が登場する場合は,array環境が便利でしょう。
ただし,分数など高さが標準でないものが現れると上下の間隔が窮屈になります。
array01.png

行高の指定

\arraystretch

表の行間を拡げるのに,LaTeX には \arraystretch が用意されています。
array02.png

支柱

上の \arraystretch による方法では,
  上余白は空いたが(空きすぎ?)
  下余白は少ない
と,アンバランスです。
これが気になるというなら,\vrule (or \rule) で支柱を立てます。
vrule01.png
  • ここまでは,emath と無関係の話題でした。

\bsityuu

\vrule で支柱を立てるのは細かい指定ができてよいのですが,
高さ・深さの分量を決めるのがやっかいです。
emath では,分数が登場することは多いので,
分数専用の支柱 \bsityuu を用意しています。
bsityuu01.png
  • \bsityuu は,分数「2分の1」の高さ・深さにそれぞれ 4pt, 3pt を付加した支柱で
        emath.sty
    で定義されています。
  • 上の例では,表の2行目だけに支柱を入れていますが,
    すべての行に均一に支柱を入れるには
       array の引数に支柱
    を配置するのが簡潔です。ただし,この手法は array.sty を前提にします。
    emath では,emathT.sty をロードしておきます。
    bsityuu02.png

列幅の指定

tabular(array)環境では,列幅は当該列に収納される要素に従って自動的に伸縮します。
それをあえて,指定した幅にするには,emathT.sty において
  l,c,r に代えて L{..},C{..},R{..}
なる列指定子を用います。{..}の中に列幅を単位付きの数値で指定します。
LCR01.png
  • 指定した列幅を超える要素を与えた場合は,左右のセルを侵略します。
    LCR02.png
  • 指定した列幅で折り返させるには,\parbox でくるみます。その際,列幅は\columnwd に保存されています。
    LCR03.png
  • 天地が窮屈になりますから,\EMvphantom* で支柱を立てます。
    LCR04.png

縦・横のサイズ指定

正方形のセル

セルを正方形にして,そのサイズを指定するには,tabular ( or array)に
  'cellsize=..'
オプションをつけます。
ただし,横幅を指定した値としたい列には,欄指定子として l/c/r に代えて
  L{-}, C{-}, R{-}
を用います。
cellsize01.png
  • このオプションは,perl との連携機能を必要とします。
  • C{4em}とした場合,セル幅は指定した 4em の両側に \tabcolsep (array環境の場合は \arraycolsep) が付加されます。
    一方,cellsize=4em, C{-} とした場合は,セル幅は 4em となります。

長方形のセル

セルを長方形とするには,cellsize=.. の右辺値に
  横幅,縦幅
をコンマ区切で並べます。
cellsize02.png
  • cellsize=.. の右辺値に , が含まれますから,右辺値全体を {...} で括っておかねばなりません。

横幅のみ指定

セルの縦幅は指定せず,横幅のみを指定するには,縦幅指定を * とします。
cellsize05.png

例外の列

cellsize=.. による指定が有効な列は,欄指定子に
  L{-}, C{-}, R{-}
のいずれかを用いた列で,それ以外の列は cellsize=.. の影響を受けません。
cellsize03.png

例外の行

cellsize=.. を用いた表では,すべての行の縦幅が指定した幅になります。
一部の行で,この指定を外すには
  'usecellstrut'
オプションを付け,指定した縦幅にしたい行には,どこかの列に
  \cellstrut
を配置します。
cellsize04.png

zahyou環境の併置

縦横の幅を一定に設定することにより,表全体に zahyou環境を併置することが出来ます。
ただし,この機能は \emTsya コマンドの<...>オプションに,
  hyouzahyou環境
を配置することにより実現しています。
hyouzahyou01.png
  • 上の例では,1行1列(一番左上)のセルに \emTsya コマンドを置き,その <...> オプション内に hyouzahyou環境を配置しています。
  • hyouzahyou環境の原点は,当該セルの左下隅(上図で黒丸を付けた点)
  • 横軸(x軸)の単位長はセルの横幅,縦軸(y軸)の単位長はセルの縦幅です。
  • セルのサイズを均一化した効果により,罫線の交点の座標は整数で表され, 上の例では,表の右下隅の座標は (3,-2) となります。
  • 詳しくは\emTsya のページを参照願います。

カラムに斜線

表のカラムに斜め線を引くには,\emTsyaコマンドを用います。
詳しくは\emTsya のページを参照願います。

表の罫線

罫線の太さ

罫線の太さを指定するパラメータは \arrayrulewidth で,デフォルトは 0.4pt です。
これに別の値を代入すれば,罫線の太さを変えることができます。
rulewidth01.png
  • emathT.sty は,array.sty をロードしています。
    array.sty なし,すなわち素の LaTeX では,状況が異なります。
    rulewidth02.png

外枠だけを太く

\arrayrulewidth の値を変えた場合,表の罫線全部の太さが一律に変わります。
外枠だけ,など一部の罫線を太くするには
  横罫線:\hline, \cline に代えて \hlineb, \clineb
  縦罫線:列指定子を | に代えて I (アルファベット,大文字のアイ)
を用います。
rulewidth11.png
  • 太罫線の太さは,\arrayrulewidthb の値で決まります。
    デフォルトは \arrayrulewidthb=1pt となっています。
    rulewidth12.png

二重罫線

一部の罫線を二重とするには
  横罫線:\hline\hline
  縦罫線:||
とするのが LaTeX の仕様です。
doublerule01.png
  • ところが,横二重罫線の間では縦罫線が切れてしまいます。
    縦罫線が横二重罫線を突き抜けるようにするためには
      hhline.sty で定義されている \hhline
    を用います。
    emath では,emathT.sty から hhline.sty が強制ロードされています。
    doublerule02.png

破線

罫線の一部を破線とするには,arydshln.sty を用います。
ただし,arydshln.sty は hhline.sty とは相性が悪いので,
emath では,
  \usepackage[arydshln]{emathT}
として用います。
単独に
  \usepackage{arydshln}
  \usepackage{emathT}
とすると,縦罫線と横罫線が離れるなどの不都合が生じます。

\usepackage[arydshln]{emathT}

arydshln.sty は hhline.sty とは相性が悪いので, emath では,
  \usepackage[arydshln]{emathT}
とした場合
  arydshln.sty はロードするが
  hhline.sty はロードしない
ようにしています。

arydshln01.png
  • emath パッケージでは,arydshln.sty のバージョンについて
       Package: arydshln 2004/08/31 v1.71
    を想定しています。これより古いバージョンでは,
      エラーが出たり,縦罫線が横罫線から離れたり
    といった不都合が出る場合があります。

\usepackage[hhdshln]{emathT}

罫線を二重にするのに hhline.sty を併用するときは,
arydshln.sty に加えて
  hhdshln.sty
を用います。emath では
  \usepackage[hhdshln]{emathT} とします。

hhdshln01.png

丸枠

外罫線の四隅を丸くするには,
  外罫線をつけない tabular(array) を EMpsfbox or EMpIIefbox
に食わせます。そのさい,hvsep=0pt オプションを付加します。

oval01.png

表内でナンバリング

表内で,
  1,2,3,.....
などのナンバリングを自動的に行うには,
  \itemT コマンド
を用います。

横に長い表

tabular, array 環境は改行されません。
横に長い表を作ると,ページの右にはみ出してしまいます。
これを折り返させるため,emathパッケージでは
  orikaesitabular環境
を用意しています。

ページをまたぐ表

tabular, array 環境はページをまたぐことが出来ません。
ページをまたぐ表を作るためのスタイルファイルに
  longtable.sty
  supertab.sty
がありますが,これらは当 emathWiki の守備範囲外とします。

csv ファイルからの読み込み

csv形式のファイルを読み込んで,それを表に仕立てるには,EMcsvtable.sty で定義されている
   \inputcsvtbl コマンド
を用います。

表に色をつける機能は,emath では用意していません。
colortbl.sty を用いるのが一般的でしょう。
その方法については,他をご覧ください。
ここでは,簡単なものを書いておきます。
この項は,一部を除いて
  emath とは無関係
ですが,時折質問がありますので脱線です。

罫線に色

罫線に色をつけるには,colortbl.sty に用意されている \arrayrulecolor コマンドを用います。
arrayrulecolor01.png

横罫線

一部の横罫線のみに色をつけるには,当該 \hline or \cline の直前に
  \arrayrulecolor コマンド
を置きます。但し,次の行の直前に
  \arrayrulecolor コマンド
を再発行して,もとの色を復元しておく必要があります。
arrayrulecolor02.png

縦罫線

一部の縦罫線のみに色をつけるには
  \newcolumntype コマンド
を利用するのが簡潔です。
arrayrulecolor11.png

背景色

表全体に色をつけるには,\colorbox コマンドを用いれば済みます。
bgcolor01.png
  • 表の外枠より外側に色がはみ出しているのはけしからん,というなら
      \fboxsep
    を 0 にしておけばよいでしょう。
    bgcolor02.png
  • 上の例では,colortbl.sty は用いていません。
    color.sty のみで済みますが,array.sty を読み込んでおくか否かで罫線の接続状態が変わります。
    (色をつけるかどうかとは無関係の話ですが,色を使うと違いが目立つかもしれません。

特定の行だけに色をつけるには colotbl.sty で定義されている
  \rowcolor
を用います。
rowcolor01.png
  • \rowcolor は,色をつけたい行の先頭に配置します。
    その影響は当該行に限定されます。

特定の列だけに色をつけるには colortbl.sty で定義されている
  \columncolor
を用いますが,このコマンドは tabular or array環境の「列の配置指定」引数内でのみ使用可能です。
columncolor01.png

カラム

特定のカラムのみ色をつけるには
    \multicolumn
コマンドの引数内に \columncolor コマンドを配置します。
columncolor02.png
  • ちと面倒ですから,マクロを作って隠蔽化しよう,という話が
      LaTeX グラフィックスコンパニオン
    にあります。
    panel01.png

   カラム (\emTsya)

emathT.sty で定義されている \emTsya を用いることも出来ます。
emTsya01.png
  • \panel に倣って \EMpanel
    emTsya02.png

関連事項


添付ファイル: filerowcolor01.png 225件 [詳細] filepanel01.png 223件 [詳細] fileemTsya02.png 257件 [詳細] fileemTsya01.png 236件 [詳細] filecolumncolor02.png 241件 [詳細] filecolumncolor01.png 210件 [詳細] filebgcolor02p.tex 185件 [詳細] filebgcolor02.png 222件 [詳細] filebgcolor01.png 214件 [詳細] filearrayrulecolor11p.tex 216件 [詳細] filearrayrulecolor11.png 245件 [詳細] filearrayrulecolor02p.tex 197件 [詳細] filearrayrulecolor02.png 244件 [詳細] filearrayrulecolor01p.tex 215件 [詳細] filearrayrulecolor01.png 219件 [詳細] fileLCR04.png 266件 [詳細] fileLCR03.png 319件 [詳細] fileLCR02.png 269件 [詳細] filehyouzahyou01.png 237件 [詳細] filecellsize05.png 344件 [詳細] filecellsize04.png 302件 [詳細] filecellsize03.png 259件 [詳細] filecellsize02.png 273件 [詳細] filecellsize01p.tex 424件 [詳細] filecellsize01.png 342件 [詳細] filerulewidth11p.tex 377件 [詳細] fileoval01p.tex 301件 [詳細] fileoval01.png 276件 [詳細] filehhdshln01p.tex 307件 [詳細] filehhdshln01.png 318件 [詳細] filebsityuu02p.tex 330件 [詳細] filebsityuu02.png 346件 [詳細] filearydshln01p.tex 342件 [詳細] filearydshln01.png 376件 [詳細] fileLCR01p.tex 441件 [詳細] filevrule01.png 527件 [詳細] filerulewidth12.png 381件 [詳細] filerulewidth11.png 382件 [詳細] filerulewidth02.png 317件 [詳細] filerulewidth01.png 397件 [詳細] filedoublerule02.png 370件 [詳細] filedoublerule01.png 295件 [詳細] filebsityuu01.png 349件 [詳細] filearray02.png 412件 [詳細] filearray01.png 471件 [詳細] fileLCR01.png 434件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-09-02 (月) 20:25:12 (2211d)