LoginSignup
6
4

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

Last updated at Posted at 2023-07-31

はじめに

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

目次

LaTeXの導入

まずはTeX Liveを導入します。これを導入することでLaTeXが導入されます。
Installing TeX Live over the Internetからインストーラをダウンロードしましょう。install-tl-windows.exeをクリックしてください。ダウンロードが終わったら実行しましょう。
「WindowsによってPCが保護されました」と出るかもしれませんが、気にせず続けてください。
実行出来たら以下のようなウィンドウが出てくると思います。
テフライブインストール.png
Installを選択後、Next >をクリックして進めます。テフライブインストール2.png
Installをクリックします。ここで暫く放置します。
途中にこんなの(下画像参照)が出てきますが、放置して大丈夫です。
テフライブインストール4.png
さて、以下のようなウィンドウが出たでしょうか。
テフライブインストール3.png
ここではまず、TeXworksをインストールのチェックボックスを外してください(デフォルトでチェックが付いています)。次に、高度な設定をクリック。
テフライブインストール5.png

  • スキームを変更してbasicスキームを選択。
  • その下のカスタマイズをクリックし、「言語」欄から日本語と英語を追加。「ほかのコレクション」欄からLaTeX推奨パッケージを追加。

尚、「basicスキームを選択」したのに、上の手続きをすると、スキーム欄が「カスタムスキーム」になりますが、それで間違ってないので安心してください。
以上を終えたら、右下にあるインストールをクリックしてください。

インストールを終えたらwindows keyRを同時押しして出てくる検索窓にcmdと打ち込みコマンドプロンプトを起動。latexと打ってみましょう。
cmd.png
このように、Version情報が出れば(上の画像ではVersion 3.14…となっています)成功です。

VSCodeの導入

Visual Studio Code、略してVSCodeを導入しましょう。これを使ってコーディングを行います。準備を整えればJava等、他のプログラミング言語も扱えて大変便利な代物です。
VSCodeのダウンロードサイトに飛んで、対応するOSのインストーラをダウンロードしてください(Windowsなら↓ WindowsをクリックすればOK)
ダウンロードしたインストーラを起動し規約に同意すると以下のウィンドウが開きます。
vsc.png
下2つのチェックボックスは外さないでください(デフォルトでチェックが付いています)。
1番上のチェックボックスにもチェックを入れておくのがオススメです。ショートカットがデスクトップ上に作成されます。残り2つはお好みで。
終わったら、次へ(N) >をクリックしてインストールします。
インストール完了後、VSCodeを起動します。
スクリーンショット 2023-04-20 230200.png
起動したら画面左側の、正方形が4つ集まった(1つ離れてますが…)アイコンをクリック。
Japanese Language Pack for Visual Studio Codeをインストールしてください。
Extensionsと書かれた所の真下に検索窓があるので、そこで検索してください。

以上で完了です。

環境構築

VSCodeにLaTeX Workshopという拡張機能をインストールしましょう。
前項でも述べた通り、検索窓から簡単に探し出せます。
スクリーンショット 2023-04-20 232606.png
インストールを終えたら、一度VSCodeを閉じてください。

latexmkの設定

次に、latexmkというツールの設定ファイルを作成します。
latexmkは後ほどインストールしますので、今は気になさらないでください。
作成方法は色々ありますが、今回はWindowsにデフォルトで入っているメモ帳というアプリを使います。Windowsスタートメニューからすべてのアプリを選択、メモ帳を起動してください。
メモ帳.png
このようなウィンドウが開くと思います。ここに以下のコードをコピペします。

.latexmkrc.
# 通常の LaTeX ドキュメントのビルドコマンド
$latex = 'uplatex %O -kanji=utf8 -no-guess-input-enc -synctex=1 -interaction=nonstopmode %S';
# pdfLaTeX のビルドコマンド
$pdflatex = 'pdflatex %O -synctex=1 -interaction=nonstopmode %S';
# LuaLaTeX のビルドコマンド
$lualatex = 'lualatex %O -synctex=1 -interaction=nonstopmode %S';
# XeLaTeX のビルドコマンド
$xelatex = 'xelatex %O -no-pdf -synctex=1 -shell-escape -interaction=nonstopmode %S';
# Biber, BibTeX のビルドコマンド
$biber = 'biber %O --bblencoding=utf8 -u -U --output_safechars %B';
$bibtex = 'upbibtex %O %B';
# makeindex のビルドコマンド
$makeindex = 'upmendex %O -o %D %S';
# dvipdf のビルドコマンド
$dvipdf = 'dvipdfmx %O -o %D %S';
# dvipd のビルドコマンド
$dvips = 'dvips %O -z -f %S | convbkmk -u > %D';
$ps2pdf = 'ps2pdf.exe %O %S %D';

