VS Code의 LaTeX: PDF 뷰어는 업데이트되지 않으며 폴더에서 하나의 파일만 실행할 수 있습니다.

VS Code의 LaTeX: PDF 뷰어는 업데이트되지 않으며 폴더에서 하나의 파일만 실행할 수 있습니다.

LaTeX Workshop 8.7.2LaTeX에서 문서를 컴파일하기 위해 Windows 10 x64에서 VS Code를 사용하려고 합니다 .

나는 세 가지 문제에 직면해 있습니다:

  1. PDF 뷰어를 연 후 문서를 다시 컴파일하면 VS Code의 탭에 표시되는 PDF 뷰어가 더 이상 업데이트되지 않습니다. 다른 프로그램으로 PDF 파일을 열면 업데이트된 것으로 표시되므로 컴파일 시 업데이트되지 않는 것은 VS Code의 뷰어일 뿐입니다. LaTeX Workshop: View LaTeX PDF file in VSCode tabPDF 파일의 최신 버전, 즉 현재 버전을 표시하려면 탭을 닫았다가 다시 열어야 합니다( ).

  2. 컴파일하려는 내 파일이 있는 폴더의 tasks.json하위 폴더에 있는 파일 에는 . 온라인 여러 곳에서 볼 수 있습니다(.vscodemyfilename.tex"myfilename.tex"여기에 허용되는 답변처럼 아니면 여기) 이것은 겉으로는 오히려 그럴 것 같습니다 %DOC%.tex또는 %DOC%(비록 첫 번째 링크에서 그들은 settings.json파일을 참조하고 있습니다. 이 파일은 제게는 아래와 같이 보입니다. 즉 완전히 다릅니다. 이것을 %DOC%.texor 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%").

  1. PDF 파일 내에 색인도 만들고 싶습니다. 이전에 사용했던 TeXWorks에서는 MakeIndex다음과 같이 사용했습니다.

여기에 이미지 설명을 입력하세요

또는 (바람직하게는 와 결합하여 pdfLaTeX) 이와 같이

여기에 이미지 설명을 입력하세요

MakeIndexVS 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)는 물음표일 뿐입니다.

관련 정보