【ptex2pdf】VSCodeでLaTeXをコンパイルしても目次が表示されない...
はじめに
ハマったのでメモ.
VSCodeでptex2pdfを用いたら, 目次がうまく表示されなくて色々調べました.
はじめは, AtomからVSCodeに乗り移ったばっかりだったから, VSCode側に問題があるのかと思い, その文脈で調べました.
結論からいうと, 目次を出力するには LaTeX を最低2回コンパイルする必要があるという事実を忘れていて, 1回しかコンパイルしていなかったことが原因でした.
1回しかコンパイルしないようなVSCodeの設定にしていたのがミスでした.
VSCodeに問題があるのではなく, 自分に問題があっただけでした.
いやまあ, LaTeXの設定とか久しぶりにやったからさ, 多少はね?(言い訳)
とりあえず, 記していきます.
構成は以下のよう
それではいきましょう
環境
OS: macOS High Sierra Ver10.13.6 エディタ(IDE): VSCode, バージョン: 1.40.0
問題
以下のコードをptex2pdf
でコンパイルしても図1のようになる.
\documentclass[11pt,dvipdfmx]{jarticle} (細かい設定略) \begin{document} \begin{center} \vspace*{6mm} {\Large タイトル}\\ \vspace*{4mm} 学籍番号 **-*******\\ 氏名 **** **** \end{center} \tableofcontents % \newpage \section{hoge} \subsection{hogehoge} hogehogehoge \section{fuga} \end{document}
コンパイルの方法
なお, コンパイルの方法は,
Command
+Shift
+P
LaTeX Workshop: Build with recipe
を選択ptex2pdf
を選択
という順で行う.
この時点で, LaTeXに関わるVSCodeの設定(setting.json
)は以下のよう.
"latex-workshop.latex.tools": [ { "name": "ptex2pdf (platex)", "command": "ptex2pdf", "args": [ "-l", "-ot", "-kanji=utf8 -synctex=1", "%DOCFILE%.tex" ] }, { "name": "latexmk", "command": "latexmk", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "-pdf", "%DOC%" ] }, ], { "name": "ptex2pdf", "tools": [ "ptex2pdf (platex)" ] } ], "latex-workshop.synctex.afterBuild.enabled": true, //コンパイル時に PDF をカーソル位置で表示 "latex-workshop.view.pdf.viewer": "tab", //pdfの表示。"tab"でタブ表示 "latex-workshop.chktex.enabled": true, // 構文チェック "latex-workshop.latex.autoClean.run": "onBuilt", //補助ファイルの自動削除 "latex-workshop.latex.autoBuild.run": "never", //"onFileChange",
原因
対処法
2回コンパイルすればいい. つまり,
{ "name": "ptex2pdf * 2", "tools": [ "ptex2pdf (platex)", "ptex2pdf (platex)" ] }
というようなコンパイル設定をVSCodeのsetting.json
に, 以下のように変更する.
"latex-workshop.latex.tools": [ { "name": "ptex2pdf (platex)", "command": "ptex2pdf", "args": [ "-l", "-ot", "-kanji=utf8 -synctex=1", "%DOCFILE%.tex" ] }, { "name": "latexmk", "command": "latexmk", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "-pdf", "%DOC%" ] }, ], { "name": "ptex2pdf", "tools": [ "ptex2pdf (platex)" ] }, // ここを付け足した { "name": "ptex2pdf * 2", "tools": [ "ptex2pdf (platex)", "ptex2pdf (platex)" ] } ], "latex-workshop.synctex.afterBuild.enabled": true, //コンパイル時に PDF をカーソル位置で表示 "latex-workshop.view.pdf.viewer": "tab", //pdfの表示。"tab"でタブ表示 "latex-workshop.chktex.enabled": true, // 構文チェック "latex-workshop.latex.autoClean.run": "onBuilt", //補助ファイルの自動削除 "latex-workshop.latex.autoBuild.run": "never", //"onFileChange",
そうして, 以下のようにコンパイルの手順を変更する.
Command
+Shift
+P
LaTeX Workshop: Build with recipe
を選択ptex2pdf * 2
を選択
以上で解決して, 晴れて, 図2のように目次が正常に出るようになった.
やったねたえちゃん!!
最後に
これを解決するまで, 2-3時間かかりました...
俺の睡眠時間を返せ....
久しぶりに備忘録っぽい使い方ができて満足.
というわけで, 夜も更けまくっているので, もう寝ます.
さいなら.
追記
bibtexも含めてコンパイルするならさらに回数が必要らしいということを知りました.
というわけで, bibtexを含むLaTeXコードのコンパイルは以下のようにします.
VSCodeの設定(setting.json
)の変更
"latex-workshop.latex.tools": [ { "name": "ptex2pdf (platex)", "command": "ptex2pdf", "args": [ "-l", "-ot", "-kanji=utf8 -synctex=1", "%DOCFILE%.tex" ] }, { "name": "latexmk", "command": "latexmk", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "-pdf", "%DOC%" ] }, // ここを追加 { "command": "pbibtex", "args": [ "%DOCFILE%", "-kanji=utf8" ], "name": "pbibtex" }, ], "latex-workshop.latex.recipes": [ { "name": "latexmk", "tools": [ "latexmk" ] }, { "name": "ptex2pdf", "tools": [ "ptex2pdf (platex)" ] }, { "name": "ptex2pdf * 2", "tools": [ "ptex2pdf (platex)", "ptex2pdf (platex)" ] }, // ここも追加 { "name": "toolchain", "tools": [ "ptex2pdf (platex)", "pbibtex", "ptex2pdf (platex)", "ptex2pdf (platex)" ] }
コンパイル実行手順
Command
+Shift
+P
LaTeX Workshop: Build with recipe
を選択toolchain
を選択
以上!これで本当に終わり!バイバイ!!