はじめに

ここはLaTeX関連のお役立ち情報、過去のFAQ、みなさんからの質問への応答などに使っていこうと思います。
新しい情報も随時追加していく予定ですので、論文を書いていく上で分からないことが あれば、まずこちらを参照するようにしてください。先生や他の院生もフォローよろしくお願いします。

LaTeX & 論文関係お役立ちサイト

論文を書くときやLaTeXを使うときに 参考になりそうなサイト。

  • http://kmuto.jp/latex/
    • 「LATEXしよう!」という、コマンド一覧のみならず様々な解説も載っているサイト。

フリーのドローソフト

InkScape
https://inkscape.org/ja/
ベクタードローソフト。 フリーのイラレみたいなもの。
eps形式はベクター形式ですが、ラスター画像から変換した場合、拡大して印字するとディザーが出てしまいます。 InkScapeやイラレなどで最初からベクター形式の画像を利用すると、画像のサイズにかかわらず常に最も美しい状態で印刷がなされます。

Dynamic Draw
http://www.dynamicdraw.com/jp/
二期生の中には図を描くのに愛用していた人もいました。

EPS-draw
http://www.vector.co.jp/soft/win95/art/se155386.html?site=n
直接EPS形式で吐けるドローソフト。 曲線がMS-PAINTよりは書きやすいかも。

EPS-conv
http://www.vector.co.jp/soft/win95/art/se176316.html
LaTeXではbmpやjpgがきれいに表示されません。 このコンバータを使ってEPS形式の画像を作りましょう。
フォトショやイラレのEPSはうまく表示されない可能性があります。 まぁやるだけやってみて、ダメだったらおとなしくコレでEPS。

画像のはりかた

まず、画像ファイルをEPS形式に変換します。 変換については http://www.vector.co.jp/soft/win95/art/se176316.html にてコンバータをDLできますので これを用いてファイルを変換します。

その後LATEXにて画像を貼り付けたいところに 次のように記述します。ここでは画像ファイルの名前を 「sample.eps」としておきます。

\begin{figure}[H]
	\centering
	\includegraphics[width=7.5cm]{sample.eps}
	\caption{画像サンプル(ここに画像の説明をします)}
\end{figure}

と記述すると画像をセンタリングした状態で 貼り付けることができます。

ただし、ページを跨いだりすると 次の文章の方が先に記述されてしまうことが あるようです。あしからず。

段落中に画像を挿入したい場合は、一行目を \begin{figure}[!h] と書きましょう。

画像を横に並べる方法

\begin{figure}[H]
	\centering
	\begin{minipage}[H]{0.49\textwidth}
		\centering
		\includegraphics[width=横幅]{左側の画像ファイル名}
		\caption{左側の画像のキャプション}
	\end{minipage}
	\begin{minipage}[H]{0.49\textwidth}
		\centering
		\includegraphics[width=横幅]{右側の画像ファイル名}
		\caption{右側の画像のキャプション}
	\end{minipage}
\end{figure}

{0.49\textwidth}というのは「画像の間を行間の0.49倍開ける」とかいう意味らしいです。 ただ、0.49を指定すればできるかぎり大きな画像を貼れるのでお勧めです。 0.5以上を指定すると左右に並びきらないことが多いようです。

また、複数の画像に1つのキャプションを付けたい場合は、 \end{minipage}とその下の\end{figure}の間でキャプションを指定してください。

ページのナンバリングが変だ

mainのtexファイル中に記述されてる\pagestyle{なんとか}という箇所を \pagestyle{plain}に直す。

画像多用しててファイルが重い

EPSコンバータを使うときに、圧縮を使ってみましょう。 画質は落ちないけど、あんまサイズ削減にならないのがRLE圧縮、 JPEGのように画質は劣化するけどサイズは段違いに削れるのがDCT(+)圧縮です。 私のように元画像の解像度をでかくしておいて、文中では縮小表示して 画質を保ってるようなやり方してる人には、DCT圧縮はかなーり効果あります。 ぜひお試しを。

