89 lines
3.2 KiB
Markdown
89 lines
3.2 KiB
Markdown
|
# LaTeX-BoX
|
||
|
![LaTeX-BoX](https://raw.github.com/LaTeX-Box-Team/LaTeX-Box/master/.assets/LaTeX-BoX.png)
|
||
|
|
||
|
## This plugin provides:
|
||
|
- Background compilation using latexmk.
|
||
|
- Completion for commands, environments, labels, bibtex entries, and inline maths.
|
||
|
- A simple table of contents improving the navigation of large files.
|
||
|
- Smart indentation.
|
||
|
- Highlight matching \begin/\end and \left\right pairs.
|
||
|
- Motion between \begin/\end and \left\right pairs with the % key.
|
||
|
- Motion through brackets/braces (with user-defined keys).
|
||
|
- Environment objects (e.g., select environement with "vie" or "vae").
|
||
|
- Inline math objects (e.g., select inline math with "vi$" or "va$").
|
||
|
- Folding of parts (part/chapter/section/etc) and environments.
|
||
|
- OmniCompletion for bibliography entries respects BibLaTeX's
|
||
|
`\addbibresource`, `\addglobalbib` and `\addsectionbib` commands.
|
||
|
- The table of contents functionality does not depend anymore on the assumption
|
||
|
that `\@writefile{toc}{\contentsline ...}` entries in the `*.aux` file always
|
||
|
occur at the start of some line.
|
||
|
- Completion of `\ref{...}` commands was completely rewritten. It is now able
|
||
|
to handle `\@newlabel{label}{{number}{page}...}` entries in the `*.aux` file
|
||
|
even if `number` or `page` contain arbitrary nested levels of braces. Labels
|
||
|
are additionally held in a cache per `*.aux` file, which is updated only if
|
||
|
the modification time of the file changes.
|
||
|
- The table of contents now opens files different from the one currently being
|
||
|
edited in a new buffer. (I actually think, that this behaviour was
|
||
|
implemented already, but I could not get it working.) To make this work,
|
||
|
LaTeX-Box is not loaded per buffer but globally.
|
||
|
|
||
|
This plugins aims at being lightweight and simple. For more fully-fledged
|
||
|
plugins, see:
|
||
|
- LaTeX-Suite: vimscript#475
|
||
|
- AutomaticTexPlugin: vimscript#2945
|
||
|
|
||
|
## Installation
|
||
|
### With gmarik vundle
|
||
|
_https://github.com/gmarik/vundle_
|
||
|
|
||
|
Add `Plugin 'LaTeX-Box-Team/LaTeX-Box'` to your ~/.vimrc and run
|
||
|
`:PluginInstall` in a vim buffer. Add `!` to the command to update.
|
||
|
|
||
|
### With pathogen
|
||
|
_https://github.com/tpope/vim-pathogen_
|
||
|
|
||
|
Add the LaTeX-Box bundle to your bundle directory, for instance with `git
|
||
|
clone`. This will typically be enough:
|
||
|
|
||
|
cd ~/.vim/bundle
|
||
|
git clone git://github.com/LaTeX-Box-Team/LaTeX-Box.git
|
||
|
|
||
|
### Without a plugin manager
|
||
|
|
||
|
Copy the directories to your `.vim/` folder.
|
||
|
|
||
|
### Windows users
|
||
|
|
||
|
Users working with (g)vim on Windows must have a Perl environment installed.
|
||
|
Such an environment can be downloaded at : http://strawberryperl.com/
|
||
|
|
||
|
### Installation Notes
|
||
|
|
||
|
Make sure `filetype plugin on` is set in host `.vimrc`, else LaTeX-Box
|
||
|
will not load.
|
||
|
|
||
|
Note that there are configurable global variables that can be put in the
|
||
|
`.vimrc`. These are documented, but as an example, one can have the
|
||
|
table of contents open as a horizontal split by utilizing this:
|
||
|
|
||
|
~/.vimrc
|
||
|
...
|
||
|
if s:extfname ==? "tex"
|
||
|
...
|
||
|
let g:LatexBox_split_type="new"
|
||
|
...
|
||
|
endif
|
||
|
|
||
|
## Mirror information
|
||
|
|
||
|
This is mirrored on
|
||
|
|
||
|
- http://www.vim.org/scripts/script.php?script_id=3109
|
||
|
- https://launchpad.net/~vim-latex-box
|
||
|
|
||
|
## Example Table of Contents
|
||
|
|
||
|
![LaTeX-BoX TOC](https://raw.github.com/LaTeX-Box-Team/LaTeX-Box/master/.assets/LaTeX-BoX-TOC-demo.png)
|
||
|
|
||
|
|