0

我曾经使用LaTeX-Box 插件来编译和查看带有这些映射的 LaTeX 文档。

但我不再使用它,因为无法关闭的高亮显示(以及较低程度的括号匹配)使 Vim 在大\begin文件中速度变慢。\end.tex

我知道如何为编译.tex文档创建替代映射:

autocmd FileType tex nnoremap <buffer> <F2> :!latexmk -xelatex %<cr>
autocmd FileType tex inoremap <buffer> <F2> <Esc>:!latexmk -xelatex %<cr>a

但这将在我当前所在的目录中创建输出文件,而不是在文件所在的目录中(例如,如果.tex我在~/Desktop其中并且我在 Vim 中打开一个位于而不是在)。~/DocumentsF2.pdf~/Desktop~/Documents

我不知道如何创建用于查看已编译.pdf文档的映射。

所以,我要求你帮助我创建将编译.tex文件的映射,并查看创建的.pdf文件。

4

2 回答 2

1

您可以轻松修改映射以在与源文件相同的目录中生成文件:help filename-modifiers

augroup LaTeX
    autocmd!
    autocmd FileType tex nnoremap <buffer> <F2> :!cd %:p:h && latexmk -xelatex %<cr>
    autocmd FileType tex inoremap <buffer> <F2> <Esc>:!cd %:p:h && latexmk -xelatex %<cr>a
augroup END

要使用虚构程序打开生成的文件pdfviewer(为便于阅读而缩短命令):

!cd %:p:h && latexmk -xelatex % && pdfviewer %:p:r.pdf
于 2018-03-17T11:22:19.573 回答
0
augroup LaTeX
        autocmd!
        autocmd FileType tex nnoremap <buffer> <F2> :!cd '%:p:h' && latexmk -xelatex '%:t'<CR>
        autocmd FileType tex inoremap <buffer> <F2> <Esc>:!cd '%:p:h' && latexmk -xelatex '%:t'<CR>a
        autocmd FileType tex nnoremap <buffer> <F3> :silent !mupdf '%:p:r.pdf'&<CR>
        autocmd FileType tex inoremap <buffer> <F3> <Esc>:silent !mupdf '%:p:r.pdf'&<CR>a
augroup END

这对我有用。感谢romainl帮助解决了这个问题。

于 2018-03-17T19:43:27.017 回答