# PDF の作成方法を指定するオプション
## $pdf_mode = 0; PDF を作成しない。
## $pdf_mode = 1; $pdflatex を利用して PDF を作成。
## $pdf_mode = 2; $ps2pdf を利用して .ps ファイルから PDF を作成。
## pdf_mode = 3; $dvipdf を利用して .dvi ファイルから PDF を作成。
## $pdf_mode = 4; $lualatex を利用して .dvi ファイルから PDF を作成。
## $pdf_mode = 5; xdvipdfmx を利用して .xdv ファイルから PDF を作成。
$pdf_mode = 4;

# PDF viewer の設定
$pdf_previewer = "start %S";  # "start %S": .pdf に関連付けられた既存のソフトウェアで表示する。

## Windows では SyncTeX(PDF をビューアーで開いたまま中身の更新が可能で更新がビューアーで反映される機能) が利用できる SumatraPDF 等が便利。
## ぜひ SyncTeX 機能のあるビューアーをインストールしよう。
## SumatraPDF: https://www.sumatrapdfreader.org/free-pdf-reader.html
## $pdf_previewer = 'SumatraPDF -reuse-instance';

ここのコードは【大学生向け】LaTeX完全導入ガイド Windows編 (2022年)そのままです。詳細はそちらをご覧ください。
コピペできましたら、左上の「ファイル」タブを選択、「名前を付けて保存」しましょう。
スクリーンショット 2023-04-21 094406.png

ここで注意!作成場所とファイル名が指定されます!

  1. 作成場所:ユーザーのディレクトリroot直下(PCローカルディスクユーザー→ユーザー名、の順にクリックすれば出てくると思います)
  2. 名前:ファイル名拡張子が表示されない設定なら.latexmkrc.、表示される設定なら.latexmkrc.txtとしてください。
    保存2.png

これでlatexmkの設定ファイルの作成は完了です。

VSCodeの設定

latexmkをVSCode上で使えるようにします。VSCodeを起動して左下の歯車マークをクリックし、「設定」を選択。以下のような画面が出てきたでしょうか。
スクリーンショット 2023-04-21 121659.png
出てきたら画面右端上部、右から3番目の、紙と矢印が組み合わさったようなマークを選択します。settings.jsonという名前のファイルが開きましたね(拡張子を表示させない設定ならsettingsとなっていると思われます)。
settingsjson.png
ここにコードを書き込みます。既に何か書き込まれている場合、それは消さないでください。

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
以下のようなウィンドウが出たでしょうか。
まね.png
出ましたら、検索窓にlatexmkと入力、パッケージリストの状態欄を「すべて」に変更してください。
すると、ウィンドウ下部のスペースにlatexmklatexmk.windowsが出ると思います。この2つにチェックを入れ、ウィンドウ右側の選択項目をインストールをクリックしてください。既にインストールされている場合は選択項目をインストールは押せず、選択項目をアンインストールのみ押せるようになっています。
同じ要領で、type1cmherebeamertheme-metropolispgfoptsのパッケージもインストールしてください。
このように、足りないパッケージがある際はTeX Live Managerからインストールします。

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

Fira SansフォントとFira Monoフォントのダウンロード

ごめんなさい!前項で「事前準備は完全に終わり」と言ったのですが、この後私が配布するスニペットに含まれるコードに、特定のフォントがダウンロードされていないと警告文が出るものがありますので、ここでダウンロードしておきます。
Google FontsのFira Sansのダウンロードサイト
Google FontsのFira Monoのダウンロードサイト
上記リンク先に飛んで画面右上のDownload Familyをクリックしてください。zipファイルでダウンロードされますのでこれを展開します。
あふ2.png

ここからはFira Sansを例に説明します。
Fira_Sans.zipを選択して右クリック、すべて展開をクリックして展開してください。展開先はデフォルトのままで大丈夫です。展開出来たら、
Windowsスタートメニュー設定個人用設定フォント」の順に進んでください。
次に、フォントを参照しインストールするをクリック、Fira_Sansのフォルダーを開き、中にあるフォントを全て選択してフォントを選択するをクリック、インストールしてください。
スクリーンショット 2023-04-21 181228.png
これでFira Sansのインストールは完了です。Fira Monoも同様にしてインストールしてください。

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

