LaTeX導入, スライド作成, スニペット配布

# はじめに
こんにちは。@sahukitaです。
本記事はLaTeXの導入から始め、皆さんをスライドが作れる所までご案内するものです。
LaTeX導入については既に@passive-radioさんの[【大学生向け】LaTeX完全導入ガイド Windows編 (2022年)](https://qiita.com/passive-radio/items/623c9a35e86b6666b89e)という素晴らしい記事がありますが、コードに一箇所ミスがあるように思われました。そこを修正して載せています。その後、スニペットとスライド作成について説明します。

# 目次
- [まずは](#%E3%81%BE%E3%81%9A%E3%81%AF)
- [スニペット配布](#%E3%82%B9%E3%83%8B%E3%83%9A%E3%83%83%E3%83%88%E9%85%8D%E5%B8%83)
- [スライド作成](#%E3%82%B9%E3%83%A9%E3%82%A4%E3%83%89%E4%BD%9C%E6%88%90)
- [配布したスニペットの使い方](#%E9%85%8D%E5%B8%83%E3%81%97%E3%81%9F%E3%82%B9%E3%83%8B%E3%83%9A%E3%83%83%E3%83%88%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9)
- [さらに快適に使うためには](#%E6%9B%B4%E3%81%AB%E5%BF%AB%E9%81%A9%E3%81%AB%E4%BD%BF%E3%81%86%E3%81%9F%E3%82%81%E3%81%AB%E3%81%AF)
- [参考文献](#%E5%8F%82%E8%80%83%E6%96%87%E7%8C%AE)
- [よくある質問](#%E3%82%88%E3%81%8F%E3%81%82%E3%82%8B%E8%B3%AA%E5%95%8F) 
# まずは
まずは[【大学生向け】LaTeX完全導入ガイド Windows編 (2022年)](https://qiita.com/passive-radio/items/623c9a35e86b6666b89e)の3.1節、[latexmk の設定](https://qiita.com/passive-radio/items/623c9a35e86b6666b89e#1-latexmk-%E3%81%AE%E8%A8%AD%E5%AE%9A)までを読んで、それに従って作業してください。その後、本記事に戻ってきてください。
### VSCodeの設定
latexmkをVSCode上で使えるようにします。VSCodeを起動して左下の歯車マークをクリックし、「設定」を選択。以下のような画面が出てきたでしょうか。
![スクリーンショット 2023-04-21 121659.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3336729/40ea52dd-a5be-b40b-5550-3b96611f9cad.png)
出てきたら画面右端上部、右から3番目の、紙と矢印が組み合わさったようなマークを選択します。`settings.json`という名前のファイルが開きましたね(拡張子を表示させない設定なら`settings`となっていると思われます)。
![settingsjson.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3336729/07d0e39f-d457-da99-ecf5-0167a4a6ad7e.png)
ここにコードを書き込みます。既に何か書き込まれている場合、それは消さないでください。
```LaTeX:settings.json
// 日本語文書で単語移動を使うため、助詞や読点、括弧を区切り文字として指定する
"editor.wordSeparators": "./\\()\"'-:,.;<>~!@#$%^&*|+=[]{}`~?　、。「」【】『』（）！？てにをはがのともへでや",

// 設定: LaTeX Workshop

// LaTeX Workshop ではビルド設定を「Tool」と「Recipe」という2つで考える
//   Tool: 実行される1つのコマンド。コマンド (command) と引数 (args) で構成される
//   Recipe: Tool の組み合わわせを定義する。Tool の組み合わせ (tools) で構成される。
//           tools の中で利用される Tool は "latex-workshop.latex.tools" で定義されている必要がある。

// latex-workshop.latex.tools: Tool の定義
"latex-workshop.latex.tools": [
  
    // latexmk を利用した lualatex によるビルドコマンド
    {
      "name": "Latexmk (LuaLaTeX)",
      "command": "latexmk",
      "args": [
        "-f", "-gg", "-lualatex", "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOC%", "-outdir=out"
      ]
    },
    // latexmk を利用した xelatex によるビルドコマンド
    {
      "name": "Latexmk (XeLaTeX)",
      "command": "latexmk",
      "args": [
        "-f", "-gg", "-xelatex", "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOC%", "-outdir=out"
      ]
    },
    // latexmk を利用した uplatex によるビルドコマンド
    {
      "name": "Latexmk (upLaTeX)",
      "command": "latexmk",
      "args": [
        "-f", "-gg", "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOC%", "-outdir=out"
      ]
    },
    // latexmk を利用した platex によるビルドコマンド
    // 古い LaTeX のテンプレートを使いまわしている (ドキュメントクラスが jreport や jsreport ) 場合のため
    {
      "name": "Latexmk (pLaTeX)",
      "command": "latexmk",
      "args": [
        "-f", "-gg", "-latex='platex'", "-latexoption='-kanji=utf8 -no-guess-input-env'", "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOC%", "-outdir=out"
      ]
    }
],

// latex-workshop.latex.recipes: Recipe の定義
"latex-workshop.latex.recipes": [
    // LuaLaTeX で書かれた文書のビルドレシピ
    {
      "name": "LuaLaTeX",
      "tools": [
        "Latexmk (LuaLaTeX)"
      ]
    },
    // XeLaTeX で書かれた文書のビルドレシピ
    {
      
      "name": "XeLaTeX",
      "tools": [
        "Latexmk (XeLaTeX)"
      ]
    },
    // LaTeX(upLaTeX) で書かれた文書のビルドレシピ
    {
      "name": "upLaTeX",
      "tools": [
        "Latexmk (upLaTeX)"
      ]
    },
    // LaTeX(pLaTeX) で書かれた文書のビルドレシピ
    {
      "name": "pLaTeX",
      "tools": [
        "Latexmk (pLaTeX)"
      ]
    },
],

// latex-workshop.latex.magic.args: マジックコメント付きの LaTeX ドキュメントをビルドする設定
// '%!TEX' で始まる行はマジックコメントと呼ばれ、LaTeX のビルド時にビルドプログラムに解釈され、
// プログラムの挙動を制御する事ができる。
// 参考リンク: https://blog.miz-ar.info/2016/11/magic-comments-in-tex/
"latex-workshop.latex.magic.args": [
  "-f", "-gg", "-pv", "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOC%"
],

// latex-workshop.latex.clean.fileTypes: クリーンアップ時に削除されるファイルの拡張子
// LaTeX 文書はビルド時に一時ファイルとしていくつかのファイルを生成するが、最終的に必要となるのは
// PDF ファイルのみである場合などが多い。また、LaTeX のビルド時に失敗した場合、失敗時に生成された
// 一時ファイルの影響で、修正後のビルドに失敗してしまう事がよくある。そのため、一時的なファイルを
// 削除する機能 (クリーンアップ) が LaTeX Workshop には備わっている。
"latex-workshop.latex.clean.fileTypes": [
    "*.aux", "*.bbl", "*.blg", "*.idx", "*.ind", "*.lof", "*.lot", "*.out", "*.toc", "*.acn", "*.acr", "*.alg", "*.glg", "*.glo", "*.gls", "*.ist", "*.fls", "*.log", "*.fdb_latexmk", "*.synctex.gz",
    // for Beamer files
    "_minted*", "*.nav", "*.snm", "*.vrb",
],

// latex-workshop.latex.autoClean.run: ビルド失敗時に一時ファイルのクリーンアップを行うかどうか
// 上記説明にもあったように、ビルド失敗時に生成された一時ファイルが悪影響を及ぼす事があるため、自動で
// クリーンアップがかかるようにしておく。

"latex-workshop.latex.autoClean.run": "onBuilt",

// latex-workshop.view.pdf.viewer: PDF ビューアの開き方
// VSCode 自体には PDF ファイルを閲覧する機能が備わっていないが、
// LaTeX Workshop にはその機能が備わっている。
// "tab" オプションを指定すると、今開いているエディタを左右に分割し、右側に生成されたPDFを表示するようにしてくれる
// この PDF ビュアーは LaTeX のビルドによって更新されると同期して内容を更新してくれる。
"latex-workshop.view.pdf.viewer": "tab",

// latex-workshop.latex.autoBuild.run: .tex ファイルの保存時に自動的にビルドを行うかどうか
// LaTeX ファイルは .tex ファイルを変更後にビルドしないと、PDF ファイル上に変更結果が反映されないため、
// .tex ファイルの保存と同時に自動的にビルドを実行する設定があるが、文書が大きくなるに連れてビルドにも
// 時間がかかってしまい、ビルドプログラムの負荷がエディタに影響するため、neverで無効化しておく。
"latex-workshop.latex.autoBuild.run": "never",

"[tex]": {
    // スニペット補完中にも補完を使えるようにする
    "editor.suggest.snippetsPreventQuickSuggestions": false,
    // インデント幅を2にする
    "editor.tabSize": 2
},

"[latex]": {
    // スニペット補完中にも補完を使えるようにする
    "editor.suggest.snippetsPreventQuickSuggestions": false,
    // インデント幅を2にする
    "editor.tabSize": 2
},

"[bibtex]": {
    // インデント幅を2にする
    "editor.tabSize": 2
},
// ---------- LaTeX Workshop ----------

// 使用パッケージのコマンドや環境の補完を有効にする
"latex-workshop.intellisense.package.enabled": true,

// 生成ファイルを "out" ディレクトリに吐き出す
"latex-workshop.latex.outDir": "out"
```
**これを{ }の中にコピペします。**
このコードをご覧になればお分かりと思いますが、**一つ一つの設定は{ }で囲まれ、次の設定を記述する際には,を使って区切られています。**
ですので、最初から何か書き込まれていた場合、その設定の最後に **,** が付いていたらその後ろに上のコードをコピペすればOK。付いてなかったら自分で **,** を打ち込んでその後ろに上のコードをコピペしてください。
ミスがあると思われるのはこのコードで、少し手を加えました。具体的には、"-outdir=out"を各ビルドコマンドの"args"の所に追加しています。

書き込みが終了したら画面左上、`ファイル`タブを選択、`保存`して、VSCodeを閉じてください。
これでVSCodeの設定が完了です。

### TeX Live Managerで拡張機能をダウンロード
もう少しだけ準備をお願いします。`Windowsスタートメニュー`の検索窓に`tex`とでも打って`TeX Live Manager`を呼び出し、起動してください。
![てふらいぶまね.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3336729/89efda5b-736e-7c89-0b0f-9360263cdd76.png)
以下のようなウィンドウが出たでしょうか。
![まね.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3336729/0d73833b-9f8e-045a-0a87-61abb5d857e8.png)
出ましたら、検索窓に`latexmk`と入力、パッケージリストの状態欄を「すべて」に変更してください。
すると、ウィンドウ下部のスペースに`latexmk`と`latexmk.windows`が出ると思います。この2つにチェックを入れ、ウィンドウ右側の`選択項目をインストール`をクリックしてください。既にインストールされている場合は`選択項目をインストール`は押せず、`選択項目をアンインストール`のみ押せるようになっています。
同じ要領で、`type1cm`、`here`、`beamertheme-metropolis`、`pgfopts`のパッケージもインストールしてください。
このように、足りないパッケージがある際はTeX Live Managerからインストールします。

以上をもちまして事前準備は完全に終わりです。お疲れ様でした。

### Fira SansフォントとFira Monoフォントのダウンロード
ごめんなさい！前項で「事前準備は完全に終わり」と言ったのですが、この後私が配布するスニペットに含まれるコードに、特定のフォントがダウンロードされていないと警告文が出るものがありますので、ここでダウンロードしておきます。
[Google FontsのFira Sansのダウンロードサイト](https://fonts.google.com/specimen/Fira+Sans)
[Google FontsのFira Monoのダウンロードサイト](https://fonts.google.com/specimen/Fira+Mono)
上記リンク先に飛んで画面右上の`Download Family`をクリックしてください。zipファイルでダウンロードされますのでこれを展開します。
![あふ2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3336729/6b4ab4d8-8ea7-d48a-267a-bbc1432d1e36.png)

ここからはFira Sansを例に説明します。
`Fira_Sans.zip`を選択して右クリック、`すべて展開`をクリックして展開してください。展開先はデフォルトのままで大丈夫です。展開出来たら、
「`Windowsスタートメニュー`→`設定`→`個人用設定`→`フォント`」の順に進んでください。
次に、`フォントを参照しインストールする`をクリック、`Fira_Sans`のフォルダーを開き、中にあるフォントを全て選択して`フォントを選択する`をクリック、インストールしてください。
![スクリーンショット 2023-04-21 181228.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3336729/97e56d14-71bd-f447-fc3a-03a74a2cd826.png)
これでFira Sansのインストールは完了です。Fira Monoも同様にしてインストールしてください。

今度こそ事前準備は終わりです。本当にお疲れ様でした。

# スニペット配布
スニペットとは、ショートカットキーのようなもので、特定の文字列を打ち込むと予め設定したコードを一気に呼び出せるスゴイ代物です。早速配布します。
```LaTeX:latex.json
{
    "レポートテンプレ":{
        "prefix": "report",
        "body": [
        "\\documentclass[a4paper,11pt]{ltjsarticle} %A4: 21.0 x 29.7cm",
        "\\usepackage{amsmath,amsfonts,amssymb}",
        "\\usepackage{mathtools}",
        "\\usepackage{bm}",
        "\\usepackage{ascmac}",
        "\\usepackage{fancybox}",
        "\\usepackage{graphics}",
        "\\usepackage{graphicx,xcolor}",
        "\\usepackage{here} %画像の表示位置調整用",
        "\\usepackage{type1cm}",
        "\\usepackage{hyperref}",
        "\\usepackage{enumerate}",
        "",
        "\\begin{document}",
        "\\title{",
        "  ",
        "\\large{\\\\\\副題がある場合はここに記入}",
        "%副題が不要の場合は%\\large{}というように%を前につける",
        "}",
        "\\author{${6}}",
        "\\date{${7:\\today}}",
        "\\maketitle",
        "\\section{}",
        "\\subsection{}",
        "",
        "",
        "$0",
        "",
        "",
        "\\end{document}"
        ],
        "description": "レポート用テンプレート"
    },
    "スライドテンプレ":{
        "prefix": "slide",
        "body": [
        "\\documentclass[unicode,11pt]{beamer}",
        "\\usepackage{luatexja}",
        "\\usepackage{amsmath,amsfonts,amssymb}",
        "\\usepackage{mathtools}",
        "\\usepackage{bm}",
        "\\usepackage{ascmac}",
        "\\usepackage{fancybox}",
        "\\usepackage{graphics}",
        "\\usepackage{graphicx,xcolor}",
        "\\usepackage{here}",
        "\\usepackage{type1cm}",
        "\\usepackage{hyperref}",
        "\\usepackage{enumerate}",
        "\\renewcommand{\\kanjifamilydefault}{\\gtdefault} %既定をゴシック体に",
        "\\usefonttheme{professionalfonts} %Beamerによる数式フォントの置き換えを阻止",
        "\\usetheme[numbering=fraction]{metropolis}",
        "\\definecolor{tractorred}{rgb}{0.99, 0.05, 0.21}",
        "\\definecolor{limegreen}{rgb}{0.2, 0.8, 0.2}",
        "%Theme colors are derived from these two elements",
        "%色変更はここ(https://latexcolor.com/)から行える",
        "\\setbeamercolor{alerted text}{fg=tractorred}",
        "\\setbeamercolor{frametitle}{bg=limegreen}",
        "",
        "\\title{}",
        "\\subtitle{}",
        "\\date{\\today}",
        "\\author{}",
        "\\institute{}",
        "\\begin{document}",
        "\\maketitle",
        "\\section{}",
        "\\begin{frame}{}",
        "  ",
        "\\end{frame}",
        "\\end{document}"
        ],
        "description": "スライド用テンプレート"
    },
    "画像挿入":{
        "prefix": "gazo",
        "body" : [
        "\\begin{figure}[H]",
        "\\centering",
        "\\includegraphics[keepaspectratio,width=.9\\textwidth]{}",
        "\\caption{}",
        "\\end{figure}"
        ],
        "description": "画像挿入"
    },
    "表挿入":{
        "prefix": "hyo",
        "body": [
        "\\begin{table}[H]",
        "\\caption{}",
        "\\centering",
        "\\begin{tabular}{lcr}",
        "\\hline",
        "  &  &  \\\\\\\\",
        "\\hline \\hline",
        "  &  &  \\\\\\\\",
        "  &  &  \\\\\\\\",
        "  &  &  \\\\\\\\",
        "\\hline",
        "\\end{tabular}",
        "\\end{table}"
        ],
        "description": "表挿入"
    },
    "定理ブロック":{
        "prefix": "teiri",
        "body": [
        "\\metroset{block=fill}",
        "\\begin{block}{}",
        "  ",
        "\\end{block}",
        ],
        "description": "定理等を示す時のブロック"
    },
    "スライド追加":{
        "prefix": "adframe",
        "body": [
        "\\begin{frame}{}",
        "  ",
        "\\end{frame}",
        ],
        "description": "スライド追加"
    },
    "番号付き箇条書き":{
        "prefix": "kazyogakinumber",
        "body": [
        "\\begin{enumerate}",
        "\\item ",
        "\\item ",
        "\\item ",
        "\\end{enumerate}"
        ],
        "description": "番号付き箇条書き"
    },
    "箇条書き":{
        "prefix": "kazyogaki",
        "body": [
        "\\begin{itemize}",
        "\\item ",
        "\\item ",
        "\\item ",
        "\\end{itemize}"
        ],
        "description": "箇条書き"
    },
    "画像と文章":{
        "prefix": "gazotobunsyo",
        "body": [
        "\\begin{columns}[c]",
        "\\begin{column}{.5\\textwidth}",
        "\\centering",
        "\\includegraphics[keepaspectratio,width=.9\\textwidth]{}",
        "\\end{column}",
        "%",
        "\\begin{column}{.5\\textwidth}",
        "  ",
        "\\end{column}",
        "\\end{columns}"
        ],
        "description": "画像を左に文章を右に"
    },
    "枠付き文章":{
        "prefix": "kakomi",
        "body": [
        "\\begin{itembox}[l]{}",
        "  ",
        "\\end{itembox}",
        ],
        "description": "タイトル付き枠付き文章"
    },
    "画像2かける2挿入":{
        "prefix": "gazofour",
        "body": [
        "\\begin{figure}[htbp]",
        "\\begin{tabular}{cc}",
        "\\begin{minipage}[b]{0.48\\textwidth}",
        "\\centering",
        "\\includegraphics[keepaspectratio, width=0.9\\textwidth]{}",
        "\\caption{}",
        "\\end{minipage}&",
        "\\begin{minipage}[b]{0.48\\textwidth}",
        "\\centering",
        "\\includegraphics[keepaspectratio, width=0.9\\textwidth]{}",
        "\\caption{}",
        "\\end{minipage}\\\\\\",
        "\\begin{minipage}[b]{0.48\\textwidth}",
        "\\centering",
        "\\includegraphics[keepaspectratio, width=0.9\\textwidth]{}",
        "\\caption{}",
        "\\end{minipage}&",
        "\\begin{minipage}[b]{0.48\\textwidth}",
        "\\centering",
        "\\includegraphics[keepaspectratio, width=0.9\\textwidth]{}",
        "\\caption{}",
        "\\end{minipage}\\\\\\",
        "\\end{tabular}",
        "\\end{figure}"
        ],
        "description": "画像を2かける2行列の形に配置"
    }
}
```
以上のコードを`latex.json`にコピペしてみてください(拡張子を表示させない設定なら`latex`となっていると思われます)。`latex.json`の呼び出し方は、
`VSCodeを起動`→`左下の歯車マーク`→`ユーザースニペットをクリック`→`出てきた検索窓にlatexとでも打って検索`という感じです。
![スクリーンショット 2023-04-21 145901.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3336729/693fd27f-ddfc-f8f7-377e-d1f02e3e8ece.png)
尚、初めて`latex.json`を開くと`{}`で囲まれた緑色の文字(スニペットの作り方を説明してくれています)が何やら書いてあるかもしれませんが、`{}`ごと削除してしまって大丈夫です。
残しておきたい方は、緑色の文字を囲んでいる`{}`のみを消してから上記のコードをコピペしてください。
コピペし終えましたら、画面左上のファイルタブから保存をお忘れなく。
スニペットの内容は[2セクション後](#%E9%85%8D%E5%B8%83%E3%81%97%E3%81%9F%E3%82%B9%E3%83%8B%E3%83%9A%E3%83%83%E3%83%88%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9)で説明します。
スニペットはご自身で追加することができます。頻繫に打ち込むコードがある場合は、是非オリジナルのスニペットを作ってみましょう。

# スライド作成
ではスニペットを使ってスライドを作ってみましょう。
まずエクスプローラーを開いて、空のフォルダを作成してください。場所も名前も何でもいいとは思いますが、私はドキュメントに`TeX_write`として作成しています。
![えくすぷ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3336729/9aa3653b-bc0e-5c11-3aa5-33cc1de7a4bc.png)
次に、VSCodeを起動してください。画面左上のファイルタブを選択し`フォルダーをワークスペースに追加`をクリック、先ほど作成したファイルを追加します。
![スクリーンショット 2023-04-21 154246.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3336729/fee47f1c-507b-91ab-e5cd-9acf6c5aac8f.png)
次に、画面左上、長方形が2つ重なったマークをクリック、その後、`未設定(ワークスペース)`の横にカーソルを移動させると現れる4つのアイコンの内、1番左側のものをクリックして、新しいファイルを作成しましょう。ファイル名には英数字のみを使い、最後を必ず **.tex** としましょう。
![スクリーンショット 2023-04-21 155115.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3336729/b530afe9-4abf-65ad-925f-25a160b6ed90.png)
作成したら、slideと入力してエンターを押してみてください。画像のように、slまでしか入力していなくても「スニペットが使えるよ～」的な表示が出ると思います。
![スクリーンショット 2023-04-21 161757.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3336729/c44cc7e4-cdb9-dbbb-db5e-f528ac34c939.png)
コードが展開されましたね。次に、以下のコードを`\begin{frame}{}`と`\end{frame}`の間にコピペしてください。更に、`\begin{frame}{}`の`{}`の所に`ラムゼイモデル`と入力してください。尚、内容は[連続時間動学的一般均衡モデルに関する研究ノート](https://www.rhasumi.net/data/ContinuousDGE.pdf)の3頁から採っています。
`\begin{frame}{}`と`\end{frame}`の間に書かれた内容が、1枚のスライドに記載されます。
```LaTeX
マクロ経済を描写する連続時間一般均衡モデルとして最も基本的な連続時間のラムゼイモデル
は以下の様な連続時間最適化問題として定式化できる。
\begin{equation}
  \max_{c(t)} \, \int_{0}^{\infty } e^{-\rho t} u(c(t)) \,dt
\end{equation}
\[\textbf{subject to} \quad \dot{k}(t) = \phi (k(t)) - \xi k(t) - c(t)\]
瞬間効用関数$u$と生産関数$\phi$を具体的に以下の様に定める。
\begin{equation}
  u(c(t)) \equiv \frac{c(t)^{1-\theta} - 1}{1 - \theta}
\end{equation}
\begin{equation}
  \phi (k(t)) \equiv k(t)^{\alpha }
\end{equation}
この時の効用最大化の為の一階の必要条件は以下の通りで、オイラー方程式と呼ばれる。
\begin{equation}
  \frac{\dot{c}(t)}{c(t)} = \theta ^{-1}(\alpha k(t)^{\alpha -1} - \xi - \rho)
\end{equation}
```
入力し終わったら、画面右上の黄緑色の三角形のマークをクリックしてください。画面下部の左の方に`Build`と出て、何やら矢印2本で作られた円のようなマークがぐるぐる回っているのがお分かりいただけるでしょうか。PDFを出力している事を示しています。
暫く待てば`Build`がチェックマークに変わっていると思います。こうなれば出力成功です。
さて、出力されたPDFは、フォルダ内に作成された`out`というフォルダ内に格納されています。確認してみましょう。
**VSCode上で`out`に格納されたPDFファイルを表示するには`Ctrl + Alt + v`を押します。**
![スクリーンショット 2023-04-21 184903.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3336729/89f0b000-8dad-3d71-29f1-60f6537683ff.png)
このように、右側にPDFが表示されれば成功です。表示されない方は、[`Ctrl + Alt + v`を押してもPDFが表示されない](#ctrl--alt--v%E3%82%92%E6%8A%BC%E3%81%97%E3%81%A6%E3%82%82pdf%E3%81%8C%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84)をご覧ください。
**尚、右側にPDFを表示した状態で左側のコードを弄り、ビルドすると、変更が右側のPDFに自動で反映されます。便利ですね。**

### 数式モード
LaTeXで数式や数学で使う特殊な文字を出力するには数式モードという状態が必要です。
と言っても、何か複雑なコードを打ち込む必要はありません。先ほど作成したスライドを例に、以下で初歩的な3つの手法を紹介します。
![スクリーンショット 2024-02-16 064411.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3336729/cd272eb2-a56c-d270-3ae4-83afb8165280.png)

1. `$$`
インライン表示をしたい時に使います。`$(数式)$`の形で使い、`$`で囲まれている箇所に数式モードが適用されます。上の例では瞬間効用関数$u$と生産関数$\phi$の所で使っています。
2. `\begin{equation}`
式を中央揃えにし、なお且つ式番号が欲しい時に使います。`\begin{equation}`と`\end{equation}`で数式を挟んで使い、挟まれた箇所に数式モードが適用されます。上の例では式番号が振られている全ての式で使われています。
3. `\[\]`
これは式を中央揃えにしますが、式番号を付けません。`\[`と`\]`で数式を挟み、挟まれた箇所に数式モードが適用されます。上の例ではsubject toの所の式で使っています。

# 配布したスニペットの使い方
上から順に説明します。
尚、「レポート/スライドの方でしか使えません」と書かれたものがありますが、これは筆者のスニペットに書かれているコードの都合によるもので、レポート/スライドの文書形式の違いによるものではありません。
1. レポートテンプレ
reportと打って使います。レポート用のひな型を出します。
2. スライドテンプレ
slideと打って使います。スライド用のひな型を出します。
3. 画像挿入
gazoと打って使います。画像を挿入します。
使ってみましょう。reportでレポートテンプレを呼び出し適当にタイトルをつけたあと(このコードでは、つけずに実行するとエラーが出ます)、gazoと打ってコードを呼び出してください。呼び出す位置は`\subsection{}`の下です(違う場所でもいいですが)。
![スクリーンショット 2023-08-03 205420.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3336729/ea665f6d-8710-5875-4152-cdf131ea6310.png)
さて、どうやって画像を挿入するのか、ということですが、`\includegraphics[keepaspectratio,width=.9\textwidth]{}`の`{}`に、挿入したい画像のパスを入力します。パスを手に入れるには、エクスプローラーからピクチャを開き、挿入したい画像を右クリックして`パスのコピー`を選択します。
![スクリーンショット 2023-08-03 210532.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3336729/75c69b00-79cb-3ad0-5a4a-c008446fe357.png)
あとはこれを貼り付ければいいです。但し、コピーしたパスは`"C:\Users\(ユーザー名)\Pictures\(ファイル名).(拡張子)"`となっていますが、この`\`を全て`/`に変えることを忘れないようにしましょう。
![スクリーンショット 2023-08-03 212823.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3336729/cf34d68a-2b6a-62ad-c7c7-722eba891781.png)
4. 表挿入
hyoと打って使います。表を作ります。
以下に使用例を示します。
![スクリーンショット 2023-08-03 214314.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3336729/520a2697-a966-46a5-528c-940cfa23cf94.png)
このように、コード上で`&`で区切られた所に文字を入力して使います。スニペットとして登録しているのは4行3列の表を作るためのコードですが、勿論、行数や列数を増やせます。仕組みについては[LaTeX 表組](http://www.yamamo10.jp/yamamoto/comp/latex/make_doc/table/table.php)を是非ご覧になってください。
5. 定理ブロック
teiriと打って使います。定理や何か重要なものを強調するブロックを作ります。
以下に使用例を示します。尚、このスニペットはスライドの方でしか使えません。
![スクリーンショット 2023-08-03 221839.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3336729/5d4d5ccf-507d-b6ca-ede5-ad53a8160227.png)
`\begin{block}{}`の`{}`の所にブロックのタイトルを、`\begin{block}{}`と`\end{block}`の間の所に本文を入力します。
6. スライド追加
adframeと打って使います。`\begin{frame}{}`と`\end{frame}`が出てきます。
[スライド作成](#%E3%82%B9%E3%83%A9%E3%82%A4%E3%83%89%E4%BD%9C%E6%88%90)の項でも述べた通り、`\begin{frame}{}`と`\end{frame}`の間に入力された内容が1枚のスライドに記載されます。なので、スライドを追加したい時は一々`\begin{frame}{}`と`\end{frame}`を入力しないといけません。面倒なので、このスニペットで楽しましょう。
7. 番号付き箇条書き
8. 箇条書き 
それぞれkazyogakinumber、kazyogakiと打って使います。
以下に使用例を示します。
![スクリーンショット 2023-08-04 071731.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3336729/e47b6c70-71f5-5293-36e6-459258fa8492.png)
`\item`の横に書いてある内容が項立てて出力されます。
9. 画像と文章
gazotobunsyoと打って使います。画像を左に、文章を右に配置します。
以下に使用例を示します。尚、これはスライドの方でしか使えません。
![スクリーンショット 2023-08-04 073024.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3336729/a71f46c3-0586-94b3-561a-ee484fc49717.png)
画像の貼り方は画像挿入のスニペットの項で説明した通りです。
文章は`\begin{column}{.45\textwidth}`と`\end{column}`の間に入力します。
10. 枠付き文章
kakomiと打って使います。何かを囲んで強調する枠を出します。
以下に使用例を示します。
![スクリーンショット 2023-08-04 074458.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3336729/881f1831-2391-5c5b-08b0-aa65dcac6173.png)
`\begin{itembox}[l]{}`の`{}`に枠付き文章のタイトルを入力します。
文章は`\begin{itembox}[l]{}`と`\end{itembox}`の間に入力します。
仕組みについては[LaTeX 枠付き文章](http://www.yamamo10.jp/yamamoto/comp/latex/make_doc/box/box.php)をご覧ください。
11. 画像2かける2挿入
gazofourと打って使います。画像を2×2行列の形に配置します。
以下に使用例を示します。尚、これはレポートの方でしか使えません。
![スクリーンショット 2023-08-04 075637.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3336729/df5b0e1c-38f5-751d-2b42-da5f76a2f3b9.png)
仕組みについては[TeXによる文書作成18 ～図を並べて表示](https://atatat.hatenablog.com/entry/cloud_latex18_subcaption)をご覧ください。
### デフォルトで組み込まれているスニペット
恐らくVSCodeの仕様だと思うのですが、デフォルトでスニペットが組み込まれています。
早速試してみましょう。
`\equation`と入力してエンターを押してみてください。とは言え、`\equ`あたりまで入力した時点で「スニペットが使えるよ～」的な表示が出ると思います。
`\begin{equation}`と`\end{equation}`が出てきましたね。[数式モード](https://qiita.com/sahukita/items/85939554298f95c8c0a7#%E6%95%B0%E5%BC%8F%E3%83%A2%E3%83%BC%E3%83%89)の項で`\begin{equation}`を説明しましたが、打ち込むのが面倒に思われた方もいらっしゃったかもしれません。是非これを活用して楽しましょう。
`\begin{equation}`以外にも、デフォルトで組み込まれているスニペットで呼び出せるコードは沢山あります。
例えば、`\frame`と入力すると`\begin{frame}`と`\end{frame}`が出てきます。なので、[配布したスニペットの使い方](https://qiita.com/sahukita/items/85939554298f95c8c0a7#%E9%85%8D%E5%B8%83%E3%81%97%E3%81%9F%E3%82%B9%E3%83%8B%E3%83%9A%E3%83%83%E3%83%88%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9)で`adframe`を紹介していましたが、別にこれは要らないわけですね。
面倒に思うコードがあったら、デフォルトでスニペットが用意されてないか調べてみると良いでしょう。
# 更に快適に使うためには
文中に引用した文献のみを自動で参考文献欄に載せてくれるように設定できます。もし興味がおありならBibLaTeXで検索してみてください。
（2024年8月6日追記）[BibLaTeXの記事](https://qiita.com/sahukita/items/4b167f2a6cb1caafeeb7)を書きました。もしよかったらご覧ください。
（2025年4月16日追記）こんな事を言っておきながら最近はBibTeXを使っています。
# 参考文献
1. [【大学生向け】LaTeX完全導入ガイド Windows編 (2022年)](https://qiita.com/passive-radio/items/623c9a35e86b6666b89e)
素晴らしい記事ですので、是非あわせて読んでみてください。
2. [日本語のBeamer metropolisテーマサンプル](http://ryokbys.web.nitech.ac.jp/posts/2022/06/beamer-sample-with-japanese/)
3. [Beamerによるスライドの体裁を整える](https://tobetakoyaki.hatenablog.com/entry/2020/12/08/123000) 
4. [LaTeX 表組](http://www.yamamo10.jp/yamamoto/comp/latex/make_doc/table/table.php)
5. [LaTeX 枠付き文章](http://www.yamamo10.jp/yamamoto/comp/latex/make_doc/box/box.php) 
6. [TeXによる文書作成18 ～図を並べて表示](https://atatat.hatenablog.com/entry/cloud_latex18_subcaption)
7. [連続時間動学的一般均衡モデルに関する研究ノート](https://www.rhasumi.net/data/ContinuousDGE.pdf)
8. [論文要旨用 LaTeX スタイルファイルとサンプル - ますみ日誌](https://home.hirosaki-u.ac.jp/masumi/154/)
9. [Beamerによるスライドの体裁を整える - ト部蛸焼のブログ](https://tobetakoyaki.hatenablog.com/entry/2020/12/08/123000)
# よくある質問
### `Ctrl + Alt + v`を押してもPDFが表示されない
`Ctrl + Alt + v`を押した際に参照するフォルダが`out`に設定されていないせいかもしれません。設定を開いて確認してみましょう。設定はVSCode左下の歯車マークから開くのでした。
開いたら画面上部の検索窓にcompileと入力、`LaTeX-workshop > LaTeX: Out Dir`という項目を探してください。その項目の下部に何か入力する場所がある筈です。そこが`out`以外になっていませんか？`out`にしましょう。
![スクリーンショット 2023-08-04 083005.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3336729/5070c6e7-8fcd-5e0d-5c66-cea2503043fd.png)
### .auxファイル等の一時ファイルがoutフォルダ内に残ってしまう
設定を開いて確認してみましょう。開いたら画面上部の検索窓にcleanと入力、`LaTeX-workshop > LaTeX > Clean: Method`という項目を探してください。その項目の下部に何か選択する所がある筈です。そこは既定では`command`ですが、`glob`に変えます。
更に、`LaTeX-workshop > LaTeX > Clean: Method`の下に、`LaTeX-workshop > Clean > Subfolder: Enabled`という項目がある筈です。これにチェックを入れましょう。
![スクリーンショット 2023-08-04 083629.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3336729/45266dad-ccf6-a97d-64b9-d0baf06f0f1e.png)