mcpField
L
latex

latex

github.com/igbuendドキュメント964 回インストール33 週間前に更新
リポジトリ

latex について

latexは、LaTeXの文書構造、組版、数式、参照、主要パッケージを解説するスキルです。学術・技術文書などの構造化文書に加え、プレゼンテーションや履歴書の作成にも役立ちます。

主な機能

  1. 01文書構造とテキスト書式
  2. 02数式記法と数式環境
  3. 03節、リスト、相互参照
  4. 04表、図、文献引用
  5. 05Beamerとページレイアウト

活用シーン

  1. 01学術論文や学位論文の作成
  2. 02技術文書やレポートの組版
  3. 03Beamerプレゼンテーションの作成
  4. 04履歴書や正式な手紙の整形

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/igbuend/grimbard --skill latex

インストール後、Claude Code で/latexを入力して読み込まれたか確認します。

詳細

LaTeX スキル

1. 概要

LaTeX は、高品質な文書を作成するためのマークアップ言語および組版システムです。複雑な書式、数式、相互参照、参考文献を含む構造化文書に優れています。

LaTeX を使う場面:

  • 学術論文、学術誌への投稿
  • 修士論文、博士論文
  • 技術文書
  • CV、履歴書
  • プレゼンテーション(Beamer)
  • 書籍、レポート、手紙

主な概念:

概念説明
プリアンブル\begin{document} より前のすべての内容 — クラス、パッケージ、設定
本文\begin{document} と \end{document} の間の内容
コマンド\ で始まります。例:\textbf{bold}。省略可能な引数は []、必須の引数は {} で囲みます
環境範囲を指定して書式を設定する \begin{name}...\end{name} ブロック
パッケージプリアンブルで \usepackage{name} を使って読み込む拡張機能

2. 文書構造

文書クラス
\documentclass[options]{class}
クラス用途
article短い文書、論文、課題
report章を含む長めの文書
book書籍(前付・後付、章)
beamerプレゼンテーション/スライド
letter正式な手紙
memoir柔軟なクラス — article/report/book を置き換えます
よく使うクラスオプション
\documentclass[12pt,a4paper,twocolumn,draft]{article}
オプション値
文字サイズ10pt、11pt、12pt
用紙a4paper、letterpaper、a5paper
段組みonecolumn、twocolumn
印刷面oneside、twoside
ドラフトdraft(はみ出したボックスを表示し、画像を省略します)
最小構成の文書
\documentclass[12pt,a4paper]{article}

% === PREAMBLE ===
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath, amssymb}
\usepackage{graphicx}
\usepackage{hyperref}

\title{My Document}
\author{Author Name}
\date{\today}

% === BODY ===
\begin{document}
\maketitle
\tableofcontents

\section{Introduction}
Content here.

\end{document}

3. テキストの書式設定

スタイルコマンド
コマンド結果
\textbf{text}太字
\textit{text}斜体
\underline{text}下線付き
\emph{text}強調(斜体、すでに斜体の場合は正体)
\texttt{text}等幅
\textsc{text}スモールキャピタル
\textsf{text}サンセリフ
文字サイズ

最小から最大の順:

\tiny  \scriptsize  \footnotesize  \small  \normalsize
\large  \Large  \LARGE  \huge  \Huge

次のように使います:{\large This text is large.} または環境として使用します。

フォントファミリー
コマンド宣言ファミリー
\textrm{}\rmfamilyセリフ(ローマン)
\textsf{}\sffamilyサンセリフ
\texttt{}\ttfamily等幅
配置
\begin{center}    Centered text.    \end{center}
\begin{flushleft} Left-aligned.     \end{flushleft}
\begin{flushright} Right-aligned.   \end{flushright}

インラインでは、\centering、\raggedright、\raggedleft も使えます。

間隔
\vspace{1cm}          % vertical space
\hspace{2em}          % horizontal space
\vfill                % stretch vertical
\hfill                % stretch horizontal
\\[0.5cm]             % line break with extra space
\setlength{\parskip}{0.5em}   % paragraph spacing
\setlength{\parindent}{0pt}   % remove paragraph indent
\noindent             % suppress indent for one paragraph

行間(setspace パッケージが必要です):

\usepackage{setspace}
\onehalfspacing    % or \doublespacing, \singlespacing
特殊文字

次の文字はエスケープする必要があります。