スニペット配布

スニペットとは、ショートカットキーのようなもので、特定の文字列を打ち込むと予め設定したコードを一気に呼び出せるスゴイ代物です。早速配布します。

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
尚、初めてlatex.jsonを開くと{}で囲まれた緑色の文字(スニペットの作り方を説明してくれています)が何やら書いてあるかもしれませんが、{}ごと削除してしまって大丈夫です。
残しておきたい方は、緑色の文字を囲んでいる{}のみを消してから上記のコードをコピペしてください。
コピペし終えましたら、画面左上のファイルタブから保存をお忘れなく。
スニペットの内容は2セクション後で説明します。
スニペットはご自身で追加することができます。頻繫に打ち込むコードがある場合は、是非オリジナルのスニペットを作ってみましょう。

スライド作成

ではスニペットを使ってスライドを作ってみましょう。
まずエクスプローラーを開いて、空のフォルダを作成してください。場所も名前も何でもいいとは思いますが、私はドキュメントにTeX_writeとして作成しています。
えくすぷ.png
次に、VSCodeを起動してください。画面左上のファイルタブを選択しフォルダーをワークスペースに追加をクリック、先ほど作成したファイルを追加します。
スクリーンショット 2023-04-21 154246.png
次に、画面左上、長方形が2つ重なったマークをクリック、その後、未設定(ワークスペース)の横にカーソルを移動させると現れる4つのアイコンの内、1番左側のものをクリックして、新しいファイルを作成しましょう。ファイル名には英数字のみを使い、最後を必ず .tex としましょう。
スクリーンショット 2023-04-21 155115.png
作成したら、slideと入力してエンターを押してみてください。画像のように、slまでしか入力していなくても「スニペットが使えるよ~」的な表示が出ると思います。
スクリーンショット 2023-04-21 161757.png
コードが展開されましたね。次に、以下のコードを\begin{frame}{}\end{frame}の間にコピペしてください。更に、\begin{frame}{}{}の所にラムゼイモデルと入力してください。尚、内容は連続時間動学的一般均衡モデルに関する研究ノートの3頁から採っています。
\begin{frame}{}\end{frame}の間に書かれた内容が、1枚のスライドに記載されます。

マクロ経済を描写する連続時間一般均衡モデルとして最も基本的な連続時間のラムゼイモデル
は以下の様な連続時間最適化問題として定式化できる。
\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
このように、右側にPDFが表示されれば成功です。表示されない方は、Ctrl + Alt + vを押してもPDFが表示されないをご覧ください。
尚、右側にPDFを表示した状態で左側のコードを弄り、ビルドすると、変更が右側のPDFに自動で反映されます。便利ですね。

数式モード

