簡単に作表

TeXで表を作るのは結構面倒です。そこで,単純な表なら,どんなサイズのものでも簡単につくるツールをKeTCindyを利用して作りました。

まず,次の表を見てください。

この表を,中身と区切り文字の記述だけで作ってしまいます。

sep=",";

str="原子の価電子,1,2,3,6,7

イオン, Na$^+$,Mg$^{2+}$,Al$^{3+}$,O$^{2-}$,F$^-$

半径(×$10^{-10}$m), 1.16 , 0.86 ,0.68, 1.26, 1.19";

indexpos=["c","c","c","c","c","c"];

pos=["c","c","c","c","c","c"];

maketable(str,sep,indexpos,pos);

これだけです。

はじめの sep= は区切り文字です。表の中で使わない文字を適当に設定します。

たとえばこの例では , です。csv形式です。

次の str が中身です。表の行ごとに改行し,全体を ""でくくって文字列にします。

Na$^+$ は数式の上つき文字です。半角スペースは無視されるので,適当に半角スペースをいれて行と列がわかりやすいように書けばよいでしょう。

表計算ソフトのシートからコピー・アンド・ペーストでコピーすることもできます。

この場合は,タブ区切りになるので sep=unicode("0009"); とします。

3行目はタイトル行(1行目)の位置情報です。センタリング,右寄せなどで center , right , left , top , bottom の頭文字を使います。左から順にに設定します。

4行目は表の中身の位置情報です。やはり左から順に設定します。

以上を設定して maketable(str,sep,indexpos,pos); を実行しますと,画面は次のようになります。

行,列の数が合わない場合は画面上部のリセットボタンを押します。

セルの幅は,ひとまず中身の文字数で決めています。そのため,不揃いになっています。そこで,赤の制御点をドラッグしてそろえます。幅を示す数字が出ているので目安にします。ぴったり合わせるのは大変なのでだいたいでよいでしょう。

これでTeXに書き出すと,はじめに示した表ができます。(¥input{}で挿入します)

次の表はかなりの分量がありますが

コンマ区切りで1行書いて,複写しながら書いていけば割に能率よくできます。

行、列の数が変わったらリセットボタンを押し,セル幅を調整します。

画面は次のようになります。

横罫線を非表示にする

日本では縦横罫線の入った表が一般的ですが,横書き文化圏では横罫線だけのものが一般的のようです。(LaTeX2e日文書作成入門:奥村晴彦著 による)

そこで,オプションをつけました。

maketable(str,sep,indexpos,pos,false);

と最後に false をつけると横罫線だけにします。

縦罫線は表示されていませんが,セル幅を変えることはできます。しかし,そのまま出力してもあまり違和感がないのが,横罫線だけの表の特徴でしょう。

関数の増減表

次のような関数の増減表も簡単にできます。

str="$x$,$-1$,$\cdots$,$\frac{1}{\sqrt{2}}$,$\cdots$,1

$y`$, ,$+$,0,$-$,

$y$,$-1$,$\nearrow$,$\sqrt{2}$,$\searrow$,1";

とすれば,表の文字ができます。数式を$$で挟んで入れています。y'のプライム(ダッシュ)はシングルクウォートではなく,バッククウォートにする必要があります。この点だけ注意しましょう。

斜線のセルは,Tlistplot()関数を用います。すなわち

maketable(str,sep,indexpos,pos);

Tlistplot(["c1r1","c2r2"]);

Tlistplot(["c5r1","c6r2"]);

のようにして,表を作った後で,2つのセルに斜線をひきます。

Cinderellaの画面も同じイメージになります。実行後に制御点をドラッグして整形します。

このツールは下からダウンロードできます。maketable.cdy です。

また,関数の増減表のほかの例が,作図例の微分積分にあります。

< 戻る >