2
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

WSL2 + VSCode + LuaLaTexでレポートを書く

Last updated at Posted at 2022-07-25

目的

WSL2上にLaTex環境を整えたい.

環境

  • Windows 11 Home (21H2)
  • WSL2 (Ubuntu 20.04.4 LTS)

この記事は,LaTexのインストールのみに焦点を当てています.
よって,WSL2やVisual Studio Codeのインストール・設定については解説を行いません.

また,今回はLuaLaTexを用いてビルドできるように設定を行いますが,たぶん(u)pLaTexなどでもあまり変わりはないと思います.
相違点は,VSCodeでの拡張機能,LaTex Workshopの設定ぐらいだと思います.

実際にやったこと

1. Tex-Live のインストール

初めに,Tex Wikiの通りにインストールします.

$ sudo apt update
$ sudo apt install -y texlive-lang-japanese

ここでは,日本語パッケージのみをインストールするtexlive-lang-japaneseをインストールしましたが,上記のサイトにある通り,texlive-fullでフルインストールすることもできます.
私の場合は前者をインストールしましたが,いろいろ足りないパッケージがあって若干面倒くさかったです(後述).ストレージに余裕のある方は後者のほうが何かと不便しないと思います.

インストールはそれほど時間もかからず意外とすんなり終わりました.

2. VSCode拡張機能:LaTex Workshop のインストールと設定

初めに,VSCodeを開いてWSLに接続し,「拡張機能」を開きます(Ctrl+Shift+X).
検索窓に適当な語句を入力し,「LaTex Workshop」という拡張機能をインストールします.

次に,ビルドの設定を行います.
VSCode上でコマンドパレットを開き(Ctrl+Shift+P),「Settings jason」などの適当な語句を入力して「Preferences: Open Settings (JSON)」を選択,settings.jsonファイルを開きます.
ここに,下記を追記します.

{
    // -- ほかの設定事項 --
    // ↓ここから追記
    "latex-workshop.latex.tools": [
        {
            "name": "lualatex",
            "command": "lualatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOCFILE%.tex"
            ]
        },
        {
            "name": "platex",
            "command": "wsl.exe",
            "args": [
                "platex",
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-kanji=utf8",
                "-guess-input-enc",
                "%DOCFILE%.tex"
            ]
        },
        {
            "name": "dvipdfmx",
            "command": "wsl.exe",
            "args": [
                "dvipdfmx",
                "-f",
                "yu-win10.map",
                "%DOCFILE%"
            ]
        }
    ],
    "latex-workshop.latex.recipes": [
        {
            "name": "lualatex",
            "tools": [
                "lualatex",
                "lualatex"
            ]
        },
        {
            "name": "platex",
            "tools": [
                "platex",
                "platex",
                "dvipdfmx"
            ]
        }
    ],
}

出所:Windows Subsystem for LinuxとVSCodeで快適LaTeX
参考:VSCode と WSL2 で LaTeX 執筆環境を作ろう

なお,"latex-workshop.latex.recipes""tools"で,2回lualatexを呼び出しています.
これで,自動的に2回コンパイルが行われるようになり,1回実行ボタンをポチるだけで\ref{}などの参照が張られます.

3. これでビルドできる,と思いきや...

一通り設定が終わったので,以下のソースファイルをビルドしてみましょう.

\documentclass{ltjsarticle}
\usepackage{luatexja} % ltjclasses, ltjsclasses を使うときはこの行不要
\begin{document}
\section{はじめてのLua\TeX-ja}
ちゃんと日本語が出るかな?
\subsection{出たかな?}
長い文章を入力するとちゃんと右端のところで折り返されるかな?
大丈夫そうな気がするけど.ちょっと不安だけど何事も挑戦だよね.
\end{document}

出所:LuaTex-jaの使い方 - LuaTex-ja Wiki - LuaTex-ja - OSDN

すると,以下のようなエラーが...

