
LaTeX Workshop 8.7.2
LaTeX에서 문서를 컴파일하기 위해 Windows 10 x64에서 VS Code를 사용하려고 합니다 .
나는 세 가지 문제에 직면해 있습니다:
PDF 뷰어를 연 후 문서를 다시 컴파일하면 VS Code의 탭에 표시되는 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
or just 로 컴파일하면%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
이 문제는 동일한 폴더에 있는 두 개의 -files를 컴파일하려면 매번 파일 .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
.
당신은 사용해서는 안됩니다작업컴파일을 위해. 지금은 어디서 그 말을 들었는지는 기억나지 않지만, 그렇게 하는 것은 좋은 일이 아니었습니다.
이제 한 컴퓨터에서 작동하는 것은 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 포함)에서 작동했으며, 여기에 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
)는 물음표일 뿐입니다.