$\LaTeX$の便利なパッケージ


2022年 12月 08日

LaTeXは,外部パッケージを利用できます.パッケージを利用すると,より良い文書を書くことができます.
この記事では,LaTeXの便利なパッケージを紹介します.

パッケージの使い方

texファイルの先頭で外部パッケージの利用を宣言します.以下は一例です.

\documentclass[twocolumn, 11pt]{jsarticle}
\usepackage{balance}
\usepackage{amsmath, amssymb, bm}
\usepackage[all, warning]{onlyamsmath}
\usepackage{booktabs, multirow}

パッケージが存在しない場合,CTANやその関連サイトからダウンロードできます.CTANでは,TeXに関連するファイルやソフトウェアが多数公開されています.一部のパッケージは,パッケージ間に依存関係があります.他のパッケージの設定を上書きする場合があるので,記述の順番に注意が必要です.

balance

これは,2カラムの論文を書く場合に利用するパッケージです.使い方は,参考文献の前で\balanceと書くだけです.balanceの導入前後で,論文の最終ページは以下のように変わります.

balanceなし
balanceあり

balanceを導入することで,文章の高さを揃えることができます.

amsmath, amssymb, bm (, onlyamsmath)

これは,数式環境に関するパッケージです.例を示します.

非推奨の数式
\begin{eqnarray}
	\mbox{Vector: } & \boldsymbol{x} = (x_1, x_2, \ldots, x_d) \in {\rm I\!R}^d\\
	\mbox{Vector: } & \vec{x} = (x_1 ,x_2, \dotsc, x_d) \in \mathbf{R}^d
\end{eqnarray}
推奨する数式
\begin{align}
	\text{Vector: } & \bm{x} = (x_1, x_2, \dots, x_d) \in \mathbb{R}^d
\end{align}
以上.

$d$次元の実数値ベクトルを記述する場合,(3)の書き方を推奨します.
eqnarray ⇒ alignmbox ⇒ textboldsymbol, vec ⇒ bm, ldots, dotsc ⇒ dots{\rm I\!R}, mathbf ⇒ mathbbです.onlyamsmathは,amsmathでない数式環境を検知して警告やエラーを出せます.
ここでは,パッケージの紹介に留め,細かな違いの言及は避けます.

booktabs, multirow

これは,表環境に関するパッケージです.例を示します.

\begin{table}
    \begin{center}
        \setlength{\tabcolsep}{3pt}
        \small
        \caption{非推奨の表}
        \begin{tabular}{cccc} \hline
        & 要素A1個 & 要素A2個 & 要素A3個 \\ \hline
        要素Bあり & a & b & c \\
        要素Bなし & x & y & z \\ \hline
        \end{tabular}
    \end{center}
\end{table}
\begin{table}
    \centering
    \caption{推奨する表}
    \begin{tabular}{ccccc} \toprule
        & & \multicolumn{3}{c}{要素A} \\ \cmidrule{3-5}
        & & 1個 & 2個 & 3個 \\ \midrule
        \multirow{2}{*}{要素B} & あり & a & b & c \\
        & なし & x & y & z \\ \bottomrule
    \end{tabular}
\end{table}

表1は,横幅を今より大きくすると警告が出ます.
begin{center}...end{center} ⇒ centeringhline ⇒ toprule, midrule, bottomruleです.
重複する単語を書かず,multicolumnmultirowでまとめると良いです.表に縦の罫線を書くのは非推奨です.上の項目名を2段に分け,間に罫線を引くと,横の項目名と中身の境界がわかりやすいです.
2カラム論文の横幅は狭いです.tabcolsepで横の余白を調整できます.文字サイズを変更するsmallfootnotesizeも有効です.resizeboxscaleboxを利用する手もあります.

その他

その他,便利なパッケージをまとめて紹介します.

  • algorithm, algpseidcode: プログラムコード,疑似コードが書ける
  • cite: 高機能な文献参照ができる
  • enumerate or enumitem: 高機能な箇条書きができる
  • geometry: 高機能な文書レイアウトの変更ができる
  • hyperref: ハイパーリンク付きの文書が書ける
  • pxjahyper: hyperrefの機能を拡張する
  • subcaption: 複数の図を並べる
  • url: LaTeXの特殊文字を含むurlが簡単に書ける
  • xcolor: 高機能な色変更ができる

終わりに

この記事は,LaTeXの便利なパッケージを紹介しました.LaTeXは,日々進化しています.素のLaTeXや,最初に学んだLaTeXを使い続けるのは辞めて,新しいLaTeXを積極的に利用しましょう.