文字LaTeX文字LaTeX
%\%$\$
&\&#\#
_\_{\{
}\}~\textasciitilde
^\textasciicircum\\textbackslash

4. 文書の構成

セクション分け
\part{Part Title}           % only in report/book
\chapter{Chapter Title}     % only in report/book
\section{Section}
\subsection{Subsection}
\subsubsection{Subsubsection}
\paragraph{Paragraph}
\paragraphsub{Subparagraph}

アスタリスク付きの形式(\section*{})では、番号と目次項目が省略されます。

目次
\tableofcontents    % requires two compilations
\listoffigures
\listoftables
リスト
% Bulleted
\begin{itemize}
  \item First item
  \item Second item
\end{itemize}

% Numbered
\begin{enumerate}
  \item First
  \item Second
\end{enumerate}

% Labeled
\begin{description}
  \item[Term] Definition here.
\end{description}

enumitem パッケージでカスタマイズできます。

\usepackage{enumitem}
\begin{enumerate}[label=(\alph*), start=1]
相互参照
\section{Methods}\label{sec:methods}
See Section~\ref{sec:methods} on page~\pageref{sec:methods}.

hyperref を使う場合は、\autoref{sec:methods} を使うと「Section 2」のようなテキストが自動的に表示されます。

ルール: \label は必ず、\caption(フロートの場合)の後、またはセクション分けコマンドの後に配置してください。

脚注
This has a footnote.\footnote{Footnote text here.}

5. 数学

インライン数式とディスプレイ数式
Inline: $E = mc^2$ or \(E = mc^2\)

Display:
\[ E = mc^2 \]

% Numbered equation:
\begin{equation}\label{eq:einstein}
  E = mc^2
\end{equation}
必須パッケージ
\usepackage{amsmath}    % align, cases, matrices, etc.
\usepackage{amssymb}    % extra symbols (ℝ, ℤ, etc.)
\usepackage{mathtools}  % extends amsmath (dcases, coloneqq, etc.)
よく使う構文
% Fractions
\frac{a}{b}          \dfrac{a}{b}  (display-size)

% Roots
\sqrt{x}             \sqrt[3]{x}

% Sub/superscripts
x_{i}   x^{2}   x_{i}^{2}   a_{i,j}

% Sums, products, integrals
\sum_{i=1}^{n} x_i      \prod_{i=1}^{n} x_i
\int_{0}^{\infty} f(x)\,dx
\lim_{x \to \infty} f(x)

% Brackets (auto-sized)
\left( \frac{a}{b} \right)
\left[ ... \right]
\left\{ ... \right\}
行列
\begin{pmatrix} a & b \\ c & d \end{pmatrix}   % (a b; c d)
\begin{bmatrix} a & b \\ c & d \end{bmatrix}   % [a b; c d]
\begin{vmatrix} a & b \\ c & d \end{vmatrix}   % |a b; c d| (determinant)
\begin{Bmatrix} a & b \\ c & d \end{Bmatrix}   % {a b; c d}
位置を揃えた数式
\begin{align}
  f(x) &= x^2 + 2x + 1 \label{eq:f} \\
  g(x) &= x^3 - 1       \label{eq:g}
\end{align}

% No numbering:
\begin{align*}
  a &= b + c \\
  d &= e + f
\end{align*}
場合分け
f(x) = \begin{cases}
  x^2  & \text{if } x \geq 0 \\
  -x^2 & \text{if } x < 0
\end{cases}
ギリシャ文字
小文字コマンド大文字コマンド
α\alphaΑA
β\betaΒB
γ\gammaΓ\Gamma
δ\deltaΔ\Delta
ε\epsilon、\varepsilonΕE
θ\thetaΘ\Theta
λ\lambdaΛ\Lambda
μ\mu——
π\piΠ\Pi
σ\sigmaΣ\Sigma
φ\phi、\varphiΦ\Phi
ω\omegaΩ\Omega
一般的な数学記号
記号コマンド記号コマンド
≤\leq≥\geq
≠\neq≈\approx
±\pm×\times
÷\div·\cdot
∈\in∉\notin
⊂\subset⊆\subseteq
∪\cup∩\cap
∞\infty∂\partial
∇\nabla∀\forall
∃\exists→\to, \rightarrow
⇒\Rightarrow⇔\Leftrightarrow
ℝ\mathbb{R}ℤ\mathbb{Z}
…\dots, \ldots, \cdots

6. 表

