大阪大学大学院医学系研究科 生体統御医学講座 麻酔集中治療医学教室

  • TOP
  • 麻酔学講座
  • 関連施設
  • 研究生・学生の方へ
  • 各種マニュアル
  • リンク集
  • 各種マニュアル
    大阪大学大学院医学系研究科 麻酔集中治療医学講座 TOP>各種マニュアル>LaTexの解説>3. 便利なマクロについて>1・Teikei マクロ

    LaTexの解説

    3. 便利なマクロについて

    1. Teikei マクロ

    LaTexの解説

    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からの変更点

    1. OFFSETがちゃんと動くようになりました.
    2. 別枠や複数ページにわたる枠にパラグラフを入れるマクロを追加しました.
    3. \maru{x}マクロを削除しました.これはpLaTeX2εには同様の\textcircled{x}が 存在するため不要と考えられたからです.

    I-2-3. V0.92からの変更点

    1. 科研マクロからBruleを取り込んだことにより枠組をした時の右下が欠けるのをなくした.
    2. 科研マクロからVruledash, Hruledashを取り込んだ.
    3. 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マクロの中で使う時の不具合を修正しました.

    2. Anesthesia and Analgesia

    Guide for authorsの改訂

    2006年4月にEditor in ChiefがRD MillerからSL Shaferに交代したのに伴ってGuide for Authorsが改訂されています.Referenceの書式ではauthor名の省略がなくなり,全authorを列挙するようになりました.さらに細かい表記も変更されています.
    あとスタイルには関係ありませんが,TableとFigureが合わせて6個までという制限もなくなっているようです.
    この雑誌は現在でもLaTeXから作成したPDFでの投稿を受け付けてくれていますので,私の作成したclsファイルとbstファイルを利用し,図も epsで埋め込めば全てを1個のPDFファイルにして投稿することができます.

    General Style
    この設定はほとんどAnesthesiologyと同様です.違うのはページ番号です.Anesthesia and Analgesiaではページ番号を中央下に付けるように指定されています.そこでpagestyleを「plain」に設定します.
    \documentclass[12pt]{AandA}
    \usepackage{geometry}
    \geometry{ margin = 1in }
    \usepackage[dvips]{graphicx}
    \usepackage{citesort}
    Title Page Style
    Anesthesia and AnalgesiaではTitle Pageに以下の項目を記述するようになっています.
    \documentclass[12pt]{AandA}
    \usepackage{geometry}
    \geometry{ margin = 1in }
    \usepackage[dvips]{graphicx}
    \usepackage{citesort}
    Title Page Style
    Anesthesia and AnalgesiaではTitle Pageに以下の項目を記述するようになっています.
    1. 論文のタイプ (general article, case report, brief report, technical communication etc.)
    2. Title: 論文のタイトル
    3. Name of Authors and Affliations: 著者名と所属,academic degreeを含む
    4. department and institution: 研究の行われた所.
    5. Disclaimer: もし必要なら.
    6. Corresponding authorの連絡先:Tel., Fax., Emailを含む.
    7. Fundings: grants or financial supportsがあるなら書く.
    8. Running title. 40文字以内での簡単な表題.

    AandA.clsのmaketitleコマンドでは\title, \auther, \affiliationの3つの項目は必須で, \typeofpaper, \keywords, \disclaimer, \correspondence, \support, \runningの6つの項目はオプションになっています.また,Anesthesia and Analgesiaではページ番号をTitle Pageを1ページとして中央下に配置しなければなりませんので,titlepageコマンドのpagestyleを「plain」とします.

    Main Page Style
    Sectionの設定はAnesthesiologyと同様です.
    次は本文中での引用文献の番号の記述様式です.これもAnesthesiologyと同様です.引用順に文献番号を付け,その番号は引用部の右上に小さく記述するように指定されています.なお,複数の引用文献の番号を並べるにはcitesort.styを使用します.

    References
    Referecncesは1. 2. 3. といったnumberingで書き並べます.これもAnesthesiologyと同様です.文献は引用順に番号を付け,並べ替えは行いません.
    2006年4月以降,著者名はすべてを列挙するように変更されています.また,各リストの最後のピリオドは付けないようになっています.
    これら個々のReferenceの書式に関してはBibTeXとAandA.bstを使用すれば自動的にAnesthesia and Analgesiaの指定に沿ったReference Listを作成できます.以下はGuide for AuthorsにあるReferenceのフォーマットの例です.AandA.bstではarticle, book, inbookの3種の文献タイプとinproceedingsを定義しています.
    Journal: Dalal PG, Murray D, Cox T, McAllister J, Snider R. Sedation and anesthesia protocols usedfor magnetic resonance imaging studies in infantconsiderations. Anesth Analg 2006;103:863-8
    Book: Zar JH. Biostatistical Analysis. 3rd ed. Upper Saddle River, NJ: Prentice-Hall, 1996
    Chapter: Eger EI II. Uptake and distribution. In: Miller RD, ed. Miller's Anesthesia. 6th ed. Philadelphia: Elsevier Churchill Livingstone, 2005:131-53
    Proceedings: DuPont B. Bone marrow transplantation in severe combined immunodeficiency with anunrelated MLC compatible donor. In: White HJ, Smith R, eds. Proceedings of the third annual meeting of the International Society for Experimental HInternational Society for Experimental Hematology, 1974:44-6

    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の中の '%% 通常は以下部分を書き換えてどのパラグラフをどこに入れるかを決定' というコメントに続く部分に設定します. ここで使用できるマクロには以下のものがあります.
    1. \XYBC{Xa}{Ya}{Xb}{Yb}{\Words} :絶対位置 (Xa, Ya) (Xb, Yb)で定 まるボックスに\Wordsを入れて上下左右でセンタリングする.
    2. \XYBP{Xa}{Ya}{Xb}{Yb}{\Paragraph} :絶対位置 (Xa, Ya) (Xb, Yb) で定まるボックスにパラグラフとして\Paragraphを入れる.マージン(両側)は XM, YM で決まります.パラグラフの先頭の字下げはINDENTで決定されます.
    3. パラグラフを複数の定型枠に分割して入れる場合に使用するコマンド (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