読者です 読者をやめる 読者になる 読者になる

けつあご日記

こんちは.菊地です.なんか浅ーいことをいろいろ書きます

卒論・修論をLaTeXで書いて情弱から脱却を計るためのチェック項目16+α

LaTeX



f:id:kichiku_kikuchi:20160131011629j:plain

趣旨を一文で言うと,
「初心者でもLaTeXで卒論・修論を書けるようになるための説明がついたリンク集みたいなもので,あまり親切でないから少し時間はかかるが,卒論・修論が完成するころには情弱(情報処理弱者)という名の憑き物が少し落ちているかもしれない」
記事です.

******
(追記20160606)
見直したらなんか長くてきもくて読みにくいから簡略版書いた.読みやすくなった.
www.ketsuago.com


はじめに

対象者

下記のいずれかに当てはまる方.

・「LaTeXってなに?おいしいの?」~「短いレポートぐらいならLaTeXで書いたことあるけど...」ぐらいの人で卒論・修論(というか,その程度の長さの文章)をLaTeXで書きたい人
・MS Wordで書いた文章ってどことなく汚いなぁ,なんか使いづらいなぁ,なんか他に方法ないの?って思ったことがある人
・お金がなくてOffice買えないよって人
・そもそも有料の商用ソフトなんて許せないよって人
・社会に出ても何の役にも立たない類のスキルを「シブイぜ」って思える人
・いい加減情弱(=情報弱者ではなく情報処理弱者)を直したい人

学問領域等は全く関係ないと思います.私自身農学部で,4回生になるまでLaTeXなんて触ったことなかったですし.文系の方でもLaTeXを使う人はいるみたいですしね.LaTeXを使っていると,何度もうまくいかない事態に出くわします.どうか投げ出さず,ググりながら解決しようとしてみてください.幸運なことにLaTeX関連の情報はネット上にあふれていますので,検索すれば大体のことは解決できるはずです!


趣旨・目標

上述の対象者が,LaTeXを使用して,なんとなく文章を書き,どうにか数式と図を入れ,参考文献を付け,そこそこきれいなpdfを出力でき,長い卒論を書くための構成ができる,ようになってもらえるように書きます.なるべく初心者の方でもすんなりいけるように書くつもりですが,足りない部分はあると思います.むしろほどほどに不親切に書いています.また,今まで自分が参考にしてきたサイトを積極的に引かせていただきます.それなりに説明がついているリンク集のようなものだと思ってください.