基本的な表
\begin{table}[htbp]
  \centering
  \caption{Results summary}\label{tab:results}
  \begin{tabular}{lcrp{4cm}}
    \toprule
    Name & Count & Score & Description \\
    \midrule
    Alpha & 10 & 95.2 & First entry \\
    Beta  & 20 & 87.1 & Second entry \\
    \bottomrule
  \end{tabular}
\end{table}
列指定子
指定子配置
l左揃え
c中央揃え
r右揃え
p{width}段落(上揃え、固定幅)
m{width}中央揃えの段落(array が必要)
``
主なパッケージ
\usepackage{booktabs}   % \toprule, \midrule, \bottomrule (professional rules)
\usepackage{multirow}   % \multirow{nrows}{width}{text}
\usepackage{longtable}  % tables spanning multiple pages
\usepackage{tabularx}   % auto-width X columns
複数列・複数行
\multicolumn{3}{c}{Spanning header} \\
\multirow{2}{*}{Tall cell}

7. 図と画像

\usepackage{graphicx}

\begin{figure}[htbp]
  \centering
  \includegraphics[width=0.8\textwidth]{images/photo.png}
  \caption{A descriptive caption.}\label{fig:photo}
\end{figure}
includegraphics のオプション
オプション例
widthwidth=0.5\textwidth
heightheight=5cm
scalescale=0.75
angleangle=90
trimtrim=1cm 2cm 1cm 2cm, clip(左、下、右、上)
フロートの配置
指定子意味
hここ(おおよそ)
tページ上部
bページ下部
pフロート専用ページ
!内部制限を上書き
H正確にここ(float パッケージが必要)
サブ図
\usepackage{subcaption}

\begin{figure}[htbp]
  \centering
  \begin{subfigure}[b]{0.48\textwidth}
    \includegraphics[width=\textwidth]{img1.png}
    \caption{First}\label{fig:sub1}
  \end{subfigure}
  \hfill
  \begin{subfigure}[b]{0.48\textwidth}
    \includegraphics[width=\textwidth]{img2.png}
    \caption{Second}\label{fig:sub2}
  \end{subfigure}
  \caption{Both images}\label{fig:both}
\end{figure}

8. 参考文献と引用

BibTeX のワークフロー
  1. references.bib を作成します:
@article{smith2023,
  author  = {Smith, John and Doe, Jane},
  title   = {An Important Paper},
  journal = {Journal of Examples},
  year    = {2023},
  volume  = {42},
  pages   = {1--15},
  doi     = {10.1234/example}
}

@book{knuth1984,
  author    = {Knuth, Donald E.},
  title     = {The {\TeX}book},
  publisher = {Addison-Wesley},
  year      = {1984}
}
  1. 文書内で:
\usepackage{natbib}  % or use biblatex
\bibliographystyle{plainnat}

As shown by \citet{smith2023}...  % Smith and Doe (2023)
This is known \citep{smith2023}.  % (Smith and Doe, 2023)

\bibliography{references}
  1. コンパイルします:pdflatex → bibtex → pdflatex → pdflatex
BibLaTeX のワークフロー(最新)
\usepackage[backend=biber, style=authoryear]{biblatex}
\addbibresource{references.bib}

\textcite{smith2023}   % Smith and Doe (2023)
\parencite{smith2023}  % (Smith and Doe, 2023)

\printbibliography

コンパイルします:pdflatex → biber → pdflatex → pdflatex

natbib と biblatex の比較
機能natbibbiblatex
バックエンドBibTeXBiber(推奨)
柔軟性限定的なスタイル高度なカスタマイズが可能
Unicodeサポートが不十分完全にサポート
推奨用途既存のプロジェクト新しいプロジェクト

9. コードリスト

verbatim
\begin{verbatim}
def hello():
    print("Hello, world!")
\end{verbatim}

Inline: \verb|some_code()|
listings パッケージ
\usepackage{listings}
\usepackage{xcolor}

\lstdefinestyle{mystyle}{
  basicstyle=\ttfamily\small,
  keywordstyle=\color{blue},
  commentstyle=\color{gray},
  stringstyle=\color{red},
  numbers=left,
  numberstyle=\tiny,
  frame=single,
  breaklines=true
}

\begin{lstlisting}[language=Python, style=mystyle, caption={Example}]
def factorial(n):
    """Compute factorial."""
    if n <= 1:
        return 1
    return n * factorial(n - 1)
\end{lstlisting}
minted パッケージ(より見やすい表示、Pygments が必要)
\usepackage{minted}

