卒論をTeXで書くために

はじめに

卒論はTeXで書いた方が簡単に体裁を整えられるし、バージョン管理しとけば教授の無茶な訂正にも耐えうるよ、という思いを込めて書きます。
研究室の後輩向けに書くので初期設定メインです。

環境

  • Mac OS 10.13.6 HighSierra
  • iMac 2017

あり得る選択

TeXで書くときには2つの選択肢があります。

  • Overleaf
    • ブラウザで動作するTeX環境です。手軽に使えますし自分のパソコンを汚さずに済みます。
    • 時々動作が重くなったり、繋がらなかったりします。
  • IDE
    • Atomなどのソフトを使い開発感ある執筆ができます。オフラインでも使え、カスタマイズも豊富です。
    • 卒論と解析プログラムを同時に一つのソフトで完結させることができます。
    • ある程度のパソコンスキルが要求されます。パソコンの容量を食う場合があります。

ここでは後者の、Atomを使って限界卒論執筆に耐えうる環境の構築を目指します。
Atomじゃなくても書けますが、後の項のバージョン管理にも便利な上、シンプルで軽めなのでこれでいきます。


ソフトのインストール

Atom

これがないと書くものも書けません。
このサイトからダウンロードしてね

MacTeX

パソコンも知らない言語を形にすることはできません。覚えさせてあげましょう。

その前に…Homebrew

覚えさせてあげるためのツールも必要なんです。入れてて損は無いのでHomebrewを使いましょう。
Macのアプリの中に「ターミナル」があります。
ここから先のコマンドは1行ずつ実行していきます。
パスワードを聞かれたらログインのパスワードを打ってエンターです(パスワード自体は表示されません)

ではターミナルを開いて下のコマンドをコピペしてください。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

途中止まっても大丈夫なんで気長に待っときましょう。待機状態($とカーソルが表示される)になったら次に進みます。

brew cask install mactex

また待ちます。終わったらいったんターミナルを閉じて、また開きます。

あるいはexec $SHELL -lを打ってもOKです。

ソフトの整備

TeX

tlmgr(Tex Live ManaGeR)コマンドを使ってTeX周りを整えます。
フォントを対応させましょう。デフォルトが綺麗なヒラギノフォントになります。
なおsudoコマンドを使うときPasswordが求められます。ログインするときのパスワードを打てばOKです。パスワード自体は表示されないので注意。

sudo tlmgr update --self --all
sudo tlmgr repository add http://contrib.texlive.info/current tlcontrib
sudo tlmgr pinning add tlcontrib '*'
sudo tlmgr install japanese-otf-nonfree japanese-otf-uptex-nonfree ptex-fontmaps-macos cjk-gs-integrate-macos
sudo cjk-gs-integrate --link-texmf --cleanup
sudo cjk-gs-integrate-macos --link-texmf
sudo mktexlsr

Atom

Atomは拡張パッケージで強くできます。
Atom > Preferences からInstallを選択、以下を検索してインストールしてください。
latex コンパイルに必要です。
language-latex シンタックスハイライト(コードの文法をわかりやすくしてくれます)
pdf-view Atom内でPDFを閲覧できます。
latexer 自動補完してくれます。
document-outline アウトラインを表示してくれます。章立てが一目で分かるので便利です。
wordcount 参考程度ですが字数がわかります。

Packages中のlatexのSettingsを開きます。
設定をしていきます。
基本こんな感じです。

スクリーンショット 2020-07-09 18.56.14.png
スクリーンショット 2020-07-09 18.57.20.png
スクリーンショット 2020-07-09 18.57.38.png

快適性の追求

へいほぅさんを参考にテーマなどをいじっていきます。
Installからflatwhite-syntaxを入力、検索窓横のThemesでテーマを検索します。

UI ThemeをOne Light、Syntax ThemeをFlatwhiteにすると目に優しくて最高です。

スクリーンショット 2020-07-13 16.41.14.png
スクリーンショット 2020-07-13 16.42.52.png

ただ最新版のFlatwhiteには問題があって、少し改変してあげる必要があります。
flatwhite-syntaxのSettingを押します。
View Codeで中身を見ます。
注意が出たら新しいウインドウで開きます。

スクリーンショット 2020-07-13 16.49.35.png

次にProjects > flatwhite-syntax > styles > languages > _index.lessを開きます。
@import 'prolog';

// @import 'prolog';とコメントアウトします。

スクリーンショット 2020-07-13 16.49.59.png


これでprolog言語にはシンタックスハイライトが適応されなくなってしまいますが、卒論で使うことは恐らくないので解決です。
Command + Sして閉じます。
他にもpdf-viewの遅さを解決するSkim(これは僕も使います)とか$$のブランケット(数式多用する人にはいいかも)の設定も参考になります。


これで卒論を書き始める用意ができました。
では実際にひな形を用意しましたので、書いていきましょう。

書いて慣れよう

AtomのFile > New Fileで新規作成します。
以下をコピペして下さい。

\providecommand{\tightlist}{\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}

