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

  • TOP
  • 麻酔学講座
  • 関連施設
  • 研究生・学生の方へ
  • 各種マニュアル
  • リンク集
  • 各種マニュアル
    大阪大学大学院医学系研究科 麻酔集中治療医学講座 TOP>各種マニュアル>LaTexの解説>2. LaTeXで論文を書こう>I. クラス(スタイル)ファイルについて

    LaTexの解説

    2. LaTeXで論文を書こう

    I. クラス(スタイル)ファイルについて

    LaTexの解説

    I. クラス(スタイル)ファイルについて


     LaTeX2εでは様々な文書を作成するための骨格を決めるクラスファイルというものがあります. LaTeX2.09ではスタイルファイルと呼ばれていたものです.
    このクラスファイルを各雑誌用に作成してしまえば,論文作成の際にいちいち設定を気にする必要がなくなります. さらにLaTeXには参考文献リストを参考文献データベースから作成してくれる BibTeXというシステムもあります. これらを整えておけば万がいちにも投稿した論文がrejectされて別の雑誌に再投稿するようなことになった場合にでも簡単に対応することができます.^^;)
    BibTeXには参考文献リストのスタイルファイルに相当するbstファイルというものがありこれの設定を変更すれば,自由に参考文献リストの作成もできます.詳しくはII. 章 を参照して下さい.
    ここでは,これらのクラス(スタイル) の作成方法について解説します.

    I-1. クラスファイルの作成方法

     
    論文は通常articleのクラスファイルになります. LaTeX2.09では新しくスタイルファイルを作成する場合にはそのオリジナルとなるファイルを別の名前でコピーし, これに変更を加えて使用していましたが,LaTeX2eではオプショナルクラスの作成 という方法がとれるようになりました.これの利点 はオリジナルのクラスファイル のバージョンアップに簡単に追従できる点にあります. article.clsの補助クラスを作成するには以下のように \LoadClassWithOptionsコマンドを用います. これによってarticle.clsで使用できる種々のoptionが使用可能となります.
    例えばjournal.clsというクラスファイルをarticle.clsを元に作成する場合には journal.clsの最初に以下のように記述します.
    list 1
    \ProvideClass{journal}[1997/05/12]
    \LoadClassWithOptions{article}

    I-1-1. タイトルページ

    タイトルページは\maketitleコマンドとその下請けの\@maketitleコマンドで制御されています.

    (1) タイトルに必要な項目の追加・変更

     article.clsのデフォルトでは\title, \author, \dateの指定が必要です.雑誌によってはtitlepageにkeyword, affiliation, correspondenceなどが必要になります.このような場合これらの定義を追加してやる必要があります. このためには\@maketitleを変更します.まずは\@maketitleの定義部分をarticle.clsから作成中のクラスファイルにコピーします.list 2ではさらにタイトルページのページ番号の位置を変更する設定もしているために\if@titlepage...\fiをコピーしているが,\@maketitleだけを変更する場合には,\def\@maketitleから最後の \fiの直前までで構いません. 続いてこの定義の末尾に以下のごとく必要な項目の設定を行います.まずは@maketitleコマンド内に \gdef\@keywords{} とし,さらにコマンドに続けて \long\def\keywords#1{\long\gdef\@keywords{#1}} のように定義します.list 2ではaffiliationとcorrespondenceを追加しています.

    (2) タイトルページのレイアウト

     タイトルページのレイアウトを変更するにはやはり\@maketitle コマンドを変更します.list 2の中で\@title, \@author, \@dateなどが \maketitleのパラメータを示しています.ここではtitleはcentering されて\LARGEサイズで出力するようになっています. authorは表組用のコマンドを用いて出力する様に改変されています. このようにしてレイアウトを変更できます.

    (3) タイトルページのページ番号

     タイトルのページ番号は本文のページ番号と別個に設定するようになっています.デフォルトではページ番号はタイトルおよび本文とも中央下部にタイトルページを1ページとして付けられるようになっています.雑誌によってはタイトルページのページ番号を付けないように指定されているものもありますから,このような場合これらの設定の変更が必要になります.このような場合には\maketitleを改変する必要があるためlist 2のように\if@titlepage以下をコピーして来ます.さらに2つある\newcommand\maketitleを\renewcommand\maketitleに変更します. ここで例えばタイトルページのページ番号を右上隅に付けるには\maketileの定義の中の \pagestyle{plain}を\pagestyle{myheadings}として下さい. \pagestyle{myheadings}はページ番号を右上隅に付けるコマンドです.クラスファイル中に設定すると本文のページ番号がこのスタイルになります.なお,雑誌によってはページ番号と同時にauthorのfirst nameも入れるように指示されている場合もあります.このような場合には \pagestyle{myheadings}を指定してさらに原稿本体に \markboth{Author~}{Author~}というコマンドを追加しておけばOkです. タイトルページにページ番号を付けたくない時には\pagestyle{empty}とします. なお,list 2では,追加した項目について使用後はメモリーを開放するために \global\let\@correspondence\@emptyや\global\let\correspondence\relax を追加していることに注意して下さい.

    list 2

    %
    % title page setting
    % maketile parameter : title, author, date, affiliation, correspondence
    %
     \if@titlepage
     \renewcommand\maketitle{\begin{titlepage}%
     \let\footnotesize\small
     \let\footnoterule\relax
     \let \footnote \thanks
     \null\vfil
     \vskip 60\p@
     \begin{center}%
      {\LARGE \@title \par}%
      \vskip 3em%
      {\large
      \lineskip .75em%
        \begin{tabular}[t]{c}%
         \@author
        \end{tabular}\par}%
        \vskip 1.5em%
      {\large \@date \par}%     % Set date in \large size.
    \end{center}\par
    \@thanks
    \vfil\null
    \end{titlepage}%
    \setcounter{footnote}{0}%
    \global\let\thanks\relax
    \global\let\maketitle\relax
    \global\let\@thanks\@empty
    \global\let\@author\@empty
    \global\let\@date\@empty
    \global\let\@title\@empty
    \global\let\@correspondence\@empty% added for manuscript.cls \global\let\@affiliation\@empty%  added for manuscript.cls
    \global\let\title\relax
    \global\let\author\relax
    \global\let\date\relax
    \global\let\and\relax
    \global\let\correspondence\relax%  added for manuscript.cls
    \global\let\affiliation\relax}% added for manuscript.cls
    \else
    \renewcommand\maketitle{\par
     \begingroup
       \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
       \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
       \long\def\@makefntext##1{\parindent 1em\noindent
          \hb@xt@1.8em{%
            \hss\@textsuperscript{\normalfont\@thefnmark}}##1}%
       \if@twocolumn
          \ifnum \col@number=\@ne
            \@maketitle
          \else
            \twocolumn[\@maketitle]%
          \fi
       \else
          \newpage
          \global\@topnum\z@ % Prevents figures from going at top of page.
          \@maketitle
       \fi
       \thispagestyle{myheadings}\@thanks
     \endgroup
     \setcounter{footnote}{0}%
     \global\let\thanks\relax
     \global\let\maketitle\relax
     \global\let\@maketitle\relax
     \global\let\@thanks\@empty
     \global\let\@author\@empty
     \global\let\@date\@empty
     \global\let\@title\@empty
     \global\let\@correspondence\@empty% added for manuscript.cls
     \global\let\@affiliation\@empty% added for manuscript.cls
     \global\let\title\relax
     \global\let\author\relax
     \global\let\date\relax
     \global\let\and\relax
     \global\let\correspondence\relax% added for manuscript.cls
     \global\let\affiliation\relax% added for manuscript.cls
    }
    \def\@maketitle{\newpage
     \null
     \vskip 2em \begin{center}
     {\LARGE \@title \par} \vskip 1.5em {\large \lineskip .5em
    \begin{tabular}[t]{l}\@author
     \end{tabular}
     \par}
     \vskip 1em {\large \lineskip .5em
    \begin{tabular}[t]{l}\@affiliation \end{tabular} \par} \end{center}
    % \par
     \vskip 1.5em
    \@ifundefined{@correspondence}{}
    { % \small
     \begin{center}
      {\bf correspondence to \vspace{-.5em}\vspace{0pt}}
     \end{center}
     \begin{quotation} \@correspondence \end{quotation}
     \vskip 1.5em
     \gdef\@correspondence{}
     \gdef\@affiliation{}}}
    \long\def\correspondence#1{\long\gdef\@correspondence{#1}}
    \long\def\affiliation#1{\long\gdef\@affiliation{#1}}
    \fi

    I-1-2. セクションの表記について

    article.clsのデフォルトでは\sectionコマンドで設定した語句の前には通し番号が付きます.この番号をなくしたい時には以下のコマンドを用います.

    list 3

    \renewcommand\thesection{}
    \renewcommand\thesubsection{}
    \renewcommand\thesubsubsection{}

    I-1-3. 本文中のリファレンス番号の表記について

     本文中のリファレンスの番号の表記は雑誌ごとに異なります.デフォルトでは[1], [1,2,5]のようになっていますが, (1) とか上付きの2,3または2,3)などが指定されていることもあると思います.list 4-1は上付きの小文字で番号を付けるための設定です. list 4-2のようにすれば(1), (2,5)のようになります. #1\if@tempswa , #2\fiが番号の本体と考えて下さい.これを()で括れば()付きになりますし,)だけにすれば1)などのようになります.
    list 4-1

    \def\@cite#1#2{$^{\hbox{\scriptsize{#1\if@tempswa, #2\fi}}}$}

    list 4-2

    \def\@cite#1#2{(#1\if@tempswa, #2\fi)}

    I-1-4. レファレンスの書式変更について

     レファレンスの各項目の書式変更はBibTeXのbstファイルで行いますのでこれに付いては II 章を参照して下さい. クラスファイルで設定するのは先頭の番号の書式です.デフォルトでは[n]のように[]で囲むようになっています.これを例えばn)に変更するにはlist 5のようにします.
    list 5

    \renewcommand*{\@biblabel}[1]{#1)\hfill}
    1. のように変更したければlist 6のようにします.
    list 6

    \renewcommand*{\@biblabel}[1]{#1.\hfill}
    (1)なら
    list 7

    \renewcommand*{\@biblabel}[1]{(#1)\hfill}
    です.

    I-1-5. まとめ

     これまでのまとめを行ったものがlist 8のmanuscript.clsです.これのコメントを適宜付け変えるなり,maketitleの書式を変えたりすれば大体の雑誌のフォームが作れると思います.

    list 8

    %
    % This class file is used for making manuscript style.
    %   Ver 1.00 1997.05.18
    %   Ver 1.01 1997.05.22
    %  by hagihira@anes.med.osaka-u.ac.jp
    %    Department of Anesthesiology, Osaka University Medical School,
    %    2-2, Yamadaoka, Suita 565, Osaka, Japan.
    %
    %
    \ProvidesClass{manuscript}[1997/05/22]
    %
    \LoadClassWithOptions{article}
    %
    %   double space setting
    %
    \def\baselinestretch{1.5}
    %
    %  title page setting
    %  maketile parameter : title, author, affiliation, correspondence
    %
     \if@titlepage
     \renewcommand\maketitle{\begin{titlepage}%
     \let\footnotesize\small
     \let\footnoterule\relax
     \let \footnote \thanks
     \null\vfil \vskip 60\p@
     \begin{center}%
       {\LARGE \@title \par}%
       \vskip 3em%
       {\large
       \lineskip .75em%
        \begin{tabular}[t]{c}%
          \@author
        \end{tabular}\par}%
        \vskip 1.5em%
       {\large \@date \par}%   % Set date in \large size.
     \end{center}\par
     \@thanks
     \vfil\null
     \end{titlepage}%
     \setcounter{footnote}{0}%
     \global\let\thanks\relax
     \global\let\maketitle\relax
     \global\let\@thanks\@empty
     \global\let\@author\@empty
     \global\let\@date\@empty
     \global\let\@title\@empty
     \global\let\@correspondence\@empty
     \global\let\@affiliation\@empty
     \global\let\title\relax
     \global\let\author\relax
     \global\let\date\relax
     \global\let\and\relax
     \global\let\correspondence\relax
     \global\let\affiliation\relax}
    \else
    \renewcommand\maketitle{\par
     \begingroup
      \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
      \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
      \long\def\@makefntext##1{\parindent 1em\noindent
        \hb@xt@1.8em{%
          \hss\@textsuperscript{\normalfont\@thefnmark}}##1}%
      \if@twocolumn
        \ifnum \col@number=\@ne
          \@maketitle
        \else
          \twocolumn[\@maketitle]%
        \fi
      \else
        \newpage
        \global\@topnum\z@ % Prevents figures from going at top of page.
        \@maketitle
      \fi
      \thispagestyle{myheadings}\@thanks
     \endgroup
     \setcounter{footnote}{0}%
     \global\let\thanks\relax
     \global\let\maketitle\relax
     \global\let\@maketitle\relax
     \global\let\@thanks\@empty
     \global\let\@author\@empty
     \global\let\@date\@empty
     \global\let\@title\@empty
     \global\let\@correspondence\@empty
     \global\let\@affiliation\@empty
     \global\let\title\relax
     \global\let\author\relax
     \global\let\date\relax
     \global\let\and\relax
     \global\let\correspondence\relax
     \global\let\affiliation\relax
    }
    \def\@maketitle{\newpage
     \null
     \vskip 2em \begin{center}
     {\LARGE \@title \par} \vskip 1.5em {\large \lineskip .5em
    \begin{tabular}[t]{l}\@author
     \end{tabular}
     \par}
     \vskip 1em {\large \lineskip .5em
    \begin{tabular}[t]{l}\@affiliation \end{tabular} \par} \end{center}
    % \par
     \vskip 1.5em
    \@ifundefined{@correspondence}{}{
    % \small
     \begin{center}
      {\bf correspondence to \vspace{-.5em}\vspace{0pt}}
     \end{center}
     \begin{quotation} \@correspondence \end{quotation}
     \vskip 1.5em
     \gdef\@correspondence{}
     \gdef\@affiliation{}}}
    \long\def\correspondence#1{\long\gdef\@correspondence{#1}}
    \long\def\affiliation#1{\long\gdef\@affiliation{#1}}
    \fi

    % no numbers set on section/subsection/subsubsection
    %
    \renewcommand \thesection {}
    \renewcommand\thesubsection {}
    \renewcommand\thesubsubsection{}
    %
    %  bibliography heading setting
    %   default : [n]
    %
    % n)
    %\renewcommand*{\@biblabel}[1]{#1)\hfill}
    % n.
    %\renewcommand*{\@biblabel}[1]{#1.\hfill}
    % (n)
    %\renewcommand*{\@biblabel}[1]{(#1)\hfill}
    %
    %   citation form setting
    %   default is []
    %   superscript
    \def\@cite#1#2{$^{\hbox{\scriptsize{#1\if@tempswa , #2\fi}}}$}
    %   superscript with )
    %\def\@cite#1#2{$^{\hbox{\scriptsize{#1\if@tempswa , #2\fi})}}$}
    %   with ()
    %\def\@cite#1#2{(#1\if@tempswa, #2\fi)}
    %   with )
    %\def\@cite#1#2{#1\if@tempswa, #2\fi)}
    %
    %  pagestyle setting
    %
    %\pagestyle{myheadings}
    %
    % end of manuscript.cls -----------------------------------------------
    あとはレファレンスの形式設定のみです.これは II 章を参照して下さい.
    なお,ここに書いた内容とクラスファイル作成スクリプトをまとめた manuscript-1.93.tar.gzは download可能です.文書はLaTeXで書かれています.
    Windowsの場合にはmanuscript-1.93win.tar.gzをdownload して下さい.
    最終改定 2002.01.31 (Ver1.18)