\begin{minted}[linenos, frame=lines, fontsize=\small]{python}
def factorial(n):
    if n <= 1:
        return 1
    return n * factorial(n - 1)
\end{minted}

次のコマンドでコンパイルします:pdflatex -shell-escape document.tex

10. プレゼンテーション(Beamer)

\documentclass{beamer}
\usetheme{Madrid}          % or: Berlin, Warsaw, Metropolis, etc.
\usecolortheme{default}    % or: beaver, crane, dolphin, etc.

\title{My Presentation}
\author{Author}
\date{\today}

\begin{document}

\begin{frame}
  \titlepage
\end{frame}

\begin{frame}{Outline}
  \tableofcontents
\end{frame}

\section{Introduction}
\begin{frame}{Introduction}
  \begin{itemize}
    \item<1-> First point (appears on slide 1+)
    \item<2-> Second point (appears on slide 2+)
    \item<3-> Third point
  \end{itemize}
\end{frame}

\begin{frame}{With Columns}
  \begin{columns}
    \begin{column}{0.5\textwidth}
      Left content
    \end{column}
    \begin{column}{0.5\textwidth}
      Right content
    \end{column}
  \end{columns}
\end{frame}

\end{document}

人気のテーマ: Madrid、Berlin、Metropolis(モダンでシンプル)、Warsaw、CambridgeUS

オーバーレイコマンド
コマンド効果
\pauseコンテンツを段階的に表示
\onslide<2>{text}スライド 2 のみで表示
\only<1>{text}スライド 1 のみで表示(スペースを確保しない)
\visible<2->{text}スライド 2 以降で表示
\alert<2>{text}スライド 2 で強調表示

11. ページレイアウト

余白(geometry)
\usepackage[margin=2.5cm]{geometry}
% or:
\usepackage[top=3cm, bottom=3cm, left=2cm, right=2cm]{geometry}
ヘッダーとフッター(fancyhdr)
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}                          % clear all
\fancyhead[L]{Left Header}
\fancyhead[R]{\rightmark}          % current section
\fancyfoot[C]{\thepage}            % page number center
\renewcommand{\headrulewidth}{0.4pt}
ページ番号
\pagenumbering{roman}   % i, ii, iii (for front matter)
\pagenumbering{arabic}  % 1, 2, 3 (for main content)
\thispagestyle{empty}   % no number on this page
複数段組み
\usepackage{multicol}
\begin{multicols}{2}
  Content in two columns...
\end{multicols}

12. よく使うパッケージのリファレンス

パッケージ用途
amsmath数式環境を拡張します
amssymb数学記号を追加します(ℝ、ℤなど)
mathtoolsamsmathを拡張します
graphicx画像を挿入します
hyperrefクリック可能なリンクとPDFメタデータを設定します
geometryページの余白と寸法を設定します
booktabsプロフェッショナルな表の罫線を設定します
multirow表の複数行にまたがるセルを設定します
longtable複数ページにわたる表を作成します
tabularx表の列幅を自動調整します
xcolor色をサポートします
listingsコードを掲載します
minted構文強調表示付きのコードを掲載します(Pygmentsが必要です)
tikzプログラムで図やダイアグラムを作成します
pgfplotsデータをプロットします(TikZを基盤とします)
fancyhdrヘッダーとフッターをカスタマイズします
setspace行間を設定します
enumitemリスト環境をカスタマイズします
subcaptionサブ図とサブ表を作成します
floatフロートの配置を細かく制御します([H]配置)
babel言語とハイフネーションをサポートします
inputenc入力エンコーディングを設定します(utf8)
fontencフォントエンコーディングを設定します(T1)
microtypeマイクロタイポグラフィを改善します
cleverefスマートな相互参照を設定します(\cref)
siunitxSI単位と数値の書式を設定します
algorithm2eアルゴリズムの擬似コードを作成します
natbib引用を管理します
biblatex最新の参考文献管理を行います
csquotes文脈に応じた引用符を使用します
urlURLを組版します
captionキャプションの書式をカスタマイズします
appendix付録を管理します

読み込み順のヒント: hyperrefは最後(または最後に近い位置)で読み込みます。例外として、cleverefはhyperrefの後に読み込みます。

13. コンパイル

