Overleafとかよくわからないので
macOS上でローカルでLaTeXを書けるようにする
macOSに乗り換えて間もない人が書きました
多分1からの解説になりますよん
動作環境
- Computer: MacBook Air 13-inch, M3, 2024
- OS: macOS Sonoma 14.5
- Homebrew: 4.3.2
- Mac TeX: 2024.0312
手順
以下の通りに進めてください
すでにやっている/分かっているところは飛ばしてOKです
-2. LaTeXって何
-1. ターミナルの起動
WindowsでいうコマンドプロンプトないしPower Shell.
⌘ + スペース
でSpotlight検索を呼び出します
ターミナル
(terminal
)と打てば候補にターミナルアプリケーションが出てくるので開いてください
Launchpadの中を探してもあります
0. 隠しフォルダの表示設定
Finderが選択された状態で(デスクトップ上,あるいはなんか開いた状態のFinderウィンドウを選択),⌘ + Shift + .
を押すと,半透明で隠しフォルダが出てきます.もう一回押すと消える
トラブル対応時とかに便利なので推奨
以降の解説はこの設定を前提とします
1. Homebrewのインストール
HomebrewとはmacOS(とUnix)のパッケージマネジメントソフトですね
公式サイトに載ってるコマンドをターミナルに打てばOK
典型的にはこれです↓
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
パスを通す
インストール後,英語でパスを通せ🤪🤪と言われるので,指示に従ってコマンドを打ってね
典型的には以下の通りだと思います
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/(ユーザ名)/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
ターミナルが何も処理していないことを確認したのち,⌘ + Q
で終了させて,再び起動させてください
どうしてもうまくいかないなら,/Users/(ユーザ名)/.zshrc
を開いていじいじしてね
PATH=と書いている行(複数表に見えていても実は1行)の最初に以下を書く
/opt/homebrew/bin:
すると,.zshrc
は以下のようになります.
ごちゃごちゃ
PATH=/opt/homebrew/bin:ごちゃごちゃ
(ここにHomebrew本体の他,Homebrewでインストールするソフトウェア(のエイリアス)が入ります.最初に書かないとvimなどは標準で入っているものが優先されてしまいます)
ターミナルの終了,再起動も忘れずに
ターミナルでbrew -v
と打った時に,zsh: command not found: brew
とか言われたらパスがうまく通ってないよ.よく見直ししてください.
.zshrc内にPATH=が二つあったりするとうまくいきません.一つにまとめてください
なんかのソフトのせいでそのようになっていることがあります
brew -v
でHomebrew 4.3.2
みたいになったら成功です.次に進む
2. MacTeXのインストール
MacTeXなるものをHomebrewでインストールします.TeX LiveというローカルでTeXを動かすやつをmacOS用にチューンナップしたみたいなやつです.
ターミナルで以下を打つ
brew install --cask mactex-no-gui
MacTeXは公式のインストール方法だと環境にファイルをまき散らかすらしいが,Homebrewを用いれば安全にインストールできるらしい
no gui版じゃないとApplicationsにいらんGUIアプリケーションがごちゃごちゃ入ってきちゃいます
TeX Liveのアップデート
MacTeX内のTeX Liveをアップデートするよ
sudoなのでパスワードを聞かれたらmacのパスワードを打ちます
sudo tlmgr update --self --all
sudo tlmgr paper a4
時間がかかるので待ちます.
zsh: command not found: tlmgr
と言われたら,ターミナルを再起動するか,以下を打ちます
2024
の部分など,TeX Liveのバージョンによって違うと思うので,本当に以下の場所にtlmgrがあるかFinderで確認しに行ったほうがいいよ
sudo /usr/local/texlive/2024/bin/universal-darwin/tlmgr path add
3. VSCodeの準備
ここからVSCodeをダウンロード
ちなみにVSCode = Visual Studio Codeね.Microsoftが作ったエディタです
LaTeX Workshopなる拡張機能をインストールしてください.
以下はインストール済みの画像
ここまで終わったら,拡張機能の設定に入ります
拡張機能の設定
左下の⚙️ボタンを押し,設定をクリックします
こんなの開くので,右上のをクリックしてください.settings.jsonが開きます
{
[ココ]
ごちゃごちゃ
}
多分上のようになっているので,[ココ]
ってとこに以下を書きます
なお,こちらの記事を参考にしています
// ------------ LaTeX ここから -----------------
// 設定: LaTeX Workshop
// LaTeX Workshop ではビルド設定を「Tool」と「Recipe」という2つで考える
// Tool: 実行される1つのコマンド。コマンド (command) と引数 (args) で構成される
// Recipe: Tool の組み合わせを定義する。Tool の組み合わせ (tools) で構成される。
// tools の中で利用される Tool は "latex-workshop.latex.tools" で定義されている必要がある。
"latex-workshop.latex.recipes": [
{
//論文用レシピ
"name": "platex",
"tools": [
"platex",
// "pbibtex",
"platex",
// "mendex",
"platex",
"dvipdfmx",
"move",
"delete"
]
}
,
{
//要旨用レシピ
"name": "preliminary",
"tools": [
"platex",
// "pbibtex",
"platex",
// "mendex",
"platex",
"dvipdfmx",
"move",
"delete"
]
}
],
"latex-workshop.latex.tools": [
{
"name": "platex",
"command": "platex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-kanji=utf8",
"-shell-escape",
"%DOCFILE%.tex"
]
},
{
"name": "dvipdfmx",
"command": "dvipdfmx",
"args": [
"%DOCFILE%.dvi"
]
},
{
"name": "pbibtex",
"command": "pbibtex",
"args": [
"-kanji=utf8",
"%DOCFILE%"
]
},
{
"name":"move",
"command":"cp",
"args":[
"%DOCFILE%.pdf",
"out"
]
},
{
"name":"mendex",
"command":"mendex",
"args":[
"-r",
"-c",
"-g",
"-s",
"dot.ist",
"-p",
"any",
"%DOCFILE%.idx"
]
},
{
"name":"delete",
"command":"rm",
"args":[
"-f",
"%DOCFILE%.aux",
"%DOCFILE%.bbl",
"%DOCFILE%.blg",
"%DOCFILE%.dvi",
"%DOCFILE%.idx",
"%DOCFILE%.ilg",
"%DOCFILE%.ind",
"%DOCFILE%.lof",
"%DOCFILE%.log",
"%DOCFILE%.lot",
"%DOCFILE%.toc",
"%DOCFILE%.synctex.gz",
"%DOCFILE%.pdf"
]
}
],
// latex-workshop.latex.magic.args: マジックコメント付きの LaTeX ドキュメントをビルドする設定
// '%!TEX' で始まる行はマジックコメントと呼ばれ、LaTeX のビルド時にビルドプログラムに解釈され、
// プログラムの挙動を制御する事ができる。
// 参考リンク: https://blog.miz-ar.info/2016/11/magic-comments-in-tex/
"latex-workshop.latex.magic.args": [
"-f", "-gg", "-pv", "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOC%"
],
// latex-workshop.latex.clean.fileTypes: クリーンアップ時に削除されるファイルの拡張子
// LaTeX 文書はビルド時に一時ファイルとしていくつかのファイルを生成するが、最終的に必要となるのは
// PDF ファイルのみである場合などが多い。また、LaTeX のビルド時に失敗した場合、失敗時に生成された
// 一時ファイルの影響で、修正後のビルドに失敗してしまう事がよくある。そのため、一時的なファイルを
// 削除する機能 (クリーンアップ) が LaTeX Workshop には備わっている。
"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",
// for Beamer files
"_minted*", "*.nav", "*.snm", "*.vrb",
],
// latex-workshop.latex.autoClean.run: ビルド失敗時に一時ファイルのクリーンアップを行うかどうか
// 上記説明にもあったように、ビルド失敗時に生成された一時ファイルが悪影響を及ぼす事があるため、自動で
// クリーンアップがかかるようにしておく。
"latex-workshop.latex.autoClean.run": "onBuilt",
// latex-workshop.view.pdf.viewer: PDF ビューアの開き方
// VSCode 自体には PDF ファイルを閲覧する機能が備わっていないが、
// LaTeX Workshop にはその機能が備わっている。
// "tab" オプションを指定すると、今開いているエディタを左右に分割し、右側に生成されたPDFを表示するようにしてくれる
// この PDF ビュアーは LaTeX のビルドによって更新されると同期して内容を更新してくれる。
"latex-workshop.view.pdf.viewer": "tab",
// latex-workshop.latex.autoBuild.run: .tex ファイルの保存時に自動的にビルドを行うかどうか
// LaTeX ファイルは .tex ファイルを変更後にビルドしないと、PDF ファイル上に変更結果が反映されないため、
// .tex ファイルの保存と同時に自動的にビルドを実行する設定があるが、文書が大きくなるに連れてビルドにも
// 時間がかかってしまい、ビルドプログラムの負荷がエディタに影響するため、無効化しておく。
"latex-workshop.latex.autoBuild.run": "never",
"[tex]": {
// スニペット補完中にも補完を使えるようにする
"editor.suggest.snippetsPreventQuickSuggestions": false,
// インデント幅を2にする
"editor.tabSize": 2
},
"[latex]": {
// スニペット補完中にも補完を使えるようにする
"editor.suggest.snippetsPreventQuickSuggestions": false,
// インデント幅を2にする
"editor.tabSize": 2
},
"[bibtex]": {
// インデント幅を2にする
"editor.tabSize": 2
},
// 使用パッケージのコマンドや環境の補完を有効にする
"latex-workshop.intellisense.package.enabled": true,
// 生成ファイルを "out" ディレクトリに吐き出す
"latex-workshop.latex.outDir": "out",
"editor.unicodeHighlight.allowedCharacters": {
",": true,
".": true
},
//レシピの設定
"latex-workshop.latex.recipe.default":"lastUsed",
pbibtexやmendexを使う場合は,適宜レシピ("latex-workshop.latex.recipes"
)中のコメントアウトをはずしてください
pbibtexやmendexの使い方は以下の記事がとてもわかりやすいです
あとは,てきとーなTeXファイル作って,⌘ + S
で保存して⌘ + ⌥ + B
でビルドすれば勝手にコンパイルされてout/***.pdfが出てくるよ
\documentclass[dvipdfmx]{jsarticle}
\title{タイトル}
\begin{document}
\maketitle
\section{セクション}
\LaTeX だよ〜ん
\end{document}
コンパイル後,⌘ + ⌥ + V
でTeXファイルとpdfファイルを左右に表示すると,以降コンパイル時に変更内容がすぐに確認できて便利だよ.
失敗してやり直す時
MacTeXアンインストール
以下のコマンドでMacTeXを完全にアンインストールできるようです
実行前に,ターミナルにディスクフルアクセスを許可しているか確認してね(設定->プライバシー->ディスクフルアクセス)
brew uninstall --zap mactex-no-gui
Homebrewアンインストール
公式サイト参照
以下のコマンドを打てばアンインストールできます.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
終わりに
詰まりまくって大変でしたねこれ
参考文献