図表への参照マクロがうまくいかない

ラベルつける位置がおかしい可能性がある。

\begin{figure}[H]
	\centering
	\includegraphics[width=6cm]{sample.eps}
	\caption{ここがキャプションでこの下にラベルをつけるべし}
	\label{fig:sample} %←ここね
\end{figure}

画像が白黒だ

もしかしたらepsに変換するときに白黒にしてるのかも… EPS-convの色数を「白黒」から「カラー」にすると カラーでepsに変換できるよ。

フォトショやイラレで保存したEPSが表示できない

いったんbmpだのjpgだのにしてEPS-convを使ってコンバートしてください。

コンパイルしても目次とかに反映されない

まぁ落ち着いて、もう一度コンパイルしてみる。 それでだめならもう一度。またもう一度。Once more!
目次などの本文を参照して作られる部分は、3〜4回コンパイルを しないと反映されない部分があります。 立て続けに何回かコンパイルするのを習慣にすると良いでしょう。

自動文字送り(段落開始時の1文字分のインデント)が効かないんだけど?

段落最初の文字送りは通常勝手にやってくれるのですが、ある世代で出回っていたテンプレートではこれを無効化する設定がついています。先輩のデータをそのままコピーしている人は、この問題が発生する可能性があります。
main.texの\setlength{\parindent}{0em}の行をコメントアウトすれば有効になりますので、ぜひ無効化しましょう。

%\setlength{\parindent}{0em}

これで、段落の始めで自動的に文字送りされます。全員やっとけ級の設定です。

図表、計算式、参考文献、各種参照方法

図表、計算式、参考文献などはそれぞれ参照方法が違います。

図表  →\ref{ラベル}   %普通(?)の参照
計算式 →\eqref{ラベル} %括弧が付きます
参考文献→\cite{ラベル}  %そもそもrefじゃない

複数行のコメントアウト

¥if0 〜 ¥fi で可能。

\if0
  コンソメパンチと
  メロンソーダを飲み食いしているのは、
  ンジャメナにいる
  トム・クルーズである。
\fi

newcommandの活用法

同じ内容を何度も記述するのが面倒なあなたに。
LaTeXではオリジナルのコマンドを以下の通りに設定することができます。
¥newcommand{コマンドの名前}[引数の個数]{定義}

