最近在學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.