WSL + TeXLive + VSCodeのTeX環境構築
WSLを利用したTeX環境の記事は他にも星の数ほどあるが,WSLにリモート接続しない限りなくシンプルな手法はあまり見てない気がするので,共有用にメモのように残しておく.
(自分も友人から聞いたやつだけど)
WSLを使うメリット
- 多分コンパイル速い
- TeXLiveのアップデートが可能
また,今回の方法では通常通りWindowsの好きなディレクトリで実行できる.
WSL上にファイルを置く必要はまったくない.
また,なんとなく時代はunicodeな気がするので,platex
ではなくuplatex
を使っていく.
余談だが,Win版はTeXLiveのアップデートができない…
以下のWebサイトのWindowsの扱いを一度は見てほしい
Windows
There is no comparable upgrade procedure for Windows. Doing a new installation is necessary.
WSL側のセットアップ
WSLのインストール
wsl --install
ここでWSL用のパスワードを決める.
Linuxでは,パスワード入力時にキー入力しても,何も表示されてないが,入力はできているので安心してほしい.(●
や*
などでの伏せ字表示サービスはない)
また,Backspace
をおせばちゃんと1字ずつ消されていく.
このパスワードはパッケージのインストール時などにsudo
するときに必要なので,忘れないようにしておく.
TeXLiveのインストール
以下のお好きな方法で,TeXLiveをインストールする.
-
apt
でインストール - 手動でインストール
apt
で入れる場合
sudo apt update
sudo apt install texlive-full
とするだけで良い.
マニュアルインストールの場合
以下のコマンドを実行する.
perlのインストーラをダウンロードして実行する感じ.
引用元:texlive2020(basic)のインストール on WSL - 晴耕雨読
sudo apt update
sudo apt install build-essential
sudo mkdir /usr/local/texlive
sudo chown -R $(whoami):$(whoami) /usr/local/
wget http://ftp.jaist.ac.jp/pub/CTAN/systems/texlive/tlnet/install-tl.zip
unzip install-tl.zip
cd install-tl-*
perl install-tl
ここからはいろいろ聞かれるので,お好みで対応する.
個人的にはj [ ] custom selection of collections
を選択し,必要そうなものを適当にセレクトすることが多い.
例えば,VSCodeを使うので,TeXworks editor
などはいらない子となる.
そして,o
を選択しオプションから,シンボリックリンクを一応作っておくのでl
を選択,Enter
を3回くらいおす.(デフォルトパスで良い.)
ここまで設定したら,メインメニューでi
を入力し,インストールをスタートさせる.
どちらの方法にせよ,かなり時間がかかるので放置する.
失敗することもあるが,めげずに再チャレンジすると,いつかは勝つことができる.
tex --version
等の入力で,インストール完了を確認できる.
latexmk のコンフィグファイルを生成する
latexmkという便利ツールの設定ファイル,.latexmkrc
を作っておく.
本来uplatex
やらdvip...
みたいなコマンドをせっせと何回か打つことでコンパイルするが,
やってられないので,一発でできるようにしてくれるツールlatexmk
を使う.
このツールの設定ファイルはLinuxのホームディレクトリ~/
におく.
cd
nano .latexmkrc
開いたエディタに以下のような設定を書き込む.
以下の例はuplatex
を使用する.
#!/usr/bin/env perl
$pdf_mode = 3;
$latex = 'uplatex -synctex=1 -kanji=utf8 -no-guess-input-enc -halt-on-error -interaction=nonstopmode -file-line-error --shell-escape';
$latex_silent = 'uplatex -kanji=utf8 -no-guess-input-enc -halt-on-error -interaction=batchmode --shell-escape';
$bibtex = 'upbibtex';
$biber = 'biber --bblencoding=utf8 -u -U --output_safechars %O %S';
$dvipdf = 'dvipdfmx %O -o %D %S';
$makeindex = 'upmendex %O -o %D %S';
# カレントディレクトリ変更
$do_cd = 1;
# 中間ファイルに隠しておく
$emulate_aux = 1;
$aux_dir = ".tex_temp";
Ctrl
+ S
で保存,Ctrl
+ X
で閉じて,WSLのターミナルに戻る.
VSCode側のセットアップ
LaTeX Workshopのインストール
LaTeX Workshop なる拡張機能がこの上なく便利なので,とにかくいれる.
サイドバーの拡張機能タブからインストール.
setting.jsonから設定
Ctrl
+ Shift
+ p
を押し,コマンドパレットを出し,setting
などと入力,「基本設定: ユーザ設定を開く(JSON)」からsetting.json
を開き,よしなに下記の様なものを追記
{
// 使用パッケージのコマンドや環境の補完を有効にする
"latex-workshop.intellisense.package.enabled": true,
"latex-workshop.view.pdf.viewer": "tab",
"latex-workshop.latex.build.clearLog.everyRecipeStep.enabled": false,
// 生成ファイルを "out" ディレクトリに吐き出すなら
"latex-workshop.latex.outDir": "out",
// ビルドのレシピ
"latex-workshop.latex.recipes": [
{
"name": "latexmk",
"tools": [
"latexmk"
]
},
],
// ビルドのツール
"latex-workshop.latex.tools": [
{
"name" : "latexmk",
"command" : "wsl.exe",
"args" : [
"latexmk",
// "-time"で実行時間を表示してくれる。
"-time",
"-outdir=%OUTDIR%",
"%DOCFILE%.tex"
]
},
]
}
テストファイルでテストする
てきとうにtest.tex
等のファイルをつくり,以下のようなテストファイルをつくる.
\documentclass[uplatex]{jsarticle}
\begin{document}
最大の難関を乗り越え,\LaTeX ユーザとなった.
\end{document}
Ctrl
+ S
で保存すると,勝手にコンパイルが走るはず…
out
ディレクトリを設定した場合はout
フォルダが作られ,pdfファイルが出力されるはず.
Discussion