! LaTex Error: File 'luatexbase.sty' not found.

でもこれは想定内,全知全能Tex Wikiに書いてあります.ということで素直に次を実行.

$ sudo apt install texlive-luatex

これで今度こそビルドできるかと思いきや,またエラーが...

! LaTex Error: File 'pdftexcmds.sty' not found.

この.styファイルは,次のパッケージに入っています.

$ sudo apt install texlive-latex-recommended

これで,上記のソースファイルはビルドできました!

メデタシメデタシ...で終わらないのが世の常です.

+α:さらなる不足パッケージのインストール

しめしめ,これで環境が整った...と思ったのもつかの間,here.styとかほかにもいろいろと使えないではありませんか.

結局,追加で以下の二つのパッケージもインストールしました.

$ sudo apt install texlive-pictures texlive-latex-extra

これで,今のところ一通りビルドできるようになりました.

これまででお分かりの通り,texlive-lang-japaneseは容量を食わないかわりに結構不足しているパッケージがあります.
platexを使う分にはよい(?)のかもしれませんが,lualatexの場合は初めからフルインストールしたほうがよさそうですね.

ちなみに,aptでインストールできるパッケージの詳細についてはこちらのサイトが詳しいです(詳しいというかUbuntuの公式ですが).ここから各パッケージに含まれるファイル一覧が見られます.
例えば,texlive-picturesパッケージに含まれるファイル一覧はこちらです.here.styファイルが含まれていることがわかりますね.

なんちゃら.styが見つからないよとErrorが出たら,それが含まれるパッケージを探してapt installすればよいという訳です.

[追記]
パッケージは,CTANから直接ダウンロードすることもできます.
この場合,ダウンロードしたzipファイルを展開し,適切な場所に設置することによってインストールできます.(詳細はこちら)

\documentclass{ltjsarticle}
\usepackage{luatexja} % ltjclasses, ltjsclasses を使うときはこの行不要
\usepackage{amsmath,amssymb,ascmac,graphicx,here,booktabs}
\usepackage{bookmark}
\usepackage{xurl}
\hypersetup{unicode, bookmarksnumbered=true,final}

\begin{document}
\section{はじめてのLua\TeX-ja}
ちゃんと日本語が出るかな?

English appears like this.

\subsection{出たかな?}
長い文章を入力するとちゃんと右端のところで折り返されるかな?
大丈夫そうな気がするけど.ちょっと不安だけど何事も挑戦だよね.
\begin{equation}
    \label{euler}
    e^{i\pi} - 1 = 0
\end{equation}

\eqref{euler}式と下図\ref{test_graph}はまったく無関係である.

\begin{figure}[H]
    \centering
    \includegraphics[keepaspectratio, scale=0.5]{./test_graph.png}
    \caption{$y=\sin x$}
    \label{test_graph}
\end{figure}

\begin{table}[H]
    \centering
    \caption{表の挿入もこのとおり}
    \begin{tabular}{ccc}
        \toprule
        hoge & hogehoge \\
        \midrule
        1 & 2 \\
        \bottomrule
    \end{tabular}
\end{table}

参考文献への参照も無問題.~\cite{text}

\url{http://www.google.co.jp/}

\begin{thebibliography}{9}
    \bibitem{text} hage ojisan, hogeの由来, hage hage出版.
\end{thebibliography}

\end{document}

これをビルドすると,以下(画質はご容赦を):

image.png

なんかフォントが気に入りませんね.
このスクショの画質が低いのを抜きにしても,何かが違う
ゆくゆくは,フォント回りも,こちらなどを参考にして変更したいですね.

また,hyperrefbookmarkurlxurlに関して有用そうな記事をいくつか貼っておきます.
hyperref利用時の2つの注意点 - 0番染色体
【基本】LuaLaTeXのPDFを便利にしよう ~hyperrefパッケージほか~ - LuaLaTex Lab

結論

フルインストールしよう.

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?