diff --git a/autoload/vimtex/context/cite.vim b/autoload/vimtex/context/cite.vim index cfc998cd91..2af167af89 100644 --- a/autoload/vimtex/context/cite.vim +++ b/autoload/vimtex/context/cite.vim @@ -92,6 +92,10 @@ function! s:actions.create(entry) abort dict " {{{1 if has_key(a:entry, 'doi') call add(l:new.menu, {'name': 'Open doi', 'func': 'open_doi'}) endif + + if (has_key(a:entry, 'eprint') && (has_key(a:entry, 'archiveprefix') && a:entry.archiveprefix == 'arXiv' || a:entry.eprint[0:4] == 'arXiv')) + call add(l:new.menu, {'name': 'Open arXiv', 'func': 'open_arxiv'}) + endif if has_key(a:entry, 'url') call add(l:new.menu, {'name': 'Open url', 'func': 'open_url'}) @@ -166,6 +170,11 @@ function! s:actions.open_pdf() abort dict " {{{1 \ . ' ' . vimtex#util#shellescape(l:file)) endfunction +" }}}1 +function! s:actions.open_arxiv() abort dict " {{{1 + call vimtex#util#www('http://arxiv.org/abs/' . self.entry.eprint) +endfunction + " }}}1 function! s:actions.open_doi() abort dict " {{{1 call vimtex#util#www('http://dx.doi.org/' . self.entry.doi)