[例1] 内積が面倒
 コマンド 
    \newcommand{\inner}[2]{${\bf #1 \cdot #2}}
 使い方
  面Aの法線ベクトル{\bf N_1と}面Bの法線ベクトル{\bf N_2]の内積\inner{N_1}{N_2}は、
[例2] リアルタイムレイトレーシング、って長い
 コマンド
    \newcommand{\rtrt}{リアルタイムレイトレーシング}
 使い方
   \rtrt \cite{realtimeray} は、〜である。また、\rtrt は 〜。

使い方はあなた次第。

便利なコマンド

効率的に論文を書くための便利なコマンドを紹介します。

各種参照

\labelコマンドをつけておけば色々なものを参照することができますが、基本的には番号等しか参照してくれないので、参照する際には色々付け足す必要があります。
ただ、毎回付け足していると面倒なので、新しいコマンドとして登録しておくと便利です。

[式参照]
\newcommand{\mathref}[1]{式\eqref{#1}}
[使用例]
\mathrefを用いてすごい処理ができる。
[出力例]
式(3.5)を用いてすごい処理ができる。

図参照や章などの参照にも応用可能です。
章や節を参照するときも\labelコマンドを登録する必要があるので、それもコマンドとして登録すると便利かも。

[章タイトル]
\newcommand{\myChapter}[1]{\chapter{#1}\label{#1}}
\newcommand{\chapref}[1]{第\ref{#1}章}
[使用例]
\myChapter{提案手法}

\chapref{提案手法}においてすごい手法について解説する。
[出力例]
第3章 提案手法

第3章においてすごい手法について解説する。

箇条書きに関するあれこれ

いろいろなスタイルの箇条書きを書きたい場合、それぞれのコマンドを使いましょう。

記号による箇条書き(itemize)

点だけで表すベーシックなスタイルです。

[使用例]
  \begin{itemize}
    \item デネブ
    \item アルタイル
    \item ベガ
  \end{itemize}
[表示例]
 ・デネブ
 ・アルタイル
 ・ベガ

また、\itemの後に"[]"を付けることで、記号を個別に設定することもできます。

[使用例]
  \begin{itemize}
    \item[D] デネブ
    \item[A] アルタイル
    \item[V] ベガ
  \end{itemize}
[表示例]
 D デネブ
 A アルタイル
 V ベガ

番号による箇条書き(enumerate)

数字で提示するスタイルです。

[使用例]
  \begin{enumerate}
    \item デネブ
    \item アルタイル
    \item ベガ
  \end{enumerate}
[表示例]
 1. デネブ
 2. アルタイル
 3. ベガ

また、\usepackage{enumerate}を記述した上で、\begen{enumerate}の後に"[]"を付けることで、記号を個別に設定することもできます。

[使用例]
 (main.texなどで)
    \usepackage{enumerate}
 (hoge.texなどで)
    \begin{enumerate}[(1)]
      \item デネブ
      \item アルタイル
      \item ベガ
    \end{enumerate}
[表示例]
 (1) デネブ
 (2) アルタイル
 (3) ベガ

途中から始めることも可能です。

[使用例]
 (main.texなどで)
    \usepackage{enumerate}
 (hoge.texなどで)
    \begin{enumerate}[(6)]
      \item デネブ
      \item アルタイル
      \item ベガ
    \end{enumerate}
[表示例]
 (6) デネブ
 (7) アルタイル
 (8) ベガ

数字の他に、「A」のような大文字アルファベット、「a」のような小文字アルファベット、「機廚里茲Δ並臺源ローマ数字、「顱廚里茲Δ幣文字ローマ数字が使えます。

行番号をつける

先生や院生の方に論文を見てもらう時、どこを見てもらいたいかを説明するのに手間取ることがあるかもしれません。 そんな時、行番号があれば何ページの何行目を見て欲しいのかが伝わりやすいかもしれませんね。 というわけで、lineno というスタイルファイルが便利です。
main.texのusepackageが並んでいる辺りに

\usepackage{lineno}
\pagewiselinenumbers
\modulolinenumbers[5]

と行を追加します。
こうすることで、ページ毎に5行おきに行数が表示されるようになります。

細かいテクニックあれこれ

項目分けするほどでもないテクニックを紹介します。

図の大きさについて

図を挿入するときには、"\includegraphics" を利用しますが、サイズの調整は割と面倒です。なので、利用する状況に合わせて適切なサイズを指定するとちょっと楽になります。

[使用例]
 \includegraphics[scale=2.0]{hoge.eps}
 % 高さ・幅ともに2倍で表示する(比率は維持したまま表示する)
 
 \includegraphics[height=10cm]{hoge.eps}
 % 高さが10cmになるように表示する(比率は維持したまま表示する)
 
 \includegraphics{width=10cm]{hoge.eps}
 % 幅がに10cmになるように表示する(比率は維持したまま表示する)
 
 \includegraphics[height=6cm,width=10cm]{hoge.eps}
 % 高さが6cm、幅が10cmで表示する(比率は無視して6cmX10cmで表示する)

サイズが違う画像の大きさを揃える際には、"cm" で揃えるといいかもしれません("mm" や "inch" などでもできます)。また、複数の画像を横に並べて表示する際には高さを揃えておくと綺麗に見えますので、"[height=6cm]" などでサイズ調整しておくと良いです。

図表の小項目を作りたい

図を場合によっては、図1(a)、図1(b)、図1(c)といったように複数種類載せたいということもあるかもしれません。そんな時に利用するのが \subfigure パッケージです。使い方は簡単で、

[使用例]
  (main.texなどで)
     \usepackage{subfigure}
  (hoge.texなどで)
     \begin{figure}[h]
           \subfigure[Fooの場合]{
                 \includegraphics[scale=1.0]{Foo.eps}
                 \label{fooResult}
           }
           \subfigure[Barの場合]{
                 \includegraphics[scale=1.0]{Bar.eps}
                 \label{barResult}
           }
           \caption{FooとBarの結果}
           \label{fooBarResult}
     \end{figure}

となります。図表番号の参照は「図1」の場合 "\ref{fooBarResult}" のように指定し、「図1(a)」の場合は "\ref{fooResult}"、「図1(b)」の場合は "\ref{barResult}" で参照できます。ひとつひとつ設定しないといけないので注意してください。
また、このまま配置すると、「(a) (b) ... 」のように横一列の配置になってしまうので、2カラムの場合などにも対応した配置するために、

[使用例]
  (main.texなどで)
     \usepackage{subfigure}
  (hoge.texなどで)
     \begin{figure}[h]
           \centering
           \begin{tabular}{cc}
                 \subfigure[Fooの元画像]{
                       \includegraphics[scale=1.0]{FooBefore.eps}
                       \label{fooBefore}
                 } &
                 \subfigure[Fooの適用結果]{
                       \includegraphics[scale=1.0]{FooAfter.eps}
                       \label{fooAfter}
                 } \\
                 \subfigure[Barの元画像]{
                       \includegraphics[scale=1.0]{BarBefore.eps}
                       \label{barBefore}
                 } &
                 \subfigure[Barの適用結果]{
                       \includegraphics[scale=1.0]{BarAfter.eps}
                       \label{barAfter}
                 } \\
           \end{tabular}
           \caption{FooとBarの元画像と適用結果}
           \label{fooBarResult}
     \end{figure}

というように、tabularと併用して記述することで、
(a) (b)
(c) (d)
のように配置できます。1カラムの場合でも subfigure を利用するなら tabular を利用して配置しておくと安心です。

条件分岐する方法

学部生ではあまり関係がないかもしれませんが、院生では英語で論文を書くことがあるかもしれません。 その際に、日本語と英語の両方がソースコード上に存在し、" \if0〜\fi " で使い分ける・・・なんてケースや、日本語用のTEXファイルと英語用のTEXファイルに分ける・・・なんてケースが多くあると思います。 毎回コメントアウトを切り替えたり、ファイルにコピーしたりはとても面倒です。 C++の#ifdefやら#defineみたいにケースバイケースで条件分岐できないかしら、なんて思っているなら好都合、実はTEXファイル上でもそれっぽいことができます。

[使用例 / ENGのとき]
  (main.texなどで)
     \newif\ifENG
     \ENGtrue
  (hoge.texなどで)
     \ifENG
           This is a Pen.
     \else
           これはペンです。
     \fi
 
[表示例 / ENGのとき]
   This is a Pen.
[使用例 / ENGではないとき]
  (main.texなどで)
     \newif\ifENG
     \ENGfalse
  (hoge.texなどで)
     \ifENG
           This is a Pen.
     \else
           これはペンです。
     \fi
 
[表示例 / ENGではないとき]
   これはペンです。

このようにして使い分けます。C++ライクな説明をすると、" \newif\ifENG " は " #define ENG " と同義で、" \ENGtrue " は " #define ENG true " の " true " 部分と思えば分かると思います。 同様に、" \ENGfalse " は " #define ENG false " の " false " 部分となります。つまり、" \newif\ifENG " と " \ENGtrue " で " #define ENG true " となるわけですね。
また、" \ifENG " は " if(ENG == true)" や " if(ENG) " と同義となります。なので、" \else " 以降は " } else { " や " if(ENG == false) " ともなります。そして最後の " \endif " でif文を終わらせます。

ちなみに、" \ifENG " などの " ENG " という部分ですが、これは任意で変えることができます。" HOGE " でも " ABCDEFG " でも割となんでもいけますが、記号系やスペースは使えないので、文字列オンリーの方がいいと思います。

LaTeXで書いた数式をPNG形式にする方法

LaTeXの強みとして、数式が簡単にかつ綺麗に書けるということがあります。ポスターや発表資料制作などでは「この数式が画像にできたら…」などと思うこともあるかもしれません。そんな時に、数式を画像に出力するアプリがあります。

Windows の場合は TeX2img というアプリをおすすめします。http://island.geocities.jp/loveinequality/
Mac の場合、LaTeXiT というアプリが圧倒的に便利です。http://pierre.chachatelier.fr/latexit/ アプリ上で生成した画像をそのまま PowerPoint や Keynote にドラッグできます。MacTeX を使ってる場合は標準で入ってるそうです。(筆者は Mac での LaTeX は MacPorts 派なのでよくは知りませんが。)

LaTeXで書いた数式をEPS形式にする方法

ポスター制作などでは、「Illustratorで作ったAIファイルに数式を入れたい!」ということもあるかもしれませんが、「PNGファイルは解像度がイマイチ・・・」ということがあると思います。こういった場合に対し、LaTeXで書いた数式をベクターデータを保持したままIllustratorに入れることができます。

[LaTeXコード]
 \documentclass[30pt]{jsarticle}
 \pagestyle{empty}
 \begin{document}
 %======== ここから数式($の間に入れる) ========
 $y=x^2-2x+1$
 %======== ここまで数式 ========
 \end{document}

以上のようなコードを書いたファイルを保存します。ここまではPNGファイルの場合と一緒です。今回は"foobar.tex"としておき、この"foobar.tex"をコンパイルするバッチファイルを作ります。

[バッチファイル]
 cd "%~dp1"
 platex "%~nx1"
 dvipdfmx -d 5 -t landscape "%~n1.dvi" 
 dvips -Ppdf -E "%~n1.dvi" -o "%~n1.eps"
 pause

このバッチファイルを今回は"MakeEPS.bat"としておきます。

TeXコードとバッチファイルが準備できたら、早速バッチファイルにLaTeXファイルである"foobar.tex"を"MakeEPS.bat"にドラッグ・アンド・ドロップしましょう。特に問題がなければ同じフォルダ内に"foobar.eps"があると思います。

さて、EPSファイルを作ることができたのですが、このファイルをIllustratorで読み込むと「フォントがありません」などのエラーが出てきます。これはLaTeXが利用したフォントがIllustrator(というよりWindowsのFontフォルダ)にないからです。この問題に対して解決方法は2つあります。

Illustratorを利用する方法

フォントがありません、と言うなら用意すればいい!という方法です。LaTeXもフォントをロードして配置しているわけですから、それをIllustratorで扱えるようにすれば良いだけのことです。手順としては次の通りです。

  1. フォントを用意する
    • LaTeXをインストールしたフォルダを %TEXPATH% と仮定します。
    • このとき、[ %TEXPATH%\share\texmf\fonts\type1\public\amsfonts\cm ] にあるフォントを確認します。
      (多くの人は C:\w32tex\share\texmf\fonts\type1\public\amsfonts\cm だと思います。その他の場合は適宜上を参考に。)
    • おそらくずらーっと"hoge.pfb"みたいなものが並んでいるでしょう。
    • これをひとまず別のフォルダに(新しいフォルダでも何でもいいですが、分かる場所で)全てコピーしておきます。
  2. フォントを移動する
    • Illustratorでフォントを扱えるようにWindowsのFontのフォルダに入れても良いのですが、これだと他のプログラムにも影響してしまいます。
    • できれば、Illustratorだけ扱うようにしておきたいところです。
    • このため、Illustratorだけが読み込むFontフォルダに先の"pfd"ファイルを入れることとします。
    • フォルダは次の箇所です(インストール状況に合わせて適宜変えてください)。
    • CS5: C:\Program Files\Adobe\Adobe Illustrator CS5\Support Files\Required\Fonts
      CS4: C:\Program Files\Adobe\Adobe Illustrator CS4\Support Files\Required\Fonts
      (64bitOSの場合は"Program Files"を"Program Files (x86)"に変えてください。)
    • ここに"pfd"ファイルをまるっとコピーすればOKです。

この状態で"foobar.eps"をIllustratorで開けば、PDFで表示したときのように数式が表示されていると思います。・・・が、たまに表示がおかしくなってる時があるので、右クリックでグループ化を解除した後、適宜修正してください。微調整などが終わった後は、他の環境でも扱えるようにアウトライン化することでパスに変換しておくとよいでしょう。

なお現在、絶対値やノルムの「|(バーティカルバーというらしい)」の表示がおかしくなることを確認しています。

Photoshopを利用する方法(ただしラスター化)

Illustratorで扱えないならPhotoshopで!という方法です。"foobar.eps"をPhotoshopで開くと、「EPS形式をラスタライズ」というウィンドウが出てきます。ここでラスタライズ(画像化)させるわけですが、この際に大きさを極端に大きく設定します。手順としては次の通りです。

  1. 解像度を"350 pixel/inch" に設定します。
  2. 幅と高さの単位を "cm" にします。
  3. 実際に使うであろう大きさのcmにします。

基本的には以上の手順でできます。幅と高さの設定が面倒な場合は、解像度の設定をした後に、幅を「10000px」とかにすれば半端ではない大きさになると思います。この後にこのデータをどう扱うかは個人によりけりですが、大体はPNG(or JPG)化してEPS化させるか、PhotoshopEPSファイルとして書き出すか、といったところだと思います。とはいえ、ラスターデータなので根本の解決ではないですが・・・。

文章やレイアウトだけ確認する方法

図表を配置してコンパイルした場合、図の種類にもよりますが、往々にしてコンパイル時間が長くなります。最終的な結果を見る場合はともかく、文章やレイアウトだけ確認したい場合には、図を表示せずにコンパイル時間を短くした方が効率的です。このような時には \documentclass にあるコマンドを追記するだけで、図を配置しないでサクサクコンパイルされます。

\documentclass[12pt,a4j,''draft'']{jreport}

太字で書いた「draft」を追記するだけです。これで \includegraphics などで挿入された図はコンパイルされずに、その図の大きさの四角形の枠が表示され、コンパイルが俄然早くなります。また、図表や文章など横にはみだしている場合には黒くマークされるので、その確認にも利用できます。

「とにかくガンガン文章を直したい!」という時には役に立つと思います。インクの節約にもなるかもしれません。エコですね。ちなみにdraftモードの時は hyperref あたりの機能は使えなくなる(インクルードしてても)ようです。

元に戻したいときは「draft」の文字を消してコンパイルし直せば元通りになります。(draftをfinalに書き換えても多分同じです。)

LaTeX上でのダブル引用符

いわゆるダブルクオーテーションをLaTeX上で書く際には全角で“”と打ってもできますが、あまりよろしくはないです。実際には、

``Fine Kernel Tool Kit System''

のように、「``」と「''」で囲むと自動的にダブルクオーテーションとして扱ってくれます。

数式での空白

「f(x) dx」などの式を書く場合、数式内で空白を入れる必要があります。この場合「dx」の前あたりに入れたいところですね。ただ、空白を入れようと、半角スペースを入れても反映されません。これは、数式モードでは空白のコマンドを明示しなければ反映されないためです。このため、数式内の空白には、次のコマンドを入れる必要があります。

コマンド空白
¥qquad2文字分の空白
¥quad1文字分の空白
¥;大きい空白(¥quadの5/18らしい)
¥:そこそこの空白(¥quadの4/18らしい)
¥,小さい空白(¥quadの3/18らしい)
¥!空白を詰める(¥quadの-3/18らしい)

最後の ¥! は記号間を詰める時などに用いることがあると思います。

図目次とキャプション

卒論・修論で使う \listoffigures は、図の \caption の文をそのまま図目次として出力してくれますが、時に余分なものまで出力されてしまうこともあると思います。例えば、

[例]
   \caption{トゥーンレンダリングを用いたコンテンツの例 (c)ゲームサイエンス製作委員会 2011}

のように、出展や著作の情報を記述する場合には、図目次ではそれらの情報が無いほうがスマートです。この場合、

[例]
   \caption[トゥーンレンダリングを用いたコンテンツの例]{トゥーンレンダリングを用いたコンテンツの例 (c)ゲームサイエンス製作委員会 2011}

のように記述することで、[hoge]の部分が図目次に表示され、{hoge}の部分が図のキャプションとして表示されます。

図の枠

図に枠線をつけるときは、

[例]
  \fbox{
     \includegraphics[scale=1.0]{Foo.eps}
  }
  \label{Foo}

のように \fbox で囲むと枠線が表示されます。背景が白で境界が分からないような画像の時に利用すると良いでしょう。

参考文献の管理法〜BibTeXの使い方〜

紹介してくれているように、参考文献の目録には決った書式があります。数が少ない時は手書きで書いてもどうにかなりますが、20を越えてくると結構しんどいものがあります。

# 添削によって本文が変更され、紹介の順序がずれる可能性も大

そこで皆さん(修士含む)にお勧めするのがBibTeX。BibTeXは予め作成しておいた順序不問の参考文献リストを読み込み、本文での紹介順に沿った参考文献目録を自動生成してくれる便利なツールです。

基本編

まず、文献リスト用のファイルを作りましょう。書式はこんな感じ。

@book{ TellMePorthos,
    author = "{斬士ポルトス}",
    title  = "おしえてポルトス!!",
    publisher= "アトス出版",
    address= "ロンドン",
    year   = "1194"
}
@article{ DayPosER_11_12,
    author="{電波神ダルタニアン}",
    title="電波論文の飛ばし方 {II}",
    journal="日刊毒電波",
    year="1193",
    volume="11",
    pages="12-34"
}

このようなファイルを .bib という拡張子を付けて保存しましょう。ここでは ref.bib とします。次に下記のURLから spiebib.bst というファイルをダウンロードして本文の .tex ファイル、ref.bib と同じフォルダに置きます。

http://public.lanl.gov/kmh/spie/spiebib.bst

最後に.texファイル中の参考文献の目録を書く予定の場所に次のように書きましょう。

\bibliography{ref}
\bibliographystyle{spiebib}

これで準備完了です。本文中ではこのようにして引用します。

電波神ダルタニアン\cite{DayPosER_11_12}は論文の書き方について次に述べるような新しい概念を提唱した。
〜中略〜
本研究では電波状態問題の解決方法として、斬士ポルトス\cite{TellMePorthos}が提案した手法を採用した。

latexmk コマンド(または Atom 内での LaTeX Compile) を用いている場合は、問題無く文書に反映されるはずです。もしなんらかの理由で latexmk や Atom が使えない場合は、platex→pbibtex→platex→platexと実行するバッチファイルを作ってしまってもよいでしょう。以下のような内容をメモ帳にでも書いて、拡張子をbatにして保存します。

platex main.tex
pbibtex main
platex main.tex
platex main.tex
rem (この行はコメントです)PDFまで一気に作るなら下も追加
dvipdfmx -d 5 main.dvi

このバッチファイルをtexのソースが入ったフォルダに放り込めば、ダブルクリックだけで作業が完了します。

文献リストのスタイル

補足です。 BibTexにもスタイルファイルというのがありまして

\bibliographystyle{junsrt}

で呼んでいる、拡張子が.bstなファイルです。

これを変えることにより色々機能が変えられます。

jplain: 辞書順に表示。 
junsrt: 本文中で参照される順に表示。

他にも多数ありますが、多分主に使うのはjplain,junsrtぐらいですね。 参考文献の方の順番を整えてくれる素敵なスタイル様です。

ちなみにデフォルトのインストール場所だと

C:\tex\share\texmf\pbibtex\bst

こちらにたくさんあります。上記のファイルはbase内にあります。

pbibtex でコンパイルするときの注意点

platexの後にpbibtexでコンパイルする訳ですが、その時には

pbibtex main

というように「拡張子を何も付けないで」コンパイルしてください。 付けてしまうと怪しい挙動を起こし、何も出力されません。 何かエラーを何度も出してごっちゃになってしまったら、

main.aux, main.toc, main.bbl, main.blg

の 4 ファイル(mainの名前を変えてる人は読み替える事)を消してから、 やり直すようにしてください。

URL を参照する

BibTeX で URL を参考文献として扱うにはどうしたらよいのかという質問が ありましたので、やり方を紹介します。

まず、TeX の url パッケージを使用します。 本文の先頭部分、\documentclass 以降 \begin{document} 以前に 次のような一行を書き足して下さい。

\usepackage{url}

次に .bib ファイルに参照したい URL の情報を書き込みます。 書式はこんな感じ。

@misc{FK,
	author = "{Fine Kernel Project}",
	title  = "{Fine Kernel Tool Kit System}",
	howpublished = "\url{http://gamescience.jp/FK/}"
}

\url というコマンドがポイントです。

また、URL の話とは直接関係ありませんが、BibTeX を使う際、 長い英単語や日本語部分が勝手に省略されてしまったり、 大文字で書いておきたい部分が小文字に変換されてしまって困るという人は、 その部分を {} で囲ってみて下さい。

参考文献リストの管理がだるい

bib ファイルを手動で編集していると、複数の論文で使った bib ファイルを統合したくなったり、 書式を統一したくなった時に結構不便です。ガチのデータベースと言わずとも、せめて Excel のような スプレッドシート形式で編集できたら……と思っていたのですが、ナイスなツールを見つけました。 それが「JabRef」というソフトです。Javaで出来ているので JRE のインストールが必要ですが、 それを差し引いても優秀なソフトです。

http://jabref.sourceforge.net/

日本語対応ですが、最初は UI が全て英語&日本語が文字化けします。 初回起動時に次の手順を実行してください。

  • メニューから「Options→Preferences→General」を開き、「Language」を「Japanese」に、 「Default encoding」を「UTF8」に設定する。
  • 一度 JabRef を終了して再度起動し、メニューから「オプション→設定→外観」を開き、 「表フォントを設定」を押して日本語フォントを選択する。筆者は「メイリオ」に設定。

後は bib ファイルを読み込み、追加や修正作業を経て理想の文献データベースにしていけばよい。

PDFの作り方 -プロンプトから-

dviからPDFを作成する方法は色々あるのですが、Atomのビルドや、latexmk コマンドで生成すると色々不都合があります。なので、コマンドプロンプトから作成する方法を紹介します。

1. LaTeXのソース一式が入っているフォルダに「makePDF.bat」という名前のテキストファイルを作成します。
2. Atomなどで開き、以下の内容を記述して保存します。

platex メインファイル名.tex
pbibtex メインファイル名 (.tex をつけない)
platex メインファイル名.tex
platex メインファイル名.tex
dvipdfmx -d 5 LaTeXのメインファイル名.dvi
pause

3. 作成した「makePDF.bat」をダブルクリックして実行します。

これで出来上がります。platexによるコンパイルも3回ほど繰り返しておいた方がいいと思います。エラーが起きた場合は何かしらのメッセージが出て止まりますので、先生に相談してください。LaTeXのインストール時にトラブった場合はうまくいかない場合がありますので、気をつけてください。

キーワードの書き方

main.texの\DepartmentNameの下あたりに以下のように書き加えてください。

\KeyWordsI{キーワード1,キーワード2・・・}

なお、キーワードを2行以上に渡って書く場合は \KeyWordsII 以降を加えてください。






トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-08-03 (水) 11:34:05 (501d)