1. 環境設定
VS CodeはLaTeX環境としておすすめ。「LaTeX Workshop」によるリアルタイムPDFプレビュー、自動補完、エラー表示が可能で、効率的に作業が進められる。
さらに、軽量で動作が速く、拡張機能やAI連携、Gitによるバージョン管理も可能。
参考
1.1 VSCodeとLatexのインストール
MacOSの場合
homebrewでいずれもインストールできます。ターミナルから以下のコードを実行してください。
# VSCode の導入
brew install visual-studio-code --cask
# LaTeX環境(GUI無)の導入
brew install --cask mactex-no-gui
# 管理者権限でLaTeXパッケージの更新
sudo tlmgr update --self --all
# 管理者権限で用紙サイズの変更
sudo tlmgr paper a4
MacOSでhomebrewを使っていない人はいますぐ使えるようになってください。
これが使えるようになると、今後の全ての環境構築が圧倒的に楽になります。
Windowsの場合
動作確認をしていないので、以下の資料を読んでインストールしてください。
【大学生向け】LaTeX完全導入ガイド Windows編 (2022年)
1.2 VSCodeの設定
初めてVSCodeを使う時は、日本語に設定しておくと楽。
Visual Studio Code(VSCode)の設定をしてみた
- 左の「拡張機能」タブから「Latex-Workshop」をインストール
- 左下の歯車マークから「設定」を開き、右上の「設定(JSON)を開く」をクリック
- settings.jsonが開かれるので、下記のコードをコピー&ペーストする。
Windowsの場合はこちらを参考にする。
{
"latex-workshop.latex.recipes": [
{
// LuaLaTeX レシピ
"name": "lualatex",
"tools": [
"lualatex",
"lualatex"
// ,"mvpdf"
// ,"mvlog"
// ,"delete"
]
},
{
// 日本語用LuaLaTeX+pbibtexレシピ
"name": "lualatex+biber",
"tools": [
"lualatex",
"biber",
"lualatex",
"lualatex"
// ,"delete"
]
},
{
// 英語用LuaLaTeX+bibtexレシピ
"name": "lualatex+bibtex",
"tools": [
"lualatex",
"bibtex",
"lualatex",
"lualatex"
// ,"delete"
]
},
{
//日本語用pLatexレシピ
"name": "platex+pbibtex+dvipdfmx",
"tools": [
"platex",
"pbibtex",
"platex",
"dvipdfmx",
// "move",
"delete"
]
},
{
//日本語用pLatexレシピ(引用文献除く)
"name": "platex+dvipdfmx",
"tools": [
"platex",
"dvipdfmx",
// "move",
"delete"
]
}
],
"latex-workshop.latex.tools": [
{
"name": "lualatex",
"command": "lualatex",
"args": [
"-file-line-error",
"-synctex=1",
"-interaction=nonstopmode",
"-halt-on-error",
"-output-directory=%OUTDIR%",
"%DOCFILE%.tex"
],
"env": {}
},
{
"name": "platex",
"command": "platex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-kanji=utf8",
"-shell-escape",
"%DOCFILE%.tex"
]
},
{
"name": "pbibtex",
"command": "pbibtex",
"args": [
"-kanji=utf8",
"%DOCFILE%"
]
},
{
"name": "bibtex",
"command": "bibtex",
"args": [
"%DOCFILE%"
]
},
{
"name": "biber",
"command": "biber",
"args": [
"--output-safechars",
"--input-encoding=utf8",
"--output-directory=%OUTDIR%",
"%DOCFILE%"
]
},
{
"name": "dvipdfmx",
"command": "dvipdfmx",
"args": [
"%DOCFILE%.dvi"
]
},
{
"name": "mendex",
"command": "mendex",
"args": [
"-r",
"-c",
"-g",
"-s",
"dot.ist",
"-p",
"any",
"%DOCFILE%.idx"
]
},
{
"name": "mvpdf",
"command": "mv",
"args": [
"%DOCFILE%.pdf",
"%OUTDIR%"
]
},
{
"name": "mvlog",
"command": "mv",
"args": [
"%DOCFILE%.aux",
"%DOCFILE%.bbl",
"%DOCFILE%.blg",
"%DOCFILE%.dvi",
"%DOCFILE%.idx",
"%DOCFILE%.ilg",
"%DOCFILE%.ind",
"%DOCFILE%.lof",
"%DOCFILE%.log",
"%DOCFILE%.lot",
"%DOCFILE%.toc",
"%DOCFILE%.synctex.gz",
"%DOCFILE%.out",
"%OUTDIR%/."
]
},
{
"name": "delete",
"command": "rm",
"args": [
"-f",
"%DOCFILE%.aux",
"%DOCFILE%.bbl",
"%DOCFILE%.blg",
"%DOCFILE%.dvi",
"%DOCFILE%.idx",
"%DOCFILE%.ilg",
"%DOCFILE%.ind",
"%DOCFILE%.lof",
"%DOCFILE%.log",
"%DOCFILE%.lot",
"%DOCFILE%.toc",
"%DOCFILE%.synctex.gz",
"%DOCFILE%.out"
]
}
],
"latex-workshop.latex.magic.args": [
"-f",
"-gg",
"-pv",
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOC%"
],
"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",
"_minted*",
"*.nav",
"*.snm",
"*.vrb",
],
"latex-workshop.latex.autoClean.run": "onBuilt",
"latex-workshop.view.pdf.viewer": "tab",
"latex-workshop.latex.autoBuild.run": "onSave", //.tex ファイルの保存と同時に自動的にビルドを実行
"[latex]": {
"files.autoSave": "off", //.texファイルを自動保存
"editor.formatOnSave": false,
"editor.defaultFormatter": "James-Yu.latex-workshop",
"editor.wordWrap": "on",
"editor.wordSeparators": "./\\()\"'-:,.;<>~!@#$%^&*|+=[]{}`~?。.、,()「」『』[]{}《》てにをはがのともへでや ",
"editor.tabSize": 2,
"editor.insertSpaces": true,
"editor.detectIndentation": false,
"editor.suggestSelection": "recentlyUsedByPrefix",
"editor.suggest.snippetsPreventQuickSuggestions": false,
"editor.quickSuggestions": {
"other": true,
"comments": false,
"strings": false
},
"editor.bracketPairColorization.enabled": true,
"editor.unicodeHighlight.invisibleCharacters": true,
"editor.unicodeHighlight.allowedCharacters": {
",": true,
".": true,
"!": true,
"?": true,
"[": true,
"]": true,
"{": true,
"}": true,
"<": true,
">": true,
},
"editor.stickyScroll.enabled": true,
},
"[bibtex]": {
"editor.tabSize": 2
},
"latex-workshop.intellisense.package.enabled": true,
"latex-workshop.latex.outDir": ".", // PDFなどの生成ファイルの保存場所
"latex-workshop.message.log.show": true,
"editor.unicodeHighlight.allowedCharacters": {
",": true,
".": true
},
"latex-workshop.latex.recipe.default": "first",
"latex-workshop.formatting.latex": "latexindent",
"latex-workshop.formatting.latexindent.path": "/usr/local/bin/latexindent",
"latex-workshop.formatting.latexindent.args": [
"-c",
"%DIR%/log",
"%TMPFILE%",
"-l",
"%DIR%/latexindent",
"-r"
]
}
2. 運用方法
2.1 Latex専用ソフトやOverLeafとの違い
何故「VSCode + Github」を使った方が良いのか?
-
バージョン管理が容易
- 過去の変更履歴を保存し、特定のバージョンに戻すことが可能。
- 変更点が明確になり、誰が何を修正したかを把握できる。
-
コンパイルが早い
- OverLeafとは違ってローカルPCでコンパイルを行う。
- 全ての機能を無料で利用できる。
-
バックアップとして利用可能
- GitHubにリポジトリを保存することで、データが安全に保管される。
- ローカルPCのトラブルやデータ消失のリスクを軽減。
-
複数デバイスでの作業が可能
- クラウド上のリポジトリを利用することで、どのデバイスからでも最新状態にアクセスできる。
- 自宅や研究室など、環境を問わず作業を続行可能。
-
GitHub copilotの援助
- 分からないコードやエラーに対して、説明や修正をVSCode内で求められる。
- コードを書き始めると、次に書くべきコードを予測して提案してくれる。
-
文献管理ツールとの連携
- Zoteroなどの文献管理ツールを参照可能
- 引用文献リストが自動で更新される
Latex専用ソフトやOverLeafとの違い
観点 | LaTeX専用ソフト(TeXworks, TeXstudioなど) | VSCode + GitHub | Overleaf |
---|---|---|---|
機能性 | ○(LaTeX用に最適化された多機能) 補完・構文ハイライト・PDF表示など標準装備 |
◎(拡張機能で柔軟に対応) LaTeX Workshopなどによる高度な機能追加可 |
◎(オンラインで即時PDF出力、パッケージ自動管理など) |
使いやすさ | ○(インストールすればすぐに使えるが、設定に慣れが必要) | △(初期設定がやや複雑、拡張機能・ビルド設定が必要) | ◎(アカウント登録すればすぐ利用可能、GUIも直感的) |
安定性 | ◎(ローカル実行のため外部要因に左右されない) | ◎(ローカル環境に依存。Git操作によるミスの可能性あり) | ○(インターネット接続が必要、混雑時に遅延やエラーの可能性) |
習熟のしやすさ | ○(基本的なLaTeX操作は習得しやすいが、エラー対応は自己解決が前提) | △(GitやVSCode、CLIの知識が求められる) | ◎(テンプレート・ヘルプ・エラーメッセージが充実) |
共同作業 | △(メールでファイル共有、Gitがないと不便) | ◎(GitHubとの連携でバージョン管理・共同編集が可能) | ◎(複数人でリアルタイム編集可能、コメント機能あり) |
カスタマイズ性 | ○(一部UIやビルド設定が変更可能) | ◎(ほぼ無限、設定ファイルや拡張機能で柔軟に対応) | △(自由度は低め、Overleaf側の制限あり) |
パッケージ管理 | △(TeX Live/MiKTeXなどを別途更新) | △(同上) | ◎(自動で依存パッケージを取得) |
総合評価(タイプ別おすすめ)
- 初心者・短期間でレポートや論文を書く人:→ Overleaf
→ 手間なく使えてテンプレートも豊富。日本語設定も簡単。 - 長期的にLaTeXに取り組む人(研究者・学生):→ VSCode + GitHub
→ 習熟すれば最も強力。バージョン管理・共同研究に最適。 - ネット環境が不安定 or 完全ローカルで作業したい人:→ TeXstudioなどの専用ソフト
→ 高い安定性と応答性が魅力。パッケージ管理はやや手間。
Gitの使い方については以下を参照
- Githubリポジトリのfork(フォーク/派生)の使い方・clone(クローン)との使い分け
- 【Git】Git初期設定 for Mac OS
- 【入門】VSCodeとGitHubの連携手順・使い方をわかりやすく解説
- サル先生のGit入門
2.2 テンプレートのダウンロード
latexを利用する際は、公開されているテンプレートを利用することをおすすめする。
筆者が公開しているのは以下。
- 神戸大学フォーマット: latex-kobe-template
- 経済系ワーキングペーパー: latex-econ-template
- zipファイルを直接ダウンロードする
- latex-kobe-templateにアクセスする
- 緑色の「< > Code▽」をクリックし、「Download ZIP」を実行
- 【おすすめ】Githubからフォーク(fork)
- latex-kobe-templateにアクセスする
- 「< > Code▽」の右上にある「Fork」をクリックし、latex-kobe-templateをコピーした新たなレポジトリ(ホストは自身)を作成する
- 新たなレポジトリをgit cloneでローカルに読み込む
2.3 latexのコンパイル
main.texをコンパイルしてPDFファイルを作成する方法は大きく2つ。
- latex-workshopタブから実行する
- 任意のtexファイルを開く
- 左のタブに「TEX」と表記されたlatex-workshopのタブをクリックして開く
- 「コマンド」内の「LaTeXプロジェクトをビルド」をクリックでPDFを更新
- 「LaTeX PDFを表示」をクリックしてPDFを開く
- texファイルを保存して自動更新する
- 任意のtexファイルを開く
- 「control + S」でファイルを保存する
settings.jsonの設定で、保存時に自動でPDFが保存される。
動作が重いときは、settings.jsonの"latex-workshop.latex.autoBuild.run"を"off"にする。
もしくは、main.texを\documentclass[report, 12pt, a4paper, draft]{jsbook}
にしてdraftモードを有効にし、画像の出力を省略する。
2.4 Overleafとの連携
OverLeafの有料ライセンス(一般 $ 15/月、学生 $ 9/月)もしくは組織契約ライセンスがあれば、GitHub経由でOverLeafと接続できる。OverLeafはブラウザ上で起動するオンラインLatex編集ツールで、GitHub連携によって以下のような利点がある。
-
共同編集がしやすい
- 環境に左右されないブラウザ上での共同編集・コメント交換が可能
- 定期的にGitHubと同期してバックアップ
-
状況に合わせたコンパイル
- OverLeafの簡易的なプレビュー
- VS Codeでコンパイルをより早く実行
-
豊富なテンプレートが利用可能
- OverLeafではテンプレートが配布されており、直接プロジェクトを立ち上げ可能
- テンプレートには、論文・CV・スライド資料などが提供
参考
3. 参考文献の作り方
3.1 BiBTeXの使い方
BiBTeXとは、Latexの参考文献用のデータベースで、通常.bibファイルで管理する。bibファイルを直接編集することはなく、ZoteroやPapershipでまとめて出力する。latex内では本文中で引用された文献のみが目録に登録されるので、細かい文献管理が不要になる。
参考
3.2 natbibライブラリの使い方
natbibとは、文献管理を目的としたlatexライブラリの一つで、\usepackage{natbib}
で利用可能になる。
\usepackage[options]{natbib}
や\setcitestyle{options}
で設定ができる。
詳しい設定方法は https://gking.harvard.edu/files/natnotes2.pdf を参照。
-
\renewcommand{\bibname}{参考文献}
- 文献目録のタイトルを「参考文献」にする
-
\setcitestyle{super,sort&compress,open={},close={)}}
- "super"で、右肩上がり数字(山田 (2020) 3) )にする。
- "open={},close={)}"で、「3)」のスタイルにする。
-
\setcitestyle{authoryear}
: -
latex-kobe-template
の場合\bibliographystyle{backmatter/kucivil.bst}
- 神戸大学市民工学の書式に変更
- 設定の基準は経済学におけるBibTeXの利用
参考