• Stars
    star
    821
  • Rank 55,549 (Top 2 %)
  • Language
    Vim Script
  • License
    GNU General Publi...
  • Created over 12 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Vim Plugin for Lively Previewing LaTeX PDF Output

A Vim Plugin for Lively Previewing LaTeX PDF Output

This plugin provides a live preview of the output PDF of your LaTeX file. The display of the output PDF file will be updated lively as you type (just hold the cursor and you will see the PDF file updated). Currently, vim-latex-live-preview only support UNIX-like systems. Please let me know if you have any suggestions.

Table of Contents

Installation

Before installing, you need to make sure your Vim version is later than 7.3, and is compiled with +python feature.

vim-plug

Add the plugin in the vim-plug section of your ~/.vimrc:

call plug#begin('~/.vim/plugged')
[...]
" A Vim Plugin for Lively Previewing LaTeX PDF Output
Plug 'xuhdev/vim-latex-live-preview', { 'for': 'tex' }
[...]
call plug#end()

Then reload the config and install the new plugin. Run inside vim:

:so ~/.vimrc
:PlugInstall

Vundle

Add the plugin in the Vundle section of your ~/.vimrc:

call vundle#begin()
[...]
" A Vim Plugin for Lively Previewing LaTeX PDF Output
Plugin 'xuhdev/vim-latex-live-preview'
[...]
call vundle#end()

Then reload the config and install the new plugin. Run inside vim:

:so ~/.vimrc
:PluginInstall

Manually

Copy plugin/latexlivepreview.vim to ~/.vim/plugin.

Usage

Simply execute :LLPStartPreview to launch the previewer. Then try to type in Vim and you should see the live update. The updating time could be set by Vim's 'updatetime' option. If your pdf viewer crashes when updates happen, you can try to set 'updatetime' to a higher value to make it update less frequently. The suggested value of 'updatetime' is 1000.

If the root file is not the file you are currently editing, you can specify it by executing :LLPStartPreview <root-filename> or executing :LLPStartPreview with the following declaration in the first line of your source file:

% !TEX root = <root-filename>

The path to the root file can be an absolute path or a relative path, in which case it is relative to the parent directory of the current file.

โš ๏ธ if <root-filename> contains special characters (such as space), they must be escaped manually.

Configuration

PDF viewer

By default, you need to have evince or okular installed as pdf viewers. But you can specify your own viewer by setting g:livepreview_previewer option in your .vimrc:

let g:livepreview_previewer = 'your_viewer'

Please note that not every pdf viewer could work with this plugin. Currently evince and okular are known to work well. You can find a list of known working pdf viewers here.

TeX engine

LLP uses pdflatex as default engine to output a PDF to be previewed. It fallbacks to xelatex if pdflatex is not present. These defaults can be overridden by setting g:livepreview_engine variable:

let g:livepreview_engine = 'your_engine' . ' [options]'

TeX Inputs

TeX engines use the environment variable TEXINPUTS to search for packages and input files (\usepackage{pkg} or \input{filename}). LLP passes this environment variable to the compiler by default. The default can be overridden by setting the g:livepreview_texinputs variable:

let g:livepreview_texinputs = '/path1/to/files//:/path2/to/files//'

Note: The double trailing / tells the compiler to search subdirectories.

Bibliography executable

LLP uses bibtex as the default executable to process .bib files. This can be overridden by setting the g:livepreview_use_biber variable.

let g:livepreview_use_biber = 1

Please note that the package biblatex can use both bibtex and the newer biber, but uses biber by default. To use bibtex, add backend=bibtex to your biblatex usepackage declaration.

\usepackage[backend=bibtex]{biblatex}

Please note that biblatex will NOT work straight out of the box, you will need to set either g:livepreview_use_biber or backend=bibtex, but not both.

Autocmd

By default, the LaTeX sources will be recompiled each time the buffer is written to disk, but also when the cursor holds. To prevent recompilation on cursor hold (autocmd events CursorHold and CursorHoldI), use the feature flag:

let g:livepreview_cursorhold_recompile = 0

Known issues

Swap error

An error E768: Swap file exists may occur. See issue #7 to avoid swap filename collision.

Project tree

Currently, root file must be in the same directory or upper in the project tree (otherwise, one has to save file to update the preview).

E492: Not an editor command: LLPStartPreview

See issue #12, provided the plugin is correctly installed, this is likely a Python issue.

Python-related issues

See issue #24, currently vim-latex-live-preview does not support python/dyn and Vim must be recompiled with Python support.

Bibliography issues

Why doesn't my bibliography appear, with or without an error?

See issue #46 and PR #99. If you're using biblatex this is most likely caused by not also setting g:livepreview_use_biber = 1 in your .vimrc. Or if you intended to use bibtex not using that option when using the biblatex package. i.e.

\usepackage[backend=bibtex]{biblatex}

Screenshot

Screenshot with Evince

More Repositories

1

SingleCompile

A Vim plugin making it more convenient to compile or run a single source file.
Vim Script
123
star
2

backup-on-the-go

Back up (or mirror) your GitHub repositories to BitBucket in the cloud!
Ruby
21
star
3

flake8-executable

A Flake8 plugin for checking executable permissions and shebangs.
Python
18
star
4

tags2db

Convert tag files (ctags, gccxml, etc) to databases (sqlite, mysql, etc)
C
12
star
5

skm

Manage Multiple SSH Keys
Ruby
10
star
6

jekyll-table-of-contents

Jekyll plugin which generates tables of contents
Ruby
9
star
7

Quine-McCluskey-minimizer

A Quine-McCluskey minimizer modified from http://sourceforge.net/projects/mini-qmc/
C
6
star
8

cmdlauncher

Launch a command in a graphical way. This repo mirrors git://git.savannah.nongnu.org/cmdlauncher.git
C++
4
star
9

Nautilus-Edit-with-Vim

A nautilus python extension which adds several menu items to nautilus for gvim
Python
3
star
10

indent-java.vim

Vim indent file for java source files. This indent file has been included in the official vim distribution since vim version 7.3.409
Vim Script
3
star
11

syntax-dosini.vim

Vim syntax file for dosini files. This syntax file has been included in the official vim distribution since vim version 7.3.313.
Vim Script
2
star
12

homepage-octopress-old

This used to be the source of my homepage, but I have already moved to nikola
CSS
2
star
13

paramcomparison

Generate parameter comparison table
Python
1
star
14

arch-aur

My AUR packages
Shell
1
star
15

vim-IniParser

A vim plugin providing a set of functions to read and write ini files for vimscript
Vim Script
1
star