前提
- pdfファイルが欲しい
- VSCode上で完結させる
- CLIはなるべく使いたくない
- latexmkで以下を一括で起爆する
- uplatex
- upbibtex
- biber
- upmendex
- dvipdfmx
- 1回のコマンド内で済む
- gitでバージョン管理したい
- 致命的なミスを回避したいので
- macOSでスマン
下準備
gitインスコ
$ brew install git
$ echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bashrc
$ source ~/.bashrc
homebrew入れてない人は適宜に導入してくれたほうが良い
シェルのパスも通しておこうな(VSCodeから叩きたいので)
VSCodeインスコ
brew install --cask visual-studio-code
TeXShop on Macインスコ
ここから.pkg
を落とす
適当に全部インスコする
こっちはなんとなくだがhomebrewはおすすめしない
TeXの管理にhomebrewを使うのは直感的ではなさそう
設定
GUIアプリケーション
TeXShop
実質的に不要(使わないので)
TeX Live Utility
適宜にライブラリをアプデしておこう
ちなみに年度バージョン切り替えはこれじゃないと面倒
git
実質的に不要(GitHub使わないなら)
VSCode
latex関係
- 拡張機能の欄を開いて
LaTeX
で検索 - 以下をインストール
LaTeX Workshop
LaTeX Utilities
-
LaTeX Workshop
の「拡張機能の設定」を開く- 右上の「設定(json)を開く」を選択
-
settings.json
に以下をコピペ
settings.json
{
"files.associations": {
"*.sty": "latex",
"*.cls": "latex"
},
"latex-workshop.latex.tools": [{
"name": "latexmk",
"command": "latexmk",
"args": [
"-e","$latex=q/uplatex %O -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 -z 0/",
"-norc",
"-gg",
"-pdfdvi",
"%DOC%"
]
}],
"latex-workshop.view.pdf.viewer": "tab",
"latex-workshop.chktex.enabled": true,
"latex-workshop.chktex.delay": 0,
"latex-workshop.latex.autoBuild.run": "never",
"latex-workshop.latex.watch.delay": 0
}
- 設定内容イメージ
- ビルドにlatexmkを指定する
- uplatexとdvipdfmxの組み合わせを想定
- 最終ビルドでは
"$dvipdf=q/dvipdfmx %O -o %D %S -z 0/"
を"$dvipdf=q/dvipdfmx %O -o %D %S -z 3/"
にしておくとファイル容量がむちゃくちゃ減少 - これを雛形からやろなんて思たらクソダルいしコピペした方がええでマジ
- セーブ時の自動ビルドを無効化する
- pdfビューワをtabで開く
- chktex(エラー検出ソフト,デフォルトでTeXLiveに入ってる)をオンにする
- スタイルファイル(スクリプト置き場)
.sty
とクラスファイル(雛形設定置き場).cls
をlatexファイルとして扱う
- ビルドにlatexmkを指定する
git関係
- 拡張機能の欄を開いて
@popular git
で検索 - 以下をインストール
Git History
GitLens
Git Graph
Project Manager
gitignore
Git Blame
- とりあえずこれででいいと思います…
使い方
- ルートフォルダを開き.
tex
ファイル,.sty
ファイル,.cls
ファイルを用意する -
.bib
ファイルも必要なら - 画像とかを管理するフォルダは別に作った方がよさそう
-
.tex
ファイル,.sty
ファイル,.cls
ファイルを開いて編集する - 様式を満たした上で右上の再生ボタンを押す
- latexmkなので1回で完全にビルドされる
- 「View LaTeX PDF File」するとpdfが開く
- でも動作が重いので別のビューワを持ってきた方がいいよ
- エラー吐いたらコンパイラのログを読もう
- ggれば高確率でTeX Wikiのどこかにぶち当たる
- ワークスペースを保存しておく
- 次回以降にVSCodeを立ち上げると勝手にセッティングしてくれるので
- gitが用意できているなら
- 初回は拡張機能から
git init
- 画像とかあると時間がかかる,気を付けてね
- 更新したらステージング,気が済んだらコミット
- ブランチ,マージ,スタッシュ…などはそれ専用の解説記事を見てくれた方がいいです
- 初回は拡張機能から
- 日本語の名前を使ってるフォルダかファイルがあると新規ファイルの追加でエラー吐く(ステージングできなくなる)
- どうやらVSCode拡張機能gitのステージングは絶対パスを使ってスクリプトを打ってるらしく,そのどこかに日本語が入っているとgitがエラーを吐く
- ターミナル開いて
git add -A
するとできる場合がある- こっちは相対パスで動いてるくさい(
../a/b/c
みたいなヤツか?) - ルートフォルダ含むプロジェクト内で日本語を使わなければこれで解決しそう
- こっちは相対パスで動いてるくさい(
- Git Graph
- 更新履歴をツリーで見せてくれる
- Git History
- 更新履歴を細かく見せてくれる
- GitLens
- コミット当時のファイルと現在編集中のファイルを比較してくれる
- Git Blame
- GitLensのコンパクト版
初回でルートフォルダを選択し作業スペースとして開いたらgit系拡張機能が勝手に$HOME
をルートフォルダにして大量にファイルを漁り始める件について
- 選択したフォルダの中に
.git
がないと勝手にそうなっちゃうらしい- 自動
git init
はされないっぽい -
settings.json
に"git.autoRepositoryDetection": "subFolders"
を入れればこの動作自体は止まるっぽい
- 自動
- ちゃんと
git init
で.git
を作ってからブラウザやタブを再読み込みすると治るっぽい- シェルはちゃんと移動しているので安心してくれ
このやり方の利点
gitが有能
- 自分の進捗が時刻や変更箇所と共に記録されるので,単純に進度管理にも便利だと思います
- 取り返しのつかないミスをした時のリカバリーにもなると思います
- パターンを分けながら制作する時にも役に立つと思います
VSCodeが有能
- 圧倒的補完機能
- 圧倒的検索機能
- 圧倒的拡張機能
- 圧倒的GUI