簡単に作表
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の画面も同じイメージになります。実行後に制御点をドラッグして整形します。