Skip to content

Instantly share code, notes, and snippets.

@aruneko
Last active February 20, 2023 15:55
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aruneko/00447b0d3c822268128c to your computer and use it in GitHub Desktop.
Save aruneko/00447b0d3c822268128c to your computer and use it in GitHub Desktop.
LaTeXチートシート

LaTeXチートシート

大まかなテンプレ

\documentclass[a4j, twocolumn, 10pt]{jsarticle}

\title{}
\author{}
\date{}

\begin{document}

\maketitle

ここに文章

\end{document}

コンパイルするとき

色々と面倒なのでlatexmkを活用する。Ubuntuを利用している場合は以下のようにしてインストールできる。

sudo apt-get install latexmk

次に設定ファイル(.latemkrc)をホームディレクトリに設置する。Ubuntuの場合、内容は以下のようにする。

#!/usr/bin/env perl
$latex            = 'platex -shell-escape -halt-on-error';
$latex_silent     = 'platex -shell-escape -halt-on-error -interaction=batchmode';
$bibtex           = 'pbibtex';
$dvipdf           = 'dvipdfmx %O -o %D %S';
$makeindex        = 'mendex %O -o %D %S';
$max_repeat       = 5;
$pdf_mode         = 3;

$pvc_view_file_via_temporary = 0;

$pdf_previewer    = "xdg-open";

また、学校など管理者権限のない環境でlatexmkをインストールした場合は一発インストーラーを活用する。ただのシェルスクリプトなので、実行権限を与えて直接起動すれば良い。

ここまで準備ができれば後はコンパイルするだけである。コンパイルは以下のように行うことができ、PDFビューワが起動するところまで自動化される。

latexmk -pv hoge.tex

また、ソースコードなどの保存(変更)を検知して自動でコンパイルする常時監視モードもある。常時監視モードを起動するには以下のコマンドを用いる。終了するにはCtrl+cをすればよい。

latexmk -pvc hoge.tex

画像を挿入したいとき

プリアンブルに以下を追加。

\usepackage[dvipdfmx]{graphicx}

その上で以下のようにして画像を挿入する。画像の形式は何を使っても構わない。グラフのようなベクタ画像はPDFを、イラストや写真のようなものはpngやjpeg形式を使うのが良い。ただし、コンパイルに異常に時間がかかるようになるため、間違ってもeps形式は使用してはならない。

\begin{figure}
  \centering
  \includegraphics[width=\columnwidth]{画像ファイル名}
  \caption{画像の説明(キャプション)}
  \label{ラベル名}
\end{figure}

図について本文で触れる箇所で、以下のようにしてラベルを参照する。

\ref{ラベル名}

すると、自動で図番号が割り振られる。ただし、latexmkを利用しない場合、2回コンパイルが必要である。

ソースコードを挿入したいとき

jlisting.styをコンパイルしたいLaTeXソースコードを同じフォルダに設置する。またはTEXMFHOMEに設置すればその都度コピーする必要なくいつでも参照される。jlistingはここからダウンロードできる。

次にプリアンブルに以下を挿入する。これはC言語での例である。

\usepackage{listings,jlisting}
\lstset{%
  language={C},
  basicstyle={\small},%
  identifierstyle={\small},%
  commentstyle={\small\itshape},%
  keywordstyle={\small\bfseries},%
  ndkeywordstyle={\small},%
  stringstyle={\small\ttfamily},
  frame={tb},
  breaklines=true,
  columns=[l]{fullflexible},%
  numbers=left,%
  xrightmargin=0zw,%
  xleftmargin=3zw,%
  numberstyle={\scriptsize},%
  stepnumber=1,
  numbersep=1zw,%
  lineskip=-0.5ex%
}

その上で、以下のようにすればソースコードが挿入される。

\lstinputlisting[caption=説明,label=ラベル名]{C言語のソースコードのファイル名}

これも、プログラムについて本文で触れる箇所で、以下のようにしてラベルを参照できる。

プログラム\ref{ラベル名}

こちらも自動的にプログラム番号が割り振られる。なおラベルに関する設定が不要な場合はlstinputlistingの箇所でlabelに関する記述を削除する。

注意

jlistingには様々なバグがある。特にプログラム中でコメントを利用したときに「スラッシュ2つ」の後ろに"半角"スペースが入っていないと表示が狂う。この点に関しては十分な注意が必要である。

//このコメントはバグります
// このコメントはバグりません

数式を挿入したいとき

プリアンブルに以下を追加。

\usepackage{amsmath}

後は数式モードを使うだけ。インライン数式モードと単一数式モード、そして複数行モードがある。

インラインモードは次のよう書く。こうすると改行をせずに行中に式を挿入できる。

$y=x^2$

単一数式モードは次のように書く。単一行の式が改行されて表示される。

\[
y = x ^ 2
\]

複数行モードは次のように書く。こうすると式番号付きで複数行の式が挿入できる。行の区切りは行末で\\を用いて行う。式中で縦を揃えたい箇所には&を用いる。

\begin{align}
y = & x^2 \\
y = & ax^2 + bx + c
\end{align}

なお行番号が必要ない場合はalignの代わりにalign*を用いる。

\begin{align*}
y = & x^2 \\
y = & ax^2 + bx + c
\end{align*}

ベクトル用太字を使いたい場合には\mathbf{}を用いる。bmバッケージを読み込む必要はない。

\begin{align}
\mathbf{x} = (1,2) \\
\mathbf{y} = (3,4) \\
\mathbf{x} + \mathbf{y} = (4, 6)
\end{align}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment