🚀

おすすめの卒論・修論執筆環境(LaTeX関連+α)

2022/01/16に公開

私が修論を執筆していたときの環境を残しておきます。主にLaTeX周りの環境についてです。
公開していますが、主に研究室の後輩向けです。

LaTeX

オンラインLaTeXサービス

  • オンライン上でLaTeXを書けるサービスとしてCloud LaTexとOverleafがあります。最近はCloud LaTeXの機能が豊富になってきてるので、どちら使ってもいいかなという印象です。
  • Cloud LaTeX
    • デフォルトで日本語対応しているのが最大のメリット。
    • あまりこだわりがない人はこちらを使えば良いと思う。
    • VSCodeの拡張機能を提供しているのでVSCode使いもこちらがおすすめ。
  • Overleaf
    • 世界的に有名なのはこちらのほう。
    • デフォルトで日本語対応してないので少し設定が必要。詳しくはこちら
    • 私はCloud LaTeXが非常に重かったので2年前にこちらに乗り換えたが今は大差なさそう。
    • Cloud LaTeXが重かったりしっくりこなかった人は使ってみては。

便利ツール

  • LaTeXの執筆をサポートする便利なツールたちです。
  • Table Generator
    • ブラウザ上で表を作ってLaTeXのコードに変換してくれる。表を描くときは必ずこれを使う。
    • そのままブラウザ上で作ることもできるが、エクセル上で作ってコピーして貼り付けるのが一番楽。
  • SnipNotes
    • 数式の写真を自動でLaTeXのコードに変換してくれる。数式使うときは必ずこれを使う。

パッケージ

  • \usepackage{~}で使えるLaTeXのツールたちです。\documentclassbegin{document}の間(プリアンブルと言う)に\usepackage{url}のように書くことで使えるようになります。
  • url
    • 必須
    • \url{https://~}のようにして使う。
    • 「%」や「_」などのLaTeX上でそのまま入力できない文字が入力できるようになる。フォントもいい感じになる。
  • graphicx
    • 必須
    • 画像を表示させるために使う。
  • pdfpages
    • ほぼ必須
    • pdfのページを挿入できる。
    • 大学指定の表紙を挿入するために使う。
  • hyperref
    • 論文をちょっといい感じにしたい人向け
    • ハイパーリンクが付くようになる。目次をクリックしたら該当の場所にジャンプ出来たりするようになる。
    • \usepackage[dvipdfmx,setpagesize=false]{hyperref}のようにして使う。
  • pxjahyper
    • 論文をちょっといい感じにしたい人向け
    • pdfに目次が埋め込まれる。
    • hyperrefと一緒に使う。
  • booktabs
    • 論文をちょっといい感じにしたい人向け
    • 表をちょっといい感じにしてくれる。
    • Table Generatorと一緒に使うと良い。
  • amsmath,amssymb
    • 数式を書く時に使う。
  • tabularx or tabulary
    • 表の中で文を折り返したいときに使う。
    • あまり違いは分かっていないが私は何となくtabularyを使っていた。

ドキュメントクラス

  • texファイルの一番上にある\documentclassのことです。
    • 論文全体のフォーマットを決定するので、ここにこだわると一気に論文がいい感じになる。
    • 昔使われていたjarticlejreportは古いのであまりお勧めしない。
  • \documentclass[dvipdfmx,a4paper]{jsarticle}
    • あまりこだわりない人向け
    • 見出しレベルは\section\subsection\subsubsection
  • \documentclass[dvipdfmx,a4paper]{jsreport}
    • ちょっとこだわりたい人向け
    • 見出しレベルは\chapter\section\subsection\subsubsection
  • \documentclass[uplatex,dvipdfmx,fontsize=10.5pt,jafontsize=10.5pt,a4paper,report]{jlreq}
    • 私の中でのベストはこれ。もっとこだわりたい人向け。
    • エラーが出たらuplatexのところをplatexに変えたりする。
    • 見出しレベルは\chapter\section\subsection\subsubsection

BiBTeX

  • 参考文献リストを書くときに使う。
  • 参考文献リストを書く時のストレスからかなり解放されるのでかなりおすすめ。
  • BiBTeXとは - Qiitaなどを参考にするとよいと思われる。

その他Tips

  • 日本語 LaTeX の新常識 2021 - Qiitaを参考にする。
  • footnote
    • ページの下に脚注が入る。
    • 参考文献リストに載せるまでもないけどURLは載せときたいなというときに使う。
    • 学習データはTwitter\footnote{\url{https://twitter.com/}}から収集したのように使う。
  • autoref
    • デフォルトでは表\ref{tab:table_name}に示す。図\ref{fig:figure_name}に示す。などの"表"や"図"は自分で入れなければならないが、それを自動でやってくれる。
    • 「○○を2.1に示す。」のように「図2.1」の「図」が抜けるのを防いでくれる。
    • プリアンブルに以下の記述を入れる。(参考
% subfigureが文書にあると小節を参照する際に使う\subrefがおかしくなるので注意
%% increase link area for cross-references and autoname them, [130514]
\AtBeginDocument{\renewcommand{\ref}[1]{\mbox{\autoref{#1}}}}

\def\equationautorefname~#1\null{式(#1)\null}
\def\figureautorefname~#1\null{図#1\null}
\def\subfigureautorefname#1\null{図#1\null}
\def\tableautorefname~#1{表#1}
\def\lstlistingautorefname~#1{リスト#1}

\def\partautorefname#1\null{第#1部\null}
\def\chapterautorefname#1\null{第#1章\null}
\def\sectionautorefname#1\null{#1節}
\def\subsectionautorefname~#1\null{#1節}
\def\subsubsectionautorefname#1\null{#1節}
\def\paragraphautorefname#1\null{#1段落}
\def\subparagraphautorefname#1\null{#1段落}

\def\Itemautorefname#1\null{項目#1\null}
\def\Hfootnoteautorefname#1\null{脚注#1\null}
\def\theoremautorefname#1\null{定理#1\null}
\def\FancyVerbLineautorefname#1\null{#1行\null}
% \def\pageautorefname#1\null{ページ#1\null}
\def\appendixautorefname#1\null{付録#1\null}

その他

  • その他お世話になったツールたちです。
  • BlockSite
    • ブラウザ拡張機能。
    • 登録したサイトをブロックしてくれる。YouTubeやTwitterなどの時間泥棒を登録しておく。
  • Weightless
    • 科学的に一番集中できるといわれているBGM。
    • YouTubeに10時間バージョンが公開されている。
  • Python関連(Rの人はごめんなさい)
    • pingouin
      • 統計ライブラリ。scipy.statsstatsmodelsよりも断然使いやすい。
    • seaborn
      • matplotlibよりもきれいな図を作れる。論文の図をすべてseabornで作ると統一感が出て良い。
      • 以下のようにするとさらにいい感じなる。
import seaborn as sns
sns.set()

まとめ

卒業したらもうLaTeX使うことないのかなーと思って供養しました。

Discussion