2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Ubuntu + VS Code + uplatex による論文執筆環境の構築

2
Posted at

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 を開き、

  1. .tex を保存
  2. LaTeX Workshop が自動ビルド
  3. PDF が生成される
  4. VS Code 内で PDF を表示できる
  5. 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 と一緒に管理すると再現性の高い執筆環境を作れます。


参考

2
2
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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?