ustctug / ustcthesis

LaTeX template for USTC thesis
https://gradschool.ustc.edu.cn/column/65
LaTeX Project Public License v1.3c
1.63k stars 400 forks source link

vscode不能正确编译有引用的文档 #257

Closed kanglcn closed 4 years ago

kanglcn commented 4 years ago

检查

编译环境

描述问题

如题,使用vscode编写文档且用vscode的latex workshop插件时,不能正确编译有引用的文档。 而直接使用latexmk -xelatex main.tex则不会有任何问题。

直接下载最新版的模板用vscode插件编译就会发现此问题。

zepinglee commented 4 years ago

我无法复现你的问题,你用的是 latex-workshop 的哪个 recipe?

模板中的 .vscode/settings.json 配置了 latexmk with xelatex,你可以参考这个自己配置下。

kanglcn commented 4 years ago

抱歉,我刚开始用vscode,我的.vscode/settings.json如下,应该是模板中的配置,我没动过。我用的是latex-workshop 8.9.0。谢谢学长。

{
    "latex-workshop.latex.recipes": [
        {
            "name": "latexmk with xelatex",
            "tools": ["latexmk-xelatex"]
        }
    ],
    "latex-workshop.latex.tools": [
        {
            "name": "latexmk-xelatex",
            "command": "latexmk",
            "args": [
                "-xelatex",
                "-file-line-error",
                "-halt-on-error",
                "-interaction=nonstopmode",
                "-synctex=1",
                "-outdir=%OUTDIR%",
                "%DOC%"
            ],
            "env": {}
        }
    ]
}
zepinglee commented 4 years ago

你说的“不能正确编译有引用的文档”是具体什么样的问题?

kanglcn commented 4 years ago

指编译后的引用文献时右上角的角标会变成[?]

zepinglee commented 4 years ago

依然无法复现你的问题。

macOS 10.15.4 Visual Studio Code Version: 1.45.1 LaTeX Workshop 8.9.0 TeX Live 2020

Lkunyu commented 4 years ago

可以试试用"xe->bib->xe->xe"的顺序编译,.vscode/settings.json的对应项中添加以下配置

"latex-workshop.latex.recipes": [
        {
            "name": "latexmk with xelatex",
            "tools": [
                "latexmk-xelatex"
            ]
        },
        {
            "name": "xe->bib->xe->xe",
            "tools": [
                "xelatex",
                "bibtex",
                "xelatex",
                "xelatex"
            ]
        }
    ],
    "latex-workshop.latex.tools": [
        {
            "name": "latexmk-xelatex",
            "command": "latexmk",
            "args": [
                "-xelatex",
                "-file-line-error",
                "-halt-on-error",
                "-interaction=nonstopmode",
                "-synctex=1",
                "-outdir=%OUTDIR%",
                "%DOC%"
            ],
            "env": {}
        },
        {
            // 编译工具和命令
            "name": "xelatex",
            "command": "xelatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-pdf",
                "%DOCFILE%"
            ]
        },
        {
            "name": "bibtex",
            "command": "bibtex",
            "args": [
                "%DOCFILE%"
            ]
        }
    ],

然后就可以用"xe->bib->xe->xe"这个recipe编译

hellojialee commented 3 years ago

xelatex->bib->xelatex*2 这种顺序编译虽然没有问题,但是相对于texstudio,编译时间明显变长了

syvshc commented 3 years ago

xelatex->bib->xelatex*2 这种顺序编译虽然没有问题,但是相对于texstudio,编译时间明显变长了

如果 TeXStudio 中也使用相同的编译链的话, 时间不会有明显的差距

hellojialee commented 3 years ago

TeXStudio使用了xelatex并没有用xelatex->bib->xelatex*2 。但是能正常编译

xyzhou-1 commented 3 years ago

我也遇到了这个问题。 复现:手动选择recipe,编译正常;使用ctrl alt b快捷键编译错误。

解决: image

猜测原因:some magic comments?(对latex开发不了解。。。)

zepinglee commented 3 years ago

有道理,我改一下。

QJieWang commented 1 year ago

我也遇到了编译问题,使用"xe->bib->xe->xe"可以编译,但也存在编译时间过长的问题。

zepinglee commented 1 year ago

我也遇到了编译问题,使用"xe->bib->xe->xe"可以编译,但也存在编译时间过长的问题。

使用这个

https://github.com/ustctug/ustcthesis/blob/052eeee6b4bcfe5f76c681fb060f757f5e3268b7/.vscode/settings.json#L5

QJieWang commented 1 year ago

我也遇到了编译问题,使用"xe->bib->xe->xe"可以编译,但也存在编译时间过长的问题。

使用这个

https://github.com/ustctug/ustcthesis/blob/052eeee6b4bcfe5f76c681fb060f757f5e3268b7/.vscode/settings.json#L5

报错信息是Undefined control sequence.好像是我文档路径里存在中文,"xe->bib->xe->xe"能用,慢一点也能接受,多谢开发者闪电答复。

zepinglee commented 1 year ago

报错信息是Undefined control sequence.好像是我文档路径里存在中文,"xe->bib->xe->xe"能用,慢一点也能接受,多谢开发者闪电答复。

建议另开 issue 将完整报错和截图发上来。