\documentclass[uplatex,a4paper,10.5pt]{jsreport}

%==============pre======================
\usepackage[dvipdfmx]{graphicx,color}

\usepackage[dvipdfmx,hidelinks]{hyperref}
\usepackage{pxjahyper}
\usepackage[backend=biber,style=authoryear]{biblatex} %biberだとうまくいかない?style消してbibstyle=apaでもいいな
\addbibresource{sotsuron.bib}
\usepackage{float}

\usepackage[truedimen,mag=1200,top=20truemm,bottom=20truemm,left=25truemm,right=25truemm]{geometry}

\usepackage{cleveref}

\crefname{figure}{図}{figs.}
\crefname{table}{表}{tabs.}
\crefformat{chapter}{第#2#1#3章}
\crefformat{section}{#2#1#3節}
\crefformat{subsection}{#2#1#3項}

\renewcommand{\figurename}{図}
\renewcommand{\tablename}{表}

\setcounter{tocdepth}{2}
%=========================================
%目安15000−20000字くらい 頑張ろう
%タイトルどうしようかな

\title{ \Large 俺はジャイアンガキ大将}

\author{\\ホリデー大学 労働学部 ハッピー学科\\学籍番号\\名前}

% for print
\date{}



\begin{document}

\begin{titlepage}

\begin{center}
\vspace*{100truept}
{\Large 2020ネンド 卒業論文です}\\
\vspace{50truept}
{\huge 俺はジャイアンガキ大将}\\ % タイトル
%\vspace{10truept}
%{\huge のび太は伸びるのか}\\ % サブタイトル(なければコメントアウト)
\vspace{10truept}
{\large The Relationship between Kaoru and THE BOSS}\\ % タイトル
%{\large Nobita think}\\
\vspace{60truept}

{\Large 2021年1月30日提出}\\ % 提出日
\vspace{60truept}
{\Large ホリデー大学 労働学部 ハッピー学科}\\
%{\Large 専攻とかコースがあれば}\\
%\vspace{20truept}
%{\Large 課程とか入学年度とか}\\
%\vspace{20truept}
{\Large 学籍番号}\\
%\vspace{20truept}
{\Large 姓 名}\\ % 著者
{\Large LAST First}\\ % 著者

\vspace{60truept}
{\large
指導教員:やさしい教授\\
}
\end{center}

\end{titlepage}

%====================================================

\begin{abstract}
本研究は人がどのようにのび太とジャイアンが関係性を持っているか、歴史的な分析と実験を基に考察するものである。出木杉の先行研究[2045]を参考に、酒の味と調和する純音の周波数を求める実験をした。この実験により個人の感覚の中で夏の映画の時のみに繋がりがあることが示された。さらにこの実験結果を踏まえしずかののび太に対する影響に着目し、Suneoらの先行研究に基づきしずかが人の記憶に与える影響を確認した。その結果しずかとふれあった時間と記憶量の関係に一定の傾向が見られた。以上の結果に対し人間関係の考察を行った。
\end{abstract}

%====================================================

\begin{tableofcontents}
  \setcounter{page}{1}
  \pagenumbering{roman}
\end{tableofcontents}

%====================================================

\chapter{はじめに}\label{chap:はじめに}
\setcounter{page}{1}
\pagenumbering{arabic}

もうかけないよ〜



\section*{のび太の出生}\label{sect:のび太の出生}
\section{原始:のび太の分子} \label{sect:原始}
原始時代ののび太の分子は今のその姿を作るものである。出木杉は\autocite{出木杉2018}[\cref{fig:出木杉}]は儀式におけるのび太分子の重要性を示している。
しずかやジャイアンの存在も確認されている\autocite{出木杉2018}。即ち少なくともおよそ8000年前からのび太はジャイアン、しずかと繋がっていたと言える。

ドラ・エモンは『シャーマニズム』において
\begin{quote}
  \emph{「太鼓に生命を与える」ための祭儀は最も興味深いものである。のび太が太鼓にビールを振りかけると、太鼓の「枠」は「生き返り」、のび太の口を通して、過去を物語る。}\autocite[ママ訳]{ドラ1974}
\end{quote}
と述べている。のび太が酒の力で「生命を与える」ことで太鼓が過去を語り、部族の起源をなす規範的モデルや原初の動物について「歌う」ことができるとあり、のび太と酒が重要な役割を果たしている一例となっている。

・・・・・
%=========================


\newpage
\phantomsection
\addcontentsline{toc}{chapter}{謝辞}
\chapter*{謝辞}

ありがとうオリゴ糖

\vspace{\baselineskip}
嫌なことがあった日は酒を飲んで寝て忘れる、というのは科学的な観点から考察すると適切ではない(笑)

\addcontentsline{toc}{chapter}{参考文献}
\printbibliography[title = 参考文献]


\end{document}

コピペしたら任意の場所にTESTという名前のフォルダを作ります。
そしてAtomに戻ってCommand + Sで保存してみましょう。名前はtest.texです(拡張子を忘れないように!)。場所はさっきのTESTフォルダです。
そして上のメニューからPackages>LaTeX>Buildを選択します。しばらく待ちます。
TESTフォルダをみると、TEST.pdfというファイルがあるはずです。(他にもいろんなファイルができてますが、無視して下さい。消してもまた次回保存したときに出てきます。)
pdfをAtomに持ってきて、そのタブを掴んだら右にスプリットさせます。

スクリーンショット 2020-07-09 19.37.12.png

どうでしょうか。うまくいきましたか?細かい調整は抜きにして、書くところまで進めたならOKです。


バージョン管理

スクリーンショット 2020-07-13 15.00.05.png

ここからはオプションです。せっかくAtomで書いているので、バージョン管理をしていつでも前のバージョンに戻せるよう、また突然ファイルが消えても対応出来るようにしちゃいましょう。
ここでGitHubに登録します。学生アドレスで登録しましょう。プライベートリポジトリが無料になります。
できたら左上のNEWからリポジトリ(保管場所みたいなものです)を作ります。
リポジトリネームはgrad_thesisみたいなのでいいかもです。
鍵のマーク(プライベート)を選択してリポジトリを作ります。
では、このGitHub上のリポジトリと、卒論を紐付けしましょう。
ターミナルを開きます。
例えば、デスクトップ上にgrad_thesisというファイルを作っていてそこに卒論を置いているなら以下のコマンドを打ちます。

cd Desktop/grad_thesis
スクリーンショット 2020-07-13 15.13.57.png

さらにGitと紐付けしていきます。別にID隠しても意味ないかもですが隠しました。

真ん中らへんをコピーしときます。

git init
さっきコピーしたコマンド

これで、一回Atomで開いている卒論TeXを閉じて、再び開きます。
Atomの右下のGitHubタブを押してみます。
Loginを押します。画面の指示に従ってリンクをクリック、ログインしてトークンを取得します。
そのトークンを入力すれば、AtomとGitHubの連携は完了です。
Gitボタンを押してみます。

スクリーンショット 2020-07-13 15.23.25.png

こんな感じになっているはずです。
この右上のファイルたちが、GitHub上のファイルと、自分のパソコンにあるファイルに差があるものたち(つまり、更新したけどまだクラウドにあげてないよ、的なファイル)です。
これをStage Allさせてコメントを記入、例えばbetaとしてCreate detached commitします。
この状態ではまだGitHubには上がっていません。これをその下のボタン、Publishします。

スクリーンショット 2020-07-13 15.35.05.png

このような感じになりました。Fetchというのは「取ってくる」ことで、GitHub上で更新があればそれを自分のパソコンに取ってくることができます。試しにやってみましょう。
ブラウザのGitHubの画面に行って更新してみるとさきほどPublishした内容が反映されているはずです。
Add File > Create New Fileします。

スクリーンショット 2020-07-13 15.36.52.png


ファイル名は.gitignoreです。Gitに上げたくないファイルを指定するものです。これを書いておけば次回のPushから.gitignore内に記述されたファイルはGitに上がらなくなります。TeXはコンパイル時の副産物が多いので必要かも…。
.gitignoreを打つと、横でテンプレートを使うか聞かれます。ありがたくTeXを選択します。

最後に.DS_Storeを記述します。でCommit new fileします。

スクリーンショット 2020-07-13 15.41.00.png
スクリーンショット 2020-07-13 15.44.38.png

さてAtomに戻って下のFetchを押すと更新があればPull表示になります。
Pullを押します。
これでパソコン側に.gitignoreが反映されました。(隠しファイルなので見えません)

スクリーンショット 2020-07-13 15.54.44.png

では今度は卒論の変更をGitHubに反映してバージョンアップしましょう。
例えば学部名を変えてみましょう。Command + Sで保存したら、AtomのGit画面が変わるはずです。

スクリーンショット 2020-07-13 16.00.20.png


3つの変更があったことを示しています。
Stage AllしてCommit messageに変更点を記入します。例えば学部名変更とかですかね。
Commit to masterして下のPushを押せばGitHubに反映されます。


ちなみに.DS_Storeはファイル名をクリックしてゴミ箱ボタンをクリックしたら消えてくれます。(ブラウザのGitHubを操作した場合、AtomでしっかりFetch&Pullを忘れないように!)
では学科名とか教授の名前を変えてまたCommit、Pushしてみましょう。

スクリーンショット 2020-07-13 16.03.22.png
スクリーンショット 2020-07-13 17.31.04.png

バージョン歴を見れば、変更点がすぐに分かります。試しにこの状態で見てみましょう。
texファイルをクリックします。Historyを見ます。

参照したいバージョンを見ると、その前からの変更点がすぐに分かります。

スクリーンショット 2020-07-13 17.39.15.png
スクリーンショット 2020-07-13 17.44.46.png


あんまり細かにPushしすぎても大変ですけど、大幅に構成が変わるなんてことがあったときには便利です。
もちろんCommandSは息をするように押すのですよ。

時間があればTeXの文法なんかについても書きたいですが今回はここまでです。

1件のコメント

コメントはできません。