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.

四、最終結果如圖所示

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