イショティハドゥスにキレられないための LaTeX 論文執筆メソッド

もしかして: [アカデミックヤクザにキレられないためのLaTeX論文執筆メソッド](https://qiita.com/suigin/items/10960e516f2d44f6b6de)

**注意: イショティハドゥスとはフィクションであり、今お前がみているそれは幻想だ。**

# はじめに

研究室に入ってくる新人のみなさんはたいてい LaTeX を触ったことがなくて、若干見劣りするような資料を作ってしまうことが多い。
なので、見てくれのいい資料を作れるようになりましょう、というコンセプトで、常識的なところから細かいところまで書いていく。

こうすると便利だよ〜っていう内容と、こうしないとブチ切れるからなみたいな内容がいりまじっている。

資料を作るときに大事なのは、読みやすく伝わるように整えること、そして、それを同じように何度も作れるように整えること。

## Disclaimer

LaTeX ヤクザではないので LaTeX の仕組みに関する細かいことは知りません。
僕がたくさん資料を作ってきた経験から書くので、こっちのほうがいいと思うなどありましたらコメントからどうぞ。

## 対象読者

- LaTeX が多少触れるようになった（コンパイルも通せるし、画像も一応貼れるようになった）ひと
- なんとなく LaTeX を使っているひと
- 僕

# 他に読むべき参考資料

なぜか LaTeX の世界も時代が速く流れるので、昔の資料は参考にならなかったり間違ってたりする。
注意して読むべし。

次に挙げるものはいいと思う。

- [アカデミックヤクザにキレられないためのLaTeX論文執筆メソッド](https://qiita.com/suigin/items/10960e516f2d44f6b6de)
- [使ってはいけない LaTeX のコマンド・パッケージ・作法](https://ichiro-maruta.blogspot.jp/2013/03/latex.html)

その他アドバンストな部分も含む資料。

- [LaTeX の「アレなデフォルト」 傾向と対策](https://qiita.com/zr_tex8r/items/297154ca924749e62471)

おまけとして、IEEE trans の LaTeX クラスを使うときは下も読もう。

- [How to Use the IEEEtran LaTeX Class](http://ras.papercept.net/conferences/support/files/IEEEtran_HOWTO.pdf)

# TeX 環境

## TeXLive を使う上での注意事項

TeX 環境に強い思い入れがない場合には、TeXLive やその派生物（mac だと MacTeX とか）からインストールすると比較的便利。

TeXLive には [tlmgr](https://texwiki.texjp.org/?tlmgr) というパッケージマネージャが入っていて、パッケージを一括でアップデートするなどできる。

**TeXLive 本体やパッケージのアップデートには破壊的な変更が結構頻繁に入るので、執筆中などの時期にアップデートするのは避けたほうがよい。**
パッケージのバグに悩まされるときは、パッケージ個別のアップデートをしょう。

## パッケージの使い方がわからないときは Texdoc を使おう

```
texdoc jsarticle
```

パッケージ製作者に依存するが、基本的に最も信頼できるドキュメントは texdoc。

コンソール上で `texdoc パッケージ名` と叩くと PDF のリーダーが直接開いてドキュメントが読める。

ググって出てくる情報を鵜呑みにするのは若干危ない世界なので、なんか変だなと思ったら積極的に使おう。

## ビルドの方法（エンジンやビルドツール）

個人的には upLaTeX + dvipdfmx がオススメ。
LuaLaTeX とか XeLaTeX とかもあって機能も豊富だが、upLaTeX のほうが pLaTeX のノウハウが通用しやすいのでググりやすい印象がある。
今も pLaTeX を使っているよっていう人でもわりと移行しやすいと思う（差分はコンパイルするときのエンジン名、ドキュメントクラス、otf パッケージのオプションくらい?）。

LuaLaTeX とか XeLaTeX がバリバリ使える人はそれを使ってください。僕のようなヨワヨワマンからは何も言うことはありません。
（こいつらは日本語の組版が e-pTeX 系にくらべてちゃんと実装しきれていない気がするのですが専門家の方いかがですか。）

# 本文を書く前に

## ドキュメントクラス

日本語に関しては jsarticle に dvipdfmx オプションと uplatex オプションをつけるのがいいと思う。
僕は下のような感じにしている。

```latex
\documentclass[10pt,a4j,fleqn,dvipdfmx,twocolumn,uplatex]{jsarticle}
```

- 10pt: 文字サイズ
- a4j: 紙のサイズ
- fleqn: ディスプレイ表式が中央揃えじゃなくて左揃えになるやつ
    - 個人の好み。僕は好き
- twocolumn: 二段になるやつ
    - 必要であれば

10pt だと若干小さい場合には、10ptj などを使うとよい。
LaTeX における 10pt は、世界でよく用いられる単位系では 9.21pt くらいに換算されるためである。

古いソースだと jarticle が使われているが、組版や余白が日本語向きではない気がする。

jsarticle、jsreport（2017 年に登場）、jsbook はこの順に大規模な文章向けになる。適当に選ぶとよい。

## レイアウト

geometry パッケージを使いましょう。
もともと余白がかなりゆるゆるな印象はあるので、僕は下のようにしている。
なんか Word のプリセットに合わせてた気がする。

```latex
\usepackage[driver=dvipdfm,hmargin=19.05truemm,vmargin=25.40truemm]{geometry}
```

driver は指定したほうがいい。
大きさは truemm にしておくと、ドキュメントクラスの文字サイズの影響を受けない（しておかないと文字サイズに応じて大きくなる）。

## 欧文フォント（オプショナル）

気にしないのならそのままでいいと思う。
変えたいなら [The LaTeX Font Catalogue](http://www.tug.dk/FontCatalogue/) を見ながら設定するのがオススメ。
僕は下のようにしている。

```latex
\usepackage{newtxtext,newtxmath}
\usepackage[scaled]{helvet}
\usepackage[T1]{fontenc}
\renewcommand{\ttdefault}{fvm}
```

欧文フォントによっては、パッケージオプションで `scaled=0.93` などとすると大きさが変えられるものがある。
こだわるのであれば、日本語フォントと並べて違和感がないように調整するとよい。

## 日本語フォント

otf パッケージは和文と欧文のファミリ問題とかを自然に解決してくれるのでぜひ使いましょう。
uplatex オプションは忘れずに。

```tex
\usepackage[expert,deluxe,uplatex]{otf}
```

デフォルトでは日本語フォントは埋め込まない設定になっているが、これは（特殊な場合を除いて）やめたほうがいい。

デフォルトの設定を変える時は kanji-config-updmap-sys コマンドを使う。
Standby のところに使えるオプションが出るので、その中から選べる。
Standby family は環境によって異なるので適切に選ぶ。

```
$ sudo kanji-config-updmap-sys status
updmap [WARNING]: resetting $HOME value (was /Users/ishotihadus) to root's actual home (/var/root).
CURRENT family for ja: noEmbed
Standby family : ipa
Standby family : ipaex
Standby family : morisawa-pr6n
Standby family : ms
Standby family : yu-win10

$ sudo kanji-config-updmap-sys morisawa-pr6n
```

Mac でヒラギノを使う場合には [MacTeX 2018 on Mojave でヒラギノ](https://qiita.com/Ishotihadus/items/0b2c11dc70fd8c3a5919)を参照のこと。

さらにカスタマイズしたいときは [pxchfon](http://zrbabbler.sp.land.to/pxchfon.html) を使うのがいいと思う。
プリセットから選べるし、細かくフォントを指定することもできる。
僕は下みたいに指定している。

```latex
\usepackage[noalphabet]{pxchfon}
\setlightminchofont{A-OTF-ReimPr6N-Light.otf}
\setmediumminchofont{A-OTF-ReimPr6N-Regular.otf}
\setboldminchofont{A-OTF-ReimPr6N-Bold.otf}
\setmediumgothicfont{A-OTF-GothicMB101Pr6N-Reg.otf}
\setboldgothicfont{A-OTF-GothicMB101Pr6N-Bold.otf}
\setxboldgothicfont{A-OTF-GothicMB101Pr6N-Heavy.otf}
\setmarugothicfont{A-OTF-ShinMGoPr6N-Regular.otf}
```

フォントを参照するディレクトリを増やしたい時は、/usr/local/texlive/texmf-local/web2c/texmf.cnf の OSFONTDIR をいじる。

```/usr/local/texlive/texmf-local/web2c/texmf.cnf
OSFONTDIR = /Library/Fonts//;~/Library/Fonts
```

## グラフィック系

graphicx パッケージを読み込むときはドライバオプション（dvipdfmx など）を絶対に忘れない。

色は xcolor パッケージが個人的にはいいと思います。
下の例がいつも使ってるやつ（オプション要らないの入ってんな）。

```latex
\usepackage[dvipdfmx]{graphicx}
\usepackage[dvipsnames,svgnames,x11names,dvipdfmx,table,xcdraw]{xcolor}
```

itembox みたいな文章を枠で囲むやつは tcolorbox パッケージが情報も多くオススメ。

```latex
\usepackage{tikz}
\usepackage[breakable,skins]{tcolorbox}
```

## float 環境（図表）のチューニング

デフォルトだと結構 `[p]`（独立ページ）状態が発生しやすいので、次のように指定してなるべく独立ページにならないようにしている。
正しいのかどうかはよく知らない。

```latex
\setcounter{topnumber}{4}
\setcounter{bottomnumber}{0}
\setcounter{totalnumber}{4}
\renewcommand{\topfraction}{1}
\renewcommand{\bottomfraction}{0}
\renewcommand{\textfraction}{0.1}
\renewcommand{\floatpagefraction}{1}
```

## 見出しのデザイン（オプショナル）

見出しのデザインが気に食わないので変えたい人だけ。
titlesec パッケージを使うと便利。

下のは僕がいつも使っているやつ。
`\gtfamily` は otf パッケージを読み込んでいるときだけ使える。

```latex
\usepackage[explicit]{titlesec}
\titleformat{\section}[hang]{\normalfont\large\gtfamily\sffamily}{\thesection.}{1em}{#1}[\titlerule\vspace{.3ex}]
\titleformat{\subsection}[hang]{\normalfont\gtfamily\sffamily}{{\color{Gray}\vrule width 2pt \hspace{.7em}}\thesubsection}{1em}{#1}
\titleformat{\subsubsection}[hang]{\normalfont}{\thesubsubsection}{1em}{#1}
\titleformat{\paragraph}[runin]{\normalfont\gtfamily\sffamily}{\theparagraph}{1em}{#1}
\titlespacing{\section}{0pt}{3.5ex}{2ex}
\titlespacing{\subsection}{0pt}{2.8ex}{1.4ex}
\titlespacing{\subsubsection}{0pt}{2.7ex}{1.4ex}
```

titlesec を使う場合は使うコマンドすべてを指定しなければいけないらしく、面倒であれば使わなくてよいと思う。

## cleveref パッケージ

引用するときに `図~\ref{fig:hoge}` みたいに図とか表とか書くのが面倒なときに使えるやつ。

ref の代わりに cref もしくは Cref を使うだけで label の定義を察して便利に参照を貼れる。
複数まとめて cref すると複数形になるとかそういう機能もある。
cref と Cref は、行頭の大文字を反映するかどうかで使いわける。

```latex
\usepackage[noabbrev]{cleveref}
\crefformat{subsection}{#2#1{}節#3}
\crefformat{subsubsection}{#2#1{}節#3}
\crefname{figure}{図}{図}
\crefname{table}{表}{表}
\crefname{equation}{式}{式}
\crefname{section}{}{}
\crefname{appendix}{}{}
\def\crefrangeconjunction{--}
\def\crefpairconjunction{，}
\def\crefmiddleconjunction{，}
\def\creflastconjunction{，}
\def\crefpairgroupconjunction{，}
\def\crefmiddlegroupconjunction{，}
\def\creflastgroupconjunction{，}
```

次のようにすると ref を cref で上書きできる。

```latex
\let\nref\ref
\let\ref\cref
```

参考: [cleverefで賢く参照する](https://qiita.com/wktkshn/items/110cd6007837938e6c88)

## おすすめパッケージ

- amsmath, amssymb
    - 数式モードの記号を増やすやつ
    - えっこれ amsmath だったのみたいな記号も結構あるので、おまじないレベルで読み込んでおくのが吉
- bm
    - ベクトルなど数式で太くてイタリックの文字を出すやつ
    - [数式太字はやり方によって出力が異なる](http://osksn2.hep.sci.osaka-u.ac.jp/~naga/miscellaneous/tex/tex-tips6.html)が、bm は比較的マシな挙動をする印象がある
- mleftright
    - 後述
- diffcoeff
    - 微分・偏微分が簡単に美しく書けるやつ
    - [参考](https://qiita.com/Ishotihadus/items/8880bdfdc2525873ca63)
- siunitx
    - 5 m とか 37.2 ms みたいな SI 単位の表記を**規則にのっとり**美しく書けるやつ
        - 一般人が普通にこの規則を守るのは難しいので siunitx を使うとよい
    - 数式中でも OK
    - [参考](https://qiita.com/suigin/items/10960e516f2d44f6b6de#%E5%8D%98%E4%BD%8D)
- booktabs
    - セマンティカルで太めの横線を表組みのときに使えるようにするやつ
    - [参考](http://konoyonohana.blog.fc2.com/blog-entry-339.html)
        - sample-1 みたいな表が理想的
- url
    - PDF にリンクを貼ってくれるので神
- cite
    - nobreak オプションを付けるのがベター
    - [参考](https://qiita.com/suigin/items/10960e516f2d44f6b6de#cite%E3%81%AE%E5%89%8D%E3%81%AB%E3%81%AF%E3%83%81%E3%83%AB%E3%83%80%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B)
- [pxrubrica](http://zrbabbler.sp.land.to/pxrubrica.html)
    - [解説記事](https://qiita.com/zr_tex8r/items/42466cbcbeb670a3a2dc)
    - ルビ（ふりがな）を使いたいときに使うパッケージ
    - 機能がかなり多いのと、ルビには結構厳しいきまりごとがあるので、pxrubrica を使うのがよいと思う

## オススメのマクロ

登録しておくと便利なマクロ。

### 演算子

arg max とか arg min とかは 1 つの演算子。`\arg\min_x` はダメ。

tr（トレース）とか Re（実部）とかのマイナーな演算子も登録しておくとラク。

```latex
\DeclareMathOperator*{\argmax}{arg~max}
\DeclareMathOperator*{\argmin}{arg~min}
\DeclareMathOperator{\tr}{tr}
```

既に存在しているものを上書きするときは若干テクニカルなことをする。

```latex
\let\Re\relax
\DeclareMathOperator{\Re}{Re}
```

ちなみに演算子を定義するときは newcommand / renewcommand を使わないほうがいいらしい（[コメント参照](https://qiita.com/Ishotihadus/items/bbbb85f54e6a4e7aaac0#comment-9960a7b5db4db1099b9b)）。

### カッコ（オプショナル）

これは僕以外やってる人を見たことないけど、括弧の `\left` `\right` を毎回書くのが面倒なのでつくった。

```latex
\newcommand{\paren}[1]{\left(#1\right)}
\newcommand{\sbra}[1]{\left\lbrack#1\right\rbrack}
\newcommand{\abs}[1]{\left|#1\right|}
\newcommand{\norm}[1]{\left\|#1\right\|}
```

こうすると次みたいに書けるので便利。

```latex
% 下の 2 つは一緒
\left(a+\frac{c}{b}\right)
\paren{a+\frac{c}{b}}
```

なんかこういう感じのパッケージあったような気がするけど忘れちゃった。

### カッコの周りのアキ（おまけ）

[コメント](https://qiita.com/Ishotihadus/items/bbbb85f54e6a4e7aaac0#comment-9960a7b5db4db1099b9b)からの素晴らしい指摘。

left right を使うと括弧の両脇にアキが入る。
これがあまり美しくないと思う場合は、mleftright パッケージの `\mleft` `\mright` を使うといいらしい。

上が left right の例。下が mleft mright の例。

<img width="447" src="https://qiita-image-store.s3.amazonaws.com/0/78668/d8828aa6-f799-b8dd-2ec4-389fb71fe12c.png">

好みにもよるし統一されてればよいが、確かに詰めたほうが長い数式でも困らないので mleftright のほうがいいのかなぁという気がしている。
僕はすべて `\mleft` `\mright` にしている。

ちなみに写研やモリサワはアキがない（mleftright の）組版に近い（気がする）。

### relmiddle

確率分布の縦棒を書くときにつかう。[参考](http://d.hatena.ne.jp/zrbabbler/20120411/1334151482)

```latex
\newcommand{\relmiddle}[1]{\mathrel{}\middle#1\mathrel{}}
\newcommand{\agivenbp}[2]{\left(#1\relmiddle|#2\right)}
```

こうしておくと、縦棒が美しく書ける。

```latex
\agivenbp{z_t}{\lambda^{(z)}}
```

```math
P\left(z_t\mathrel{}\middle|\mathrel{}\lambda^{(z)}\right)
```

縦棒の長さが短いと不恰好になってしまう。

```latex
p(z_t|\lambda^{(z)})
```

```math
p(z_t|\lambda^{(z)})
```

縦棒の左右のアキが広いと感じる場合には単に `\middle|` としてもいいと思う。

### 太字

otf パッケージを入れると textbf で明朝体／セリフの状態で太字になってしまう。
ときどきゴシック体／サンセリフにしたいときがあるので、ぱぱっとできるよう次のように定義しておくと便利。

```latex
\newcommand{\enhance}[1]{{\gtfamily\sffamily#1}}
```

こうすると enhance コマンドでゴシック体の太字が使える。

## 本文の前にやりがちなやってはいけないこと

### 行間をいじるな

全体が破壊的に変更されてしまうので、読みにくくなりがち。最終の最終の最終手段。

ちなみにどうしてもいじりたいときは setspace パッケージを使うと部分的に行間が狭くできるので便利。
参考文献だけ狭くしたいみたいなニーズに応えられる。

### 軽い気持ちで一般のコマンドを再定義するな

移植性を保ち想定外の挙動を避けるため。

LaTeX のプロが作ってくれたありがたいパッケージを極力使い、自力で書くのは避けるのが僕はいいと思う。
変なところからコピペしてきたのは特にダメ。

### jarticle を使うな

サイズ感が結構違っていて jsarticle より読みにくいので、相当厳しい事情がない限りは使わないほうがベターだと思う。

他にも[アレな部分がある](https://qiita.com/zr_tex8r/items/297154ca924749e62471#%E3%81%9D%E3%81%AE2jarticle%E3%81%AA%E3%81%A9%E3%81%AE%E6%A8%99%E6%BA%96%E5%92%8C%E6%96%87%E6%96%87%E6%9B%B8%E3%82%AF%E3%83%A9%E3%82%B9%E3%81%8C%E3%82%A2%E3%83%AC)ので jarticle はダメらしい。

### 用紙のサイズや余白などのパラメータを直接いじるな

geometry パッケージを使え。マジで死ぬぞ。

箇条書きや数式などの上下の余白などは細かく調整が必要な場合があるが、1つ1つのパラメータ指定で何が起きるかを確認しつつ使おう。

### def は気をつけて使う

newcommand / renewcommand を使えという意見はあるけど、面倒なので使ってもいいと思う。
自己責任で。

# 本文

## 基本的な作法

### 改段落のために改行コマンドを使うな

改行コマンド（`\\`）は数式や表など以外の本文では使わない。そもそも LaTeX に限った話ではないが。

### 変なスペースを入れない

インライン数式のまわりとかに空白をいれない。自動で入るので。
（この Qiita は空白を入れています。）

ちなみに英文を書くときのピリオドの後ろは空白 1 つです。

### ダブルクオーテーション

``'' を使おう。

### インライン数式にするのを忘れない

$k$-means とか $N$-gram とか、そういう細かいところにね、人間性って出るんですよ。
「$N$ 個の中から $k$ 個を選び〜」みたいなときもちゃんとインライン数式にしようね。

## 全角半角など

### 数字や欧文は半角を使え

全角数字と全角アルファベットは滅びろ。

> 横組では，原則としてプロポーショナルな欧字を用いる（図 3.34）．
> [日本語組版処理の要件 3.2.2 横組の和欧文混植に用いる文字](https://www.w3.org/TR/jlreq/ja/#mixed_text_composition_in_horizontal_writing_mode)

### ピリカン（ピリオド・カンマ）を句読点の代わりに使う場合は全角にしろ

日本語文章では句読点は絶対全角にするべき（仮想ボディとアキの問題）。

> a. 読点類（cl-07）では，原則として後ろを二分アキにする．
> b. 句点類（cl-06）では，行中では後ろを二分アキにし，行末では後ろを原則として二分アキにする．
> [日本語組版処理の要件 3.1.2 句読点や，括弧類などの基本的な配置方法](https://www.w3.org/TR/jlreq/ja/#positioning_of_punctuation_marks)

ただし次の条件ではピリオド・カンマは半角にする。

- $1, 2, \ldots, N$ などの数式中において列挙する場合
- 略称の説明をするとき元の名称にカンマが含まれる場合（United Nations Educational, Scientific and Cultural Organization; UNESCO）
- 参考文献を表記するときに文献が日本語でない場合
- その他英文中の場合など

微妙なのが「$\gamma, \zeta$ の 2 変数に対して」みたいなときで、これは「$\gamma$，$\zeta$ の 2 変数に対して」みたいな書き方でもいいと思う。

なお、日本の国語教育においては横書きの印刷された文章では「カンマと句点」が本来は正しいとされている（らしい）。
これに合わせる必要はないしピリオド・カンマの場合も多いが、とにかく**文章中で統一するのを忘れないこと**。
テキストエディタで検索・置換すればよい。

### 括弧は全角を使え

日本語の文章の場合、括弧はすべて全角にする。例外は数式中の括弧のみ。

> c. 始め括弧類（cl-01）では，原則として前を二分アキにする．
> d. 終わり括弧類（cl-02）では，原則として後ろを二分アキにする．
> [日本語組版処理の要件 3.1.2 句読点や，括弧類などの基本的な配置方法](https://www.w3.org/TR/jlreq/ja/#positioning_of_consecutive_opening_brackets_closing_brackets_comma_full_stops_and_middle_dots)

ただし次のような場合は括弧が全角になるべきだと思う（数式ではなくて補足的な意味の括弧なので）。

> 基底 $a_n$（$n = 1,2,\ldots,N$）を用意する。

### 5 種類の横棒

- `-`: 半角ハイフン（英文ハイフン）
    - 12-year-old girl
- `--`: en dash（区間や関係）
    - pp. 3--5
    - Cauchy–Schwarz の不等式
- `---`: em dash（副題など）
    - Three alkali metals—sodium, potassium, and lithium—are the usual substituents
    - 日本語の副題では波ダッシュ（〜）を使ってもよい
- `------`: 和文ダッシュ（日本語では 2 つ並べる）
    - 「水の底に棲すんでゐる魚も——魚がこの沼に棲んでゐるであらうか。」（芥川龍之介『沼』）
    - 「万一、それが運命を変えるとすれば——。」（宮本百合子『光のない朝』）
    - Unicode では em dash（U+2014）ではなく horizontal bar（U+2015）を 2 つ並べることもあるようだが、LaTeX は同じ字として書いている気がする
- `$-5$`: 単項マイナス（負の値）
- `$5-3$`: 二項マイナス

マイナスは数式モード以外では出せないので「-2 から 2 までの 5 段階で」みたいなときは、ちゃんと `$-2$から2までの` などと書く。
数式と欧文でフォントが一致していない場合は `$-2$から$2$までの` か `$-$2から2までの` になる。

## そのほか

### 脚注

脚注は存在しなくても成り立つもので、最も優先されないものなので、表に出るような資料では基本的に使わない。
ただ内部資料とかで外部発表するものでなければ、議論を滑らかにするためにいろいろ脚注に書くのもいいのかなとか思う。

使ったデータセットやツールキットの URL とかも脚注にする派と参考文献に入れる派がいるが、こちらはどちらでもよい。
ちなみに私は脚注派。

#### 脚注のデザイン（オプショナル）

個人的には初期のデザインあんまり好きじゃないんですけどどうですか。

もちろんそのままで全然かまわないのだが、僕は下のようにして少しだけ薄くしている。
`tikz` パッケージが必要。

```latex
\let\oldthefootnote\thefootnote
\def\thefootnote{{\color{Gray}\oldthefootnote}}
\renewcommand{\footnoterule}{\noindent\tikz\draw[dotted,gray] (0,0)--(5,0);\vspace{5pt}}
```

### 行からはみ出したり行が短すぎたりするときの対処

長いインライン数式が入って文字間隔が変になっちゃったり、ディスプレイ表式が長すぎて横幅をぶち抜いちゃったり、長い URL を書いて変なところで改行されちゃったりするときなど。

基本的には仕方のないことなので諦めるのが先決だが、個人的にはなるべく解消する努力はしようねというお気持ち。
どうしようもないところがあるので努力目標だけど。

インライン数式のせいでおかしくなる場合には、改行されそうな位置でインライン数式を切ってしまうという手もある（よく使う）。

### 略称の書き方

略称は、正式ではないが簡単のために導入するものなので、基本的に正式名称より後に置く。

英語だと次のとおり。日本語論文でも流儀は同じ。

- Uniform Resource Locator（URL） ← OK
- URL（Uniform Resource Locator） ← **よく見るけどダメ**

日本語だと次のとおり。

- 三井住友銀行（SMBC: Sumitomo Mitsui Banking Corporation） ← まあよい
- 三井住友銀行（SMBC; Sumitomo Mitsui Banking Corporation） ← 見たことないけど NG
- 三井住友銀行（SMBC, Sumitomo Mitsui Banking Corporation） ← 稀に見るけど微妙
- 三井住友銀行（Sumitomo Mitsui Banking Corporation: SMBC） ← **これはダメ**
- 三井住友銀行（Sumitomo Mitsui Banking Corporation; SMBC） ← **これにしましょう**
- 三井住友銀行（Sumitomo Mitsui Banking Corporation, SMBC） ← ときどき見る

コロンには後ろを説明する要素がある（コロンの左側がわかりづらい方になる）ので、4 番目の例は明らかにダメ。教科書でも見るけどたぶんダメ。
僕は 1 番目派だったのですが、いろいろ考えると 5 番目が最もよいのではということになった。

# 数式

## equation 環境と align 環境は使いわける

equation 環境は、上下の本文の長さや数式自身の長さによってなるべく詰める挙動をしてくれるので、1 行数式はできるだけ equation にする。

参考: [What is the difference between align and equation environment when I only want to display one line of equation?](https://tex.stackexchange.com/questions/239550/what-is-the-difference-between-align-and-equation-environment-when-i-only-want-t)

## 行列は pmatrix とか bmatrix を使おう

こっちのほうが書きやすいよ♡

## 場合分けは cases を使おう

こっちのほうが書きやすいよ♡

若干行間が狭いと思ったら、改行時の行送りを調整するしかない（`\\[5pt]` みたいな）。

## 括弧は原則 left right で使う

中にアルファベット 1 文字が単体で入るパターンとか、括弧の中で改行しなきゃいけなくなったパターン以外では、原則として left right で使おう。
そのほうがきれい。$(\frac{a}{\frac{c}{b}})$ とか嫌でしょ。

いちいち left right を書くのが面倒なので、先に述べた paren コマンドとかを使うとラク。

## 転置は top

⊤ は `T` ではなく `\top` で出力する。T 乗と区別つかなくなるので。

`\mathsf{T}` 派もいるらしいな。

## 数式はちゃんとチェックしよう

その数式、あってますか。変な変数、残ってないですか。
シグマ、忘れてないですか。分母と分子で変数の意味、変わってないですか。

## 1 つしか中身がない場合は中括弧はいらない

`\bm{\mu}` と書かずに `\bm\mu` としても動く。`\frac{4}{3}` と書かずに `\frac43` としても動く。

数式はソースコードが長くなりがちなので、略記が読める・書けるようになると結構便利。

# 図表

基本的には[水銀メソッド](https://qiita.com/suigin/items/10960e516f2d44f6b6de#figure%E3%81%AB%E9%96%A2%E3%81%97%E3%81%A6%E6%B0%97%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B%E3%81%93%E3%81%A8)を見れば十分。

## 共通

### center 環境を使わない

`\centering` コマンドを使おう。
ただし通常の文章中で中央揃えをするときは center 環境を使おう（そんなときあるか?）。

### 理系論文では図表は上

文系の論文だと h にすることも多いが、基本的に理系の文章は上に図がまとまっていたほうがわかりやすい。
図があっちゃこっちゃいくと読みにくいんじゃ。

ただし、図の位置は分野の流儀があるところもあると思うので、あれば従ってください。

なお、上にでっかい見出しがあるようなページに関しては、上に図を持っていくのは変なので下に行くべき。

## キャプションの位置

図は下、表は上。なぜか。JIS 規格で決まっている。

> b) キャプションの配置位置は，**すべての図・写真等において注記を含まない場合は図・写真等の本体の下側**，注記を含む図・写真等がある場合は図・写真等の上側に配置するのがよい。
> （10.2.1 キャプション及び注記の配置位置及び組方向）
> b) **表の全体が横書きのキャプションの配置位置は，表の全体の上側**とし，表の全体の左右中央にそろえるか，又はキャプションの先頭を表の全体の左端からの指定された位置に配置する。（後略）
> （11.6.1 表のキャプション及び注記の配置位置及び組方向）
> [JIS X 4051 日本語文書の組版方法](https://www.jisc.go.jp/app/jis/general/GnrJISNumberNameSearchList?show&jisStdNo=X4051)

### キャプションには文章を書こう

水銀メソッドにも説明されているとおり。

理系論文は図と表だけ見ただけで中身がだいたい分かるようにしてほしいので、なるべく図表単体で何を表しているかをわかるようにするとよい。

## 引用を書け

**マジで！！！！　図を引用したら！！！！　図の引用元を書け！！！！！　\cite しろ！！！！**
**そこの輪講資料作ってるおまえ！！！　お前だよおまえ！！！！**

**マジで！！！！　表を引用したら！！！！　表の引用元を書け！！！！！　\cite しろ！！！！**
**その結果は！！！！　その資料は！！！　お前が作ったんか？？？？！！！！**

図表が引用して作られたものである場合は、たとえ本文中で引用していても、キャプションでもう 1 回引用するべき。
綺麗に作り直した場合も、引用元のオリジナリティがあるような場合には引用を書く。

なお、勉強会など「この文献についてまとめました」みたいな形式であれば、引用元はほぼ自明なのでなくてもいいと思う。

## figure 関連

### フォーマット

pdf、jpg、png あたりがいいと思う。eps 派はさすがに滅ぼしたはずだが……。

### 図はちゃんと処理しろ

とくにスキャンした図を載せるときは、背景がちゃんと白になるように、文字がちゃんと濃くなるように、GIMP でもなんでもいいから**グレースケールにしたあとトーンカーブで調整して**貼ろう。
トーンカーブは使えるようになってください。マジほんと。

実際には自分で同じ書くほうがベター。無駄に時間使うからアレだけど。

### 大きさの指定

個人的には幅基準で書くのがいいのかなと思っている。
長さの単位は `\linewidth` を使うと便利かなと思う。

他の図と同じ縮尺にする場合は scale で指定する。

### 色だけで判別させる要素を作らない

色を使ってもまったく問題ないが、色覚が人によって違うのと、グレースケールで印刷される場合に図を作りなおすのが大変なので、なるべくグレスケで印刷しても判別できるように図を作るとよい。

塗り潰しの場所はパターン（斜線とかドットとか）で、線は破線などで対応する。

スライドに載せる場合もそうだが、色を使う場合はなるべく暖色・寒色のペアから使うとよい。
これは、色覚異常のうち最も多い 1 型・2 型の知覚にもとづく。

参考: [配色のバリアフリー](https://tsutawarudesign.com/universal1.html)

### いらすとやを使うときには十分に吟味しろ

いらすとやを使うなら、全体的にいらすとやテイストで揃えるのがいいと思う。
っていうかきみは本当に IEEE trans にいらすとやの画像を載せるのか?

## table 関連

### 縦棒を書かない

参考: [Small Guide to Making Nice Tables (pdf)](https://inf.ethz.ch/personal/markusp/teaching/guides/guide-tables.pdf)

### 横線をいっぱい書かない

参考: [Small Guide to Making Nice Tables (pdf)](https://inf.ethz.ch/personal/markusp/teaching/guides/guide-tables.pdf)

# 参考文献と引用

基本的には[水銀メソッド](https://qiita.com/suigin/items/10960e516f2d44f6b6de#reference%E3%81%AB%E9%96%A2%E3%81%97%E3%81%A6%E6%B0%97%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B%E3%81%93%E3%81%A8)を見れば十分。

bibtex を使うのが面倒なときもあるので必ず使えとは言わない。
自分で全部書くときは、ちゃんと一貫したフォーマットで書こう。
ただしそのときは絶対に thebibliography 環境を使え。`\section{参考文献}` は禁止。
参考文献リストのスタイルにもちゃんと原則があるのだ。

## 文献管理ツール

BibDesk か Zotero を個人的にはオススメしている。

Mendeley はコミュニティのデータが間違ってることが多いのと、特殊文字への対応が弱い。

Zotero は Better BibTex と ZotFile の拡張を入れると便利。

## arXiv の引用

私は未だにこれについての答えを持っていないので、誰かおすすめの方法を教えてください。

# 付録

ページ数稼ぎの付録はダメだよ。

# その他

## 大学・所属機関のロゴを安易に使うな

これは資料だけでなくスライドとかポスターとかでもそうです。

大学などの機関のロゴは使用規約がある。
**許可をとった場合以外には絶対にロゴを使うな**。**当然学位論文に関しても同様**。

ちなみに東大ではポスター発表や学位論文程度の理由ではロゴの使用許可が下りません。試した人がいました。

# おわりに

ソースも pdf も美しい素敵な資料を作ろうな。