
Windows 10 x64 で VS Code を使用してLaTeX Workshop 8.7.2
LaTeX のドキュメントをコンパイルしようとしています。
私は3つの問題に直面しています:
VS Code のタブに表示される PDF ビューアーは、PDF ビューアーを開いた後にドキュメントを再度コンパイルしても更新されません。別のプログラムで PDF ファイルを開くと更新されていることが示されるため、コンパイル時に更新されないのは VS Code のビューアーだけです。
LaTeX Workshop: View LaTeX PDF file in VSCode tab
最新の、つまり現在のバージョンの PDF ファイルを表示するには、タブを閉じて再度開く必要があります ( )。コンパイルしたいファイルがあるフォルダの
tasks.json
サブフォルダにあるファイルには、行が含まれています。オンラインの複数の場所で見ます(.vscode
myfilename.tex
"myfilename.tex"
ここで受け入れられた答えのように またはここ) は、%DOC%.tex
またはであるべきであるようです%DOC%
(ただし、最初のリンクでは、 ファイルが参照されていますが、これは以下のようになります。つまり、完全に異なります。これをまたは のみsettings.json
でコンパイルすると、次のようになります。%DOC%.tex
%DOC%
This is pdfTeX, Version 3.14159265-2.6-1.40.20 (MiKTeX 2.9.7250 64-bit)
entering extended mode
! Emergency stop.
<*> %DOC%
! ==> Fatal error occurred, no output PDF file produced!
Transcript written on texput.log.
The terminal process terminated with exit code: 1
この問題は、同じフォルダ内の2つのファイルをコンパイルする場合.tex
、そのたびにファイル内のファイル名を手動で置き換える必要があることを意味しますtasks.json
。私が試したのも無駄でしたが、次のとおりです(https://github.com/James-Yu/LaTeX-Workshop/issues/384)"%DOCFILE%.tex"
そして"%DOCFILE%"
)。
- PDF ファイル内にインデックスも作成したいと思います。以前使用していた TeXWorks では、
MakeIndex
次のように使用していました。
または(できれば と組み合わせてpdfLaTeX
)このように
MakeIndex
VS Code を使用して実行するには何をする必要がありますか?
私のファイルは次のとおりです: タスク.json:
{
"version": "2.0.0",
"tasks": [
{
"label": "Run pdflatex",
"type": "shell",
"group": {
"kind": "build"
},
"command": "pdflatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"myfilename.tex"
]
},
{
"label": "Run bibtex",
"type": "shell",
"group": {
"kind": "test",
"isDefault": true
},
"command": "bibtex",
"args": [
"-terse",
"*.aux"
]
},
// {
// "label": "Run makeindex",
// "command": "makeindex",
// "args": [
// "myfilename.tex.nlo",
// "-s nomencl.ist",
// "-o myfilename.tex.nls%"
// ]
// },
{
"label": "update pdf",
"command": "${command:latex-workshop.refresh-viewer}",
"problemMatcher": []
},
{
"label": "Compile and update",
"group": {
"kind": "build",
"isDefault": true
},
"dependsOrder": "sequence",
"dependsOn": [
// "Run makeindex",
"Run pdflatex",
"update pdf"
],
"problemMatcher": []
}
]
}
設定.json
{
"latex-workshop.message.update.show": false,
"latex-workshop.latex.autoClean.run": "onBuilt",
"latex-workshop.latex.clean.fileTypes": [
"*.aux",
"*.toc",
// "*.blg",
// "*.lof",
// "*.lot",
// "*.out",
// "*.acn",
// "*.acr",
// "*.alg",
// "*.glg",
// "*.glo",
// "*.gls",
// "*.fls",
// "*.log",
// "*.fdb_latexmk",
// "*.snm",
"*.synctex(busy)",
"*.synctex.gz(busy)",
"*.nav"
],
"latex-workshop.view.pdf.ref.viewer": "tabOrBrowser",
"latex-workshop.view.pdf.viewer": "tab",
"latex-workshop.view.pdf.zoom": "page-fit",
"window.zoomLevel": 1,
"latex-workshop.latex.recipes": [
{
"name": "pdflatex ➞ bibtex ➞ pdflatex × 2",
"tools": [
"pdflatex",
"bibtex",
"pdflatex",
"pdflatex"
]
},
]
}
答え1
ついに の Github ページで の問題を作成しましたLaTeX-Workshop
。
使用しないでくださいタスクコンパイルのために。どこでそれを拾ったのかは今は思い出せませんが、それは良いことではありませんでした。
1 台のコンピューターで動作したのは、settings.json
-file を次のように変更することでした。
{
"cSpell.enabled": true,
"editor.cursorBlinking": "solid",
"editor.wordWrap": "on",
"editor.wordWrapColumn": 80,
"editor.wrappingIndent": "same",
"latex-workshop.view.pdf.viewer": "tab",
"latex-workshop.view.pdf.zoom": "page-fit",
"latex-workshop.latex.autoBuild.cleanAndRetry.enabled": true,
"latex-workshop.latex.autoClean.run": "onFailed",
"latex-workshop.latex.clean.subfolder.enabled": true,
"latex-workshop.latex.clean.fileTypes": [ "*.aux"
//, "*.toc",
// "*.ilg",
// "*.blg",
// "*.lof",
// "*.lot",
// "*.out",
// "*.acn",
// "*.acr",
// "*.alg",
// "*.glg",
// "*.glo",
// "*.gls",
// "*.fls",
// "*.log",
// "*.fdb_latexmk",
// "*.snm"
],
"latex-workshop.message.log.show": true,
"latex-workshop.latex.recipes": [
{
"name": "latexmk",
"tools": [
"latexmk"
]
},
{
"name": "pdflatex",
"tools": [
"pdflatex",
// "bibtex",
"makeindex",
// "pdflatex",
"pdflatex"
]
}
],
"latex-workshop.latex.tools":[
{
"name": "latexmk",
"command": "latexmk",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-pdf",
"-f",
"-outdir=%OUTDIR%",
"%DOC%"
],
"env": {}
},
{
"name": "lualatexmk",
"command": "latexmk",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-lualatex",
"-outdir=%OUTDIR%",
"%DOC%"
],
"env": {}
},
{
"name": "latexmk_rconly",
"command": "latexmk",
"args": [
"%DOC%"
],
"env": {}
},
{
"name": "pdflatex",
"command": "pdflatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOC%"
],
"env": {}
},
{
"name": "bibtex",
"command": "bibtex",
"args": [
"%DOCFILE%"
],
"env": {}
},
{
"name": "makeindex",
"command": "makeindex",
"args": [
"%DOCFILE%.nlo",
"-s",
"nomencl.ist",
"-o",
"%DOCFILE%.nls"
],
"env": {}
},
{
"name": "rnw2pdf",
"command": "Rscript",
"args": [
"-e",
"knitr::knit2pdf('%DOCFILE%')"
],
"env": {}
}
],
"latex-workshop.message.update.show": false
}
で実行しますctrl + alt + b。
特に、これは新しい PC (以前の使用から Windows 10、MikTeX、TeXWorks もインストール済み) で機能しました。この PC に、VS Code (1.44.0) と LaTeX Workshop 拡張機能 (8.8.0) をダウンロードしてインストールするだけで済みました。その後、settings.json
上記のように調整すると、すべての問題が解決しました (ただし、PDF ビューアーがコンパイル時に自動的に更新されない (少なくとも定期的には更新されない) という問題があります。まだ問題を特定しようとしていますが、これは軽微な問題です)。
しかし、別のコンピューターではインストールしておらずperl
、上記を使用するsettings.json
とエラーが発生します。
latexmk: The script engine could not be found
latexmk: Data: scriptEngine="perl.exe", scriptName="latexmk"
latexmk
設定ファイル内のレシピのコメントを解除すると、次のようになります。
- ドキュメントはエラーなしでコンパイルされます
- PDF はタブで更新されません。変更を確認するにはアイコンをもう一度クリックする必要があります。
- 複数回のコンパイル後も目次が空のままになる
- 参照されて
label
いるセクションとそのページ番号 (ref
、pageref
) および は疑問符のみです。