エンジン
エンジン使用する場合
pdflatexデフォルトです。最も互換性があります。ASCII/ラテン文字の入力に対応します。
xelatexシステムフォント(TTF/OTF)や完全なUnicode対応が必要な場合
lualatexシステムフォントとLuaスクリプト、完全なUnicode対応が必要な場合
コンパイル手順
# Basic document
pdflatex document.tex

# With bibliography (BibTeX)
pdflatex document.tex
bibtex document
pdflatex document.tex
pdflatex document.tex

# With bibliography (Biber/BibLaTeX)
pdflatex document.tex
biber document
pdflatex document.tex
pdflatex document.tex

# Automated (recommended)
latexmk -pdf document.tex           # pdflatex
latexmk -xelatex document.tex       # xelatex
latexmk -lualatex document.tex      # lualatex
latexmk -pdf -pvc document.tex      # continuous preview
よくあるエラーと修正方法
エラー原因修正方法
Undefined control sequence入力ミス、またはパッケージの不足スペルを確認し、\usepackageを追加します
Missing $ inserted数式モード外で数式記号を使用しています$...$で囲みます
Missing \begin{document}プリアンブルにエラーがありますプリアンブルの入力ミスを確認します
File not foundパスが間違っている、またはファイルがありませんファイル名とパスを確認し、拡張子も確認します
Overfull \hbox行が長すぎます言い換えるか、\allowbreakを追加するか、\sloppyを使用します
Undefined citation参考文献エントリーがない、またはbibtexを実行していませんbibtex/biberを実行し、.bibのキーを確認します
Too many unprocessed floats図がキューに多く積まれています\clearpageを追加するか、[H]を使用します
Dimension too large画像の拡大縮小に問題がありますwidth/heightの値を確認します
Package clash2つのパッケージが競合していますどちらか一方を読み込み、互換性に関するドキュメントを確認します
ログファイルの確認
  • .logファイルでエラーの詳細な状況を確認します
  • エラーは!で始まる行に表示されます
  • 警告はLaTeX Warning:またはPackage xyz Warning:として表示されます
  • Rerun to get cross-references right → 再度コンパイルします

14. ヒントとベストプラクティス

  1. 複数ファイルのプロジェクト: \input{chapters/intro}(インラインで挿入)または\include{chapters/intro}(\clearpageを追加し、\includeonlyを有効にします)を使用します
  2. カスタムプリアンブル: パッケージの読み込みをpreamble.styまたはpreamble.texに移動し、\input{preamble}で読み込みます
  3. キャプションの後にラベルを付ける: \caption{...}\label{fig:x}の順にします。逆にはしないでください
  4. 改行されないスペース: Figure~\ref{fig:x}、Section~\ref{sec:y}のようにします。これにより、番号の前で改行されなくなります
  5. ドラフトモード: \documentclass[draft]{article}を使用します。コンパイルが速くなり、幅が超過したボックスが表示されます
  6. フロート内ではcenterではなく\centeringを使用します(余分な垂直方向の間隔を避けられます)
  7. 段落の区切りに\\を使わず、空行を使用します
  8. booktabsを使用: プロフェッショナルな表では、\hlineや縦線を使わないでください
  9. microtypeを使用: 手間をかけずにタイポグラフィを改善できます
  10. cleverefを使用: \cref{fig:x}を使うと、「Figure 1」のようなテキストが自動生成されます
  11. バージョン管理: LaTeXはプレーンテキストなので、Gitを使用します
  12. 1行に1文を記述します。バージョン管理で差分が見やすくなります

15. クイックリファレンス

よく使うコマンド
タスクコマンド
太字\textbf{text}
斜体\textit{text}
等幅フォント\texttt{text}
セクション\section{Title}
参照\ref{label}
引用\cite{key}
脚注\footnote{text}
画像\includegraphics[width=\textwidth]{file}
URL\url{https://...} or \href{url}{text}
リスト項目\item
改ページ\newpage or \clearpage
コメント% comment
インライン数式$E=mc^2$
別行立て数式\[ E=mc^2 \]
分数\frac{a}{b}
数学演算子
コマンド記号コマンド記号
\sinsin\coscos
\tantan\loglog
\lnln\expexp
\minmin\maxmax
\limlim\sumΣ
\prodΠ\int∫
矢印
コマンド記号
\rightarrow, \to→
\leftarrow←
\leftrightarrow↔
\Rightarrow⇒
\Leftarrow⇐
\Leftrightarrow⇔
\mapsto↦
\uparrow↑
\downarrow↓

参考資料

コメント