最近在用latex寫畢業論文,編輯環境用的是Sublime Text 2 加 latextools 插件,在使用latextools的\cite命令來引用參考文獻時,我們希望輸入\cite{ 后自動彈出所有參考文獻提示,本文總結一下設置過程中遇到的坑。
首先要保證設置文件LaTeXTools.default-settings中參考文獻自動補全命令設置為true:“"cite_auto_trigger": true”
latextools插件中當輸入\cite{ 時會觸發一個名為“latex_cite_completions.py”的python腳本,該腳本分析當前的tex文件,找到該文件中\bibliography和\addbibresource語句所指定的bib文件, 獲得bib item信息。
有時候我們的\bibliography 語句只在一個主tex文件中,該主文件包含很多子tex文件,在編輯子tex文件時,如果輸入\cite{ ,由於latex_cite_completions.py腳本在該子文件中找不應用bib文件的語句,所以會彈出 “No bib files found”的錯誤提示。因此,為了讓分析腳本能在子文件中找到bib文件,我們可以在子文件的開頭加上語句: 本文地址
\iffalse
\bibliography{mybibfile.bib}
\fi
這樣腳本就會在子文件中找到bib文件,但是在編譯的過程中,上面的語句會被忽略,從而不會和主文件中的\bibliography 語句沖突。
bib格式注意事項
另外bib文件中需要注意一下格式:參考文獻的關鍵字需要和 @ 在同一行,如下:
@article{tak05,
title={A physically-based motion retargeting filter},
author={Tak, S. and Ko, H.},
journal={ACM Transactions on Graphics (TOG)},
volume={24},
number={1},
pages={98--117},
year={2005},
publisher={ACM}
}
如果不在同一行,latextools則不能識別,下面的格式就不能識別
@article{
tak05,
title={A physically-based motion retargeting filter},
author={Tak, S. and Ko, H.},
journal={ACM Transactions on Graphics (TOG)},
volume={24},
number={1},
pages={98--117},
year={2005},
publisher={ACM}
}
並且.bib文件中所有參考文獻需要滿足正確的格式,有一個格式不對,latextools也不能識別。
參考:
http://shouxi.name/blog/2013/11/SublimeText-LaTeXTools-cite-tips.html
https://github.com/SublimeText/LaTeXTools/issues/27
【版權聲明】轉載請注明出處:http://www.cnblogs.com/TenosDoIt/p/4185021.html