例文

言語学の番号付き例文というのは,LaTeX標準の数式の番号付けとはちょっと違うので,それ専用のスタイルファイルを使うのが手っ取り早いでしょう.代表格は以下の5つだと思われます.

  1. gb4e.sty(同時に配布されているcgloss4e.styとともに使用)
  2. lingmacros.sty
  3. covington.sty
  4. linguex.sty
  5. expex.sty

それぞれ細かな違いがあって,どれが一番良いということは言えないと思いますが,私はgb4e.styを使っていますので,以下ではそれを中心に説明します.ちなみにgb4e.styはcgloss4e.styと一緒でないと使うことができないので,cgloss4e.styもLaTeXが読める場所に入れておいて下さい.また,gb4eは下付き文字と上付き文字の定義を変えますので,スタイルファイルの中で,最後に読み込むようにして下さい(2010/2/25 追記: 最新のgb4e.styでは読み込んだ直後に\noautomathと記述することで,この機能をオフにすることができます.トラブルが多い機能なのでオフにすることをおすすめします).

基本

まず一番基本的な用法,括弧付きの例文の2パターンです.

\begin{exe}
\ex This is the first example.
\ex This is the second example. 
\ex
 \begin{xlist}
 \ex This is the third example.
 \ex This is the fourth example.
 \end{xlist}
\end{exe}

のように書くと,以下のような出力が得られます.

\begin{exe}…\end{exe}で囲まれる環境で,\exを使うと括弧付きの数字が出てきて,さらにその\exの中でxlist環境を使うと,その中の例文はa, b, cという振り方になります.言語学ではほとんどこのような振り方なので,大半はこれでいけるでしょう(カスタマイズは下で紹介します).

LaTeXを使う利点の1つに相互参照が楽というのがありますが,gb4eでももちろん簡単にできます.各例文の\exに\label{…}でラベルをつけて,他の場所で\ref{…}で参照すると,その番号が出力されます.またhyperref.styと一緒に使っている場合は,当然pdfファイル内で相互参照されますので,参照された部分をクリックするとその例文に飛ぶことができます.

\begin{exe}
\ex\label{first} This is the first example.
\ex This is the second example. 
\ex
 \begin{xlist}
 \ex\label{third} This is the third example.
 \ex This is the fourth example.
 \end{xlist}
\end{exe}
(\ref{first})は1つ目の例文で,(\ref{third})は3つ目の例文である.

のように書くと,以下のようになります.

言語学では,英語以外の例文にはグロスと訳をつけることが慣例となっていますが,これも簡単に行うことができます.例えば,以下のように記述すると

\begin{exe}
\ex
\gll Kore wa nihongo no rei da.\\
this TOPIC Japanese GEN example COPULA\\
\trans `This is a Japanese example.'

\ex
\gll Den Fritz have ich $t$ zum Essen eingeladen.\\
the Fred have I {} {to the} eating invited\\
\glt `I invited Fred for dinner.'
\end{exe}

こんな感じの出力が得られます.

\exに続いて\gllと書いて,1行目に例文,改行して前から順に1単語ずつグロスをつけていきます.さらに改行して\transか\gltで訳となります.(5)の例にあるように,グロスをつけたくない単語は空要素{}で飛ばすことができ(t にはグロスがついていない),1単語に2語以上のグロスをつけたい場合は,複数語のグロスを{}で囲むと,それが1要素とみなされます(zumにto theと2単語のグロスがついている).

例文につける番号などは,手動で指定することもできます.例えば,脚注内で例文を提示する際に(i), (ii)といった番号を振ることがよくありますが,それは以下のように\exの代わりに\exi{…}を使うことで可能になります.

\begin{exe}
\exi{(i)} This is an example in the footnote.
\exi{(ii)} Here is another one.
\end{exe}

その他に,他の例文の\labelを参照することで,その例文と同じ番号をつける\exr{…}や,参照した番号にプライムをつける\exp{…}などもありますが,取り敢えずは以上の基本で事足りるのではないかと思います.

応用

短い論文では必要ないと思いますが,本などを書いていると,(1.10)や(3-25)のように例文番号の前に章番号を入れたくなることがあります.gb4eでは,例文番号はxnumiで表されますので,プリアンブルで以下のように\thexnumiを定義しておけば,変更できます(ハイフンで章番号と例文番号を繋ぎたい場合は,\thechapter-\@xsi{xnumi}とします).

