Vim LaTeX-suite:EFI 宏以不同的方式扩展

Vim LaTeX-suite:EFI 宏以不同的方式扩展

我正在学习 LaTeX 套件,我发现 EFI 宏对于图形环境的表现对不同的文档不同。有时图像文件行会

\psfig{figure=<+eps file+>}

有时它会

\includegraphics{<+file+>}

这两种扩展似乎是随机发生的,因为每次我都只是开始一个新的空文章文档。我认为对于“psfig”,LaTeX 套件假设我正在创建一个.dvi文件,但我一直在使用它pdfLaTeX。LaTeX 套件如何决定在特定文档中使用哪种扩展?

答案1

在我看来,\psfig如果包(或者我猜是等价的)尚未加载,则使用graphicx,这样(原则上)可以保证插入的环境可以编译。但是在我的计算机上,至少当主文档中调用的包(或至少是自己的包)反过来调用 时,它似乎会错过graphicx

总是根据得到\includegraphics定义g:Tex_Env_figure

let g:Tex_Env_figure="\\begin{figure}[<+htpb+>]\<cr>\\centering\<cr>\\includegraphics{<+file+>}\<cr>\\caption{<+caption text+>}\<cr>\\label{fig:<+label+>}\<cr>\\end{figure}<++>"

\includegraphics当调用图形环境时应该产生(无论是通过EFI还是F5)。

答案2

我也经常遇到这个问题。vim-latex 似乎应该自动检测你正在使用的图形包,但有时会失败(就我而言,我猜是因为我在不同的文件中加载了 graphicx)。

正确的解决方案是让 latex-vim 知道您想要使用哪个包:( let g:Tex_package_detected = 'graphicx'在命令模式下发出,放入 vimrc 或其他)

或者添加

if !exists("g:Tex_package_detected")
    let g:Tex_package_detected = 'graphicx'
elseif g:Tex_package_detected !~ '\<graphicx\>'
    let g:Tex_package_detected = g:Tex_package_detected.',graphicx'
endif

.vim/after/ftplugin/tex.vim

或者您可以自己对图形宏进行硬编码,如戴博文的回答中所建议的那样。这是手册:手册:http://vim-latex.sourceforge.net/documentation/latex-suite.html#customizing-macros

来源:https://sourceforge.net/p/vim-latex/mailman/vim-latex-devel/thread/1373471802.4529.1.camel@roddur/

相关内容