
Ich versuche, VS Code unter Windows 10 x64 zu verwenden, um LaTeX Workshop 8.7.2
Dokumente in LaTeX zu kompilieren.
Ich stehe vor drei Problemen:
Der PDF-Viewer, der in einem Tab in VS Code angezeigt wird, aktualisiert sich nicht mehr, wenn ich das Dokument nach dem Öffnen des PDF-Viewers erneut kompiliere. Das Öffnen der PDF-Datei mit einem anderen Programm zeigt, dass sie aktualisiert wird. Es ist also nur der Viewer in VS Code, der sich beim Kompilieren nicht aktualisiert. Ich muss den Tab schließen und erneut öffnen (
LaTeX Workshop: View LaTeX PDF file in VSCode tab
), um die neueste, also aktuelle Version der PDF-Datei anzuzeigen.Die Datei
tasks.json
, die im Unterordner.vscode
des Ordners liegt, in dem meinemyfilename.tex
-Datei liegt, die ich kompilieren möchte, enthält die Zeile"myfilename.tex"
. Ich sehe an mehreren Stellen online (wie die akzeptierte Antwort hier oder hier%DOC%.tex
), dass dies anscheinend eher oder sein sollte%DOC%
(obwohl im ersten Link auf diesettings.json
Datei verwiesen wird, die für mich wie folgt aussieht, also völlig anders. Wenn ich dies mit%DOC%.tex
oder nur kompiliere%DOC%
, erhalte ich:
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
Dieses Problem bedeutet, dass ich, wenn ich zwei -Dateien im selben Ordner kompilieren möchte .tex
, den Dateinamen in der Datei jedes Mal manuell ersetzen muss tasks.json
. Was ich auch versucht habe, ohne Erfolg, ist (folgendhttps://github.com/James-Yu/LaTeX-Workshop/issues/384) "%DOCFILE%.tex"
Und "%DOCFILE%"
).
- Ich möchte auch einen Index innerhalb der PDF-Datei erstellen. In TeXWorks, das ich vorher verwendet habe, habe ich es
MakeIndex
folgendermaßen gemacht:
oder (vorzugsweise kombiniert mit pdfLaTeX
) so
Was muss ich tun, MakeIndex
um VS Code auszuführen?
Hier sind meine Dateien: Aufgaben.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": []
}
]
}
Einstellungen.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"
]
},
]
}
Antwort1
Ich habe schließlich ein Problem auf der Github-Seite von erstellt LaTeX-Workshop
.
Sie dürfen nicht verwendet werdenAufgabenzur Zusammenstellung. Ich weiß nicht mehr, wo ich das herhabe, aber es war nicht die richtige Vorgehensweise.
Auf einem Computer hat es nun funktioniert, die settings.json
Datei wie folgt zu ändern:
{
"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
}
und Ausführen mit ctrl + alt + b.
Dies funktionierte insbesondere auf einem neuen PC (auf dem auch Windows 10, MikTeX und TeXWorks von meiner vorherigen Nutzung installiert waren), auf dem ich einfach VS Code (1.44.0) und die LaTeX Workshop-Erweiterung (8.8.0) heruntergeladen und installiert habe. Ich habe dann settings.json
wie oben beschrieben angepasst und alle Probleme sind gelöst (außer, dass der PDF-Viewer beim Kompilieren nicht automatisch aktualisiert wird, zumindest nicht regelmäßig; ich versuche immer noch, das Problem zu identifizieren, aber das ist geringfügig).
Jedoch,Auf einem anderen Computer habe ich das nicht perl
installiert und verwende das obige Programm. Dann settings.json
erhalte ich die folgende Fehlermeldung:
latexmk: The script engine could not be found
latexmk: Data: scriptEngine="perl.exe", scriptName="latexmk"
Wenn ich das Rezept latexmk
in der Einstellungsdatei auskommentiere, ergibt sich Folgendes:
- Dokument wird ohne Fehler kompiliert
- PDF wird in der Registerkarte nicht aktualisiert. Das Symbol muss erneut angeklickt werden, um die Änderungen anzuzeigen.
- Inhaltsverzeichnis bleibt nach mehrmaligem Kompilieren leer
- Referenzierte
label
Abschnitte und deren Seitenzahlen (ref
,pageref
) und sind lediglich Fragezeichen.