Ubuntu + upLaTeX + VS Code で論文執筆環境を構築する
はじめに
Ubuntu 上で upLaTeX + VS Code を使って、日本語を含む論文を執筆できる環境を構築します。
この記事では、以下の環境を目標とします。
- Ubuntu 26.04 LTS(24.04 LTS でもほぼ同様)
- TeX Live
- upLaTeX
- dvipdfmx
- latexmk
- upBibTeX / BibTeX
- Visual Studio Code
- LaTeX Workshop
- PDF の自動ビルド
- SyncTeX による TeX ↔ PDF の相互ジャンプ
最終的には、VS Code で .tex ファイルを保存すると、
upLaTeX → upBibTeX(必要な場合)→ upLaTeX → upLaTeX → dvipdfmx
という一連の処理を latexmk に任せ、PDFまで自動生成できるようにします。
1. TeX Live をインストールする
まずパッケージ一覧を更新します。
sudo apt update
文執筆に必要なパッケージを入れる
通常はこちらで十分です。
sudo apt install \
texlive-lang-japanese \
texlive-latex-extra \
texlive-fonts-recommended \
texlive-science \
latexmk
必要に応じて biber も追加します。
sudo apt install biber
biblatex + biber を使う論文テンプレートで必要になります。
2. upLaTeX が使えることを確認する
以下を実行します。
uplatex --version
さらに、
dvipdfmx --version
latexmk --version
upbibtex --version
を確認します。
コマンドが見つかれば、基本的な TeX 環境は構築できています。
Ubuntu 26.04 LTS では texlive-lang-japanese が公式パッケージとして提供されています。
3. VS Code をインストールする
すでに VS Code をインストール済みの場合は、この節は飛ばしてください。
方法A:公式 .deb を利用する
Microsoft の公式サイトから Ubuntu / Debian 用 .deb をダウンロードし、ダウンロードしたディレクトリで以下を実行します。
sudo apt install ./code_*.deb
公式 .deb をインストールすると、通常は VS Code のAPTリポジトリも登録され、その後は apt 経由で更新できます。
起動確認:
code --version
4. LaTeX Workshop をインストールする
VS Code を起動します。
code
左側の Extensions を開き、
LaTeX Workshop
を検索してインストールします。
コマンドラインから入れる場合は、
code --install-extension James-Yu.latex-workshop
でも構いません。
5. latexmk の設定を作る
latexmk に、
upLaTeX → dvipdfmx
でPDFを生成させます。
ホームディレクトリに .latexmkrc を作成します。
nano ~/.latexmkrc
以下を記述します。
$latex = 'uplatex -synctex=1 -halt-on-error -file-line-error %O %S';
$bibtex = 'upbibtex %O %B';
$dvipdf = 'dvipdfmx %O -o %D %S';
$pdf_mode = 3;
各設定の意味
$latex = 'uplatex ...';
LaTeX エンジンとして uplatex を使います。
$bibtex = 'upbibtex ...';
参考文献処理に upbibtex を使います。
$dvipdf = 'dvipdfmx ...';
DVI ファイルから PDF を生成します。
$pdf_mode = 3;
latexmk に
LaTeX → DVI → PDF
の処理を行わせます。
-synctex=1 は、VS Code と PDF の相互ジャンプに必要です。
6. VS Code の settings.json を設定する
VS Code で
Ctrl + Shift + P
を押し、
Preferences: Open User Settings (JSON)
を選択します。
既存の設定がある場合は、JSON オブジェクトの中に以下を追加してください。
{
"latex-workshop.latex.tools": [
{
"name": "latexmk (upLaTeX)",
"command": "latexmk",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-pdfdvi",
"%DOC%"
]
}
],
"latex-workshop.latex.recipes": [
{
"name": "latexmk (upLaTeX)",
"tools": [
"latexmk (upLaTeX)"
]
}
],
"latex-workshop.latex.recipe.default": "first",
"latex-workshop.latex.autoBuild.run": "onSave",
"latex-workshop.view.pdf.viewer": "tab",
"latex-workshop.synctex.afterBuild.enabled": true,
"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",
"*.dvi"
]
}
ここでは、保存時に自動的にビルドするように
"latex-workshop.latex.autoBuild.run": "onSave"
を設定しています。
自動ビルドが不要なら、
"latex-workshop.latex.autoBuild.run": "never"
としても構いません。
7. 最小サンプルで動作確認する
適当な作業ディレクトリを作成します。
mkdir -p ~/tex/test
cd ~/tex/test
code .
main.tex を作成します。
\documentclass[uplatex,dvipdfmx]{jsarticle}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{hyperref}
\title{up\LaTeX + VS Code 動作確認}
\author{Taro Yamada}
\date{\today}
\begin{document}
\maketitle
\section{はじめに}
Ubuntu 上で up\LaTeX と VS Code を使用した論文執筆環境の動作確認を行います。
日本語も問題なく表示できれば成功です。
\section{数式}
例えば、Navier--Stokes 方程式は
\begin{equation}
\rho\left(
\frac{\partial \boldsymbol{u}}{\partial t}
+ \boldsymbol{u}\cdot\nabla\boldsymbol{u}
\right)
= -\nabla p + \mu \nabla^2\boldsymbol{u}
\end{equation}
と書けます。
\end{document}
保存すると、自動的にビルドが実行されます。
左側の TeX アイコンから
View LaTeX PDF
を選ぶと、VS Code 内に PDF が表示されます。
8. ターミナルからビルドして確認する
VS Code の設定に問題があるのか、TeX 自体に問題があるのかを切り分けるため、最初はターミナルでもビルドしてみることをおすすめします。
latexmk main.tex
または、明示的に
latexmk -pdfdvi main.tex
を実行します。
正常なら、
main.pdf
が生成されます。
中間ファイルを削除する
latexmk -c
PDF も含めて削除する場合は、
latexmk -C
です。
9. 参考文献を使う
例えば references.bib を作成します。
@article{sample2026,
author = {Taro Yamada and Hanako Suzuki},
title = {Sample Paper for upLaTeX},
journal = {Journal of Sample Research},
year = {2026},
volume = {10},
number = {2},
pages = {100--110}
}
main.tex に以下を追加します。
本文中で文献\cite{sample2026}を引用する。
\bibliographystyle{junsrt}
\bibliography{references}
latexmk を使っていれば、必要に応じて upbibtex が呼び出されます。
latexmk main.tex
通常、
uplatex
upbibtex
uplatex
uplatex
dvipdfmx
という一連の処理を手作業で行う必要はありません。
10. SyncTeX を使う
LaTeX Workshop では SyncTeX により、ソースとPDFを相互に移動できます。
TeX → PDF
TeX のソース上で、
Ctrl + Alt + J
を押すと、対応する PDF の位置へジャンプできます。
環境やキーバインドによって異なる場合は、Command Palette で
LaTeX Workshop: SyncTeX from cursor
を実行してください。
PDF → TeX
VS Code 内蔵 PDF Viewer で、通常は
Ctrl + Click
により対応する TeX ソースへ移動できます。
Linux のデスクトップ環境や設定によってキー操作が異なる場合があります。
11. 論文ごとに .latexmkrc を置く方法
ホームディレクトリの
~/.latexmkrc
に設定すると、すべての TeX プロジェクトに同じ設定が適用されます。
一方、出版社や学会ごとにコンパイル方法が違う場合は、論文ディレクトリ内に
.latexmkrc
を置く方法が便利です。
例えば、
paper/
├── .latexmkrc
├── main.tex
├── references.bib
├── figures/
└── sections/
とします。
研究用途では、個人的には プロジェクトごとの .latexmkrc をおすすめします。
論文テンプレートごとのビルド条件を Git で一緒に管理できるためです。
12. Git で管理する場合の .gitignore
LaTeX では大量の中間ファイルが生成されるため、Git を使う場合は .gitignore を用意します。
*.aux
*.bbl
*.blg
*.dvi
*.fdb_latexmk
*.fls
*.log
*.out
*.synctex.gz
*.toc
*.lof
*.lot
*.idx
*.ind
*.ilg
*.nav
*.snm
*.vrb
# 必要に応じてPDFも除外
# *.pdf
PDF を GitHub 等にも保存したい場合は、*.pdf は除外しないでください。
13. 推奨ディレクトリ構成
少し規模の大きい論文では、例えば次のようにしておくと管理しやすくなります。
paper/
├── .latexmkrc
├── .gitignore
├── main.tex
├── references.bib
├── figures/
│ ├── fig01.pdf
│ └── fig02.pdf
├── sections/
│ ├── introduction.tex
│ ├── method.tex
│ ├── results.tex
│ └── conclusion.tex
└── tables/
main.tex から、
\input{sections/introduction}
\input{sections/method}
\input{sections/results}
\input{sections/conclusion}
のように読み込みます。
14. 学会・出版社テンプレートを利用するときの注意
学会テンプレートによっては、コンパイラが明示的に指定されています。
例えば、
- upLaTeX + dvipdfmx
- pLaTeX + dvipdfmx
- pdfLaTeX
- LuaLaTeX
- XeLaTeX
などです。
テンプレートの README や投稿規定で
upLaTeX
が指定されている場合に、本記事の設定を使ってください。
出版社側が pdfLaTeX や LuaLaTeX を指定している場合、無理に upLaTeX へ変更するのは避けた方が安全です。
15. 設定をプロジェクト内に閉じる場合
複数人で共同執筆するなら、VS Code の設定もプロジェクト内に持たせることができます。
paper/
├── .vscode/
│ └── settings.json
├── .latexmkrc
├── main.tex
└── references.bib
.vscode/settings.json に LaTeX Workshop の設定を書いて Git で共有すれば、共同研究者もほぼ同じビルド環境を再現できます。
ただし、Windows、macOS、Ubuntu が混在する場合は、TeX Live のパスや外部PDF Viewerに依存する設定は入れすぎない方が無難です。
16. 最終確認
以下がすべて通れば環境構築完了です。
uplatex --version
upbibtex --version
dvipdfmx --version
latexmk --version
code --version
次に、
latexmk -pdfdvi main.tex
でPDFが生成されることを確認します。
最後に VS Code で main.tex を開き、
-
.texを保存 - LaTeX Workshop が自動ビルド
- PDF が生成される
- VS Code 内で PDF を表示できる
- SyncTeX で TeX ↔ PDF を移動できる
ところまで確認できれば完成です。
まとめ
Ubuntu で upLaTeX + VS Code の論文執筆環境を作る場合、役割を次のように分けて考えると分かりやすいです。
VS Code
└── LaTeX Workshop
└── latexmk
├── upLaTeX
├── upBibTeX
└── dvipdfmx
↓
PDF
特に重要なのは、VS Code から uplatex を何度も直接実行するのではなく、ビルド処理を latexmk に任せることです。
これにより、参考文献や相互参照が増えても必要なコンパイル回数を latexmk が自動判定してくれます。
研究論文の場合は、さらに
.latexmkrc.vscode/settings.json.gitignore
を論文プロジェクトごとに置き、Git と一緒に管理すると再現性の高い執筆環境を作れます。
参考
-
Visual Studio Code: Installing Visual Studio Code on Linux
https://code.visualstudio.com/docs/setup/linux -
Ubuntu Packages: texlive-lang-japanese
https://packages.ubuntu.com/resolute/texlive-lang-japanese -
Ubuntu Packages: latexmk
https://packages.ubuntu.com/resolute/latexmk -
LaTeX Workshop
https://github.com/James-Yu/LaTeX-Workshop -
latexmk
https://ctan.org/pkg/latexmk