\makeatletter
\@addtoreset{xnumi}{chapter}
\def\thexnumi{\thechapter.\@xsi{xnumi}}
\makeatother

上記のようにすると,数字が長くなって,例文の開始位置がずれる心配があります.これは\exewidthの幅を広く定義してやることで,解消できます.以下のようにします(広すぎるようでしたら,(23456)を少し減らして微調整して下さい).

\makeatletter
\def\exewidth#1{\def\@exwidth{#1}} \exewidth{(23456)}
\makeatother

また,本や博士論文などで,例文番号を章ごとに振り直さずに,後半になると例文番号が3桁になっていたりするものをたまに見かけますが,あまりスマートには見えません.gb4eの例文番号のカウンターはexxですので,章の頭に以下のように書いて,カウンターをリセットしておいた方が見やすくてよいでしょう.

\setcounter{exx}{0}

xlist環境で導入するa, b, cなどのアルファベットラベルを括弧付きにしている雑誌があります(例えばイギリス言語学会のJournal of Linguistics).この変更には,ちょっと大がかりですが,xlist環境を書き直してしまうといいでしょう.プリアンブルに以下のように書きます.

\makeatletter
\def\@xlist#1[#2]{\ifnum \@xnumdepth >3 \@toodeep\else%
    \advance\@xnumdepth \@ne%
    \edef\@xnumctr{xnum\romannumeral\the\@xnumdepth}%
    \def\@bla{#1}
    \ifx\@bla\empty\xs@default{\romannumeral\the\@xnumdepth}\else%
      \expandafter\let\csname @xs\romannumeral\the\@xnumdepth\endcsname#1\fi
    \begin{list}{(\csname the\@xnumctr\endcsname)}%
                {\usecounter{\@xnumctr}\@subex{#2}{1.5ex}}\fi}

\def\@subex#1#2{\settowidth{\labelwidth}{#1}\itemindent\z@\labelsep#2%
         \ifnum\the\@xnumdepth=1\topsep 7\p@ plus2\p@ minus3\p@\else%
         \topsep 2\p@ plus2\p@\fi\parsep 2\p@ plus\p@ minus\p@%
         \itemsep \parsep\leftmargin\labelwidth\advance\leftmargin#2\relax}
\makeatother

そうすると以下のように変わります.

gb4eでは例文やグロスのフォントは,デフォルトではローマンになりますが,雑誌によっては例文をイタリックにしたり,グロスをサンセリフにすることを要求されるかもしれません.これは簡単に変更することができます.プリアンブルに以下のように書いて下さい.

\let\eachwordone=\it
\let\eachwordtwo=\sf

\eachwordoneが例文のフォント指定で1行目の記述で,例文がイタリックになります.\eachwordtwoはグロスのフォント指定ですので,2行目によりグロスがサンセリフになります.NLLTなどSpringerの雑誌は,グロスがイタリックなので,\let\eachwordtwo=\itとしておけばいいわけです.

gb4eとは関係ありませんが,グロスで略記号を使うとき,キャピタルにするのか,スモールキャピタルにするのか,イニシャルキャピタルにするのか,出版社や雑誌によってまちまちです.いちいち指定のスタイルに合わせてすべて書き直すのは手間ですので,マクロで定義しておくと,マクロを書き換えるだけで済み便利です.例えば,プリアンブルに以下のように書いておき(もしくは,これらを他の自分で作ったマクロと一緒にスタイルファイルとして保存し,読み込む)

\def\top{\mbox{\sc top}}
\def\gen{\mbox{\sc gen}}
\def\cop{\mbox{\sc copula}}

上で出てきた例文を以下のようにしておくと.

\begin{exe}
\ex
\gll Kore wa nihongo no rei da.\\
this {\top} Japanese {\gen} example {\cop}\\
\trans `This is a Japanese example.
\end{exe}

\top,\gen,\copの部分はそれぞれ,定義したとおりスモールキャピタルで出力されます.これらをイニシャルキャピタルにするよう指定されたときは,本文はいじらずマクロの部分を,

\def\top{\mbox{Top}}
\def\gen{\mbox{Gen}}
\def\cop{\mbox{Copula}}

のように書き換えれば,論文中のグロスの略記号は全部イニシャルキャピタルに置き換わるので手間がはぶけるというわけです.