FLYING

/* TODO: 気の利いた説明を書く */

卒論関連の覚え書き

月曜に卒論を出した。次の月曜が発表になる。

基本的にはmarkdown->TeXの変換だけで卒論を仕上げるのに便利だったツール10個まとめ - mizchi's blogに準拠したやり方で書いた。環境はMacTexで入れる。pandocはbrewからは入れられなかったので,haskell-platformで入れたcabalからインストールする。LaTeXソースの書き方という点で,いくつか詰まった点があったのでメモしておく。

ビルドスクリプトは下記。途中に句読点の変換処理を挟んでいる。

cd src
pandoc -f markdown -o body.tex body.md
sed -i '' -E 's/。/./g' *.tex
platex -kanji=UTF8 -halt-on-error -output-directory=../build main.tex
cd ..
cd build
dvipdfmx -o thesis.pdf main.dvi
open thesis.pdf

pngファイルからxbbファイルを生成するスクリプトが下記。

cd img
for f in *.png; do
  extractbb -x $f
done

ファイルツリーとしては,プロジェクトディレクトリのルートにスクリプトがあり,src以下に学科の秘伝のタレ(sty,tex)や他ソース(md,tex)を置いている。また,img以下に図のpngファイルと,生成されるxbbが置かれる。LaTeXによる出力はすべてbuild以下に吐かれる。

表のテンプレ

必要に応じて\begin{table}の後に[t]とか[b]とか[p]とかを入れて微調整する。

\begin{table}
  \center
  \caption{hoge}
  \label{table:hoge}
  \begin{tabular}{|c||c|c|} \hline
    a & b & c \\ \hline
    d & e & f \\ \hline
  \end{tabular}
\end{table}

図のテンプレ

widthとかheightとかを必要に応じて指定する。

\begin{figure}
  \centering
  \includegraphics{../img/fig-hoge.png}
  \caption{hoge}
  \label{fig:hoge}
\end{figure}

ソースリストのテンプレ

\begin{lstlisting}[label=list:hoge, caption=hoge]
for (i = 0; i <= n; i++) {
  for (j = 0; j <= n; j++) {
    a[i][j] = i * n + j;
  }
}
\end{lstlisting}

プリアンブル側。

\lstset{
  language={C},
  basicstyle={\small \ttfamily},
  keywordstyle={\bfseries},
  numberstyle={\scriptsize},
  numbers=left,
  frame=lines,
  framexleftmargin=0.5em,
  framexrightmargin=0.5em,
  showstringspaces=false,
  breaklines=true,
  columns=[l]{fullflexible},
  escapeinside={(*@}{@*)}
}

式のテンプレ

式番号が不要なら\nonumberやeqnarray*が使える。

\begin{eqnarray}
\label{equation:hoge}
f(x) = x^2 + 2x + 4
\end{eqnarray}

その他

pdfに変換すると図が表示されなくなる。パッケージ指定を下記のように書き換えて解決。

\usepackage[dvipdfmx]{color,graphicx}

目次に載る参考文献のページ番号が本来の値よりも1だけ少ない。\begin{thebibliography}の後に\addcontentslineが来るようにして解決。

表中に画像を入れる。セル内で\includegraphicsする。位置の調整には次のようなものが使える。

% 横幅0の支柱を入れることによりセルの高さを確保
\rule{0pt}{10mm}
% セルの上または下に空白を確保
\vspace*{-8.5mm}

論文の一部のみ余白を変更する。geometryパッケージが便利。

% 余白を設定する
\newgeometry{left=25mm, right=25mm}
% 余白をデフォルトに戻す
\restoregeometry

進捗

2月10日が提出日だったが,まともに卒論に書けそうなデータを得られたのが一週間前の2月3日だった。論文は翌4日から書き始めた。卒論は1週間で書ける(至言)。
もっと言えば,年内にいまいちテーマが決まりきらなくて,失意のまま年を越したが,年を越えたら「もう今の方向性でやるしかないよね」となって,そのまま卒論になった。
12月くらいに「この時点でテーマが決まっていないのは“ヤバイ”」とか,1月くらいに卒論を書いている旨のツイットをたくさん見たときは「死ぬか??」と思ったが,やればできる。


おわりに

関係ない話をする。うちの学科は今年度から卒論をpdf化して専用フォームからアップロード提出することになったのだが,指導教員と学科長にハンコをもらうという仕組みには特に変化がなかったので,最終的に教員の印影をカラースキャンし,画像化してLaTeXソース上でincludegraphicsすることになった。ウケる。