HarukaのNote

Linuxやプログラミング関係+旅行等の記録帳

卒論・修論のために Ubuntu で upLaTex + VSCode をセットアップする

はじめに

UbuntuOpenSUSE Leap などの Linux で upLaTex の執筆環境を整えたいと思います。
upLaTexとは、platextex を ascii が開発した日本語用の tex です。upLaTex は Unicode に対応させた版です。
latexmk は本来複数のコマンドや bibtex のために uplatex を重ねがけするのをレシピとして実行できます。
.latexmkrc ファイルを各プロジェクトごとに配置することで、platex 等の指定があるときもコンパイル環境の切り替えが容易になります。

texlive のインストール

TeX Live - TeX Wikiの通りに、tar.gz からインストールします。
こちらのほうが、最新の Latex を使うことができます。
インストール時に指定するミラーはJaist等のミラーの方が早い印象でした。

$ wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz 

$ tar xvzf install-tl-unx.tar.gz

$ cd install-tl-2*

$ sudo ./install-tl -no-gui -repository http://ftp.jaist.ac.jp/pub/CTAN/systems/texlive/tlnet/
...
Actions:
 <I> start installation to hard disk
 <H> help
 <Q> quit
Enter command: I


ABORTED INSTALLATION FOUND: installation.profile
Do you want to continue with the exact same settings as before (y/N): y

パスを追加します。

$ sudo /usr/local/texlive/????/bin/*/tlmgr path add

texlive をアップデートします。

$ sudo tlmgr update --self --all

Sampleの準備

以下のリポジトリはuplatexを使ったサンプルです。
zipをダウンロード、もしくは git clone します。

$ git clone https://github.com/haruka0000/upLaTex-Abstract-Sample.git
$ cd upLaTex-Abstract-Sample/

https://github.com/haruka0000/upLaTex-Abstract-Sample/archive/refs/heads/main.zip
github.com

.latexmkrc を準備

以下の内容で、.latexmkrcを準備します。
ダウンロードしたリポジトリに既に含まれていますが、ピリオドから始まる隠しファイルのため、有るか確認してみてください。
VSCodeであれば、隠しファイルも確認できると思います。
$latexplatex 等の他の latex に切り替えることで、コンパイラを変えることができます。

#!/usr/bin/env perl
$latex                       = 'uplatex -synctex=1 -halt-on-error -interaction=nonstopmode -file-line-error %O %S';
$latex_silent                = 'uplatex -synctex=1 -halt-on-error -interaction=nonstopmode -file-line-error %O %S';
$max_repeat                  = 6;

$bibtex                      = 'upbibtex';

$dvipdf                      = 'dvipdfmx %O -o %D %S';
$pdf_mode                    = 3;
$pvc_view_file_via_temporary = 0;

VSCodeの準備

VSCodeLaTexコンパイルの拡張を追加します。

拡張機能の追加

以下の拡張機能を追加します。

f:id:krulcifer-einfolk-fafnir:20211125220808p:plain
vscode extension

settings.jsonの編集

latexmk を使うための設定をvscodeの設定に追記します。

{
    "latex-workshop.chktex.enabled": true,
    // ビルドコマンド
    "latex-workshop.latex.tools": [
        {
            "name": "latexmk",
            "command": "latexmk",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-outdir=%OUTDIR%",
                "%DOC%"
            ],
            "env": {}
        }
    ],
    "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", 
        "_minted*", "*.nav", "*.snm", "*.vrb", 
    ],
    // 以下のフォルダにPDF等を出力
    "latex-workshop.latex.outDir": "%DIR%/build",
    // Viewer関係
    "latex-workshop.view.pdf.viewer": "tab",
    "latex-workshop.view.pdf.zoom": "page-width",

    "latex-workshop.synctex.afterBuild.enabled": true,
}

実行

変更し、保存すると自動でコンパイルされると思います。
よく使うのは以下のコマンドです。

Ctrl + Alt + b コンパイル
Ctrl + Alt + v PDFをタブで開く