我最近从使用 Overleaf 切换到使用 Vim 编写文档vim-latex插件,也称为latex 套件。大部分情况下一切都运行顺利,但我无法使参考书目/参考文献发挥作用。
为了简单起见,我尝试使用 BibTex 以与 Overleaf 中相同的方式设置参考书目管理。因此,我有一个文件refs.bib
,目前只包含一个条目:
@article{berntson2020multi,
...
}
我的main.tex
文件包含引文
\cite{berntson2020multi}
并结束于
...
\bibliographystyle{plain}
\bibliography{refs.bib}
\end{document}
两个文件都位于同一目录中。这在 Overleaf 中有效,但当我尝试通过 vim-latex 进行编译时,我收到错误消息
LaTeX Warning: Citation `berntson2020multi' on page 3 undefined on input line 1
84.
No file main.bbl.
[3] (./main.aux)
LaTeX Warning: There were undefined references.
那么,要使其正常工作,最低限度的设置是什么?我在网上找到的答案似乎都是针对复杂的专门设置;我只想要一些简单可行的东西。
如果使用 BibLaTeX 更简单,我也会接受。我自己尝试了一下,但无法让它工作。
哦,我的.vimrc
包含以下与 vim-latex 相关的行:
" Recommended settings for vim-latex
filetype plugin on
filetype indent on
let g:tex_flavor='latex'
" Compile .pdf instead of .dvi
let g:Tex_DefaultTargetFormat='pdf'
答案1
vim-latex 管理重复/bibtex/等编译的机制明确与正在生成的文件格式相关,而不是简单地处于活动或非活动状态。
是否尝试这些额外的编译运行取决于是否在中找到g:Tex_DefaultTargetFormat
(或者也可能是在关联的中找到的任何格式) 。g:Tex_FormatDependency_<fmt>
g:Tex_MultipleCompileFormats
默认情况下,这仅设置为适用于dvi
,并且需要放入pdf
其中,例如通过let g:Tex_MultipleCompileFormats='pdf'
在 vim 中设置仅将多个编译应用于 vim-latexpdf
格式。
答案2
我找到了解决方案这里。也就是说,我添加了
let g:Tex_MultipleCompileFormats='pdf,bib,pdf'
到我的.vimrc
文件中。我的文件.vimrc
现在包含以下行
" Recommended settings for vim-latex
filetype plugin on
filetype indent on
let g:tex_flavor='latex'
" Compile .pdf instead of .dvi
let g:Tex_DefaultTargetFormat='pdf'
let g:Tex_MultipleCompileFormats='pdf,bibtex,pdf'
与 vim-latex 相关。这对我有用。