
Estou tentando usar o VS Code no Windows 10 x64 para LaTeX Workshop 8.7.2
compilar documentos em LaTeX.
Estou enfrentando três problemas:
O visualizador de PDF exibido em uma guia no VS Code não é mais atualizado quando eu compilo o documento novamente após abrir o visualizador de PDF. Abrir o arquivo PDF com outro programa mostra que ele foi atualizado, portanto, é apenas o visualizador no VS Code que não é atualizado na compilação. Tenho que fechar a aba e abri-la novamente (
LaTeX Workshop: View LaTeX PDF file in VSCode tab
) para exibir a versão mais recente, ou seja, a versão atual do arquivo PDF.O arquivo
tasks.json
que está na subpasta.vscode
da pasta onde está meumyfilename.tex
arquivo que desejo compilar contém a linha"myfilename.tex"
. Vejo em vários lugares online (como a resposta aceita aqui ou aqui) que aparentemente deveria ser%DOC%.tex
ou%DOC%
(embora no primeiro link eles estejam se referindo aosettings.json
arquivo, que se parece com o abaixo para mim, ou seja, completamente diferente. Quando compilo isso com%DOC%.tex
ou apenas%DOC%
, recebo:
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
Esse problema significa que se eu quiser compilar dois .tex
arquivos na mesma pasta, preciso substituir manualmente o nome do arquivo no tasks.json
arquivo a cada vez. O que eu também tentei, sem sucesso, foi (seguindohttps://github.com/James-Yu/LaTeX-Workshop/issues/384) "%DOCFILE%.tex"
e "%DOCFILE%"
).
- Quero também criar um índice dentro do arquivo PDF. No TeXWorks, que usei antes, usei
MakeIndex
assim:
ou (de preferência, combinado com pdfLaTeX
) assim
O que eu teria que fazer para executar MakeIndex
usando o VS Code?
Aqui estão meus arquivos: tarefas.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": []
}
]
}
configurações.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"
]
},
]
}
Responder1
Finalmente criei um problema na página do Github de LaTeX-Workshop
.
Você não deveria usartarefaspara compilação. Não me lembro agora onde aprendi isso, mas não foi a coisa boa a fazer.
O que funcionou agora, em um computador, foi alterar o settings.json
-file da seguinte maneira:
{
"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
}
e executando com ctrl + alt + b.
Em particular, isso funcionou em um novo PC (também com Windows 10, MikTeX e TeXWorks instalados do meu uso anterior), no qual simplesmente baixei e instalei o VS Code (1.44.0) e a extensão LaTeX Workshop (8.8.0) . Em seguida, ajustei o settings.json
procedimento acima e todos os problemas foram resolvidos (exceto que o visualizador de PDF não é atualizado automaticamente durante a compilação, pelo menos não regularmente; ainda estou tentando identificar o problema, mas isso é menor).
No entanto,em outro computador, não tenho perl
instalado, e usando o acima settings.json
, obtenho o erro:
latexmk: The script engine could not be found
latexmk: Data: scriptEngine="perl.exe", scriptName="latexmk"
quando descomentei a receita latexmk
no arquivo de configurações, isso resultou em:
- O documento é compilado sem erros
- O PDF não é atualizado na guia, o ícone precisa ser clicado novamente para ver as alterações
- O índice permanece vazio após várias compilações
- São referenciados
label
s de seções e seus números de página (ref
,pageref
) e são apenas pontos de interrogação.