情報系の手考ノート

数学とか情報系の技術とか調べたり勉強したりしてメモしていきます.

自分用latexチートシート

論文とか自分用のまとめとかでちょくちょくlatexを使うのですが、いかんせん使いづらいところが大く感じます。 ですが数式をよく書くのでその点においてlatexが非常に優秀なのもたしかです(というかtexがあるから他のソフトウェアが表われない...?)。 そのため他にいいソフトないかなぁといいつつ結局latexを使っています。 しかし自分でいれたパッケージの使い方を忘れたりすることが多く作業効率が芳しくないので、とりあえずよく使い方忘れて困るやつ(あと忘れて困りそうなやつ)を自分用にまとめました。

自分用のテンプレートリポジトリ GitHub - muushi97/templates

過去にいろんなサイトを巡って構築された自分なりのまとめなので参考にしたサイトとか忘れちゃってる部分が多々あります。

(使用例とかをしっかり書くべきな気もしましたが、それを言ってるといつまでも書き終わらないと思うのでとりあえず公開します。適宜更新していくつもりです。)

パッケージ

here

figure環境やteble環境の位置指定にHを指定することで環境を書いた位置に強制的に画像や表を表示できるようになるパッケージ。

url

\url{http://example.com}といった形でURLを書くことができるようになるパッケージ。

listings, jlistings

ソースコードを埋めこめるようになるパッケージ。jlistingsをいれることで日本語にも対応できる。 texファイル内に直接ソースコードを書く場合とファイルからソースコードを読み込む場合に対応しています。

texファイル内に直接ソースコードを書く場合

\begin{lstlisting}[caption=キャプション,label=ラベル]
   ソースコード
\end{lstlisting}

外部ファイルからソースコードを読み込む場合

\lstinputlisting[caption=キャプション,label=ラベル]{ファイル名}

listingの設定

\lstsetコマンドをプリアンブルに書くことで設定を変更できる。(要追記)

otf

パッケージを読み込むことで otf フォントを使用可能にする。

fontenc

フォントエンコーディングを変更する。 例えばオプションにT1を設定すれば、フォントエンコーディングをT1に変更できる。

lmodern

欧文フォントのデフォルトを Latin Modern に変える。

subcaption

同一のfigure環境内に複数の図を表示する場合に各図に個別でキャプションをつけられるようにする。 パッケージを読み込むときに他のパッケージとの競合が発生するため以下のように一度別変数に退避させて読み込むと競合を避けられる。

\makeatletter
\let\MYcaption\@makecaption
\makeatother
\usepackage{subcaption}
\captionsetup{compatibility=false}
\makeatletter
\let\@makecaption\MYcaption
\makeatother

amsmath, amssymb

AMSが開発した数式用のパッケージ。

diffcoef

微分が楽に書けるようになるパッケージ。 以下の記事で知りました。 例とかも乗ってます。

diffcoeff パッケージのすゝめ - Qiita

newtxmath, newtxtext

フォントの読み込む。

bm

太字化の\bmコマンドを読み込む。

ascmac

文章を角が丸い四角い枠で囲えるscreen環境他が使用可能になるパッケージ。

hyperref

ハイパーリンク付きのpdfを出力可能になるパッケージ。

  • \href{url}{text}でurlをリンク先としてtextをリンク文字列とする。
  • \hypertarget{name}{text}でnameを使ってtextにリンクを貼れるようにする。
  • \hyperlink{name}{text}でnameと定義されたリンク先にtextを関連付ける。

pxjahyper

hyperref使用時に日本語のタイトル等が文字化けが発生する場合があり、それの防止用。

cleveref

相互参照の時に参照先の環境(図、表、数式等)にあわせて参照をできるようになるパッケージ。 ラベルは通常通りに設定すれば良く、参照用のコマンドが提供される。 \refコマンドでなく\crefコマンドを用いると 図に対して設定されたfig:hogeラベルを参照しようと以下のように参照するとする。

\cref{fig:hoge}

すると

fig.1

のように表示される。

プリアンブルに

\crefname{環境名}{単数形}{複数形}

と書くことでどのように表示されるかを設定できる。 例えば

\crefname{figure}{}{}

とすれば上記のfig:hogeを参照したコードは

図1

と表示される。

autonum

mathtoolsパッケージでshowonlyrefsをtrueにしたときと同じように、参照した数式のみに式番号を付けるようになるパッケージ。

mathtools

amsmathパッケージ同時使用することでより多くの数式関連の機能が利用可能になるパッケージ。

siunitx

SIに従った単位表記をサポートするパッケージ。 以下のような形で書くことでSIに従った記述で表示される。

\SI{}{単位}

マクロ

\newcommand{\fig}[5]{\begin{figure}[#4]\begin{center}\includegraphics[#5]{#1}\caption{#2}\label{fig:#3}\end{center}\end{figure}}

図をいれるときに、いちいちセンタリングとかめんどくさくて書いたマクロです。 キャプションがtest、ラベルがfig:a、横幅1cmでその場所にimages/hoge.pngを表示するときは以下のように書きます。

\fig{images/hoge.png}{test}{a}{H}{width=1cm}

\newenvironment{tab}[4]{\begin{table}[#1]\centering \caption{#2}\label{tab:#4}\begin{tabular}{#3}}{\end{tabular}\end{table}}

図と同じ理由で作ったマクロです。 キャプションがhoge、ラベルがtab:aでその場所に表示するときは以下のように書きます。

\begin{tab}{H}{hoge}{|l|l|l|}{a} \hline
  衝突パラメータ & シミュレーションで得た屈折角 & 屈折角の理論値 \\ \hline
  $0.9  \cdot  0.00464918$ & 0.000009384343336 & 0.000009437262261 \\
  $1.0  \cdot  0.00464918$ & 0.000008441030730 & 0.000008493536035 \\
  $1.25 \cdot  0.00464918$ & 0.000006743259391 & 0.000006794828828 \\
  $1.5  \cdot  0.00464918$ & 0.000005611538341 & 0.000005662357357 \\
  $2.0  \cdot  0.00464918$ & 0.000004197223722 & 0.000004246768018 \\ \hline
\end{tab}

集合

自然数、整数、有理数、実数、複素数それぞれの集合

\newcommand{\N}{\mathbb{N}}
\newcommand{\Z}{\mathbb{Z}}
\newcommand{\R}{\mathbb{R}}
\newcommand{\Q}{\mathbb{Q}}
\newcommand{\C}{\mathbb{C}}

自然数集合等を中抜き文字で表わすときに、わざわざ\mathbb{N}と書かなくても\Nと書くだけですむようになるマクロ。 自然数集合、整数集合、有理数集合、実数集合、複素数集合用を定義。

集合

\def\Set#1{\Setdef#1\Setdef}
\def\Setdef#1|#2\Setdef{\left\{#1\,\;\mathstrut\vrule\,\;#2\right\}}%

昔どこかで見かけたマクロです。 数式環境内で集合を書くときに以下のように書けば波括弧や区切りの縦棒の長さが自動で調整されて表示されます。

\Set{ x \in P | x \geq p }

数式

自分でまとめるより別の方が書かれてるQiita記事のほうがよっぽど丁寧な気がしたので、リンクだけ貼っておきます。

amsmathの数式環境まとめ - Qiita

おわりに

今後便利なものを見つけたりしたら追記していくつもりです。