Abstract
- TeX Workshopの設定変更
- レシピを追加(upLaTeX用), キーバインド追加
- recipeの優先順位を変え、自動タイプセットを無効化
- llmk用, jlreq用のsnippetを追加
TeX WorkshopでupLaTeXを使う.
私は\(\LaTeX \)の編集環境としてVS Code + TeX Workshopを使っていた。 この環境のセットアップではVSCode で最高の LaTeX 環境を作るを参考にした。1 当時は\(\LaTeX\)を触り始めたばかりだったのでupLaTeXやLuaTeXと言われても何のことかさっぱりわからなくなったが19か月経って(長い)やっと何なのかが分かり始めた。 Unicode版であるupLaTeXの方が上位互換ということでupLaTeXを使おうと思いプリアンブルで
\documentclass[uplatex]{jsarticle}
と書いたが、ビルドに失敗する! これはTeX Workshopが悪いんだろうなと思い、重い腰を上げてTeX Workshopの設定を更新した.
TeX Workshopを使いやすくする.
とりあえずDuckDuckGoでTeX Workshop upLaTeXとかで調べて出てきたこの記事を参考にVS Codeの設定を変えていった。 変えたポイントは
- LaTeXエディタとしての設定
- tools, recipesを追加
- llmk等は無し
- 自動タイプセットを無効化
- キーバインディングを追加
- snippetの追加
- figureとtable
元のsettings.json
とmergeする感じで変更した。
自動タイプセットを無効化した経緯は後述。
これでTeX Workshopは使いやすくなったがupLaTeXを使えるようになったわけではない
upLaTeX用のレシピを追加する
TeX Workshopはtoolにコマンドを設定し、そのtoolを組み合わせrecipeを設定、それを実行することでLaTeXのビルドを行う。 latexmkでupLaTeXを使うtoolの例はTeX Wikiにあったものを参考にした2。 あとは元の環境に合うように、不要なファイルの削除、出力ディレクトリの変更を行う。 完成したのは以下の通り(一部抜粋)
// ビルドのレシピ
"latex-workshop.latex.recipes": [
// uplatex(自作)
{
"name": "latexmk-uplatex",
"tools": [
"latexmk_uplatex"
]
},
],
// ビルドのレシピに使われるパーツ
"latex-workshop.latex.tools": [
// uplatex(source: https://texwiki.texjp.org/?Visual%20Studio%20Code%2FLaTeX)
// silent, 出力先変更
{
"name": "latexmk_uplatex",
"command": "latexmk",
"args": [
"-silent",
"-outdir=%OUTDIR%",
"-e",
"$latex=q/uplatex %O -kanji=utf8 -no-guess-input-enc -synctex=1 -interaction=nonstopmode -file-line-error %S/",
"-e",
"$bibtex=q/upbibtex %O %B/",
"-e",
"$biber=q/biber %O --bblencoding=utf8 -u -U --output_safechars %B/",
"-e",
"$makeindex=q/upmendex %O -o %D %S/",
"-e",
"$dvipdf=q/dvipdfmx %O -o %D %S/",
"-norc",
"-gg",
"-pdfdvi",
"%DOC%"
]
}
],
なぜ自動タイプセットを無効化したのか
しかしこのままではCtrl + Alt + B
ではupLaTeXでのビルドはできない(recipeは一番上の物が使われるので)。
しかし、毎度Ctrl + Alt + T
でrecipeを選択するのは面倒。
なのでlatexmk-uplatexを一番上に置くことにした。
すると今度は過去に作成したTeXファイルを開いたときにエラーが出てうるさい。
そこでビルドは手動にした3。
今後はビルドするときはCtrl + Shift + B
を押せばよい。
おまけ(llmk, jlreq、他)
今回の作業中にllmkやjlreqというものを知った。
llmk
ファイルの最初、または別のtomlファイルで使用するLaTeXの環境及びソースを指定することで、環境に依存しないようにしたもの。 しかし、TeX Workshopとの相性が悪く、エラーメッセージが正しく表示されない4らしいので、llmkをデフォルトにすることはやめた。 ただ、今後使うときが来てもいいようにllmk用の設定を入れたTeXファイルを作成していきたい5。
jlreq
jlreqとは日本語組版の要件(JLREQ)に準拠した\LaTeX の日本語文書クラス(jsclassesみたいなもの)。 カスタマイズ性が高いらしい(最近様々なTeX文書を見てきてスタイルを変えたいなと思っていた)。 どのみちいろいろ調べないとダメそう。
TikZ, tcolorbox, physics
最近興味があるパッケージ。 TikZはちょっとだけ触ってみた。 physicsは便利。
Comments
Reply to this post (mastodon) to leave a comment.
Reply