はじめに
研究者はやはりlatexだろう。最近macbookを買ったので、これにlatexをインストールすることにした。
latexエンジンは最近流行りらしいlualatexで行くことにした。
すぐにコンパイルが通るかと思いきやパスで色々苦労したので、備忘録として共有させていただく。
環境
- MacBook M3 Pro (macOS Sonoma)
- Texlive 2024 (mactexを使用)
- Visual Studio Code
- 拡張機能: LatexWorkshop
- Terminal or Warp(どっちも本質は変わらないと思います、おそらく)
前提
LaTeXは知っているor使ったことがある前提で進めさせていただきます。もし知らない場合は他の記事を当たってください。
参考: TeX Wiki、その他入門用サイトや書籍
Homebrew、VSCodeはインストール済みとします。こちらもインストールされていない場合は他を参考にしてインストールしてください。特に難しいところはありません。
mactexのインストール
TeX WikiのmacOS向けの章を参考に行います。
Homebrewで以下のコマンドの通りインストールします。
$ brew install --cask mactex-no-gui
僕はGUIツールがいらないので-no-guiオプションをつけました。
mactexをおすすめしない理由によると、GhostScriptがいろんな場所にインストールされる使用だったみたいです。最近はCaskを使えばそんなことはないようでしたが、調査が甘く危うく環境を汚すところでした。
また、通す必要があるパスもUnix系のTexLiveと少々異なるみたいです。
パス
Linuxと違い、zshではexport
コマンドをシェルに打つだけでは恒久的に実行されないみたいです(シェルとかを再起動するとパスが通らなくなっている)。
なので、~/.zshrc
に以下のことを書き込む必要があります。
export PATH=$PATH:/usr/local/texlive/2024/bin/universal-darwin
export PATH=$PATH:/Library/TeX/texbin
ここで引っ掛かっていたのですが、2行目のものも書いておく必要があります。
2行目のやつはUnix系やLinuxでは通さなくていいはずですが、mactexの場合は通す必要があるそうです。
実はmactexをおすすめしない理由に書いてありました。
そのあとはsource
してあげればいいです。
$ source .zshrc
これでecho $PATH
を実行し、exportで追加したやつらが出力に含まれていればOKです。
platex
やlualatex
を実行してやると動作すると思います。
VScodeの設定
LatexWorkshopはインストールされている前提です。
インストールは簡単なので割愛します。
setting.json
を開いて、以下を追記します。
{
"latex-workshop.view.pdf.viewer": "tab",
"latex-workshop.view.pdf.invert": 0,
"latex-workshop.latex.autoBuild.run": "onSave",
"latex-workshop.latex.autoBuild.cleanAndRetry.enabled": true,
"latex-workshop.latex.tools": [
{
"name": "latexmk",
"command": "latexmk",
"args": ["-r", "%WORKSPACE_FOLDER%/.latexmkrc", "-cd", "%DOC_EXT%"]
}
],
"latex-workshop.latex.recipes": [
{
"name": "lualatex",
"tools": [
"latexmk"
]
}
],
"files.exclude": {
"**/.git": true,
"**/.svn": true,
"**/.hg": true,
"**/CVS": true,
"**/.DS_Store": true,
"**/Thumbs.db": true,
"**/*.dvi": true,
"**/*.aux": true,
"**/*.fls": true,
"**/*.atfi": true,
"**/*.nav": true,
"**/*.snm": true,
"**/*.toc": true,
"**/*.asv": true,
"**/*.stderr": true,
"**/*.stdout": true,
"**/_minted-*/": true,
"**/_markdown_*/": true,
"**/pythontex-files-*/": true,
"**/*.pytxcode": true,
"**/*.markdown.in": true,
"**/*.markdown.lua": true,
"**/*.fdb_latexmk": true,
"**/*.synctex.gz": true,
"**/*.synctex(busy)": true,
"**/__latexindent_temp.tex": true,
"**/*.pyg": true,
"**/*.log": true,
"**/*.out": true,
"**/*.bbl": true,
"**/*.blg": true,
"**/*.bcf": true,
"**/*-blx.bib": true,
"**/*.run.xml": true,
"**/*.texmfcache": true,
"**/svg-inkscape*": true
},
}
これはこちらの記事をそのまま使わせていただきました。
一時ファイルをVSCodeからは隠し、実態としては残しておく考えにも賛同したためこのまま残してあります。
.latexmkrcの作成
これもこちらの記事をそのまま使わせていただいております。
latexで作業したいディレクトリ(vscodeで開くルートディレクトリ)に.latexmkrcファイルを作成してください。
テキストエディタでそれを開き、以下のコードをコピペしましょう。
#!/usr/bin/env perl
# http://mirrors.ctan.org/support/latexmk/latexmk.txt
$lualatex = 'lualatex --shell-escape --halt-on-error';
$lualatex_silent = 'lualatex --shell-escape --halt-on-error --interaction=batchmode';
$max_repeat = 10;
$pdf_mode = 4; # lualatexは4
テストファイルのコンパイル
以下のファイルを作成してvscode上で保存してください
\documentclass{ltjsarticle}
\begin{document}
\section{はじめに}
Hello \LaTeX !
\end{document}
基本的に普通のlatexと変わらないですが、lualatexではltjsarticleを使う必要があります。
原ノ味フォントがデフォルトで使えるので日本語でも困らないと思います。ヒラギノ使いたい時はまたまたTex Wikiをみてください。
Well Done!
記事を書いていて思いましたが、普通にmactexをアンインストールして通常texliveをインストーラ形式で入れればよかったのではないか。