LaTeXのTips集
ここでは、もっちーが卒論や実験レポートなどで遭遇した事実を元に、そういった文書作成で、あると便利なTips集をご紹介しています。
LaTeXで式番号を参照するには、\labelと\refを用います。例えば、ある式があって、
\begin{equation}
y = ax^2 \label{eq1}
\end{equation}
と書いてあって、それを本文で引用するときに、
式(\ref{eq1})より、次のことが分かる...
と書けば、
式(1)より、次のことが分かる...
とタイプセットされます。問題は、ただ単に\ref{eq1}と書いても、1としか出力されず、今回のように毎回式(1)のように書きたい場合は、そのたびに式(\ref{eq1})と書かなければならないことです。これは、図番号や表番号でも同様です。
これを解決するマクロをご紹介します。プリアンブル(\documentclassと\begin{document}の間)に次のように書きます。
\newcommand{\figref}[1]{付図 \ref{#1}}
\newcommand{\tabref}[1]{表 \ref{#1}}
\newcommand{\eref}[1]{式(\ref{#1})}
こうすれば、本文では、
\eref{eq1}より、次のことが分かる...
と書けば、
式(1)より、次のことが分かる...
とタイプセットされます。図番号では\figref{}、表番号では\tabref{}と書けば同様の働きをします。上のマクロの、中カッコ({})の中の\ref{#1}が数字(番号)の出てくる部分ですから、それ以外の部分をいじると自由に出力をカスタマイズすることが出来ます。
とっても長い文書を1ファイルで書いていると、毎回書いているところまでスクロールしなければならなかったり、しまいには書いているところがどこか分からなくなったり(!)してしまいます。でも、そういうときは、大抵章だてや節立てになっていて、以前に書いたところはもう推敲する必要がないことが多くあります。
そのような時は、もう書き上がった部分を別のファイルにしてしまいましょう。例えば、もう第1章の基礎理論は書き上がって、第2章の実験方法を現在書いているとしましょう。その時は、第1章の内容を丸ごとkisoriron.texなどのファイルに保存して、ソースには次のように書きます:
\input{kisoriron.tex}
これで、コンパイル時にはこの部分にkisoriron.texの内容が読み込まれ、あたかも1ファイルであるかのような出力結果になります。このテクニックは、例えば毎回コンパイルするたびに既に書いた部分は見る必要がないとか、この部分に表示やコンパイルに時間がかかるグラフィックがたくさん含まれているようなときに、この\inputの部分を1行コメントアウトしてしまえば、コンパイル時間や表示の時間が大幅に短縮できるところにメリットがあります。ただ、そのような時はカウンタ関係がおかしくなる(上の例で言えば、第2章が第1章と表示される)などには目をつぶる必要がありますが、大きな影響はないはずです。
論文を書くときには、大抵の場合概要や緒言を書きますが、概要や緒言は章立てや節立てに含めないことがしばしばあります。このようなときには、例えば一番大きな文書単位が章ならば、
\chapter*{概要}
と\chapter*命令を使うと、この章には章番号がつかず、この次の章から番号が始まります。しかし、この場合目次にもこの章が含まれません。章に番号は付けたくないけれど、目次には含めてくれないと困る場合は、
\chapter*{概要}
\addcontentsline{toc}{chapter}{概要}
とすると、目次の章が出る部分に概要を含めることができます。節の場合は、上の例のchapterをsectionに読み替えて下さい。
参考文献の一覧を書くのはthebibliography環境です。これは例えば、次のようにして使用します:
\begin{thebibliography}{9}%
\bibitem{hatta} 八田 夏夫:基礎流体力学 (恒星社厚生閣,1995)
\bibitem{imai1} 今井 功 :流体力学(前編)(裳華房,1999)
\end{thebibliography}%
これで、参考文献の一覧が、
参考文献 [1] 八田 夏夫:基礎流体力学 (恒星社厚生閣,1995)のように作成されます。なお、
\begin{thebibliography}の次の数字は、
作成する参考文献の冊数の桁数と同じ数の数字を書きます。つまり、9冊までなら1つ
の数字、99冊までなら2つの数字を書きます。
本文でこれを引用するときは、
...は複素速度ポテンシャルとよばれる\cite{imai1}.
とすると、
...は複素速度ポテンシャルとよばれる[1].
と出力されます。さて、このままでは参考文献の引用番号の書き方としては不自然で、通常は引用番号は肩に乗せることが多いのではないでしょうか。これは、プリアンブル(\documentclassと\begin{document}の間)に
\makeatletter
\def\@cite#1{$^{\mbox{\scriptsize{(#1})}}$}
\makeatother
と書くことで解決されます。なお、これは
...は複素速度ポテンシャルとよばれる(1).
と出力されますが、
...は複素速度ポテンシャルとよばれる1).
としたい場合は
\makeatletter
\def\@cite#1{$^{\mbox{\scriptsize{#1})}}$}
\makeatother
と入力して下さい。
また、参考文献一覧の先頭の数字が角カッコで囲まれているのを丸カッコにしたい場合には、先ほどの\makeatletterと\makeatotherの間に、
\def\@biblabel#1{(#1)}と書けば解決します。
jarticleクラスではなくjreportクラスで書いた場合などは、thebibliography環境でデフォルトで出力される見出しは、参考文献ではなく関連図書になります。これを参考文献にしたい場合には、プリアンブル(\documentclassと\begin{document}の間)に
\def\bibname{参考文献}
と入力して下さい。
このページの内容は、完全に無保証です。全ての環境において、この記事の内容が正しいことを保証するものでもありません。また、この記事の内容について、みなさまがどのような損害/不利益を被られても、私はそれらに対して何らの賠償などを行うものでもありません。しかし、これらの記事についての訂正、質問、苦情、その他ご意見は歓迎いたします。それらに対しては、ぼくのできる範囲で対応させていただきたいと思います。