目的
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の場合は初めからフルインストールしたほうがよさそうですね.
例
\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}
これをビルドすると,以下(画質はご容赦を):
なんかフォントが気に入りませんね.
このスクショの画質が低いのを抜きにしても,何かが違う.
ゆくゆくは,フォント回りも,こちらなどを参考にして変更したいですね.
また,hyperref
やbookmark
,url
やxurl
に関して有用そうな記事をいくつか貼っておきます.
hyperref利用時の2つの注意点 - 0番染色体
【基本】LuaLaTeXのPDFを便利にしよう ~hyperrefパッケージほか~ - LuaLaTex Lab
結論
フルインストールしよう.