#はじめに
論文を書くのに $\LaTeX$ を使いますが、エディタは TeXShop を使っていました。
多少不満があったところ、VSCode + LaTeX Workshop (+ latexmk) が良さそうだと思い乗り換えようとしたんですが、タイトルの通りつまずき、検索してもなかなか対処法が見つからず、試してみた方法が当たりだったのでメモしておきます。
ちなみに VSCode + LaTeX Workshop (+ latexmk) の環境構築自体で主に参考にしたサイトです。
VSCode で最高の LaTeX 環境を作る
VS Code で LaTeX の執筆環境を整える
この記事は環境構築がほぼ出来た後でうまくいっていない人を対象にしています。
#先に結論
メイン以外の .tex
ファイルをサブディレクトリに入れるようにする。
#環境
macOS Big Sur: 11.3.1
Visual Studio Code:1.56.2
LaTeX Workshop:8.18.0
#現象
次のようなディレクトリ構造と内容の文書があったとします。
(僕はlatexmkrc
をここに置いてますが、ホームディレクトリに置く方法とかもあるので今は無視して大丈夫です。latexmk
は内部で uplatex
というコマンドを実行する設定にしています。)
test-document/
├─ latexmkrc
├─ main.tex
└─ sub.tex
\documentclass[12pt,a4j]{ujreport}
\begin{document}
ここは main.tex です。
\input{sub}
\end{document}
ここは sub.tex です。
この状態で LaTeX Workshop に Build させると、
uplatex main.tex
だけでなく
uplatex sub.tex
まで実行してしまいます。
sub.tex
には\begin{document} \end{document}
が無いので当然エラーが出て、Build のたびに邪魔くさいです。
#対処法
メイン以外の .tex
ファイルをサブディレクトリに入れるようにします。
test-document/
├─ latexmkrc
├─ main.tex
└─ input/
└─ sub.tex
\documentclass[12pt,a4j]{ujreport}
\begin{document}
ここは main.tex です。
% ディレクトリ移動に応じて書き換える。
\input{input/sub}
\end{document}
ここは sub.tex です。
すると LaTeX Workshop の Build で
uplatex main.tex
のみが実行されるようになり、無駄なエラーが無くなります。
#おわりに
この方法に気付くまで数時間掛かってしまいました…
ディレクトリ構造を変えずに済む方法を知ってる方がいたら是非コメントで教えてください。
ちょっとつまずきましたが、VSCode + LaTeX Workshop の環境はかなり快適です。
まだの方はぜひ試してみては。
##追伸
\usepackage[draft]{graphicx}
<参考 [LaTexの使い方 (中級編)](https://www.library.osaka-u.ac.jp/doc/TA_LaTeX2.pdf)>
とすると画像を枠だけで表示するようになってコンパイルが爆速になります。
文章の編集中におすすめです。