
Estoy intentando usar VS Code en Windows 10 x64 para LaTeX Workshop 8.7.2
compilar documentos en LaTeX.
Me enfrento a tres problemas:
El visor de PDF que se muestra en una pestaña en VS Code ya no se actualiza cuando compilo el documento nuevamente después de haber abierto el visor de PDF. Abrir el archivo PDF con otro programa muestra que se actualiza, por lo que es solo el visor en VS Code el que no se actualiza durante la compilación. Tengo que cerrar la pestaña y abrirla nuevamente (
LaTeX Workshop: View LaTeX PDF file in VSCode tab
) para mostrar la versión más nueva, es decir, la versión actual del archivo PDF.El archivo
tasks.json
que se encuentra en la subcarpeta.vscode
de la carpeta en la quemyfilename.tex
se encuentra mi archivo que quiero compilar contiene la línea"myfilename.tex"
. Veo en varios lugares en línea (como la respuesta aceptada aquí o aquí) que aparentemente debería ser%DOC%.tex
o%DOC%
(aunque en el primer enlace, se refieren alsettings.json
archivo, que para mí se ve como se muestra a continuación, es decir, completamente diferente. Cuando compilo esto con%DOC%.tex
o simplemente%DOC%
, obtengo:
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
Este problema significa que si quiero compilar dos .tex
archivos en la misma carpeta, necesito reemplazar manualmente el nombre del archivo tasks.json
cada vez. Lo que también intenté, sin éxito, es (siguiendohttps://github.com/James-Yu/LaTeX-Workshop/issues/384) "%DOCFILE%.tex"
y "%DOCFILE%"
).
- También quiero crear un índice dentro del archivo PDF. En TeXWorks, que usé antes, usé
MakeIndex
así:
o (preferiblemente, combinado con pdfLaTeX
) así
¿Qué tendría que hacer para ejecutar MakeIndex
usando VS Code?
Aquí están mis archivos: tareas.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": []
}
]
}
configuración.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"
]
},
]
}
Respuesta1
Finalmente creé un problema en la página de Github de LaTeX-Workshop
.
Se supone que no debes usartareaspara compilación. Ahora no recuerdo dónde lo aprendí, pero no era lo mejor que podía hacer.
Lo que ahora funcionó, en una computadora, fue cambiar el settings.json
archivo de la siguiente manera:
{
"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
}
y ejecutando con ctrl + alt + b.
En particular, esto funcionó en una PC nueva (también con Windows 10, MikTeX y TeXWorks instalados desde mi uso anterior), en la que simplemente descargué e instalé VS Code (1.44.0) y la extensión LaTeX Workshop (8.8.0). . Luego ajusté lo settings.json
anterior y todos los problemas se resolvieron (excepto que el visor de PDF no se actualiza automáticamente al compilar, al menos no regularmente; todavía estoy tratando de identificar el problema, pero esto es menor).
Sin embargo,en otra computadora que no tengo perl
instalado y usando lo anterior settings.json
me sale el error:
latexmk: The script engine could not be found
latexmk: Data: scriptEngine="perl.exe", scriptName="latexmk"
cuando descomento la receta latexmk
en el archivo de configuración, esto da como resultado:
- El documento se compila sin errores.
- El PDF no se actualiza en la pestaña; es necesario hacer clic nuevamente en el ícono para ver los cambios
- La tabla de contenidos permanece vacía después de varias compilaciones
label
Las secciones referenciadas y sus números de página (ref
,pageref
) son solo signos de interrogación.