VScode + latex 图表交叉引用两次编译问题

最近在学LaTeX,学到图表交叉引用的时候,发现不能正常显示图表的编号,显示的都是”??“,这让我有点苦恼呀!经过一系列的问题排查之后,确定了问题所在!!!造成这样的问题都是因为只编译了一次!!!有交叉引用的话需要编译两次!!!下面简单说以下如何实现两次编译,希望能帮到遇到跟我一样困扰的人😊

一、问题排查

1、确保\label在\caption后面

2、确保\label{……}没有写错

3、确保\ref{……}的跟\label写的一样

二、设置编译方式

注意:VScode的默认编译方式是setting.json文件里的latex-workshop.latex.recipes下的第一种编译方式,比如我的第一种编译方式就是xelatex

"latex-workshop.latex.recipes":[{
            "name": "xelatex",
            "tools": [
                "xelatex"
            ]
        }
]

设置编译两次(两次编译并不是手动按两次ctrl+alt+b啊!!!)

直接在setting.json文件加上即可,加上之后如下所示

"latex-workshop.latex.recipes":[{
            "name": "xelatex",
            "tools": [
                "xelatex"
            ]
        },
        {
            "name": "xelatex*2",
            "tools": [
                "xelatex",
                "xelatex"
            ]
        }
]

小tips:平时的文献引用也是在这里修改哟,文献引用的编译方式稍微复杂一些,加上下面这段代码就OK了

 {
      "name": "xelatex ->bibtex -> xelatex*2",
      "tools": [
           "xelatex",
           "bibtex",
           "xelatex",
           "xelatex"
      ]
}

三、开始编译

1、找到VScode右边的TEX栏

2、点击Build LateX Project---> Recipe:xelatex*2

小tips:其实在ctrl+alt+b编译了之后,编译日志那里也提示了我们问题的解决办法,如下:

LaTeX Warning: There were undefined references.

LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.

四、最终结果如图所示

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章