LaTeXで数式や数学で使う特殊な文字を出力するには数式モードという状態が必要です。
と言っても、何か複雑なコードを打ち込む必要はありません。先ほど作成したスライドを例に、以下で初歩的な3つの手法を紹介します。
スクリーンショット 2024-02-16 064411.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
    さて、どうやって画像を挿入するのか、ということですが、\includegraphics[keepaspectratio,width=.9\textwidth]{}{}に、挿入したい画像のパスを入力します。パスを手に入れるには、エクスプローラーからピクチャを開き、挿入したい画像を右クリックしてパスのコピーを選択します。
    スクリーンショット 2023-08-03 210532.png
    あとはこれを貼り付ければいいです。但し、コピーしたパスは"C:\Users\(ユーザー名)\Pictures\(ファイル名).(拡張子)"となっていますが、この\を全て/に変えることを忘れないようにしましょう。
    スクリーンショット 2023-08-03 212823.png
  4. 表挿入
    hyoと打って使います。表を作ります。
    以下に使用例を示します。
    スクリーンショット 2023-08-03 214314.png
    このように、コード上で&で区切られた所に文字を入力して使います。スニペットとして登録しているのは4行3列の表を作るためのコードですが、勿論、行数や列数を増やせます。仕組みについてはLaTeX 表組を是非ご覧になってください。
  5. 定理ブロック
    teiriと打って使います。定理や何か重要なものを強調するブロックを作ります。
    以下に使用例を示します。尚、このスニペットはスライドの方でしか使えません。
    スクリーンショット 2023-08-03 221839.png
    \begin{block}{}{}の所にブロックのタイトルを、\begin{block}{}\end{block}の間の所に本文を入力します。
  6. スライド追加
    adframeと打って使います。\begin{frame}{}\end{frame}が出てきます。
    スライド作成の項でも述べた通り、\begin{frame}{}\end{frame}の間に入力された内容が1枚のスライドに記載されます。なので、スライドを追加したい時は一々\begin{frame}{}\end{frame}を入力しないといけません。面倒なので、このスニペットで楽しましょう。
  7. 番号付き箇条書き
  8. 箇条書き
    それぞれkazyogakinumber、kazyogakiと打って使います。
    以下に使用例を示します。
    スクリーンショット 2023-08-04 071731.png
    \itemの横に書いてある内容が項立てて出力されます。
  9. 画像と文章
    gazotobunsyoと打って使います。画像を左に、文章を右に配置します。
    以下に使用例を示します。尚、これはスライドの方でしか使えません。
    スクリーンショット 2023-08-04 073024.png
    画像の貼り方は画像挿入のスニペットの項で説明した通りです。
    文章は\begin{column}{.45\textwidth}\end{column}の間に入力します。
  10. 枠付き文章
    kakomiと打って使います。何かを囲んで強調する枠を出します。
    以下に使用例を示します。
    スクリーンショット 2023-08-04 074458.png
    \begin{itembox}[l]{}{}に枠付き文章のタイトルを入力します。
    文章は\begin{itembox}[l]{}\end{itembox}の間に入力します。
    仕組みについてはLaTeX 枠付き文章をご覧ください。
  11. 画像2かける2挿入
    gazofourと打って使います。画像を2×2行列の形に配置します。
    以下に使用例を示します。尚、これはレポートの方でしか使えません。
    スクリーンショット 2023-08-04 075637.png
    仕組みについてはTeXによる文書作成18 ~図を並べて表示をご覧ください。

デフォルトで組み込まれているスニペット

恐らくVSCodeの仕様だと思うのですが、デフォルトでスニペットが組み込まれています。
早速試してみましょう。
\equationと入力してエンターを押してみてください。とは言え、\equあたりまで入力した時点で「スニペットが使えるよ~」的な表示が出ると思います。
\begin{equation}\end{equation}が出てきましたね。数式モードの項で\begin{equation}を説明しましたが、その時に「面倒だな」と思われた方もいらっしゃったかもしれません。是非これを活用して楽しましょう。
\begin{equation}以外にも、デフォルトで組み込まれているスニペットで呼び出せるコードは沢山あります。
例えば、\frameと入力すると\begin{frame}\end{frame}が出てきます。なので、配布したスニペットの使い方adframeを紹介していましたが、別にこれは要らないわけですね(笑)。
「面倒だな」と思うコードがあったら、デフォルトでスニペットが用意されてないか調べてみるといいと思います。

更に快適に使うためには

文中に引用した文献のみを自動で参考文献欄に載せてくれるように設定できます。もし興味がおありなら、biblatexで検索してみてくださいね。

参考文献

  1. 【大学生向け】LaTeX完全導入ガイド Windows編 (2022年)
    記事冒頭でも述べた通り、設定の為のコードは僅かに修正した以外全てここのコピペです。素晴らしい記事ですので、是非あわせて読んでみてください。
  2. 日本語のBeamer metropolisテーマサンプル
  3. Beamerによるスライドの体裁を整える
  4. LaTeX 表組
  5. LaTeX 枠付き文章
  6. TeXによる文書作成18 ~図を並べて表示
  7. 連続時間動学的一般均衡モデルに関する研究ノート
  8. 論文要旨用 LaTeX スタイルファイルとサンプル - ますみ日誌
  9. Beamerによるスライドの体裁を整える - ト部蛸焼のブログ

よくある質問

Ctrl + Alt + vを押してもPDFが表示されない

Ctrl + Alt + vを押した際に参照するフォルダがoutに設定されていないせいかもしれません。設定を開いて確認してみましょう。設定はVSCode左下の歯車マークから開くのでした。
開いたら画面上部の検索窓にcompileと入力、LaTeX-workshop > LaTeX: Out Dirという項目を探してください。その項目の下部に何か入力する場所がある筈です。そこがout以外になっていませんか?outにしましょう。
スクリーンショット 2023-08-04 083005.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

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4