戻る
I. Teikei マクロについて
学会の抄録や,種々の書類には予め決められている枠組の中へ語句や文章をはめ込む
ように決められているものが数多くあります.これらの書類をLaTeXで作成するのは
簡単ではありません.このTeikeiマクロはこのような用途に使うためのものです.
このマクロは
元々は科研費申請書作成用マクロとして以下の方々作成されたものを汎用的に
使えるように改造したものです.といってもほとんどマクロ自体はそのまま
の流用です.
現在のVer0.96にはpLaTeX2εのteikei.clsとLaTeX2εのformatted.cls(英語用です)
およびLaTeX2.09用のteikei.styの3種が含まれています.LaTeX2.09用は現在のと
ころサポートしておりますが,今後はできるだけLaTeX2ε/pLaTeX2εに絞っていき
たいと考えております.こちらの方が使用方法にも自由度があります.
ここの解説はpLaTeX2εのものですのでLaTeX2.09版を使用される方はTeikeiマクロ
に含まれるteikei209.docを参照して下さい.
- Ken-Ichi Aoki (aoki@hep.s.kanazawa-u.ac.jp)
- Taikan Oki (taikan@hydro.iis.u-tokyo.ac.jp)
- Shinichi Nawa (nawa@ps1.yukawa.kyoto-u.ac.jp)
- Toru Sato (tsato@ibuki.kuee.kyoto-u.ac.jp)
これらの方々に感謝したいと思います.
tsatoさんには,さらにパラグラフを分割して別々の定型枠に入れるマクロの作製
に関して多くのコメントを頂きました.
またOFFSETのバグを退治して下さった東北大学の阿部さん
(masahide@mk.ecei.tohoku.ac.jp)に感謝します.
I-2. これまでの履歴
2-1. LaTeX209版(teikei.sty)からの変更点
pLaTeX2ε版では以前のLaTeX2.09版とはいくつかの点で異なっています.
(1) 用紙設定について
jarticle.clsをベースにするようにしたため,これ用のオプションが使用可能と
なっています.従って,用紙のサイズはteikei.clsのオプションとしてa4paper,
b4paperのように指定できるようになりました.また横置きの場合にはlandscape
オプションが使用できます.外枠のサイズの指定は不要になりました.
(2) 文字サイズの設定について
デフォルトの文字LaTeX2.09版では元の科研マクロに準じていたためデフォルトで
は12ptとなっていましたが,これをクラスオプションで指定するようにしました.
従ってデフォルトの文字サイズは指定がなければ10ptとなり12ptの場合にはクラス
オプションで\documentclass[12pt]{teikei}のように指定するようになりました.
また,各々の文字サイズを\Tenpointのように指定していましたが,これらの定義
はすべて抹消しました.文字サイズを変更する場合にはjarticle.clsにある\Large
や\smallを使用するかもしくは,\fontsizeと\selectfontコマンドを用いて指定
するようになっています.
(3) NTT-jTeXについて
NTT-jTeXでの動作は全く確かめておりません.ただしpLaTeX2ε版ではASCII-pTeX
特有の命令はおそらくないかあってもわずかだと思います.どなたか試してみて下
さい.
(4) 行間隔について
LaTeX2.09版では定型枠内の行間を固定することはできませんとしてありましたが,
\baselineskipを操作すればある程度可能ではないかと思われます.確認はしてお
りません.
I-2-2. V0.9からの変更点
- OFFSETがちゃんと動くようになりました.
- 別枠や複数ページにわたる枠にパラグラフを入れるマクロを追加しました.
- \maru{x}マクロを削除しました.これはpLaTeX2εには同様の\textcircled{x}が
存在するため不要と考えられたからです.
I-2-3. V0.92からの変更点
- 科研マクロからBruleを取り込んだことにより枠組をした時の右下が欠けるのを
なくした.
- 科研マクロからVruledash, Hruledashを取り込んだ.
- Brule, Hrule, Vruleに線の太さをオプションで与えるように変更しthickコマン
ドを削除した.
実際の文書はsample.texをコピーしてここに必要事項を書き入れるようにするの
がよいと思います.
なお日本語コードはすべてSJISですのでEUCなどで使用する場合にはnkfなどで
コードコンバートをして下さい.
また,(3)の変更によってこれまでのHrule, Vruleに線の太さのオプションが付きま
したのでV0.94以前のソースはこの部分に手直しが必要になります.
またHrulethick, VrulethickもHrule, Vruleに統合されましたので注意して下さい.
旧版のソースのこれらのコマンドに\Wオプションで,thin lineなら0.1ptを
thick lineなら1ptを指定すると以前のものと互換になります.
I-2-4. V0.95からの変更点
(1) Hruledash, Vruledashの変更
sawai@nike.mech.osaka-sandai.ac.jpさんの御指摘でHruledash, Vruledashを
repeatマクロの中で使う時の不具合を修正しました.
I-3.使用方法
(a) sapmle.texを適当な名前でコピーして下さい.ここではtest.texとします.
まず用紙のサイズや方向,デフォルトの文字サイズを設定する必要がある場合に
は\documentclassのオプションに追加して下さい.
\usepackage{youshi}は消さないで下さい.もちろんディメンジョンを増やすため
にyoushi.styを別名でコピーして使用する場合には適当な名前に変更して下さい.
(例)\documentclass[a4paper,landscape,12pt]{teikei}
また,プリンターのDPIを環境に併せて変更してください.デフォルトは\DPI=300
です.あとパラグラフ先頭のインデントも必要に応じてセットして下さい.こち
らのデフォルトは0zwです.
test.texを改変する前に作成したい定型的書類の枠組の各サイズ(座標)をあらか
じめ計測しておきます.この時の座標軸は右方向が+x下方向が+y方向となります.
座標原点は用紙の左上から1インチずつのところのようです.(p\LaTeXe の仕様?)
(b) 座標が決定できたらこれらをtest.texに設定します.parametersとコメントに
書かれたところに下の\def\frameparamaとか\def\frameparambとかありますから,
ページ毎に各パラメータ値を設定します.
パラメータ名はyoushi.sty内にXa, Xb,.....,Xz (XIのみIが大文字)のように定義
されてますから適宜使用して下さい.もしパラメータ名が不足するようなら適当な
名前(Xaaなど)をyoushi.styに追加して定義して使用して下さい.
test.texではパラメータは以下のように設定します.通常は(Xa, Ya) = (0,0)
としておいてよいと思います.座標の値はマイナスでも構いません.
用紙からはみ出ないようにして下さい.ドライバーによってはcoreを吐いてしまう
こともあります.xdvi17などはそうでした.
\Xa = 0.0cm \Xb = 3.50cm \Ya= 0.0cm ....
なお長さの単位はLaTeXで使用可能な単位ならOkだと思います.通常はcmまたはmm
でよいでしょう.
(c) さらに枠組自体も出力させる場合には\def\framedisplayaとかの以下の部分に
枠組を作成するためのマクロを書きます.
使用するマクロは以下の6種類です.
\Brule{\Xa}{\Ya}{\Xb}{\Yb}{\W} : (\Xa,\Ya)-(\Xb,\Yb)のBoxを幅\Wの線で書く
\Hrule{\Xa}{\Ya}{\Xb}{\W} : Yaの高さでXaからXbまで横に幅\Wの線を引く
\Vrule{\Xa}{\Ya}{\Yb}{\W} : Xaの位置でYaからYbまで縦に幅\Wの線を引く
\Hruledash{\Xa}{\Ya}{\Xb}{\W} : Yaの高さでXaからXbまで横に幅\Wの鎖線を引く
\Vruledash{\Xa}{\Ya}{\Yb}{\W} : Xaの位置でYaからYbまで縦に幅\Wの鎖線を引く
\Drule{\Xa}{\Ya}{\Xb}{\Yb}{\W} : (\Xa,\Ya)-(\Xb,\Yb)間に幅\Wの斜線を引く
通常太い線は1pt程度,細い線は0.1pt程度です.
test.texの最初の方にある%\FRAMEOFFの'%'を外してこれを生かすようにすれば
全ての枠組が出力されなくなります.
(d) ここまでで使用すべき枠組は決まりますから,次はいよいよ枠にはめ込む字句
やパラグラフの配置です.
これらはtest.texの中の
'%% 通常は以下部分を書き換えてどのパラグラフをどこに入れるかを決定'
というコメントに続く部分に設定します.
ここで使用できるマクロには以下のものがあります.
- \XYBC{Xa}{Ya}{Xb}{Yb}{\Words} :絶対位置 (Xa, Ya) (Xb, Yb)で定
まるボックスに\Wordsを入れて上下左右でセンタリングする.
- \XYBP{Xa}{Ya}{Xb}{Yb}{\Paragraph} :絶対位置 (Xa, Ya) (Xb, Yb)
で定まるボックスにパラグラフとして\Paragraphを入れる.マージン(両側)は
XM, YM で決まります.パラグラフの先頭の字下げはINDENTで決定されます.
- パラグラフを複数の定型枠に分割して入れる場合に使用するコマンド
(Ver0.92以降)
これらのコマンドを使用する場合にはあらかじめワーク用のboxを定義しておく
必要があります.sample.texでは
\newbox\separatebox
として\separateboxを定義しています.必要に応じて適宜(メモリーの許す範囲で?)
定義して使用して下さい.
a. \XYSETGBP{Width}{Height}{\Paragraph}{\workbox} :サイズ Width x Heightで
\workboxに\Paragraphを入れる.
このコマンドは他のコマンドと異なりワーク用のboxに\Paragraphを入れるだけで出
力はしない.
b. \XYPBP{Xa}{Ya}{Height}{\workbox} : 左上が(Xa, Ya)の枠に\workbox
に格納されている\Paragraphのうち高さHeightに当たる部分のみをこの枠に入れる.
枠幅はあらかじめXYSETGBPで指定されているものになる.
実際にはまずXYSETGBPでboxの幅と,複数の枠すべてを足したboxの高さを設定して
パラグラフを指定しておき,XYPBPで適宜必要な部分を切り出してそれぞれの枠組
に入れていくという使い方になると思います.枠ごとに横幅を変えるといったこと
はできません.
これらのコマンドではXYBPと同様にXM, YMでマージンが決められます.
ただおそらくはあまり多くの枠に分割しすぎるとYMの分がうまくできなくて最後の
パラグラフがうまく枠に入らない可能性があります.おそらくほとんど無視できる
と考えてこのような仕様にしました.
この他にも\kinto{size}{KANJI TEXT}のように均等に文字を配置するマクロや
\Number{number}のように数字の3桁毎にコンマを入れるマクロ(9桁まで)なども
teikei.clsに含まれています.便利なものが他にもありますので興味のある方は
発掘してみて下さい.^^;)...
これらは科研費マクロに含まれていたものをそのまま残したものです.
(e) 最後に枠にはめ込む字句やパラグラフを定義します.
\def\内容{....}
というように定義します.これで完成です.LaTeXに掛けてプレビューしてみて
下さい.
(f) 最終出力で科研費マクロのように用紙に直接プリントアウトする時には出力位
置の微調整用に\HOFFSET,\VOFFSETがあります.
TeXソースの\frameoutaの前に設定して調整して下さい.
sample.texに示してあるように複数ページの定義も可能です.出力するためには
\begin{document}と\end{document}の間に\frameoutaなどの出力コマンドと
\newpageを並べていけば複数ページの作製ができます.
さらに特定のページだけ定型枠を使用し,残りをarticle.cls仕様で書くことも
ある程度は可能でした.これについてはあまり確かめておりませんのでどこまでで
きるかは不明な部分もあります.
なおパラグラフにはtableなどを入れることも可能(サイズ調整は必要)ですし,
graphicsパッケージを使用すればEPSのファイルを張り付けることもできました.
I-4. Teikeiマクロの入手方法
Teikeiマクロの現在の最新版はVer0.96です.これはここから
downloadできます.
LaTeX2.09版についての注意です.宇都宮大学の湯上さんから指摘を受けましたが,
LaTeX2.09にはLaTeX2eのロゴが定義されていないためそのままsample.texをLaTeX2.09
でコンパイルするとエラーになります.以下の定義を加えて下さい.
\newcommand{\LaTeXe}{\mbox{%
\if b\expandafter\@car\f@series\@nil\boldmath\fi
\LaTeX\kern.15em2$_{\textstyle\varepsilon}$}}
私のところは既にLaTeX2eへ移行していたため,LaTeX2.09互換モードでしかテスト
できていなかったためこのようなことが起こったようです.
Teikeiマクロで作成したサンプルはこちら.ページ1,
ページ2