「LaTeX 卒論」とかでぐぐればテンプレートを公開してるサイトは確かにあります(例えば卒論が1ミリも進まない4年生におくる,TeX卒論サンプル | aki's right brain).ぶっちゃけこれでいけちゃうんですが,ある程度LaTeXできる人じゃないといきなりテンプレートを手にしても無理なもんは無理です.私も存在は知っていたのですがなかなか使う気にならず,結局本を買ったりして一通り使えるようになってから色々調べながらどうにかこうにか卒論を書きました.それがむしろ近道なのではないでしょうか.

こんな雑な趣旨なので,厳密ではない点がいくつもあると思います.例えば,LaTeXとTeXを混同して使ってたりしてます.気にしないでください.

あと,私がWindowsなので,OSはWindowsベースで説明しています.MacでもLinuxでも基本的には同じなので参考にはなるかと思います.Macの方は,泉富士夫先生の作成したマニュアル(http://fujioizumi.verse.jp/download/TeXShop_Japanese.pdf)を参考にするとよいです.並行して本記事を見ていただければ幸いです.


LaTeXってなに?って人へ

なんか厳密にいうと「テキストベースの組版処理システムで云々」らしいですが,あまりソフトウェア自体のことを気にしなくても良いと思います.使い始めれば気になって調べ始めるかもしれませんし,そうでないかもしれません.そんなこと知らなくても使えます.私にとってのLaTeXとは「ちょっと頑張ると綺麗に文書作れるし,他にもいくつか便利な点があるワープロ」みたいな存在です.個人的にLaTeXの特徴を挙げるとすれば以下の通り.

・絶対にWordより綺麗な文書が作れる.絶対.
・でもぶっちゃけWordよりはるかに面倒
・なんかギークっぽいしドヤれる
・情弱矯正にはもってこい,だと思う

どんだけ綺麗に書けるんや?とお思いの方は「TeX」で画像検索でもしてみてください.例えばこんな感じです(物理のかぎしっぽから引用 TeXテンプレート - [物理のかぎしっぽ]).

f:id:kichiku_kikuchi:20160201194228p:plain

うわ!参考書みたいじゃん!かっちょええ!と思ったあなた,あなたはLaTeXを使ってみるべきです.↓は私が4回生のときにはじめてまとまった文章をLaTeXで書いたときのもの.LaTeXに出会ってから2週間ほど手探りで勉強して書きました.(内容は見ないようにして)初心者でもそれなりに綺麗な文書かけるんだ,と思ってください.

いくつかリンク貼っておきますので,LaTeXがどんなものかを俯瞰してみるとよいです.まぁ実際に使ってみるのが一番良いので,次の目次に飛んでHello world!してみてもOKです.
TeX/LaTeX の心構え:入門者から上級者まで - Acetaminophen’s diary
WordとLaTeX-どちらを使うべきか? - 科学技術論文の専門家:株式会社フォルテ
学術論文を書くときは Microsoft Word と LaTeX のどちらが効率的か?|Colorless Green Ideas


Word? LaTeX?

世の中には「Word vs.TeX戦争」という言葉があり,どっちで学術論文を書く方が効率的なのかについて研究した論文すらあります.どちらで書くのがよいかについて私の意見は,
それぐらい自分で決めたら?
です.研究室によっては決まってるかもしれませんが...(その研究室は多分ゴミ)

MS Wordも最近かなり進化していて,数式の挿入も非常に簡単な入力でできるようになっています(僕が TeX を使うのを辞めた3つの理由 - ++C++; // 管理人の日記)あとですね,最近はOpenOfficeとかLibreOfficeとかいうものがあります.これらは無料で使えるオフィスソフトなんですが,無料と侮ることなかれ!むしろMS Wordよりも綺麗に作れるという意見さえあります.一度色々試してみてはいかがでしょう.


できたことチェック表

LaTeXで卒論・修論を書くためには,以下で説明することをすべて(いくつかのAdvancedな事項を除く)把握していなければなりません.あと,「不親切」を売りにしている本記事,読んでいるだけではできるようになりません.なのでチェック表つくったった.

f:id:kichiku_kikuchi:20160203103620p:plain

これを印刷して傍らに置き,一つ一つチェックしていってください.チェックできなければ次に進めない!ぐらいの気持ちで頑張りましょー.


準備(必要ない人は飛ばしてください)

インストール

少し昔まではLaTeXをインストールするのは結構大変で,まずここでふるい落とされる人が多数だったようですが,今はそんなことありません.最強のインストーラと親切な解説ブログがあるからです.
did2memo.net
↓古いやつ
20分でできる簡単TeXインストールWindows編(WinShell版)

もちろん,みなさんは最新のものでインストールしてください.私は数年前にインストールした(下の方)ので,その関係で多少使い方が異なったりするかもしれません.おそらく致命的に違うのは文字コードぐらいだと思うので大丈夫,なはず(解説ブログの方ではShift-JISにしていますが,私はUTF-8にしています).とりあえず上のサイトをゆっくり読みながらインストールしちゃいましょー.Hello, world!するまでしっかり書かれているので,焦らず童貞を捨ててください.

このインストーラはWindows用ですので,Macの人はこちら(http://fujioizumi.verse.jp/download/TeXShop_Japanese.pdfMac OS XへのLaTeXとTeXShopのインストレーション)を参考にインストールしてください.


エディタを決めよう

上述のインストーラでインストールすると,TeXworksというエディタがデフォルトで入ります.エディタってのは要するに書くときに使うソフトです!私のような形から入りたがる人間はここでまずこだわり始め,時間を浪費したりするんですが(笑).結論から言うとTeXworksで十分です!どうやらTexmakerというのが人気らしいので,入れたい人は入れてください.確かにコマンド補完機能があったりプレビューが隣に出てきたりして便利です.が!嫌でもコマンドは覚えていくし,プレビューなんて大体書き終わってからするものなので,やはりTeXworksで十分だと思います.気になる方は以下のリンクを見てくださーい.

http://d.hatena.ne.jp/SengNing/20130606/1370503515
TeX用エディタ - TeX Wiki


適当にプリアンブルを書こう

LaTeXでは環境設定のひとつとしてプリアンブルというものをいじる必要があります.プリアンブルはパッケージやマクロを定義するもので,\documentclassから\begin{document}の間に書きます.例えばこんな感じです.

\documentclass{jsarticle}
\usepackage{amsmath}
\usepackage{bm}
\usepackage{overcite}
\usepackage{wrapfig}
\usepackage[dvipdfmx]{graphicx}
\newcommand{\FRAC}[2]{\leavevmode\kern.1em
 \raise.5ex\hbox{\the\scriptfont0 #1}\kern-.1em
 /\kern-.15em\lower.25ex\hbox{\the\scriptfont0 #2}}
\begin{document}
あいうえお
$\FRAC{1}{2}$
\end{document}

\usepackageで指定したパッケージが使えるようになるわけですが,上の例ではデフォルトで入っていないパッケージを導入しているので,皆さんが使おうとするとエラーが出るはずです.なのでパッケージを入れてやる必要があります.ここ(LaTeX入門/各種パッケージの利用 - TeX Wiki)などを参考に入れてみましょう.例えば,上の例のoverciteを入れてみましょう.こちら(overcite.sty: LaTeX パッケージ)からダウンロード可能です.エラーが出なくなれば,プリアンブルで指定したパッケージがすべて入っていることになります.

あとで好きなパッケージ入れるからとりあえずいいわ,って人は,エラーに該当する\usepackageの行を消してしまい,先に進みましょう.それでもOKです.

\newcommandはマクロの指定です.例では"\FRAC"というマクロをつくり,分数が斜めに入るようにしています.こんな感じで自由にマクロをつくれるのですが,基本的にやる必要はないと思ってOKです.数式を多用する場合などはやっておくと便利ではありますが,慣れてきたらで良いと思います.


以上でひと通りの環境設定は終わりです.もっと便利にしたいぜ!って人はAdvanced編を見てください.

とりあえず,コマンド集(LaTeXコマンド集)を頼りに数式を入れてみたりして遊んでみてください.数式の美しさを見るとテンションあがりますよ.


図を入れる

フォーマットはpdf安定

次は図を入れてみましょう.そもそもの図の作り方は何でも構いません.powerpointでもイラレでもCacooでも手書きでも...ただし,一つ決めておいた方がいいことがあります.それは,フォーマットはpdfにすること.これを徹底し始めてから図の挿入の際のエラーがほとんどなくなりました.理由は何やら複雑らしく(日本人のための LaTeX タブー集 ~画像読込編~ - Qiita),私もあんまり理解していないんですが,ともかくpdfです.なにかやむを得ない理由でもない限りpdfです.

何らかの方法で図をpdfを作成したとしましょう.しばしば余白が邪魔になることでしょう.こういうときは,余白をカットしてくれるソフトを使うとラクです.私はPDF slimPDF Slim - 窓の杜ライブラリ)というソフトを使っています.ドラッグ&ドロップでできるので簡単です.あと,powerpointで図を保存するときは「図として保存」をすることがあると思いますが,これではpdfで保存できません.一度jpeg等で保存して,web上の変換サービスApowersoft画像からPDFへ変換無料オンラインソフトーJPG, PNG, GIFをオンラインでPDFに変換)を使用するとよいと思います.
少し面倒な工程かもしれませんね...まぁ慣れればなんてことないです.Wordの場合,Excel,Powerpointとの連携が秀逸なので,図の挿入という観点ではラクでしょうね.

とりあえず何でもよいのでpdfにした画像を用意して入れてみましょう.画像を読み込むときはこんな感じです.画像はとりあえず *.texがあるディレクトリの中に入れておけばOKです.※たくさん画像があるとごちゃごちゃしてくるので,目次「全体の構成」で整理します.

\begin{figure}[htbp]
\centering
\includegraphics[height=80mm]{foo.pdf}
\caption{nanntoka}
\label{fig:hogehoge}
\end{figure}

画像入りましたか!?はいりましたね!おめでとうございます!


ラベルを必ずつけよう

これは図だけでなく表や数式に共通なのですが,ラベルというものを付けることができます.コマンドは\label{}です.こちら(http://www.clas.kitasato-u.ac.jp/~fujiwara/infoScienceB/TeX/ref/labelAndRef.html)を参考にして,数式にラベルを付けてみましょう.

できましたか?
短い文章を書くときは自分で「式(4)では...」なんて書けばいいわけですが,これではあとで数式を追加したときなどに番号がずれてしまいます.ぜひ徹底してラベルを付ける癖をつけておきましょう.

ちょっとしたコツとしては,

・図→\label{fig:monya}
・表→\label{tab:muga}
・式→\label{eq:uhya}
・節→\label{sec:mepo}

のように種類によってラベル名を系統だてておくと混乱を防げます.


参考文献を付ける

文献情報を自分で書く方法

LaTeXでは参考文献を付け,文献番号をコマンドで呼び出すことができます.こちら(LaTeXコマンド集 - 参考文献)を見ながらやってみましょう.出来ましたか?なになに,文献の情報を自分で書くのは面倒ですって?そりゃそうです!次にお進みください!


予備知識:コマンドライン

次に,Mendeleyとの連携を行うんですが,ここでコマンドラインを多少扱えることが必要になってきます.使ったことない人はWindowsにデフォルトで入っているコマンドプロンプトもしくはPowershellというものを少しいじっておいてほしいです.Macの人は普段から使うことも多いはず?

今さら聞けない!コマンドプロンプトの使い方【初心者向け】 | TechAcademyマガジン
Windows PowerShellコマンド&スクリプティング入門:PowerShellの基本(前編) (1/5) - @IT

ちなみに私はMinGWをインストールしてMSYSをminttyから使ってます.Cygwinが苦手なもんで...
MinGW + mintty -> Windows8.1 - Qiita


Mendeleyと連携しよう

参考文献の管理しやすさ,これはLaTeXの大きなメリットと言えましょう!その理由の一つがMendeleyと連携できること!...と思ったらWordでもできる(Wordで文献引用をするなら、Mendeleyを使えよ。修論とか色々捗るぞ。 - もっと早く知っていれば良かった)らしいですね.Mendeleyをインストールしていない方は直ちにインストールしてください(https://www.mendeley.com/home/b/?e=161).

Mendeleyと連携する方法はこちら(Mendeleyに放り込んだ論文を簡単にLaTeXで\citeする - 雨に煙る)をそのままマネすればOKです.リンク先ではDropboxを利用していますが,別に無くても大丈夫です.

またこの方法だと,一度文献データをコンパイルする必要があります.こちら(LaTeX(文献の参照BibTeXの書き方))も参考にしてください.ここで先ほど言及したコマンドラインの使用が必要になります.ここら辺が少し難しいかもしれません...頑張りましょう.

できましたか!?ここまで来ればもう少しです!


一度短いレポートをつくってみよう

さて,ここまでのチェックボックスは埋まりましたか?

では,ここらで一度,数ページのレポートを書いてみましょう!もちろん内容は何でもいいです.昔wordで書いたレポートを書きなおしてみるのでもいいですし,wikipediaの一部を写してみるのでもいいです.ただし,ここまでの知識をすべて試すようにするとよいですね.


全体の構成

jsbookにしよう

現時点で皆さんが使っているプリアンブル,おそらく\documentclassはjsarticleもしくはjarticleになっていると思います.卒論・修論ぐらいの長い文章を書くときはjsbookがベストだと思いますので変えましょう.ヘッダーに章番号と章タイトルが入りかっちょええです.私は以下のようにしています.とりあえずこれをそのまま使用してください.

\documentclass[a4paper,10pt,oneside,openany]{jsbook}



複数章の長い文章を書くときの構成

冒頭で言いましたが,web上に落ちているテンプレートには,長い文章を書くのに適しているものは少ないように感じます.というのも,普通LaTeXで何章にもわたる長い文章を書くときにはそれ相応の手法があるのです.図示するとこんな感じ.

f:id:kichiku_kikuchi:20160130222427j:plain

ひとつのファイルに何万字も書いて図を入れて数式入れて...ってのは無理があります.なので,各チャプターごとにtexファイルを分割し書いていきます.\input{}を使えば,複数のtexファイルをひとつにまとめることができます.ですが,最後に一気にタイプセットして細かい調整をしていくというのは大変ですね.タイプセットも各チャプターごとにできた方が絶対便利です.こちら(Texで複数ファイルと個別ファイルでコンパイルする方法 - 月からの使い)を参考にやってみましょう.

上図のような構成にして,各チャプターのtexファイルとparent.texをタイプセットしてみてください.どちらもタイプセットできればOKです.


図は別フォルダへ

挿入する図(画像)を別ディレクトリに分けます.ここ(http://homepage.seesaa.net/article/25260276.html)を参考にして,やってみましょう.別ディレクトに置いた図を挿入してparent.texがタイプセットできればOKです.


表紙はLaTeXで作らなくてもいい

最後に表紙の話をするのもアレなんですが,表紙はLaTeXで作らなくていいです.なぜなら思った位置に文字が入らなかったりして結構面倒だからです.あとデザイン性に乏しくなりがちだからです.卒論の表紙にデザイン性なんか出すなだと!?表紙ぐらい良いじゃんか!頑張って中身書いたんだから!なので,表紙は他のソフトで作りましょう.

何で作っても構いませんが,サイズをA4用紙と全く同じにしましょう.つまり210×297mmです.そして,こちら(LaTeXで修論・卒論を書いているなら今すぐ表紙を差し替えるんだ! - 情報科学屋さんを目指す人のメモ(FC2ブログ版))にそって画像位置の調整を行うだけです.こちらではepsを使用していますが,もうわかってますよね?そうです,pdfを使いましょう.私はpowerpointで作りpdfにして差し込みましたが,上のサイト通りにやると少しずれたので,ちょっとだけ変えています.

\enlargethispage{\paperwidth}
\thispagestyle{empty}
\vspace*{-1truein}
\vspace*{-\topmargin}
\vspace*{-\headheight}
\vspace*{-\headsep}
\vspace*{-\topskip}
\noindent\hspace{-0.7in}\hspace*{-\oddsidemargin}
\includegraphics{cover.pdf}

また,表紙のtexファイルは個別に作成して上述の\input{}で取り込むのが良いと思います.最終的なディレクトリ構成は下図のようになるでしょう.

f:id:kichiku_kikuchi:20160130234205j:plain

parent.texをタイプセットし,表紙も出力されましたか?


目次をつくろう

ここまで来れた方なら,目次は簡単に出力できるはずです.ちゃちゃっとつくりましょう.
LaTeXコマンド集 - 目次



さて...


基礎編全てのチェックボックスにチェックが付いたでしょうか...


おめでとうございます!
これであなたもLaTeXで卒論・修論が(多分)書けます!!!


一応,答え合わせのためにテンプレートをつくっておきました.リンク先からダウンロードしてください.似たような構成ができていれば問題ないです.
※もしかすると文字コードの関係で文字化けするかもしれません.エディタの設定でUTF-8に変更すれば大丈夫だと思います.
LaTeX de Sotsuron Templete - file for ketsuago

また,ここまでくれば冒頭で紹介した既存のテンプレートを使用しても理解はたやすいでしょう.興味があれば検索して拾ってみましょう.


Advanced編

markdownで書いて変換する方法

markdownで下書きしてTeXに変換する,という方法があります.普段からmarkdownを使っている人や,極力TeXのコマンドを打ちたくないという人にお勧めの方法です.私はTeXでゴリゴリ書いてしまうのに慣れてしまったので使ってないですが,非常に便利そうです.実際ためしに使ってみたら便利でした.おすすめです.

mizchi.hatenablog.com
qiita.com


リアルタイムプレビューする方法

markdownで下書きするならリアルタイムプレビューが可能です.一時期やっていたのですが,すぐやめちゃいました.とりあえずガーっと書いて,大体完成したらタイプセットして細かいところを直していくのが結局ラクだったからです.やりたい人もいると思いますので,参考にしたリンクを貼っておきます.

webmem.hatenablog.com


参考文献のスタイルを変えたい

デフォルトのまま参考文献を出力すると,こんな感じになると思います.

George M Sheldrick. A short history of SHELX. Acta Crystallographica Section A Foundations of Crystallography, 64:112–22, January 2008.

つまり,

ファーストネーム ミドルネームの頭文字 ファミリーネーム.タイトル.出版物名(イタリック),巻数:ページ, 出版月 出版年.

という感じです.このスタイルは学問分野によって様々で,研究室によってはこのジャーナルの形式に合わせよ,なんていう決まりがあるかもしれません.私はそうではありませんでしたが,一応当研究室がよく投稿するジャーナルのスタイルに合わせたいと思い,スタイルの変更を試みました.が,これが本当に大変で...嫌になりましたが,どうにか目標のスタイルに変更することができました.そのことについては過去に書いているので,そちらを見てください.あんまりこだわらないよって人はやめておいた方が身のためです.

www.ketsuago.com


その他

図などを思い通りの位置に入れるコツ

とにかく\vspace,\hspaceでいじくれば解決できることが多いです.


便利ツール

あんまりつかったことないですが色々あります.私が使ったことあるのは,MyScript MathPadというiOSのアプリぐらいですかね.手書きで書いた数式をTeX形式に変換してくれるアプリです.コマンドを覚えるまでは便利ですが,覚えたら要らなくなります.

各種変換ツールはこちら.
変換ツール - TeX Wiki


LaTeXの数式をスライドに入れよう

そもそもpowerpointなら数式エディタが良い感じになっているので,必要ないと言えば必要ないんですが.すでにtexファイルに書いた数式をコピペしたいときとかは便利です.一度TeXに慣れてしまうと数式はTeXの書式で書くのが楽ですしね!私はpowerpoint上でTeXTeX(蝶々)というアドインを使用しています(http://sorauta.bufsiz.jp/Soft/textex.html).powerpoint2007対応なので新しいのだと動かないかも?他にもいろいろな方法があるので調べてみてください.


参考書

一応,参考書がなくても書けるようになることを目標にしていましたが,やはり一冊本があると安心します.超名著なので無駄にはならないはず.
[改訂第6版] LaTeX2ε美文書作成入門
Amazon CAPTCHA

[改訂第5版] LaTeX2e 美文書作成入門
Amazon CAPTCHA