mirror of
https://github.com/kastdeur/dotfiles.git
synced 2025-01-02 14:03:31 +01:00
Added vim plugin + autoindent\n use vi if vim is typed and not available
This commit is contained in:
parent
ef8bf8ac54
commit
061f80b9b9
144 changed files with 30057 additions and 0 deletions
|
@ -20,6 +20,8 @@ alias l='ls -CF'
|
||||||
# Use vim if possible instead of vi
|
# Use vim if possible instead of vi
|
||||||
if [[ $(command -v vim) ]]; then
|
if [[ $(command -v vim) ]]; then
|
||||||
alias vi='vim'
|
alias vi='vim'
|
||||||
|
else
|
||||||
|
alias vim='vi'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Reload bashrc
|
# Reload bashrc
|
||||||
|
|
40
vim/vim-latex/.gitignore
vendored
Executable file
40
vim/vim-latex/.gitignore
vendored
Executable file
|
@ -0,0 +1,40 @@
|
||||||
|
## To see if new rules exclude any existing files, run
|
||||||
|
##
|
||||||
|
## git ls-files -i --exclude-standard
|
||||||
|
##
|
||||||
|
## after modifying this file.
|
||||||
|
|
||||||
|
## Generated by the build process
|
||||||
|
|
||||||
|
## Editor backup and swap files
|
||||||
|
*~
|
||||||
|
.\#*
|
||||||
|
\#**\#
|
||||||
|
.*.sw[op]
|
||||||
|
.sw[op]
|
||||||
|
|
||||||
|
## Generated by Mac filesystem
|
||||||
|
.DS_Store
|
||||||
|
|
||||||
|
## For rejects
|
||||||
|
*.orig
|
||||||
|
*.rej
|
||||||
|
*.ancestor
|
||||||
|
*.current
|
||||||
|
*.patched
|
||||||
|
|
||||||
|
## Generated by StGit
|
||||||
|
patches-*
|
||||||
|
.stgit-*.txt
|
||||||
|
|
||||||
|
## Documentation building
|
||||||
|
doc/db2vim/domutils.pyc
|
||||||
|
doc/db2vim/textutils.pyc
|
||||||
|
doc/latex-suite/
|
||||||
|
doc/latex-suite.html
|
||||||
|
doc/latex-suite-quickstart/
|
||||||
|
doc/latex-suite-quickstart.html
|
||||||
|
|
||||||
|
## Pathogen (to make it easier to use vim-latex-git)
|
||||||
|
doc/tags
|
||||||
|
*.pyc
|
29
vim/vim-latex/Makefile
Executable file
29
vim/vim-latex/Makefile
Executable file
|
@ -0,0 +1,29 @@
|
||||||
|
PREFIX=/usr/local
|
||||||
|
VIMDIR=$(PREFIX)/share/vim
|
||||||
|
BINDIR=$(PREFIX)/bin
|
||||||
|
|
||||||
|
VERSION=1.8.23
|
||||||
|
DATE=$(shell date +%Y%m%d)
|
||||||
|
COMMIT_COUNT=$(shell git log --oneline | wc -l)
|
||||||
|
ABBREV_HASH=$(shell git log --oneline | head -n 1 | cut -d\ -f 1)
|
||||||
|
|
||||||
|
SNAPSHOTNAME=vim-latex-$(VERSION)-$(DATE).$(COMMIT_COUNT)-git$(ABBREV_HASH)
|
||||||
|
|
||||||
|
snapshot:
|
||||||
|
git archive --prefix '$(SNAPSHOTNAME)/' HEAD | gzip > '$(SNAPSHOTNAME).tar.gz'
|
||||||
|
|
||||||
|
install:
|
||||||
|
install -d '$(DESTDIR)$(VIMDIR)/doc'
|
||||||
|
install -m 0644 doc/*.txt '$(DESTDIR)$(VIMDIR)/doc'
|
||||||
|
|
||||||
|
install -d '$(DESTDIR)$(VIMDIR)'
|
||||||
|
cp -R compiler ftplugin indent plugin '$(DESTDIR)$(VIMDIR)'
|
||||||
|
chmod 0755 '$(DESTDIR)$(VIMDIR)/ftplugin/latex-suite/outline.py'
|
||||||
|
|
||||||
|
install -d '$(DESTDIR)$(BINDIR)'
|
||||||
|
install latextags ltags '$(DESTDIR)$(BINDIR)'
|
||||||
|
|
||||||
|
upload: snapshot
|
||||||
|
scp '$(SNAPSHOTNAME).tar.gz' frs.sourceforge.net:/home/frs/project/v/vi/vim-latex/snapshots
|
||||||
|
|
||||||
|
.PHONY: install upload
|
133
vim/vim-latex/Makefile.in
Executable file
133
vim/vim-latex/Makefile.in
Executable file
|
@ -0,0 +1,133 @@
|
||||||
|
CVSUSER = srinathava
|
||||||
|
SSHCMD = ssh1
|
||||||
|
DIR1 = $(PWD)
|
||||||
|
|
||||||
|
.PHONY: latexs clean release updoc uphtdocs ltt changelog install stallin sync
|
||||||
|
|
||||||
|
# The main target. This creates a latex suite archive (zip and tar.gz
|
||||||
|
# format) ensuring that all the files in the archive are in unix format so
|
||||||
|
# unix people can use it too...
|
||||||
|
latexs:
|
||||||
|
# plugins:
|
||||||
|
zip -q latexSuite.zip plugin/imaps.vim
|
||||||
|
zip -q latexSuite.zip plugin/SyntaxFolds.vim
|
||||||
|
zip -q latexSuite.zip plugin/libList.vim
|
||||||
|
zip -q latexSuite.zip plugin/remoteOpen.vim
|
||||||
|
zip -q latexSuite.zip plugin/filebrowser.vim
|
||||||
|
# ftplugins
|
||||||
|
zip -q latexSuite.zip ftplugin/tex_latexSuite.vim
|
||||||
|
zip -q latexSuite.zip ftplugin/bib_latexSuite.vim
|
||||||
|
zip -q latexSuite.zip ftplugin/tex/*.vim
|
||||||
|
# files in the latex-suite directory
|
||||||
|
zip -q -R latexSuite.zip `find ftplugin/latex-suite -name '*'`
|
||||||
|
# documentation
|
||||||
|
zip -q latexSuite.zip doc/latex*.txt
|
||||||
|
zip -q latexSuite.zip doc/imaps*.txt
|
||||||
|
# indentation
|
||||||
|
zip -q latexSuite.zip indent/tex.vim
|
||||||
|
# compiler
|
||||||
|
zip -q latexSuite.zip compiler/tex.vim
|
||||||
|
# external tools
|
||||||
|
zip -q latexSuite.zip ltags
|
||||||
|
|
||||||
|
# Now to make a tar.gz file from the .zip file.
|
||||||
|
rm -rf $(TMP)/latexSuite0793
|
||||||
|
mkdir -p $(TMP)/latexSuite0793
|
||||||
|
cp latexSuite.zip $(TMP)/latexSuite0793/
|
||||||
|
( \
|
||||||
|
cd $(TMP)/latexSuite0793/ ; \
|
||||||
|
unzip -q -o latexSuite.zip ; \
|
||||||
|
\rm latexSuite.zip ; \
|
||||||
|
tar czf latexSuite.tar.gz * ; \
|
||||||
|
\mv latexSuite.tar.gz $(DIR1)/ ; \
|
||||||
|
)
|
||||||
|
mv latexSuite.zip latexSuite`date +%Y%m%d`.zip ; \
|
||||||
|
mv latexSuite.tar.gz latexSuite`date +%Y%m%d`.tar.gz ; \
|
||||||
|
|
||||||
|
# target for removing archive files.
|
||||||
|
clean:
|
||||||
|
rm -f latexSuite200*
|
||||||
|
|
||||||
|
# make a local install directory.
|
||||||
|
ltt:
|
||||||
|
rm -rf /tmp/ltt/vimfiles/ftplugin
|
||||||
|
cp -f latexSuite.zip /tmp/ltt/vimfiles/
|
||||||
|
cd /tmp/ltt/vimfiles; unzip latexSuite.zip
|
||||||
|
|
||||||
|
# This target is related to a script I have on my sf.net account. That
|
||||||
|
# script looks like:
|
||||||
|
#
|
||||||
|
# #!/bin/bash
|
||||||
|
# cd ~/testing/vimfiles; \
|
||||||
|
# cvs -q update; \
|
||||||
|
# make clean; \
|
||||||
|
# make; \
|
||||||
|
# cp latexsuite.* ~/htdocs/download/
|
||||||
|
#
|
||||||
|
# Doing a release via sf.net has a couple of advantages:
|
||||||
|
# - I do not have to bother with CRLF pain anymore because the copy on
|
||||||
|
# sf.net will always have unix style EOLs.
|
||||||
|
# - The process is much faster because I only need to communicate a command
|
||||||
|
# from my computer to sf.net. The rest is done locally on the sf.net
|
||||||
|
# server.
|
||||||
|
release:
|
||||||
|
$(SSHCMD) $(CVSUSER)@vim-latex.sf.net /home/groups/v/vi/vim-latex/bin/upload
|
||||||
|
|
||||||
|
updoc:
|
||||||
|
$(SSHCMD) $(CVSUSER)@vim-latex.sf.net /home/groups/v/vi/vim-latex/bin/updoc
|
||||||
|
|
||||||
|
# This is another target akin to the release: target. This target updates
|
||||||
|
# the htdocs directory of the latex-suite project to the latest CVS
|
||||||
|
# version.
|
||||||
|
# This is again related to the uphtdocs script on my sf.net account which
|
||||||
|
# looks like:
|
||||||
|
# #!/bin/sh
|
||||||
|
#
|
||||||
|
# # update the htdocs directory
|
||||||
|
# cd /home/groups/v/vi/vim-latex/htdocs; cvs -q update
|
||||||
|
# # update the packages directory
|
||||||
|
# cd /home/groups/v/vi/vim-latex/htdocs/packages; cvs -q update
|
||||||
|
uphtdocs:
|
||||||
|
$(SSHCMD) $(CVSUSER)@vim-latex.sf.net /home/groups/v/vi/vim-latex/bin/uphtdocs
|
||||||
|
|
||||||
|
# Automatically generate the Changelog file using the cvs2cl utility
|
||||||
|
#
|
||||||
|
# Arguments:
|
||||||
|
# -S add a seperating line between filename and log
|
||||||
|
# --no-wrap Do not attempt to format the Changelog comments
|
||||||
|
# -f file to write the Changelog to.
|
||||||
|
changelog:
|
||||||
|
cvs2cl -S --no-wrap -f ftplugin/latex-suite/ChangeLog
|
||||||
|
|
||||||
|
# rsync is like cp (copy) on steroids. Here are some useful options:
|
||||||
|
# -C auto ignore like CVS
|
||||||
|
# -r recurse into directories
|
||||||
|
# -t preserve times
|
||||||
|
# -u update (do not overwrite newer files)
|
||||||
|
# -W whole files, no incremental checks (default for local usage)
|
||||||
|
# --existing only update files that already exist
|
||||||
|
# --exclude exclude files matching the pattern
|
||||||
|
# -n dry run (for testing)
|
||||||
|
|
||||||
|
# Usage: after "cvs update", do
|
||||||
|
# make install [VIMFILES=path/to/vimfiles]
|
||||||
|
# Before "cvs commit", do
|
||||||
|
# make stallin [VIMFILES=path/to/vimfiles]
|
||||||
|
# If you have made changes in both directories, and want to keep the most
|
||||||
|
# recent versions, do
|
||||||
|
# make sync [VIMFILES=path/to/vimfiles]
|
||||||
|
# Note: defining VIMFILES when you invoke make overrides the value below.
|
||||||
|
# Warning: install and stallin do not check modification times!
|
||||||
|
|
||||||
|
VIMFILES=${HOME}/.vim
|
||||||
|
EXCLUDE="--exclude='*~' --exclude='*.swp' --exclude='makefile'"
|
||||||
|
|
||||||
|
install:
|
||||||
|
rsync -CrtW ${EXCLUDE} . ${VIMFILES}
|
||||||
|
|
||||||
|
# stallin = reverse install
|
||||||
|
# If you can think of a better name for this target, be my guest!
|
||||||
|
stallin:
|
||||||
|
rsync -CrtW --existing ${VIMFILES}/ .
|
||||||
|
|
||||||
|
sync: install stallin
|
298
vim/vim-latex/compiler/tex.vim
Executable file
298
vim/vim-latex/compiler/tex.vim
Executable file
|
@ -0,0 +1,298 @@
|
||||||
|
" File: tex.vim
|
||||||
|
" Type: compiler plugin for LaTeX
|
||||||
|
" Original Author: Artem Chuprina <ran@ran.pp.ru>
|
||||||
|
" Customization: Srinath Avadhanula <srinath@fastmail.fm>
|
||||||
|
" Description: {{{
|
||||||
|
" This file sets the 'makeprg' and 'errorformat' options for the LaTeX
|
||||||
|
" compiler. It is customizable to optionally ignore certain warnings and
|
||||||
|
" provides the ability to set a dynamic 'ignore-warning' level.
|
||||||
|
"
|
||||||
|
" By default it is set up in a 'non-verbose', 'ignore-common-warnings' mode,
|
||||||
|
" which means that irrelevant lines from the compilers output will be
|
||||||
|
" ignored and also some very common warnings are ignored.
|
||||||
|
"
|
||||||
|
" Depending on the 'ignore-level', the following kinds of messages are
|
||||||
|
" ignored. An ignore level of 3 for instance means that messages 1-3 will be
|
||||||
|
" ignored. By default, the ignore level is set to 4.
|
||||||
|
"
|
||||||
|
" 1. LaTeX Warning: Specifier 'h' changed to 't'.
|
||||||
|
" This errors occurs when TeX is not able to correctly place a floating
|
||||||
|
" object at a specified location, because of which it defaulted to the
|
||||||
|
" top of the page.
|
||||||
|
" 2. LaTeX Warning: Underfull box ...
|
||||||
|
" 3. LaTeX Warning: Overfull box ...
|
||||||
|
" both these warnings (very common) are due to \hbox settings not being
|
||||||
|
" satisfied nicely.
|
||||||
|
" 4. LaTeX Warning: You have requested ...,
|
||||||
|
" This warning occurs in slitex when using the xypic package.
|
||||||
|
" 5. Missing number error:
|
||||||
|
" Usually, when the name of an included eps file is spelled incorrectly,
|
||||||
|
" then the \bb-error message is accompanied by a bunch of "missing
|
||||||
|
" number, treated as zero" error messages. This level ignores these
|
||||||
|
" warnings.
|
||||||
|
" NOTE: number 5 is actually a latex error, not a warning!
|
||||||
|
"
|
||||||
|
" Use
|
||||||
|
" TCLevel <level>
|
||||||
|
" where level is a number to set the ignore level dynamically.
|
||||||
|
"
|
||||||
|
" When TCLevel is called with the unquoted string strict
|
||||||
|
" TClevel strict
|
||||||
|
" then the 'efm' switches to a 'verbose', 'no-lines-ignored' mode which is
|
||||||
|
" useful when you want to make final checks of your document and want to be
|
||||||
|
" careful not to let things slip by.
|
||||||
|
"
|
||||||
|
" TIP: MikTeX has a bug where it sometimes erroneously splits a line number
|
||||||
|
" into multiple lines. i.e, if the warning is on line 1234. the compiler
|
||||||
|
" output is:
|
||||||
|
" LaTeX Warning: ... on input line 123
|
||||||
|
" 4.
|
||||||
|
" In this case, vim will wrongly interpret the line-number as 123 instead
|
||||||
|
" of 1234. If you have cygwin, a simple remedy around this is to first
|
||||||
|
" copy the file vimlatex (provided) into your $PATH, make sure its
|
||||||
|
" executable and then set the variable g:tex_flavor to vimlatex in your
|
||||||
|
" ~/.vimrc (i.e putting let "g:tex_flavor = 'vimlatex'" in your .vimrc).
|
||||||
|
" This problem occurs rarely enough that its not a botheration for most
|
||||||
|
" people.
|
||||||
|
"
|
||||||
|
" TODO:
|
||||||
|
" 1. menu items for dynamically selecting a ignore warning level.
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
" avoid reinclusion for the same buffer. keep it buffer local so it can be
|
||||||
|
" externally reset in case of emergency re-sourcing.
|
||||||
|
if exists('b:doneTexCompiler') && !exists('b:forceRedoTexCompiler')
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let b:doneTexCompiler = 1
|
||||||
|
|
||||||
|
" ==============================================================================
|
||||||
|
" Customization of 'efm': {{{
|
||||||
|
" This section contains the customization variables which the user can set.
|
||||||
|
" g:Tex_IgnoredWarnings: This variable contains a ¡ seperated list of
|
||||||
|
" patterns which will be ignored in the TeX compiler's output. Use this
|
||||||
|
" carefully, otherwise you might end up losing valuable information.
|
||||||
|
if !exists('g:Tex_IgnoredWarnings')
|
||||||
|
let g:Tex_IgnoredWarnings =
|
||||||
|
\'Underfull'."\n".
|
||||||
|
\'Overfull'."\n".
|
||||||
|
\'specifier changed to'."\n".
|
||||||
|
\'You have requested'."\n".
|
||||||
|
\'Missing number, treated as zero.'."\n".
|
||||||
|
\'There were undefined references'."\n".
|
||||||
|
\'Citation %.%# undefined'
|
||||||
|
endif
|
||||||
|
" This is the number of warnings in the g:Tex_IgnoredWarnings string which
|
||||||
|
" will be ignored.
|
||||||
|
if !exists('g:Tex_IgnoreLevel')
|
||||||
|
let g:Tex_IgnoreLevel = 7
|
||||||
|
endif
|
||||||
|
" There will be lots of stuff in a typical compiler output which will
|
||||||
|
" completely fall through the 'efm' parsing. This options sets whether or not
|
||||||
|
" you will be shown those lines.
|
||||||
|
if !exists('g:Tex_IgnoreUnmatched')
|
||||||
|
let g:Tex_IgnoreUnmatched = 1
|
||||||
|
endif
|
||||||
|
" With all this customization, there is a slight risk that you might be
|
||||||
|
" ignoring valid warnings or errors. Therefore before getting the final copy
|
||||||
|
" of your work, you might want to reset the 'efm' with this variable set to 1.
|
||||||
|
" With that value, all the lines from the compiler are shown irrespective of
|
||||||
|
" whether they match the error or warning patterns.
|
||||||
|
" NOTE: An easier way of resetting the 'efm' to show everything is to do
|
||||||
|
" TCLevel strict
|
||||||
|
if !exists('g:Tex_ShowallLines')
|
||||||
|
let g:Tex_ShowallLines = 0
|
||||||
|
endif
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
" ==============================================================================
|
||||||
|
" Customization of 'makeprg': {{{
|
||||||
|
|
||||||
|
" There are several alternate ways in which 'makeprg' is set up.
|
||||||
|
"
|
||||||
|
" Case 1
|
||||||
|
" ------
|
||||||
|
" The first is when this file is a part of latex-suite. In this case, a
|
||||||
|
" variable called g:Tex_DefaultTargetFormat exists, which gives the default
|
||||||
|
" format .tex files should be compiled into. In this case, we use the TTarget
|
||||||
|
" command provided by latex-suite.
|
||||||
|
"
|
||||||
|
" Case 2
|
||||||
|
" ------
|
||||||
|
" The user is using this file without latex-suite AND he wants to directly
|
||||||
|
" specify the complete 'makeprg'. Then he should set the g:Tex_CompileRule_dvi
|
||||||
|
" variable. This is a string which should be directly be able to be cast into
|
||||||
|
" &makeprg. An example of one such string is:
|
||||||
|
"
|
||||||
|
" g:Tex_CompileRule_dvi = 'pdflatex \\nonstopmode \\input\{$*\}'
|
||||||
|
"
|
||||||
|
" NOTE: You will need to escape back-slashes, {'s etc yourself if you are
|
||||||
|
" using this file independently of latex-suite.
|
||||||
|
" TODO: Should we also have a check for backslash escaping here based on
|
||||||
|
" platform?
|
||||||
|
"
|
||||||
|
" Case 3
|
||||||
|
" ------
|
||||||
|
" The use is using this file without latex-suite and he doesnt want any
|
||||||
|
" customization. In this case, this file makes some intelligent guesses based
|
||||||
|
" on the platform. If he doesn't want to specify the complete 'makeprg' but
|
||||||
|
" only the name of the compiler program (for example 'pdflatex' or 'latex'),
|
||||||
|
" then he sets b:tex_flavor or g:tex_flavor.
|
||||||
|
|
||||||
|
if exists('g:Tex_DefaultTargetFormat')
|
||||||
|
exec 'TTarget '.g:Tex_DefaultTargetFormat
|
||||||
|
elseif exists('g:Tex_CompileRule_dvi')
|
||||||
|
let &l:makeprg = g:Tex_CompileRule_dvi
|
||||||
|
else
|
||||||
|
" If buffer-local variable 'tex_flavor' exists, it defines TeX flavor,
|
||||||
|
" otherwize the same for global variable with same name, else it will be LaTeX
|
||||||
|
if exists("b:tex_flavor")
|
||||||
|
let current_compiler = b:tex_flavor
|
||||||
|
elseif exists("g:tex_flavor")
|
||||||
|
let current_compiler = g:tex_flavor
|
||||||
|
else
|
||||||
|
let current_compiler = "latex"
|
||||||
|
end
|
||||||
|
if has('win32')
|
||||||
|
let escChars = ''
|
||||||
|
else
|
||||||
|
let escChars = '{}\'
|
||||||
|
endif
|
||||||
|
" Furthermore, if 'win32' is detected, then we want to set the arguments up so
|
||||||
|
" that miktex can handle it.
|
||||||
|
if has('win32')
|
||||||
|
let options = '--src-specials'
|
||||||
|
else
|
||||||
|
let options = ''
|
||||||
|
endif
|
||||||
|
let &l:makeprg = current_compiler . ' ' . options .
|
||||||
|
\ escape(' \nonstopmode \input{$*}', escChars)
|
||||||
|
endif
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
" ==============================================================================
|
||||||
|
" Functions for setting up a customized 'efm' {{{
|
||||||
|
|
||||||
|
" IgnoreWarnings: parses g:Tex_IgnoredWarnings for message customization {{{
|
||||||
|
" Description:
|
||||||
|
function! <SID>IgnoreWarnings()
|
||||||
|
let i = 1
|
||||||
|
while s:Strntok(g:Tex_IgnoredWarnings, "\n", i) != '' &&
|
||||||
|
\ i <= g:Tex_IgnoreLevel
|
||||||
|
let warningPat = s:Strntok(g:Tex_IgnoredWarnings, "\n", i)
|
||||||
|
let warningPat = escape(substitute(warningPat, '[\,]', '%\\\\&', 'g'), ' ')
|
||||||
|
exe 'setlocal efm+=%-G%.%#'.warningPat.'%.%#'
|
||||||
|
let i = i + 1
|
||||||
|
endwhile
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
" SetLatexEfm: sets the 'efm' for the latex compiler {{{
|
||||||
|
" Description:
|
||||||
|
function! <SID>SetLatexEfm()
|
||||||
|
|
||||||
|
let pm = ( g:Tex_ShowallLines == 1 ? '+' : '-' )
|
||||||
|
|
||||||
|
setlocal efm=
|
||||||
|
" remove default error formats that cause issues with revtex, where they
|
||||||
|
" match version messages
|
||||||
|
" Reference: http://bugs.debian.org/582100
|
||||||
|
setlocal efm-=%f:%l:%m
|
||||||
|
setlocal efm-=%f:%l:%c:%m
|
||||||
|
|
||||||
|
if !g:Tex_ShowallLines
|
||||||
|
call s:IgnoreWarnings()
|
||||||
|
endif
|
||||||
|
|
||||||
|
setlocal efm+=%E!\ LaTeX\ %trror:\ %m
|
||||||
|
setlocal efm+=%E!\ %m
|
||||||
|
setlocal efm+=%E%f:%l:\ %m
|
||||||
|
|
||||||
|
setlocal efm+=%+WLaTeX\ %.%#Warning:\ %.%#line\ %l%.%#
|
||||||
|
setlocal efm+=%+W%.%#\ at\ lines\ %l--%*\\d
|
||||||
|
setlocal efm+=%+WLaTeX\ %.%#Warning:\ %m
|
||||||
|
|
||||||
|
exec 'setlocal efm+=%'.pm.'Cl.%l\ %m'
|
||||||
|
exec 'setlocal efm+=%'.pm.'Cl.%l\ '
|
||||||
|
exec 'setlocal efm+=%'.pm.'C\ \ %m'
|
||||||
|
exec 'setlocal efm+=%'.pm.'C%.%#-%.%#'
|
||||||
|
exec 'setlocal efm+=%'.pm.'C%.%#[]%.%#'
|
||||||
|
exec 'setlocal efm+=%'.pm.'C[]%.%#'
|
||||||
|
exec 'setlocal efm+=%'.pm.'C%.%#%[{}\\]%.%#'
|
||||||
|
exec 'setlocal efm+=%'.pm.'C<%.%#>%m'
|
||||||
|
exec 'setlocal efm+=%'.pm.'C\ \ %m'
|
||||||
|
exec 'setlocal efm+=%'.pm.'GSee\ the\ LaTeX%m'
|
||||||
|
exec 'setlocal efm+=%'.pm.'GType\ \ H\ <return>%m'
|
||||||
|
exec 'setlocal efm+=%'.pm.'G\ ...%.%#'
|
||||||
|
exec 'setlocal efm+=%'.pm.'G%.%#\ (C)\ %.%#'
|
||||||
|
exec 'setlocal efm+=%'.pm.'G(see\ the\ transcript%.%#)'
|
||||||
|
exec 'setlocal efm+=%'.pm.'G\\s%#'
|
||||||
|
exec 'setlocal efm+=%'.pm.'O(%*[^()])%r'
|
||||||
|
exec 'setlocal efm+=%'.pm.'P(%f%r'
|
||||||
|
exec 'setlocal efm+=%'.pm.'P\ %\\=(%f%r'
|
||||||
|
exec 'setlocal efm+=%'.pm.'P%*[^()](%f%r'
|
||||||
|
exec 'setlocal efm+=%'.pm.'P(%f%*[^()]'
|
||||||
|
exec 'setlocal efm+=%'.pm.'P[%\\d%[^()]%#(%f%r'
|
||||||
|
if g:Tex_IgnoreUnmatched && !g:Tex_ShowallLines
|
||||||
|
setlocal efm+=%-P%*[^()]
|
||||||
|
endif
|
||||||
|
exec 'setlocal efm+=%'.pm.'Q)%r'
|
||||||
|
exec 'setlocal efm+=%'.pm.'Q%*[^()])%r'
|
||||||
|
exec 'setlocal efm+=%'.pm.'Q[%\\d%*[^()])%r'
|
||||||
|
if g:Tex_IgnoreUnmatched && !g:Tex_ShowallLines
|
||||||
|
setlocal efm+=%-Q%*[^()]
|
||||||
|
endif
|
||||||
|
if g:Tex_IgnoreUnmatched && !g:Tex_ShowallLines
|
||||||
|
setlocal efm+=%-G%.%#
|
||||||
|
endif
|
||||||
|
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
" Strntok: extract the n^th token from a list {{{
|
||||||
|
" example: Strntok('1,23,3', ',', 2) = 23
|
||||||
|
fun! <SID>Strntok(s, tok, n)
|
||||||
|
return matchstr( a:s.a:tok[0], '\v(\zs([^'.a:tok.']*)\ze['.a:tok.']){'.a:n.'}')
|
||||||
|
endfun
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
" SetTexCompilerLevel: sets the "level" for the latex compiler {{{
|
||||||
|
function! <SID>SetTexCompilerLevel(...)
|
||||||
|
if a:0 > 0
|
||||||
|
let level = a:1
|
||||||
|
else
|
||||||
|
call Tex_ResetIncrementNumber(0)
|
||||||
|
echo substitute(g:Tex_IgnoredWarnings,
|
||||||
|
\ '^\|\n\zs\S', '\=Tex_IncrementNumber(1)." ".submatch(0)', 'g')
|
||||||
|
let level = input("\nChoose an ignore level: ")
|
||||||
|
if level == ''
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
if level == 'strict'
|
||||||
|
let g:Tex_ShowallLines = 1
|
||||||
|
elseif level =~ '^\d\+$'
|
||||||
|
let g:Tex_ShowallLines = 0
|
||||||
|
let g:Tex_IgnoreLevel = level
|
||||||
|
else
|
||||||
|
echoerr "SetTexCompilerLevel: Unkwown option [".level."]"
|
||||||
|
end
|
||||||
|
call s:SetLatexEfm()
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
com! -nargs=? TCLevel :call <SID>SetTexCompilerLevel(<f-args>)
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
" ==============================================================================
|
||||||
|
|
||||||
|
call s:SetLatexEfm()
|
||||||
|
|
||||||
|
if !exists('*Tex_Debug')
|
||||||
|
function! Tex_Debug(...)
|
||||||
|
endfunction
|
||||||
|
endif
|
||||||
|
|
||||||
|
call Tex_Debug("compiler/tex.vim: sourcing this file", "comp")
|
||||||
|
|
||||||
|
" vim:fdm=marker:ff=unix:noet:ts=4:sw=4
|
62
vim/vim-latex/doc/Makefile
Executable file
62
vim/vim-latex/doc/Makefile
Executable file
|
@ -0,0 +1,62 @@
|
||||||
|
projects = latex-suite latex-suite-quickstart
|
||||||
|
htmlfiles = $(addsuffix .html, $(projects))
|
||||||
|
txtfiles = $(addsuffix .txt, $(projects))
|
||||||
|
cssfiles = $(addsuffix .css, $(projects))
|
||||||
|
all = $(projects) $(htmlfiles) $(cssfiles) $(txtfiles)
|
||||||
|
|
||||||
|
|
||||||
|
xsltproc=xsltproc
|
||||||
|
db2vim=db2vim/db2vim
|
||||||
|
|
||||||
|
# Use for debugging:
|
||||||
|
#xsltproc=strace -e trace=file xsltproc --nonet --load-trace
|
||||||
|
# export XML_DEBUG_CATALOG = 1
|
||||||
|
|
||||||
|
# Specify local catalog to not use system installed dtd/xsl files
|
||||||
|
# export XML_CATALOG_FILES=catalog.xml
|
||||||
|
|
||||||
|
# User configuration of this Makefile goes into Makefile.local
|
||||||
|
# E.g. to use a catalog file installed by the user.
|
||||||
|
-include Makefile.local
|
||||||
|
|
||||||
|
# Default Target is to create all documentation files
|
||||||
|
all: $(all)
|
||||||
|
|
||||||
|
# create multi page html (chunk xhtml)
|
||||||
|
$(projects): %: %.xml latex-suite-chunk.xsl latex-suite-common.xsl
|
||||||
|
$(xsltproc) -o $@/ latex-suite-chunk.xsl $<
|
||||||
|
|
||||||
|
# create single html files
|
||||||
|
$(htmlfiles): %.html: %.xml latex-suite.xsl latex-suite-common.xsl
|
||||||
|
$(xsltproc) -o $@ latex-suite.xsl $<
|
||||||
|
|
||||||
|
# create vim flat files
|
||||||
|
latex-suite.txt: %.txt: %.xml
|
||||||
|
$(db2vim) --prefix=ls_ $< > $@
|
||||||
|
|
||||||
|
latex-suite-quickstart.txt: %.txt: %.xml
|
||||||
|
$(db2vim) --prefix=lq_ $< > $@
|
||||||
|
|
||||||
|
# validate xml
|
||||||
|
validate:
|
||||||
|
for file in *.xml; do \
|
||||||
|
xmllint --valid --noout $$file; \
|
||||||
|
done
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f $(htmlfiles)
|
||||||
|
rm -rf $(projects)
|
||||||
|
|
||||||
|
# $(txtfiles) are currently in revision control, therefore they are not
|
||||||
|
# removed in the clean target
|
||||||
|
mr-proper: clean
|
||||||
|
rm -f $(txtfiles)
|
||||||
|
|
||||||
|
upload: $(all)
|
||||||
|
# vim-latex-web is configured in ~/.ssh/config
|
||||||
|
#Host vim-latex-web
|
||||||
|
# Hostname web.sourceforge.net
|
||||||
|
# User SOURCEFORGE_USERNAME,vim-latex
|
||||||
|
rsync --perms --chmod g+w,o-w --delete -lrtvz $(all) vim-latex-web:/home/groups/v/vi/vim-latex/htdocs/documentation/
|
||||||
|
|
||||||
|
# vim:nowrap
|
29
vim/vim-latex/doc/Makefile.in
Executable file
29
vim/vim-latex/doc/Makefile.in
Executable file
|
@ -0,0 +1,29 @@
|
||||||
|
# Manual files
|
||||||
|
ls-flat:
|
||||||
|
java com.icl.saxon.StyleSheet latex-suite.xml latex-suite.xsl > latex-suite.html
|
||||||
|
|
||||||
|
ls-chunk:
|
||||||
|
( \
|
||||||
|
cd latex-suite && \
|
||||||
|
java com.icl.saxon.StyleSheet ../latex-suite.xml ../latex-suite-chunk.xsl \
|
||||||
|
)
|
||||||
|
|
||||||
|
ls-txt:
|
||||||
|
db2vim --prefix=ls_ latex-suite.xml > latex-suite.txt
|
||||||
|
|
||||||
|
# Quickstart files
|
||||||
|
lsq-flat:
|
||||||
|
java com.icl.saxon.StyleSheet latex-suite-quickstart.xml latex-suite.xsl > latex-suite-quickstart.html
|
||||||
|
|
||||||
|
lsq-chunk:
|
||||||
|
( \
|
||||||
|
cd latex-suite-quickstart && \
|
||||||
|
java com.icl.saxon.StyleSheet ../latex-suite-quickstart.xml ../latex-suite-chunk.xsl \
|
||||||
|
)
|
||||||
|
|
||||||
|
lsq-txt:
|
||||||
|
db2vim --prefix=lq_ latex-suite-quickstart.xml > latex-suite-quickstart.txt
|
||||||
|
|
||||||
|
cvsci:
|
||||||
|
cvs ci latex-suite.xml latex-suite.txt
|
||||||
|
# vim:nowrap
|
110
vim/vim-latex/doc/README
Executable file
110
vim/vim-latex/doc/README
Executable file
|
@ -0,0 +1,110 @@
|
||||||
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
This file is outdated, please look at README.new for updated information
|
||||||
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
|
====================================
|
||||||
|
Generating Latex-Suite documentation
|
||||||
|
====================================
|
||||||
|
|
||||||
|
In order to generate the html files and vim-help files from the XML source,
|
||||||
|
you will need to do follow the following steps. The steps are complex only
|
||||||
|
for a windows machine. On most (modern) linux machines, the various
|
||||||
|
utilities are already installed and all you need to do is some
|
||||||
|
soft-linking.
|
||||||
|
|
||||||
|
1. Download the Docbook XSL stylesheets from
|
||||||
|
|
||||||
|
http://sourceforge.net/project/showfiles.php?group_id=21935
|
||||||
|
|
||||||
|
I downloaded docbook-xsl-1.61.2.tar.gz. Unpack this archive under the
|
||||||
|
present directory. You should see something like::
|
||||||
|
|
||||||
|
./docbook-xsl-1.XX.X/
|
||||||
|
|
||||||
|
Rename this to::
|
||||||
|
|
||||||
|
./docbook-xsl
|
||||||
|
|
||||||
|
Alternatively, if you are on a modern unix system, the docbook-xsl
|
||||||
|
stylesheets should already be installed on your system. Soft-linking
|
||||||
|
will thus work more simply. On a typical Debian box, just do::
|
||||||
|
|
||||||
|
ln -s /usr/share/sgml/docbook/stylesheet/xsl/nwalsh docbook-xsl
|
||||||
|
|
||||||
|
The docbook-xsl stylesheets can be installed via the docbook-xsl
|
||||||
|
package on Debian. (Just use apt-get).
|
||||||
|
|
||||||
|
2. Download the Docbook DTD from
|
||||||
|
|
||||||
|
http://www.oasis-open.org/docbook/xml/4.2/docbook-xml-4.2.zip
|
||||||
|
|
||||||
|
Extract this into a subdirectory ``docbook-xml/`` under the present
|
||||||
|
directory. You should see something like::
|
||||||
|
|
||||||
|
./docbook-xml/
|
||||||
|
|
||||||
|
with a file ``docbookx.dtd`` located there.
|
||||||
|
|
||||||
|
**CAUTION**:
|
||||||
|
The archive above does not create a top level directory but
|
||||||
|
unzips directly into the present directory. Therefore, make sure to
|
||||||
|
run the unzip by first creating ``./docbook-xml/``, copying the zip
|
||||||
|
file there and then unzipping.
|
||||||
|
|
||||||
|
Alternatively, if you are on a modern unix system, the docbook-xml DTD
|
||||||
|
will already be installed. Softlinking will thus work. On a typical
|
||||||
|
Debian box, you could do::
|
||||||
|
|
||||||
|
ln -s /usr/share/sgml/docbook/dtd/xml/4.2 docbook-xml
|
||||||
|
|
||||||
|
On debian, you need the docbook-xml package on Debian. (Just use
|
||||||
|
apt-get).
|
||||||
|
|
||||||
|
3. Download saxon.jar from
|
||||||
|
|
||||||
|
http://vim-latex.sourceforge.net/documentation/saxon.jar
|
||||||
|
|
||||||
|
This is the bare .jar file without any of the other things which saxon
|
||||||
|
comes with. Add the ``saxon.jar`` file to your ``$CLASSPATH`` setting.
|
||||||
|
|
||||||
|
**NOTE:**
|
||||||
|
The ``$CLASSPATH`` setting should point to the ``saxon.jar`` file,
|
||||||
|
not the directory where it resides.
|
||||||
|
|
||||||
|
Again, on a unix system, you might not need to download this. For debian
|
||||||
|
systems, the saxon.jar file resides in::
|
||||||
|
|
||||||
|
/usr/share/java/saxon.jar
|
||||||
|
|
||||||
|
You can point your ``$CLASSPATH`` to that file.
|
||||||
|
|
||||||
|
4. Download db2vim (created by me :)) via anonymous cvs::
|
||||||
|
|
||||||
|
mkdir -p ~/bin/db2vim
|
||||||
|
cvs -d :pserver:anonymous@cvs.vim-latex.sf.net:/cvsroot/vim-latex \
|
||||||
|
co -d ~/bin/db2vim db2vim
|
||||||
|
|
||||||
|
Add the ``~/bin/db2vim/`` directory thus created to your ``$PATH``
|
||||||
|
setting.
|
||||||
|
|
||||||
|
5. Create a new directory ``latex-suite/`` under the present directory for
|
||||||
|
the chunked html files to reside in. You should see something like::
|
||||||
|
|
||||||
|
./latex-suite/
|
||||||
|
|
||||||
|
6. Copy ``Makefile.in`` to ``Makefile`` or ``makefile`` and perform any
|
||||||
|
necessary customizations. For example, if you are using Activestate
|
||||||
|
python under windows, you will need to change the ls-txt: target as::
|
||||||
|
|
||||||
|
python e:/srinath/testing/db2vim/db2vim latex-suite.xml > latex-suite.txt
|
||||||
|
|
||||||
|
|
||||||
|
Thats it! You are ready. Now you can do::
|
||||||
|
|
||||||
|
make ls-chunk
|
||||||
|
make ls-flat
|
||||||
|
make ls-txt
|
||||||
|
|
||||||
|
to create the 3 formats.
|
||||||
|
|
||||||
|
Author: Srinath Avadhanula <srinath@fastmail.fm>
|
17
vim/vim-latex/doc/README.new
Executable file
17
vim/vim-latex/doc/README.new
Executable file
|
@ -0,0 +1,17 @@
|
||||||
|
====================================
|
||||||
|
Generating Latex-Suite documentation
|
||||||
|
====================================
|
||||||
|
|
||||||
|
You need:
|
||||||
|
- xsltproc
|
||||||
|
- Docbook XSL stylesheets (*)
|
||||||
|
- Docbook DTD (*)
|
||||||
|
|
||||||
|
(*) These files will be downloaded every time you create the documentation,
|
||||||
|
unless you install or download them.
|
||||||
|
|
||||||
|
On Fedora, you can run as root:
|
||||||
|
|
||||||
|
yum install libxslt docbook-style-xsl docbook-dtds
|
||||||
|
|
||||||
|
to install the required packages.
|
12
vim/vim-latex/doc/catalog.xml
Executable file
12
vim/vim-latex/doc/catalog.xml
Executable file
|
@ -0,0 +1,12 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE catalog
|
||||||
|
PUBLIC "-//OASIS/DTD Entity Resolution XML Catalog V1.0//EN"
|
||||||
|
"http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
|
||||||
|
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
|
||||||
|
<rewriteSystem
|
||||||
|
systemIdStartString="http://docbook.sourceforge.net/release/xsl/current"
|
||||||
|
rewritePrefix="docbook-xsl/"/>
|
||||||
|
<rewriteURI
|
||||||
|
uriStartString="http://docbook.sourceforge.net/release/xsl/current/"
|
||||||
|
rewritePrefix="docbook-xsl/" />
|
||||||
|
</catalog>
|
761
vim/vim-latex/doc/db2vim/db2vim
Executable file
761
vim/vim-latex/doc/db2vim/db2vim
Executable file
|
@ -0,0 +1,761 @@
|
||||||
|
#!/usr/bin/python
|
||||||
|
r"""
|
||||||
|
db2vim [options] file.xml
|
||||||
|
|
||||||
|
SHORT OPTIONS
|
||||||
|
|
||||||
|
-d Prints some debugging information on stderr.
|
||||||
|
|
||||||
|
-s If given, the db2vim operates in a 'stict' conversion mode, i.e, any
|
||||||
|
element which does not have a handler defined for them it be
|
||||||
|
completeley ignored including all its children. Otherwise, db2vim will
|
||||||
|
recurse into an unknown tag and process any of its children it
|
||||||
|
recognizes. Since db2vim always recognizes text nodes, not using this
|
||||||
|
option has the effect that all text will be printed out, even if
|
||||||
|
somewhat incorrectly.
|
||||||
|
|
||||||
|
LONG OPTIONS
|
||||||
|
|
||||||
|
--prefix=<prefix>
|
||||||
|
This is a string like "ls_" which will be prepended to the section
|
||||||
|
numbers. Default to 'ls_' if unsupplied.
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
import xml.dom.minidom
|
||||||
|
import getopt
|
||||||
|
import string
|
||||||
|
import re
|
||||||
|
import sys
|
||||||
|
|
||||||
|
# Okay. so I import *. Shoot me.
|
||||||
|
from textutils import *
|
||||||
|
from domutils import *
|
||||||
|
|
||||||
|
# define a bunch of constants for formatting.
|
||||||
|
TEXT_WIDTH = 80
|
||||||
|
BLOCK_QUOTE = 4
|
||||||
|
COL_SPACE = 2
|
||||||
|
|
||||||
|
# a bunch of globals used in creating the Table of contents.
|
||||||
|
#
|
||||||
|
# TOC_HASH['section 1.1 label'] = 'ls_1_1'
|
||||||
|
#
|
||||||
|
# LEVEL_HASH['section 1.1 label'] = 1
|
||||||
|
# (top level article has level 0)
|
||||||
|
#
|
||||||
|
# TITLE_HASH['section 1.1 label'] = 'Title of section 1.1'
|
||||||
|
#
|
||||||
|
# FILENAME = the name of the file being processed with the last extension
|
||||||
|
# changed to .txt
|
||||||
|
#
|
||||||
|
# TOC_PREFIX = 'ls_' (the prefix used to create the section labels).
|
||||||
|
TOC_HASH = {}
|
||||||
|
LEVEL_HASH = {}
|
||||||
|
TITLE_HASH = {}
|
||||||
|
FILENAME = ''
|
||||||
|
TOC_PREFIX = ''
|
||||||
|
|
||||||
|
ANCHOR_HASH = {}
|
||||||
|
URL_HASH = {}
|
||||||
|
|
||||||
|
# STDERR for printing debugging info.
|
||||||
|
DEBUG = 0
|
||||||
|
STDERR = sys.stderr
|
||||||
|
STRICT = 0
|
||||||
|
NUM_ANCHORS = {0:1}
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# Miscellaneous utility functions
|
||||||
|
################################################################################
|
||||||
|
# encodeTo52(num) {{{
|
||||||
|
def encodeTo52(num):
|
||||||
|
ret = ''
|
||||||
|
|
||||||
|
if num < 26:
|
||||||
|
return unichr(ord('a') + num)
|
||||||
|
elif num < 52:
|
||||||
|
return unichr(ord('A') + num - 26)
|
||||||
|
else:
|
||||||
|
return encodeTo52(int(num/52)) + encodeTo52(num % 52)
|
||||||
|
# }}}
|
||||||
|
# makeTocHash(rootElement) {{{
|
||||||
|
def makeTocHash(rootElement, width, prefix='', level=0):
|
||||||
|
retText = ""
|
||||||
|
sectionsTable = []
|
||||||
|
lastLabelUsed = 0
|
||||||
|
|
||||||
|
for section in rootElement.getChildrenByTagName('section'):
|
||||||
|
title = section.getChildrenByTagName('title')[0]
|
||||||
|
titleText = handleElement(title, width)
|
||||||
|
lastLabelUsed += 1
|
||||||
|
thisLabel = TOC_PREFIX + prefix + str(lastLabelUsed)
|
||||||
|
|
||||||
|
sectionid = section.getAttribute('id')
|
||||||
|
if not sectionid:
|
||||||
|
section.setAttribute('id', thisLabel)
|
||||||
|
sectionid = thisLabel
|
||||||
|
|
||||||
|
NUM_ANCHORS[0] += 1
|
||||||
|
ANCHOR_HASH[sectionid] = TOC_PREFIX + 'a_' + encodeTo52(NUM_ANCHORS[0] + 52)
|
||||||
|
|
||||||
|
TOC_HASH[sectionid] = thisLabel
|
||||||
|
LEVEL_HASH[sectionid] = level
|
||||||
|
TITLE_HASH[sectionid] = titleText
|
||||||
|
|
||||||
|
if section.getChildrenByTagName('section'):
|
||||||
|
childText = makeTocHash(section, width - 5,
|
||||||
|
prefix = prefix+str(lastLabelUsed) + '_',
|
||||||
|
level = level + 1)
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
# makeAnchorHash(rootElement) {{{
|
||||||
|
def makeAnchorHash(rootElement):
|
||||||
|
anchors = rootElement.getElementsByTagName('anchor') + rootElement.getElementsByTagName('note')
|
||||||
|
numAnchors = 0
|
||||||
|
for anchor in anchors:
|
||||||
|
if not anchor.getAttribute('id'):
|
||||||
|
continue
|
||||||
|
|
||||||
|
NUM_ANCHORS[0] += 1
|
||||||
|
if ANCHOR_HASH.has_key(anchor.getAttribute('id')) or TOC_HASH.has_key(anchor.getAttribute('id')):
|
||||||
|
print >> STDERR, "Warning: anchor [%s] multiply defined" % anchor.getAttribute('id')
|
||||||
|
|
||||||
|
ANCHOR_HASH[anchor.getAttribute('id')] = TOC_PREFIX + 'a_' + encodeTo52(NUM_ANCHORS[0] + 52)
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
# makeURLHash(rootElement) {{{
|
||||||
|
def makeURLHash(rootElement):
|
||||||
|
urls = rootElement.getElementsByTagName('ulink')
|
||||||
|
numURLs = 0
|
||||||
|
for url in urls:
|
||||||
|
if not url.getAttribute('url') or URL_HASH.has_key(url.getAttribute('url')):
|
||||||
|
continue
|
||||||
|
numURLs += 1
|
||||||
|
URL_HASH[url.getAttribute('url')] = TOC_PREFIX + 'u_' + str(numURLs)
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
# makeTOC(node, width, prefix='', level=0, maxleve=1): {{{
|
||||||
|
def makeTOC(node, width, maxlevel=1):
|
||||||
|
retText = ""
|
||||||
|
sectionsTable = []
|
||||||
|
lastLabelUsed = 0
|
||||||
|
|
||||||
|
for section in node.getChildrenByTagName('section'):
|
||||||
|
|
||||||
|
sectionid = section.getAttribute('id')
|
||||||
|
thisLabel = TOC_HASH.get(sectionid, '')
|
||||||
|
titleText = TITLE_HASH.get(sectionid, '')
|
||||||
|
level = LEVEL_HASH.get(sectionid, 10)
|
||||||
|
|
||||||
|
if level <= maxlevel:
|
||||||
|
retText += '|' + thisLabel + '| ' + titleText + '\n'
|
||||||
|
|
||||||
|
if level < maxlevel and section.getChildrenByTagName('section'):
|
||||||
|
childText = makeTOC(section, width-5)
|
||||||
|
retText += VertCatString(" ", 4, childText) + '\n'
|
||||||
|
|
||||||
|
retText = re.sub(r'\s+$', r'\n', retText)
|
||||||
|
|
||||||
|
return retText
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# Generalized function for handling dom elements.
|
||||||
|
################################################################################
|
||||||
|
# IsInlineTag(self): {{{
|
||||||
|
def IsInlineTag(self):
|
||||||
|
if self.nodeType == self.TEXT_NODE:
|
||||||
|
return 1
|
||||||
|
elif inlineTags.get(self.tagName, 0):
|
||||||
|
return 1
|
||||||
|
else:
|
||||||
|
return 0
|
||||||
|
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
# getChildrenByTagName(self, name): {{{
|
||||||
|
# Description: extension to the xml.dom.minidom.Element class.
|
||||||
|
# returns all direct descendants of this Element.
|
||||||
|
def getChildrenByTagName(self, name):
|
||||||
|
nodeList = []
|
||||||
|
|
||||||
|
child = self.firstChild
|
||||||
|
while not child is None:
|
||||||
|
if child.nodeType == child.ELEMENT_NODE and child.nodeName == name:
|
||||||
|
nodeList.append(child)
|
||||||
|
|
||||||
|
child = child.nextSibling
|
||||||
|
|
||||||
|
return nodeList
|
||||||
|
|
||||||
|
xml.dom.minidom.Element.getChildrenByTagName = getChildrenByTagName
|
||||||
|
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
# handleElement(rootElement, width=TEXT_WIDTH): {{{
|
||||||
|
def handleElement(rootElement, width=TEXT_WIDTH):
|
||||||
|
"""
|
||||||
|
handleElement(rootElement, width=TEXT_WIDTH):
|
||||||
|
|
||||||
|
Generalized function to handle an Element node in a DOM tree.
|
||||||
|
"""
|
||||||
|
|
||||||
|
retText = ""
|
||||||
|
child = rootElement.firstChild
|
||||||
|
while not child is None:
|
||||||
|
|
||||||
|
printerr('node type = %d' % child.nodeType)
|
||||||
|
if child.nodeType == child.ELEMENT_NODE:
|
||||||
|
printerr('processing [%s]' % child.tagName)
|
||||||
|
|
||||||
|
isinline = IsInlineTag(child)
|
||||||
|
|
||||||
|
# if the child is an Element and if a handler exists, then call it.
|
||||||
|
if not isinline \
|
||||||
|
and child.nodeType == child.ELEMENT_NODE \
|
||||||
|
and handlerMaps.has_key(child.tagName):
|
||||||
|
# offset the child text by the current indentation value
|
||||||
|
printerr('making recursive call to known child.')
|
||||||
|
retText += handlerMaps[child.tagName](child, width)
|
||||||
|
child = child.nextSibling
|
||||||
|
|
||||||
|
elif not isinline \
|
||||||
|
and child.nodeType == child.PROCESSING_INSTRUCTION_NODE \
|
||||||
|
and child.target == 'vimhelp':
|
||||||
|
|
||||||
|
if handlerMaps.has_key(child.data):
|
||||||
|
retText += handlerMaps[child.data](child, width)
|
||||||
|
|
||||||
|
child = child.nextSibling
|
||||||
|
|
||||||
|
# if its a text node or an inline element node, collect consecutive
|
||||||
|
# text nodes into a single paragraph and indent it.
|
||||||
|
elif isinline:
|
||||||
|
|
||||||
|
text = ""
|
||||||
|
while not child is None and IsInlineTag(child):
|
||||||
|
if child.nodeType == child.TEXT_NODE:
|
||||||
|
text += child.data
|
||||||
|
elif child.nodeType == child.ELEMENT_NODE:
|
||||||
|
if handlerMaps.has_key(child.tagName):
|
||||||
|
text += handlerMaps[child.tagName](child, width)
|
||||||
|
else:
|
||||||
|
text += GetText(child.childNodes)
|
||||||
|
child = child.nextSibling
|
||||||
|
|
||||||
|
retText += IndentParagraphs(text, width)
|
||||||
|
|
||||||
|
# If we cannot understand _anything_ about the element, then just
|
||||||
|
# handle its children hoping we have something to gather from
|
||||||
|
# there.
|
||||||
|
elif not STRICT:
|
||||||
|
printerr('making recursive call for unkown child')
|
||||||
|
retText += handleElement(child, width)
|
||||||
|
child = child.nextSibling
|
||||||
|
|
||||||
|
else:
|
||||||
|
child = child.nextSibling
|
||||||
|
|
||||||
|
return retText
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# Functions for handling various xml tags
|
||||||
|
################################################################################
|
||||||
|
# handleArticleInfo(articleinfo, width): {{{
|
||||||
|
def handleArticleInfo(articleinfo, width):
|
||||||
|
|
||||||
|
makeTocHash(articleinfo.parentNode, width)
|
||||||
|
makeAnchorHash(articleinfo.parentNode)
|
||||||
|
makeURLHash(articleinfo.parentNode)
|
||||||
|
|
||||||
|
title = articleinfo.getChildrenByTagName('title')
|
||||||
|
if title is None:
|
||||||
|
print("Article should have a title!")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
name = GetText(title[0].childNodes)
|
||||||
|
authors = articleinfo.getChildrenByTagName('author')
|
||||||
|
|
||||||
|
authorText = ''
|
||||||
|
for author in authors:
|
||||||
|
firstname = ''
|
||||||
|
surname = ''
|
||||||
|
if author.getElementsByTagName('firstname'):
|
||||||
|
firstname = GetTextFromElementNode(author, 'firstname')[0]
|
||||||
|
if author.getChildrenByTagName('surname'):
|
||||||
|
surname = GetTextFromElementNode(author, 'surname')[0]
|
||||||
|
if author.getElementsByTagName('email'):
|
||||||
|
email = GetTextFromElementNode(author, 'email')[0]
|
||||||
|
authorText = authorText + firstname + ' ' + surname + ' <' + email + '>\n'
|
||||||
|
|
||||||
|
|
||||||
|
abstractText = ''
|
||||||
|
abstract = articleinfo.getChildrenByTagName('abstract')
|
||||||
|
if abstract is not None:
|
||||||
|
abstractText = '\n\n' + CenterText('Abstract\n========', width)
|
||||||
|
abstractText += handleElement(abstract[0], width) + '\n'
|
||||||
|
|
||||||
|
|
||||||
|
retText = CenterText(name + '\n*' + FILENAME + '*\n' + authorText, width)
|
||||||
|
retText += abstractText
|
||||||
|
|
||||||
|
toc = makeTOC(articleinfo.parentNode, width)
|
||||||
|
|
||||||
|
foldwarn = r'''
|
||||||
|
================================================================================
|
||||||
|
Viewing this file
|
||||||
|
|
||||||
|
This file can be viewed with all the sections and subsections folded to ease
|
||||||
|
navigation. By default, vim does not fold help documents. To create the folds,
|
||||||
|
press za now. The folds are created via a foldexpr which can be seen in the
|
||||||
|
last section of this file.
|
||||||
|
|
||||||
|
See |usr_28.txt| for an introduction to folding and |fold-commands| for key
|
||||||
|
sequences and commands to work with folds.
|
||||||
|
'''
|
||||||
|
|
||||||
|
return retText + '\n' + RightJustify('*' + FILENAME + '-toc*', width) + '\n' + toc + foldwarn
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
# handleOption(option, width): {{{
|
||||||
|
def handleOption(option, width):
|
||||||
|
retText = ""
|
||||||
|
names = GetTextFromElementNode(option, "name")
|
||||||
|
|
||||||
|
for name in names:
|
||||||
|
retText += string.rjust("*"+name+"*", width) + "\n"
|
||||||
|
|
||||||
|
nameTexts = ""
|
||||||
|
maxNameLen = -1
|
||||||
|
for name in names:
|
||||||
|
maxNameLen = max(maxNameLen, len(name + " "))
|
||||||
|
nameTexts += name + " \n"
|
||||||
|
|
||||||
|
desc = option.getChildrenByTagName("desc")[0]
|
||||||
|
descText = handleElement(desc, width=width-maxNameLen)
|
||||||
|
|
||||||
|
retText += VertCatString(nameTexts + " ", None, descText)
|
||||||
|
|
||||||
|
return retText + "\n"
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
# handleOptionDefault(default, width): {{{
|
||||||
|
def handleOptionDefault(default, width):
|
||||||
|
type = string.join(GetTextFromElementNode(default, "type"), "\n")
|
||||||
|
extra = string.join(GetTextFromElementNode(default, "extra"), "\n")
|
||||||
|
return type + "\t(" + extra + ")"
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
# handleTableRoot(root, width): {{{
|
||||||
|
def handleTableRoot(root, width):
|
||||||
|
tgroup = root.getChildrenByTagName('tgroup')[0]
|
||||||
|
if tgroup is None:
|
||||||
|
return ''
|
||||||
|
|
||||||
|
rows = []
|
||||||
|
numHeadRows = 0
|
||||||
|
if tgroup.getChildrenByTagName('thead'):
|
||||||
|
thead = tgroup.getChildrenByTagName('thead')[0]
|
||||||
|
rows = thead.getChildrenByTagName('row')
|
||||||
|
numHeadRows = len(rows)
|
||||||
|
|
||||||
|
tbody = tgroup.getChildrenByTagName('tbody')[0]
|
||||||
|
rows += tbody.getChildrenByTagName('row')
|
||||||
|
|
||||||
|
widths, text = calculateColumnWidthsDoublePass(rows, width)
|
||||||
|
|
||||||
|
headText = text[0:numHeadRows]
|
||||||
|
bodyText = text[numHeadRows:]
|
||||||
|
|
||||||
|
headTable = FormatTable(headText, ROW_SPACE = 1, COL_SPACE =
|
||||||
|
COL_SPACE, justify = 0, widths = widths)
|
||||||
|
if headTable:
|
||||||
|
headTable = re.sub(r'\n|$', '\g<0>~', headTable)
|
||||||
|
bodyTable = FormatTable(bodyText, ROW_SPACE = 1, COL_SPACE =
|
||||||
|
COL_SPACE, justify = 0, widths = widths)
|
||||||
|
|
||||||
|
return headTable + '\n'+ re.sub(r'\n+$', '', bodyTable) + '\n\n'
|
||||||
|
|
||||||
|
# calculateColumnWidths(rows, width): {{{
|
||||||
|
def calculateColumnWidths(rows, alloc_widths):
|
||||||
|
widths = {}
|
||||||
|
text = []
|
||||||
|
for row in rows:
|
||||||
|
cols = row.getChildrenByTagName("entry")
|
||||||
|
if len(alloc_widths) == 1:
|
||||||
|
alloc_widths *= len(cols)
|
||||||
|
|
||||||
|
colwidths = []
|
||||||
|
rowtext = []
|
||||||
|
for col, width in zip(cols, alloc_widths):
|
||||||
|
coltext = handleElement(col, width)
|
||||||
|
|
||||||
|
rowtext.append(coltext)
|
||||||
|
# This is the 'width' of the current cell including the
|
||||||
|
# whitespace padding.
|
||||||
|
colwidths.append(max(map(len, coltext.split("\n"))) \
|
||||||
|
+ COL_SPACE)
|
||||||
|
|
||||||
|
text.append(rowtext)
|
||||||
|
|
||||||
|
# update the widths of the columns by finding the maximum
|
||||||
|
# width of all cells in this column.
|
||||||
|
for i in range(len(colwidths)):
|
||||||
|
widths[i] = max(colwidths[i], widths.get(i, -1))
|
||||||
|
|
||||||
|
return widths, text
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
# calculateColumnWidthsDoublePass(rows, width): {{{
|
||||||
|
def calculateColumnWidthsDoublePass(rows, width):
|
||||||
|
maxwidths, text = calculateColumnWidths(rows, [width])
|
||||||
|
if reduce(lambda x, y: x+y, maxwidths.values()) <= width:
|
||||||
|
return maxwidths, text
|
||||||
|
|
||||||
|
# now find out how many columns exceed the maximum permitted width.
|
||||||
|
# nlarge: number of columns which are too wide.
|
||||||
|
# remainingWidth: width which these large columns can share.
|
||||||
|
nlarge = 0
|
||||||
|
remainingWidth = width
|
||||||
|
for colwidth in maxwidths.values():
|
||||||
|
if colwidth > width/len(maxwidths):
|
||||||
|
nlarge += 1
|
||||||
|
else:
|
||||||
|
remainingWidth += -colwidth
|
||||||
|
|
||||||
|
# newmaxwidth: width which each of the large columns is allowed.
|
||||||
|
newmaxwidth = remainingWidth/max(nlarge, 1)
|
||||||
|
|
||||||
|
newcolwidths = []
|
||||||
|
for colwidth in maxwidths.values():
|
||||||
|
newcolwidths += [min(colwidth, newmaxwidth)]
|
||||||
|
|
||||||
|
# make another run and this time ask each cell to restrict itself to
|
||||||
|
# newmaxwidth as calculated above.
|
||||||
|
newmaxwidth, newtext = calculateColumnWidths(rows, newcolwidths)
|
||||||
|
|
||||||
|
return newmaxwidth, newtext
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
# }}}
|
||||||
|
# handleCode(code, width): {{{
|
||||||
|
def handleCode(code, width):
|
||||||
|
retText = GetText(code.childNodes)
|
||||||
|
return " &codebegin;\n" + VertCatString(" ", 4, retText) + "&codeend;"
|
||||||
|
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
# handleList(list, width, marker=0): {{{
|
||||||
|
def handleList(list, width, marker=0):
|
||||||
|
if list.tagName == 'simplelist':
|
||||||
|
child = 'member'
|
||||||
|
decoration = ''
|
||||||
|
elif list.tagName == 'orderedlist':
|
||||||
|
child = 'listitem'
|
||||||
|
else:
|
||||||
|
child = 'member'
|
||||||
|
decoration = '- '
|
||||||
|
|
||||||
|
retText = ""
|
||||||
|
items = list.getChildrenByTagName(child)
|
||||||
|
i = 1
|
||||||
|
|
||||||
|
for item in items:
|
||||||
|
if list.tagName == 'orderedlist':
|
||||||
|
decoration = str(i) + '. '
|
||||||
|
i = i + 1
|
||||||
|
itemText = handleElement(item, width - len(decoration))
|
||||||
|
itemText = VertCatString(decoration, None, itemText)
|
||||||
|
|
||||||
|
retText += '\n' + re.sub(r'\s+$', '', itemText) + "\n"
|
||||||
|
|
||||||
|
return retText
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
# handleNote(note, width): {{{
|
||||||
|
def handleNote(note, width):
|
||||||
|
title = None
|
||||||
|
if note.getChildrenByTagName('title'):
|
||||||
|
title = note.getChildrenByTagName('title')[0]
|
||||||
|
name = GetText(title.childNodes)
|
||||||
|
note.removeChild(title)
|
||||||
|
|
||||||
|
noteid = ''
|
||||||
|
if note.getAttribute('id'):
|
||||||
|
noteTagText = '*' + note.getAttribute('id') + '* '
|
||||||
|
noteTagText += '*' + ANCHOR_HASH[note.getAttribute('id')] + '*'
|
||||||
|
noteTagText = IndentParagraphs(noteTagText, width/2)
|
||||||
|
noteid = RightJustify(noteTagText, width) + '\n'
|
||||||
|
|
||||||
|
noteText = handleElement(note, width-len("NOTE: "))
|
||||||
|
if title is not None:
|
||||||
|
noteText = name + '\n' +('-' * len(name)) + '\n' + noteText
|
||||||
|
|
||||||
|
noteText = noteid + VertCatString("NOTE: ", None, noteText)
|
||||||
|
|
||||||
|
return noteText + "\n"
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
# handleParagraph(paragraph, width): {{{
|
||||||
|
def handleParagraph(paragraph, width):
|
||||||
|
partext = handleElement(paragraph, width)
|
||||||
|
|
||||||
|
partext = re.sub(r'\n+$', '', partext)
|
||||||
|
partext = re.sub(r'^\n+', '', partext)
|
||||||
|
|
||||||
|
return partext + "\n\n"
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
# handleFormalParagraph(paragraph, width): {{{
|
||||||
|
def handleFormalParagraph(formalparagraph, width):
|
||||||
|
title = None
|
||||||
|
if formalparagraph.getChildrenByTagName('title'):
|
||||||
|
title = formalparagraph.getChildrenByTagName('title')[0]
|
||||||
|
name = GetText(title.childNodes)
|
||||||
|
formalparagraph.removeChild(title)
|
||||||
|
|
||||||
|
partext = handleElement(formalparagraph, width)
|
||||||
|
|
||||||
|
partext = re.sub(r'\n+$', '', partext)
|
||||||
|
partext = re.sub(r'^\n+', '', partext)
|
||||||
|
if title is not None:
|
||||||
|
partext = name + '\n' + ('-' * len(name)) + '\n' + partext
|
||||||
|
|
||||||
|
return partext + "\n\n"
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
# handleBlockQuote(block, width): {{{
|
||||||
|
def handleBlockQuote(block, width):
|
||||||
|
text = handleElement(block, width - BLOCK_QUOTE)
|
||||||
|
text = VertCatString(" "*BLOCK_QUOTE, \
|
||||||
|
BLOCK_QUOTE, text)
|
||||||
|
|
||||||
|
return text + "\n"
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
# handleLink(link, width): {{{
|
||||||
|
def handleLink(link, width):
|
||||||
|
linkend = link.getAttribute('linkend')
|
||||||
|
if not ANCHOR_HASH.has_key(linkend):
|
||||||
|
print >> STDERR, "Warning: Link ID [%s] not found in TOC" % linkend
|
||||||
|
text = handleElement(link, width)
|
||||||
|
anchorpt = ANCHOR_HASH.get(linkend)
|
||||||
|
if not anchorpt:
|
||||||
|
anchorpt = ''
|
||||||
|
|
||||||
|
return text + ' [|' + anchorpt + '|]'
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
# handleAnchor(anchor, width): {{{
|
||||||
|
def handleAnchor(anchor, width):
|
||||||
|
anchorText = '*'+anchor.getAttribute('id')+'* '
|
||||||
|
anchorText += '*'+ANCHOR_HASH[anchor.getAttribute('id')]+'*'
|
||||||
|
return RightJustify(anchorText, width) \
|
||||||
|
+ "\n"
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
# handleSection(section, width): {{{
|
||||||
|
def handleSection(section, width):
|
||||||
|
title = section.getChildrenByTagName('title')[0]
|
||||||
|
name = handleElement(title, width)
|
||||||
|
|
||||||
|
sectionid = section.getAttribute('id')
|
||||||
|
tagsformatted = ''
|
||||||
|
if TOC_HASH.has_key(sectionid):
|
||||||
|
tagsformatted = '*%s* ' % TOC_HASH[sectionid]
|
||||||
|
|
||||||
|
if ANCHOR_HASH.has_key(sectionid):
|
||||||
|
tagsformatted += '*%s* ' % ANCHOR_HASH[sectionid]
|
||||||
|
|
||||||
|
if sectionid and TOC_HASH.has_key(sectionid) and sectionid != TOC_HASH[sectionid]:
|
||||||
|
tagsformatted += '*%s*' % sectionid
|
||||||
|
|
||||||
|
# try to indent to a width of 20
|
||||||
|
tagsformatted = RightJustify(IndentParagraphs(tagsformatted, 30), 0)
|
||||||
|
tagswidth = TextWidth(tagsformatted)
|
||||||
|
|
||||||
|
# width(name) + nspaces + width(tags) = 80
|
||||||
|
if len(tagsformatted) > 2:
|
||||||
|
header = VertCatString(name, 80-tagswidth, tagsformatted)
|
||||||
|
else:
|
||||||
|
header = name
|
||||||
|
|
||||||
|
section.removeChild(title)
|
||||||
|
text = handleElement(section, width)
|
||||||
|
|
||||||
|
thislevel = LEVEL_HASH.get(sectionid, -1)
|
||||||
|
if thislevel == 0:
|
||||||
|
delim = '='
|
||||||
|
newlines = '\n\n'
|
||||||
|
elif thislevel == 1:
|
||||||
|
delim = '-'
|
||||||
|
newlines = '\n'
|
||||||
|
else:
|
||||||
|
delim = ''
|
||||||
|
newlines = '\n'
|
||||||
|
|
||||||
|
thisTOC = ''
|
||||||
|
if thislevel <= 1:
|
||||||
|
thisTOC = makeTOC(section, width, maxlevel=1)
|
||||||
|
|
||||||
|
return "\n" + (delim * TEXT_WIDTH) + \
|
||||||
|
"\n" + header + newlines + thisTOC + newlines + re.sub(r'\n+$', '', text) + "\n"
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
# handleUlink(ulink, width) {{{
|
||||||
|
def handleUlink(ulink, width):
|
||||||
|
url = ulink.getAttribute('url')
|
||||||
|
text = handleElement(ulink)
|
||||||
|
# URL_HASH is created at the very beginning
|
||||||
|
if url:
|
||||||
|
return text + ' |%s|' % URL_HASH[url]
|
||||||
|
else:
|
||||||
|
print >> STDERR, "Warning: url attribute empty for [%s]" % text
|
||||||
|
return text
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
# handleIndexTerm(indexterm, width) {{{
|
||||||
|
def handleIndexTerm(indexterm, width) :
|
||||||
|
return ''
|
||||||
|
# }}}
|
||||||
|
# handleEmphasis(emphasis, width) {{{
|
||||||
|
def handleEmphasis(emphasis, width):
|
||||||
|
return '_' + GetText(emphasis.childNodes) + '_'
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# A dictionary for mapping xml tags to functions.
|
||||||
|
################################################################################
|
||||||
|
# {{{
|
||||||
|
handlerMaps = {
|
||||||
|
'articleinfo': handleArticleInfo,
|
||||||
|
'table': handleTableRoot,
|
||||||
|
'informaltable': handleTableRoot,
|
||||||
|
'code': handleCode,
|
||||||
|
'programlisting': handleCode,
|
||||||
|
'list': handleList,
|
||||||
|
'simplelist': handleList,
|
||||||
|
'orderedlist': handleList,
|
||||||
|
'para': handleParagraph,
|
||||||
|
'formalpara': handleFormalParagraph,
|
||||||
|
'note': handleNote,
|
||||||
|
'link': handleLink,
|
||||||
|
'anchor': handleAnchor,
|
||||||
|
'section': handleSection,
|
||||||
|
'blockquote': handleBlockQuote,
|
||||||
|
'ulink': handleUlink,
|
||||||
|
'emphasis': handleEmphasis,
|
||||||
|
'indexterm': handleIndexTerm
|
||||||
|
}
|
||||||
|
inlineTags = {'tag':1, 'literal':1, 'link':1,
|
||||||
|
'ulink':1, 'citetitle':1, 'indexterm':1,
|
||||||
|
'emphasis':1, 'filename':1 }
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
# helper functions for usage() and printerr() {{{
|
||||||
|
def usage():
|
||||||
|
print __doc__
|
||||||
|
|
||||||
|
def printerr(statement):
|
||||||
|
if DEBUG:
|
||||||
|
print >> STDERR, statement
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
# replaceComment(matchobj) {{{
|
||||||
|
def replaceComment(matchobj):
|
||||||
|
initspace = matchobj.group(1)
|
||||||
|
firstsent = matchobj.group(2)
|
||||||
|
code = matchobj.group(3)
|
||||||
|
|
||||||
|
if len(initspace) > 0:
|
||||||
|
if initspace[0] == '<':
|
||||||
|
lastspace = initspace
|
||||||
|
else:
|
||||||
|
lastspace = '<' + initspace[:-1]
|
||||||
|
else:
|
||||||
|
lastspace = initspace
|
||||||
|
|
||||||
|
return '\n' + initspace + firstsent + ' >\n' + code + '\n' + lastspace
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
# main function {{{
|
||||||
|
if __name__ == "__main__":
|
||||||
|
option = {}
|
||||||
|
try:
|
||||||
|
opts, args = getopt.getopt(sys.argv[1:], 'ds', ['prefix=', 'help'])
|
||||||
|
for oa, ov in opts:
|
||||||
|
option[oa] = ov
|
||||||
|
|
||||||
|
except getopt.GetoptError:
|
||||||
|
print >> STDERR, "Usage error: db2vim --help for usage"
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
if option.has_key('--help'):
|
||||||
|
usage();
|
||||||
|
sys.exit(0);
|
||||||
|
|
||||||
|
TOC_PREFIX = option.get('--prefix', 'ls_')
|
||||||
|
DEBUG = option.has_key('-d')
|
||||||
|
|
||||||
|
if len(args) != 1:
|
||||||
|
print >> STDERR, "Usage error: db2vim --help for usage"
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
fileName = args[0]
|
||||||
|
FILENAME = re.sub(r'\.\w+$', r'.txt', fileName)
|
||||||
|
|
||||||
|
try:
|
||||||
|
fp = open(fileName)
|
||||||
|
except:
|
||||||
|
print "Error opening xml file"
|
||||||
|
|
||||||
|
dom = xml.dom.minidom.parse(fp)
|
||||||
|
|
||||||
|
modeline = r'''
|
||||||
|
================================================================================
|
||||||
|
About this file
|
||||||
|
|
||||||
|
This file was created automatically from its XML variant using db2vim. db2vim is
|
||||||
|
a python script which understands a very limited subset of the Docbook XML 4.2
|
||||||
|
DTD and outputs a plain text file in vim help format.
|
||||||
|
|
||||||
|
db2vim can be obtained via anonymous CVS from sourceforge.net. Use
|
||||||
|
|
||||||
|
cvs -d:pserver:anonymous@cvs.vim-latex.sf.net:/cvsroot/vim-latex co db2vim
|
||||||
|
|
||||||
|
Or you can visit the web-interface to sourceforge CVS at:
|
||||||
|
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/vim-latex/db2vim/
|
||||||
|
|
||||||
|
The following modelines should nicely fold up this help manual.
|
||||||
|
|
||||||
|
vim:ft=help:fdm=expr:nowrap
|
||||||
|
vim:foldexpr=getline(v\:lnum-1)=~'-\\{80}'?'>2'\:getline(v\:lnum-1)=~'=\\{80}'?'>1'\:getline(v\:lnum)=~'=\\{80}'?'0'\:getline(v\:lnum)=~'-\\{80}'?'1'\:'='
|
||||||
|
vim:foldtext=substitute(v\:folddashes.substitute(getline(v\:foldstart),'\\s*\\*.*',"",""),'^--','\ \ \ \ \ \ ','')
|
||||||
|
================================================================================'''
|
||||||
|
|
||||||
|
STRICT = option.has_key('-s')
|
||||||
|
|
||||||
|
pattern = re.compile(r'\n([< ]*)([^\n]+)&codebegin;\n(.*?)&codeend;', re.DOTALL)
|
||||||
|
|
||||||
|
processedDoc = handleElement(dom.documentElement)
|
||||||
|
while re.search('&codebegin;', processedDoc):
|
||||||
|
processedDoc = re.sub(pattern, replaceComment, processedDoc)
|
||||||
|
|
||||||
|
urlsection = r"""
|
||||||
|
================================================================================
|
||||||
|
URLs used in this file
|
||||||
|
|
||||||
|
"""
|
||||||
|
labels = zip(URL_HASH.values(), URL_HASH.keys())
|
||||||
|
labels.sort()
|
||||||
|
for label, url in labels:
|
||||||
|
urlsection += '*%s* : %s\n' % (label, url)
|
||||||
|
|
||||||
|
processedDoc = processedDoc + urlsection + modeline
|
||||||
|
print processedDoc.encode('iso-8859-1')
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
# vim:et:sts=4:fdm=marker
|
25
vim/vim-latex/doc/db2vim/domutils.py
Executable file
25
vim/vim-latex/doc/db2vim/domutils.py
Executable file
|
@ -0,0 +1,25 @@
|
||||||
|
def GetTextFromElementNode(element, childNamePattern):
|
||||||
|
children = element.getElementsByTagName(childNamePattern)
|
||||||
|
texts = []
|
||||||
|
for child in children:
|
||||||
|
texts.append(GetText(child.childNodes))
|
||||||
|
|
||||||
|
return texts
|
||||||
|
|
||||||
|
def GetText(nodelist):
|
||||||
|
rc = ""
|
||||||
|
for node in nodelist:
|
||||||
|
if node.nodeType == node.TEXT_NODE:
|
||||||
|
rc = rc + node.data
|
||||||
|
return rc
|
||||||
|
|
||||||
|
def GetTextFromElement(element):
|
||||||
|
text = ""
|
||||||
|
child = element.firstChild
|
||||||
|
while not child.nextSibling is None:
|
||||||
|
child = child.nextSibling
|
||||||
|
print child
|
||||||
|
if child.nodeType == child.TEXT_NODE:
|
||||||
|
text = text + child.data
|
||||||
|
|
||||||
|
return text
|
224
vim/vim-latex/doc/db2vim/textutils.py
Executable file
224
vim/vim-latex/doc/db2vim/textutils.py
Executable file
|
@ -0,0 +1,224 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
"""Contains functions to do word-wrapping on text paragraphs."""
|
||||||
|
|
||||||
|
import string
|
||||||
|
import re, random
|
||||||
|
import operator
|
||||||
|
|
||||||
|
# JustifyLine(line, width): {{{
|
||||||
|
def JustifyLine(line, width):
|
||||||
|
"""Stretch a line to width by filling in spaces at word gaps.
|
||||||
|
|
||||||
|
The gaps are picked randomly one-after-another, before it starts
|
||||||
|
over again.
|
||||||
|
|
||||||
|
Author: Christopher Arndt <chris.arndt@web.de
|
||||||
|
"""
|
||||||
|
i = []
|
||||||
|
while 1:
|
||||||
|
# line not long enough already?
|
||||||
|
if len(' '.join(line)) < width:
|
||||||
|
if not i:
|
||||||
|
# index list is exhausted
|
||||||
|
# get list if indices excluding last word
|
||||||
|
i = range(max(1, len(line)-1))
|
||||||
|
# and shuffle it
|
||||||
|
random.shuffle(i)
|
||||||
|
# append space to a random word and remove its index
|
||||||
|
line[i.pop(0)] += ' '
|
||||||
|
else:
|
||||||
|
# line has reached specified width or wider
|
||||||
|
return ' '.join(line)
|
||||||
|
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
# FillParagraphs(text, width=80, justify=0): {{{
|
||||||
|
def FillParagraphs(text, width=80, justify=0):
|
||||||
|
"""Split a text into paragraphs and wrap them to width linelength.
|
||||||
|
|
||||||
|
Optionally justify the paragraphs (i.e. stretch lines to fill width).
|
||||||
|
|
||||||
|
Inter-word space is reduced to one space character and paragraphs are
|
||||||
|
always separated by two newlines. Indention is currently also lost.
|
||||||
|
|
||||||
|
Author: Christopher Arndt <chris.arndt@web.de
|
||||||
|
"""
|
||||||
|
# split taxt into paragraphs at occurences of two or more newlines
|
||||||
|
paragraphs = re.split(r'\n\n+', text)
|
||||||
|
for i in range(len(paragraphs)):
|
||||||
|
# split paragraphs into a list of words
|
||||||
|
words = paragraphs[i].strip().split()
|
||||||
|
line = []; new_par = []
|
||||||
|
while 1:
|
||||||
|
if words:
|
||||||
|
if len(' '.join(line + [words[0]])) > width and line:
|
||||||
|
# the line is already long enough -> add it to paragraph
|
||||||
|
if justify:
|
||||||
|
# stretch line to fill width
|
||||||
|
new_par.append(JustifyLine(line, width))
|
||||||
|
else:
|
||||||
|
new_par.append(' '.join(line))
|
||||||
|
line = []
|
||||||
|
else:
|
||||||
|
# append next word
|
||||||
|
line.append(words.pop(0))
|
||||||
|
else:
|
||||||
|
# last line in paragraph
|
||||||
|
new_par.append(' '.join(line))
|
||||||
|
line = []
|
||||||
|
break
|
||||||
|
# replace paragraph with formatted version
|
||||||
|
paragraphs[i] = '\n'.join(new_par)
|
||||||
|
# return paragraphs separated by two newlines
|
||||||
|
return '\n\n'.join(paragraphs)
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
# IndentParagraphs(text, width=80, indent=0, justify=0): {{{
|
||||||
|
def IndentParagraphs(text, width=80, indent=0, justify=0):
|
||||||
|
"""Indent a paragraph, i.e:
|
||||||
|
. left (and optionally right) justify text to given width
|
||||||
|
. add an extra indent if desired.
|
||||||
|
|
||||||
|
This is nothing but a wrapper around FillParagraphs
|
||||||
|
"""
|
||||||
|
retText = re.sub(r"^|\n", "\g<0>" + " "*indent, \
|
||||||
|
FillParagraphs(text, width, justify))
|
||||||
|
retText = re.sub(r"\n+$", '', retText)
|
||||||
|
return retText
|
||||||
|
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
# OffsetText(text, indent): {{{
|
||||||
|
def OffsetText(text, indent):
|
||||||
|
return re.sub("^|\n", "\g<0>" + " "*indent, text)
|
||||||
|
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
# RightJustify(lines, width): {{{
|
||||||
|
def RightJustify(lines, width):
|
||||||
|
if width == 0:
|
||||||
|
width = TextWidth(lines)
|
||||||
|
text = ""
|
||||||
|
for line in lines.split("\n"):
|
||||||
|
text += " "*(width - len(line)) + line + "\n"
|
||||||
|
|
||||||
|
text = re.sub('\n$', '', text)
|
||||||
|
return text
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
# CenterText(lines, width): {{{
|
||||||
|
def CenterText(lines, width):
|
||||||
|
text = ''
|
||||||
|
for line in lines.split("\n"):
|
||||||
|
text += " "*(width/2 - len(line)/2) + line + '\n'
|
||||||
|
return text
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
# TextWidth(text): {{{
|
||||||
|
def TextWidth(text):
|
||||||
|
"""
|
||||||
|
TextWidth(text)
|
||||||
|
|
||||||
|
returns the 'width' of the text, i.e the length of the longest segment
|
||||||
|
in the text not containing new-lines.
|
||||||
|
"""
|
||||||
|
return max(map(len, text.split('\n')))
|
||||||
|
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
# FormatTable(tableText, ROW_SPACE=2, COL_SPACE = 3, \ {{{
|
||||||
|
# COL_WIDTH=30, TABLE_WIDTH=80, justify=0):
|
||||||
|
def FormatTable(tableText, ROW_SPACE=2, COL_SPACE = 3, \
|
||||||
|
COL_WIDTH=1000, justify=0, widths=None):
|
||||||
|
"""
|
||||||
|
FormatTable(tableText [, ROW_SPACE=2, COL_SPACE = 3, COL_WIDTH=30, justify=0])
|
||||||
|
returns string
|
||||||
|
|
||||||
|
Given a 2 dimensional array of text as input, produces a plain text
|
||||||
|
formatted string which resembles the table output.
|
||||||
|
|
||||||
|
The optional arguments specify the inter row/column spacing and the
|
||||||
|
column width.
|
||||||
|
"""
|
||||||
|
|
||||||
|
# first find out the max width of the columns
|
||||||
|
# maxwidths is a dictionary, but can be accessed exactly like an
|
||||||
|
# array because the keys are integers.
|
||||||
|
|
||||||
|
if widths is None:
|
||||||
|
widths = {}
|
||||||
|
for row in tableText:
|
||||||
|
cellwidths = map(TextWidth, row)
|
||||||
|
for i in range(len(cellwidths)):
|
||||||
|
# Using: dictionary.get(key, default)
|
||||||
|
widths[i] = max(cellwidths[i], widths.get(i, -1))
|
||||||
|
|
||||||
|
# Truncate each of the maximum lengths to the maximum allowed.
|
||||||
|
for i in range(0, len(widths)):
|
||||||
|
widths[i] = min(widths[i], COL_WIDTH)
|
||||||
|
|
||||||
|
if justify:
|
||||||
|
formattedTable = []
|
||||||
|
|
||||||
|
for row in tableText:
|
||||||
|
formattedTable.append(map(FillParagraphs, row, \
|
||||||
|
[COL_WIDTH]*len(row)))
|
||||||
|
else:
|
||||||
|
formattedTable = tableText
|
||||||
|
|
||||||
|
retTableText = ""
|
||||||
|
for row in formattedTable:
|
||||||
|
rowtext = row[0]
|
||||||
|
width = widths[0]
|
||||||
|
for i in range(1, len(row)):
|
||||||
|
rowtext = VertCatString(rowtext, width, " "*COL_SPACE)
|
||||||
|
rowtext = VertCatString(rowtext, width + COL_SPACE, row[i])
|
||||||
|
|
||||||
|
width = width + COL_SPACE + widths[i]
|
||||||
|
|
||||||
|
retTableText += string.join(rowtext, "")
|
||||||
|
retTableText += "\n"*ROW_SPACE
|
||||||
|
|
||||||
|
return re.sub(r"\n+$", "", retTableText)
|
||||||
|
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
# VertCatString(string1, width1, string2): {{{
|
||||||
|
def VertCatString(string1, width1, string2):
|
||||||
|
"""
|
||||||
|
VertCatString(string1, width1=None, string2)
|
||||||
|
returns string
|
||||||
|
|
||||||
|
Concatenates string1 and string2 vertically. The lines are assumed to
|
||||||
|
be "\n" seperated.
|
||||||
|
|
||||||
|
width1 is the width of the string1 column (It is calculated if left out).
|
||||||
|
(Width refers to the maximum length of each line of a string)
|
||||||
|
|
||||||
|
NOTE: if width1 is specified < actual width, then bad things happen.
|
||||||
|
"""
|
||||||
|
lines1 = string1.split("\n")
|
||||||
|
lines2 = string2.split("\n")
|
||||||
|
|
||||||
|
if width1 is None:
|
||||||
|
width1 = -1
|
||||||
|
for line in lines1:
|
||||||
|
width1 = max(width1, len(line))
|
||||||
|
|
||||||
|
retlines = []
|
||||||
|
for i in range(0, max(len(lines1), len(lines2))):
|
||||||
|
if i >= len(lines1):
|
||||||
|
lines1.append(" "*width1)
|
||||||
|
|
||||||
|
lines1[i] = lines1[i] + " "*(width1 - len(lines1[i]))
|
||||||
|
|
||||||
|
if i >= len(lines2):
|
||||||
|
lines2.append("")
|
||||||
|
|
||||||
|
retlines.append(lines1[i] + lines2[i])
|
||||||
|
|
||||||
|
return string.join(retlines, "\n")
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
# vim:et:sts=4:fdm=marker
|
116
vim/vim-latex/doc/imaps.txt
Executable file
116
vim/vim-latex/doc/imaps.txt
Executable file
|
@ -0,0 +1,116 @@
|
||||||
|
IMAP -- A fluid replacement for :imap
|
||||||
|
*imaps.txt*
|
||||||
|
Srinath Avadhanula <srinath AT fastmail DOT fm>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Abstract
|
||||||
|
========
|
||||||
|
This plugin provides a function IMAP() which emulates vims |:imap| function. The
|
||||||
|
motivation for providing this plugin is that |:imap| suffers from problems
|
||||||
|
which get increasingly annoying with a large number of mappings.
|
||||||
|
|
||||||
|
Consider an example. If you do >
|
||||||
|
imap lhs something
|
||||||
|
|
||||||
|
|
||||||
|
then a mapping is set up. However, there will be the following problems:
|
||||||
|
1. The 'ttimeout' option will generally limit how easily you can type the lhs.
|
||||||
|
if you type the left hand side too slowly, then the mapping will not be
|
||||||
|
activated.
|
||||||
|
|
||||||
|
2. If you mistype one of the letters of the lhs, then the mapping is deactivated
|
||||||
|
as soon as you backspace to correct the mistake.
|
||||||
|
|
||||||
|
3. The characters in lhs are shown on top of each other. This is fairly
|
||||||
|
distracting. This becomes a real annoyance when a lot of characters initiate
|
||||||
|
mappings.
|
||||||
|
|
||||||
|
This script provides a function IMAP() which does not suffer from these
|
||||||
|
problems.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
*imaps.txt-toc*
|
||||||
|
|im_1| Using IMAP
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
Viewing this file
|
||||||
|
|
||||||
|
This file can be viewed with all the sections and subsections folded to ease
|
||||||
|
navigation. By default, vim does not fold help documents. To create the folds,
|
||||||
|
press za now. The folds are created via a foldexpr which can be seen in the
|
||||||
|
last section of this file.
|
||||||
|
|
||||||
|
See |usr_28.txt| for an introduction to folding and |fold-commands| for key
|
||||||
|
sequences and commands to work with folds.
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
Using IMAP *im_1* *imaps-usage*
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Each call to IMAP is made using the syntax: >
|
||||||
|
call IMAP (lhs, rhs, ft [, phs, phe])
|
||||||
|
|
||||||
|
|
||||||
|
This is equivalent to having <lhs> map to <rhs> for all files of type <ft>.
|
||||||
|
|
||||||
|
Some characters in the <rhs> have special meaning which help in cursor placement
|
||||||
|
as described in |imaps-placeholders|. The optional arguments define these
|
||||||
|
special characters.
|
||||||
|
|
||||||
|
Example One: >
|
||||||
|
call IMAP ("bit`", "\\begin{itemize}\<cr>\\item <++>\<cr>\\end{itemize}<++>", "tex")
|
||||||
|
|
||||||
|
|
||||||
|
This effectively sets up the map for "bit`" whenever you edit a latex file. When
|
||||||
|
you type in this sequence of letters, the following text is inserted: >
|
||||||
|
\begin{itemize}
|
||||||
|
\item *
|
||||||
|
\end{itemize}<++>
|
||||||
|
|
||||||
|
where * shows the cursor position. The cursor position after inserting the text
|
||||||
|
is decided by the position of the first "place-holder". Place holders are
|
||||||
|
special characters which decide cursor placement and movement. In the example
|
||||||
|
above, the place holder characters are <+ and +>. After you have typed in the
|
||||||
|
item, press <C-j> and you will be taken to the next set of <++>'s. Therefore by
|
||||||
|
placing the <++> characters appropriately, you can minimize the use of movement
|
||||||
|
keys.
|
||||||
|
|
||||||
|
Set g:Imap_UsePlaceHolders to 0 to disable placeholders altogether.
|
||||||
|
|
||||||
|
Set g:Imap_PlaceHolderStart and g:Imap_PlaceHolderEnd to something else if you
|
||||||
|
want different place holder characters. Also, b:Imap_PlaceHolderStart and
|
||||||
|
b:Imap_PlaceHolderEnd override the values of g:Imap_PlaceHolderStart and
|
||||||
|
g:Imap_PlaceHolderEnd respectively. This is useful for setting buffer specific
|
||||||
|
place holders.
|
||||||
|
|
||||||
|
Example Two: You can use the <C-r> command to insert dynamic elements such as
|
||||||
|
dates. >
|
||||||
|
call IMAP ('date`', "\<c-r>=strftime('%b %d %Y')\<cr>", '')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
With this mapping, typing date` will insert the present date into the file.
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
About this file
|
||||||
|
|
||||||
|
This file was created automatically from its XML variant using db2vim. db2vim is
|
||||||
|
a python script which understands a very limited subset of the Docbook XML 4.2
|
||||||
|
DTD and outputs a plain text file in vim help format.
|
||||||
|
|
||||||
|
db2vim can be obtained via anonymous CVS from sourceforge.net. Use
|
||||||
|
|
||||||
|
cvs -d:pserver:anonymous@cvs.vim-latex.sf.net:/cvsroot/vim-latex co db2vim
|
||||||
|
|
||||||
|
Or you can visit the web-interface to sourceforge CVS at:
|
||||||
|
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/vim-latex/db2vim/
|
||||||
|
|
||||||
|
The following modelines should nicely fold up this help manual.
|
||||||
|
|
||||||
|
vim:ft=help:fdm=expr:nowrap
|
||||||
|
vim:foldexpr=getline(v\:lnum-1)=~'-\\{80}'?'>2'\:getline(v\:lnum-1)=~'=\\{80}'?'>1'\:getline(v\:lnum)=~'=\\{80}'?'0'\:getline(v\:lnum)=~'-\\{80}'?'1'\:'='
|
||||||
|
vim:foldtext=substitute(v\:folddashes.substitute(getline(v\:foldstart),'\\s*\\*.*',"",""),'^--','--\ \ \ \ ','')
|
||||||
|
================================================================================
|
52
vim/vim-latex/doc/latex-suite-chunk.xsl
Executable file
52
vim/vim-latex/doc/latex-suite-chunk.xsl
Executable file
|
@ -0,0 +1,52 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||||
|
version="1.0"
|
||||||
|
xmlns="http://www.w3.org/TR/xhtml1/transitional"
|
||||||
|
exclude-result-prefixes="#default">
|
||||||
|
|
||||||
|
<!-- $Id: latex-suite-chunk.xsl 1036 2008-05-31 16:10:30Z tmaas $ -->
|
||||||
|
|
||||||
|
<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/xhtml/chunk.xsl"/>
|
||||||
|
|
||||||
|
<!-- import common customizations -->
|
||||||
|
<xsl:import href="latex-suite-common.xsl"/>
|
||||||
|
|
||||||
|
<!-- insert customization here -->
|
||||||
|
|
||||||
|
<xsl:param name="default.encoding" select="'ISO-8859-1'"/>
|
||||||
|
|
||||||
|
<xsl:param name="use.id.as.filename" select="'1'"/>
|
||||||
|
<xsl:param name="section.autolabel" select="1"/>
|
||||||
|
<xsl:param name="html.stylesheet" select="'../latex-suite.css'"/>
|
||||||
|
|
||||||
|
<!-- Chunk the first top-level section? -->
|
||||||
|
<xsl:param name="chunk.first.sections" select="1"/>
|
||||||
|
<!-- Depth to which sections should be chunked -->
|
||||||
|
<xsl:param name="chunk.section.depth" select="2"/>
|
||||||
|
|
||||||
|
<!-- How deep should recursive sections appear in the TOC? -->
|
||||||
|
<xsl:param name="toc.section.depth">2</xsl:param>
|
||||||
|
<!-- Control depth of TOC generation in sections -->
|
||||||
|
<xsl:param name="generate.section.toc.level" select="3"/>
|
||||||
|
|
||||||
|
<xsl:param name="chunker.output.method" select="'html'"/>
|
||||||
|
|
||||||
|
<xsl:param name="chunker.output.doctype-public"
|
||||||
|
select="'-//W3C//DTD HTML 4.01 Transitional//EN'"/>
|
||||||
|
<xsl:param name="chunker.output.doctype-system"
|
||||||
|
select="'http://www.w3.org/TR/html4/loose.dtd'"/>
|
||||||
|
|
||||||
|
<!-- this enables generation of TOC in appendix -->
|
||||||
|
<xsl:param name="generate.toc">
|
||||||
|
appendix toc
|
||||||
|
article/appendix toc
|
||||||
|
article toc
|
||||||
|
sect1 toc
|
||||||
|
sect2 toc
|
||||||
|
sect3 toc
|
||||||
|
sect4 toc
|
||||||
|
sect5 toc
|
||||||
|
section toc
|
||||||
|
</xsl:param>
|
||||||
|
|
||||||
|
</xsl:stylesheet>
|
62
vim/vim-latex/doc/latex-suite-common.xsl
Executable file
62
vim/vim-latex/doc/latex-suite-common.xsl
Executable file
|
@ -0,0 +1,62 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||||
|
version="1.0"
|
||||||
|
xmlns="http://www.w3.org/TR/xhtml1/transitional"
|
||||||
|
exclude-result-prefixes="#default">
|
||||||
|
|
||||||
|
<!-- Common customizations for all stylesheets -->
|
||||||
|
|
||||||
|
<!-- this omits the trailing '.' in numbered sections -->
|
||||||
|
<xsl:param name="autotoc.label.separator" select="' '"/>
|
||||||
|
<xsl:param name="local.l10n.xml" select="document('')"/>
|
||||||
|
|
||||||
|
<l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">
|
||||||
|
<l:l10n language="en">
|
||||||
|
<l:context name="title-numbered">
|
||||||
|
<l:template name="section" text="%n %t"/>
|
||||||
|
</l:context>
|
||||||
|
</l:l10n>
|
||||||
|
</l:i18n>
|
||||||
|
|
||||||
|
<!-- override template for revhistory table -->
|
||||||
|
<xsl:template match="revhistory" mode="titlepage.mode">
|
||||||
|
<xsl:variable name="numcols">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="//authorinitials">3</xsl:when>
|
||||||
|
<xsl:otherwise>2</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:variable>
|
||||||
|
|
||||||
|
<div xmlns="http://www.w3.org/1999/xhtml" class="{name(.)}">
|
||||||
|
<table border="2" cellspacing="4" width="100%" summary="Revision history">
|
||||||
|
<tr>
|
||||||
|
<th align="left" valign="top" colspan="{$numcols}">
|
||||||
|
<b>
|
||||||
|
<xsl:call-template name="gentext">
|
||||||
|
<xsl:with-param name="key" select="'RevHistory'"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</b>
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
<xsl:apply-templates mode="titlepage.mode">
|
||||||
|
<xsl:with-param name="numcols" select="$numcols"/>
|
||||||
|
</xsl:apply-templates>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<xsl:template name="user.header.content">
|
||||||
|
<div id="customheader">
|
||||||
|
<span class="logo">TeX Refs</span>
|
||||||
|
</div>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template name="user.footer.content">
|
||||||
|
<div id="customfooter">
|
||||||
|
Copyright © 2002 P. Karp, M. Wiedmann
|
||||||
|
</div>
|
||||||
|
</xsl:template>
|
||||||
|
-->
|
||||||
|
|
||||||
|
</xsl:stylesheet>
|
182
vim/vim-latex/doc/latex-suite-quickstart.css
Executable file
182
vim/vim-latex/doc/latex-suite-quickstart.css
Executable file
|
@ -0,0 +1,182 @@
|
||||||
|
/*
|
||||||
|
* Authors: Srinath Avadhanula and Mikolaj Machowski
|
||||||
|
* This style file borrows some elements from main.css, the style file used
|
||||||
|
* in cream.sf.net
|
||||||
|
*
|
||||||
|
* */
|
||||||
|
P {
|
||||||
|
font-size : 12pt ;
|
||||||
|
font-family : helvetica, arial, verdana, sans-serif ;
|
||||||
|
vertical-align : top;
|
||||||
|
}
|
||||||
|
DT {
|
||||||
|
font-size : 11pt ;
|
||||||
|
font-family : helvetica, arial, verdana, sans-serif ;
|
||||||
|
vertical-align : top;
|
||||||
|
}
|
||||||
|
LI {
|
||||||
|
font-size : 12pt ;
|
||||||
|
font-family : helvetica, arial, verdana, sans-serif ;
|
||||||
|
vertical-align : top;
|
||||||
|
}
|
||||||
|
|
||||||
|
DIV.header {
|
||||||
|
margin : 0.5cm ;
|
||||||
|
width : 800px ;
|
||||||
|
height : 100
|
||||||
|
}
|
||||||
|
.note {
|
||||||
|
}
|
||||||
|
|
||||||
|
TD {
|
||||||
|
font-size : 11pt ;
|
||||||
|
font-family : helvetica, arial, verdana, sans-serif ;
|
||||||
|
vertical-align : top;
|
||||||
|
}
|
||||||
|
TD.menu {
|
||||||
|
text-align : center ;
|
||||||
|
font-family : verdana, helvetica, sans-serif
|
||||||
|
}
|
||||||
|
TD.footright {
|
||||||
|
text-align : right ;
|
||||||
|
font-size : 10pt ;
|
||||||
|
font-family : verdana, helvetica, sans-serif
|
||||||
|
}
|
||||||
|
TD.leftpanel {
|
||||||
|
font-size: 14px ;
|
||||||
|
font-family: verdana, helvetica, sans-serif ;
|
||||||
|
vertical-align: top ;
|
||||||
|
width: 150px;
|
||||||
|
padding: 15px;
|
||||||
|
background-color: #88aaaa;
|
||||||
|
}
|
||||||
|
TD.mainpanel {
|
||||||
|
font-size : 12pt ;
|
||||||
|
font-family : helvetica, arial, verdana, sans-serif ;
|
||||||
|
vertical-align : top;
|
||||||
|
padding: 15px;
|
||||||
|
}
|
||||||
|
TD.footpanel {
|
||||||
|
font-size: 12px ;
|
||||||
|
font-family: verdana, helvetica, sans-serif ;
|
||||||
|
vertical-align: top ;
|
||||||
|
text-align: right;
|
||||||
|
padding: 5px;
|
||||||
|
background-color: #88aaaa;
|
||||||
|
}
|
||||||
|
.navigation {
|
||||||
|
vertical-align: top;
|
||||||
|
width: 150px;
|
||||||
|
padding: 15px;
|
||||||
|
background-color: #445555;
|
||||||
|
color: #fffcfc;
|
||||||
|
}
|
||||||
|
.navheader {
|
||||||
|
margin-top: -0.5em;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
text-align: right;
|
||||||
|
color: #446644;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
SPAN.menu {
|
||||||
|
text-align : center ;
|
||||||
|
font-size : 12pt ;
|
||||||
|
font-family : verdana, helvetica, sans-serif
|
||||||
|
}
|
||||||
|
|
||||||
|
DIV.merit {
|
||||||
|
margin : 0.5cm ;
|
||||||
|
width : 800px
|
||||||
|
}
|
||||||
|
|
||||||
|
TABLE.meritum {
|
||||||
|
margin : 0.5cm ;
|
||||||
|
border : 0
|
||||||
|
}
|
||||||
|
.foot {
|
||||||
|
margin : 0.5cm ;
|
||||||
|
width : 800px
|
||||||
|
}
|
||||||
|
.head {
|
||||||
|
margin : 0.5cm ;
|
||||||
|
}
|
||||||
|
|
||||||
|
CODE {
|
||||||
|
font-family: "Andale Mono", "Courier New", "Courier", monospace;
|
||||||
|
background-color: #eef0f3;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.singlesmall {
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.doublesmall {
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
DIV.footer {
|
||||||
|
margin : 0.5cm ;
|
||||||
|
width : 800px
|
||||||
|
}
|
||||||
|
.qa {
|
||||||
|
margin : 0.5cm ;
|
||||||
|
font-size : 16px;
|
||||||
|
font-weight : bold;
|
||||||
|
}
|
||||||
|
.ans {
|
||||||
|
margin : 0.5cm ;
|
||||||
|
font-weight : normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
H2.hline {
|
||||||
|
text-align : center ;
|
||||||
|
font-family : verdana, helvetica, sans-serif
|
||||||
|
}
|
||||||
|
|
||||||
|
A.extlinks {
|
||||||
|
font-size : 11pt ;
|
||||||
|
font-family : verdana, helvetica, sans-serif ;
|
||||||
|
font-weight : bold
|
||||||
|
}
|
||||||
|
|
||||||
|
TT {
|
||||||
|
font-family: courier,sans-serif;
|
||||||
|
font-size: 11pt;
|
||||||
|
}
|
||||||
|
PRE.programlisting {
|
||||||
|
font-family: courier,sans-serif;
|
||||||
|
font-size: 10pt;
|
||||||
|
background-color:#eef0f3;
|
||||||
|
border-color: #000000;
|
||||||
|
border-width: 1px;
|
||||||
|
border-style: solid;
|
||||||
|
}
|
||||||
|
SPAN.conflict {
|
||||||
|
font-size : small ;
|
||||||
|
font-family: courier,sans-serif;
|
||||||
|
color : #DD4444;
|
||||||
|
}
|
||||||
|
HR.navig {
|
||||||
|
color: #446644;
|
||||||
|
height: 1px;
|
||||||
|
margin-top: 1em;
|
||||||
|
border-top: 0px; /* Mozilla work-around to eliminate "groove" */
|
||||||
|
}
|
||||||
|
A.question {
|
||||||
|
color: #000000;
|
||||||
|
height: 1px;
|
||||||
|
margin-top: 1em;
|
||||||
|
border-top: 0px; /* Mozilla work-around to eliminate "groove" */
|
||||||
|
}
|
||||||
|
A.question:hover {
|
||||||
|
color: #000000;
|
||||||
|
background-color: #eef0f3;
|
||||||
|
height: 1px;
|
||||||
|
margin-top: 1em;
|
||||||
|
border-top: 0px; /* Mozilla work-around to eliminate "groove" */
|
||||||
|
}
|
||||||
|
|
448
vim/vim-latex/doc/latex-suite-quickstart.txt
Executable file
448
vim/vim-latex/doc/latex-suite-quickstart.txt
Executable file
|
@ -0,0 +1,448 @@
|
||||||
|
A (very) quick introduction to Latex-Suite
|
||||||
|
*latex-suite-quickstart.txt*
|
||||||
|
Srinath Avadhanula <srinath AT fastmail DOT fm>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Abstract
|
||||||
|
========
|
||||||
|
Latex-Suite is a comprehensive set of scripts to aid in editing, compiling and
|
||||||
|
viewing LaTeX documents. A thorough explanation of the full capabilities of
|
||||||
|
Latex-Suite is described in the user manual. This guide on the other hand,
|
||||||
|
provides a quick 30-45 minute running start to some of the more commonly used
|
||||||
|
functionalities of Latex-Suite.
|
||||||
|
|
||||||
|
*latex-suite-quickstart.txt-toc*
|
||||||
|
|lq_1| Using this tutorial
|
||||||
|
|lq_2| Inserting a template
|
||||||
|
|lq_3| Inserting a package
|
||||||
|
|lq_4| Inserting an Environment
|
||||||
|
|lq_5| A few keyboard shortcuts
|
||||||
|
|lq_6| Folding in Latex-Suite
|
||||||
|
|lq_7| Inserting a Reference
|
||||||
|
|lq_8| Compiling a document
|
||||||
|
|lq_8_1| Debugging LaTeX source files
|
||||||
|
|lq_9| Viewing DVI files
|
||||||
|
|lq_9_1| Performing forward searches
|
||||||
|
|lq_9_2| Performing inverse searches
|
||||||
|
|lq_10| Conclusions
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
Viewing this file
|
||||||
|
|
||||||
|
This file can be viewed with all the sections and subsections folded to ease
|
||||||
|
navigation. By default, vim does not fold help documents. To create the folds,
|
||||||
|
press za now. The folds are created via a foldexpr which can be seen in the
|
||||||
|
last section of this file.
|
||||||
|
|
||||||
|
See |usr_28.txt| for an introduction to folding and |fold-commands| for key
|
||||||
|
sequences and commands to work with folds.
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
Using this tutorial *lq_1* *lq_a_bc*
|
||||||
|
*lsq-using-tutorial*
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
This tutorial assumes that you have vim version 6.1+ installed on your machine.
|
||||||
|
To check, open vim and type >
|
||||||
|
:ver
|
||||||
|
You will see the version in the first line of the output. Get the latest vim
|
||||||
|
version from http://vim.sf.net |lq_u_1|.
|
||||||
|
|
||||||
|
Assuming you have Vim 6.1+ already up and running, follow the instructions here
|
||||||
|
|lq_u_2| to set up Latex-Suite. Remember to make sure your 'grepprg' setting of
|
||||||
|
Vim works.
|
||||||
|
|
||||||
|
Good, now you are all set to start the tutorial. Since this tutorial aims to
|
||||||
|
explain the newbie-friendly version of Latex-Suite, it needs some GUI
|
||||||
|
functionality. Therefore, at least for this tutorial, open the gui version of
|
||||||
|
vim. (On MS windows, this is the default). Open up this help file in either the
|
||||||
|
same gvim session in a split window or in a different session and follow the
|
||||||
|
(friendly) instructions.
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
Inserting a template *lq_2* *lq_a_bd*
|
||||||
|
*lsq-inserting-template*
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Start up gvim and begin editing a new file. >
|
||||||
|
e newfile.tex
|
||||||
|
If the installation went well, you should see a new set of menus appear. Goto
|
||||||
|
Tex-Suite > Templates. You will see a number of templates to choose from. For
|
||||||
|
now, choose to insert a template for an article. You should get the following in
|
||||||
|
the main vim window (after possibly a hit-enter prompt). >
|
||||||
|
|
||||||
|
1 % File: sample.tex
|
||||||
|
2 % Created: Sun Jun 22 04:00 PM 2003 P
|
||||||
|
3 % Last Change: Sun Jun 22 04:00 PM 2003 P
|
||||||
|
4 %
|
||||||
|
5 \documentclass[a4paper]{article}
|
||||||
|
6 \begin{document}
|
||||||
|
7
|
||||||
|
8 \end{document}
|
||||||
|
9
|
||||||
|
10 ~
|
||||||
|
11 ~
|
||||||
|
12 ~
|
||||||
|
13 ~
|
||||||
|
-- INSERT -- 7,1 All
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
The cursor is left on line 7 (just after the \begin{document} line) from where
|
||||||
|
you can start typing straight away. Trying to lessen movement is a recurring
|
||||||
|
theme in Latex-Suite.
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
Inserting a package *lq_3* *lq_a_be*
|
||||||
|
*lsq-lsq-inserting-package*
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Assume that we are writing a mathematical paper and we want to use the popular
|
||||||
|
amsmath package. We will use some functionality which Latex-Suite provides
|
||||||
|
specifically for including LaTeX packages, providing options etc. Navigate to
|
||||||
|
before the \begin{document} line (The portion of the document before the
|
||||||
|
\begin{document} is called the _preamble_ in LaTeX). On an empty line in the
|
||||||
|
preamble, type the single word amsmath and then press <F5> in normal mode. The
|
||||||
|
line will change to >
|
||||||
|
\usepackage[]{amsmath}<++>
|
||||||
|
with the cursor positioned conveniently between the []'s. For now, do not worry
|
||||||
|
about the trailing <++> at the end of this line. Assume we want to provide the
|
||||||
|
sumlimits options to amsmath. You can either type in this option manually, or
|
||||||
|
choose from a menu of package options which Latex-Suite automatically creates
|
||||||
|
when you insert a package using <F5>. With the cursor still placed between the
|
||||||
|
[], goto TeX-Suite > Packages > amsmath Options. Choose the sumlimits option.
|
||||||
|
The package line should get converted to: >
|
||||||
|
\usepackage[sumlimits,]{amsmath}<++>
|
||||||
|
|
||||||
|
|
||||||
|
with the cursor before ]. Press <C-j> in insert mode. You will see the cursor
|
||||||
|
jump to the end of the package line and the trailing <++> will disappear. What
|
||||||
|
just happened?! You had your first taste of _Placeholders_. Read more about them
|
||||||
|
(later) here |lq_u_3|. In short, pressing <C-j> in insert mode takes you to the
|
||||||
|
next <++> in the text.
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
Inserting an Environment *lq_4* *lq_a_bf*
|
||||||
|
*lsq-insert-environment*
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Now let us type in a simple formula in LaTeX. Move back to the body of the
|
||||||
|
document (The portion of the document between \begin{document} and
|
||||||
|
\end{document} is called the body). Type in a few simple sentences and then on
|
||||||
|
an empty line, type the single word eqnarray. Escape to normal mode and press
|
||||||
|
<F5>. (Remember: <F5> is very useful!) This time, the line will change to: >
|
||||||
|
\begin{eqnarray}
|
||||||
|
\label{}<++>
|
||||||
|
\end{eqnarray}<++>
|
||||||
|
<with the cursor between the {}. Enter a label. We will use eqn:euler. After
|
||||||
|
typing in eqn:euler, press <C-j>. This will take you outside the curly-braces.
|
||||||
|
Another time you used a Placeholder!
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
A few keyboard shortcuts *lq_5* *lq_a_bg*
|
||||||
|
*lsq-keyboard-shortcuts*
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Now to type in the famous Euler formula. Our aim is to type >
|
||||||
|
e^{j\pi} + 1 &=& 0
|
||||||
|
Instead of typing this blindly, let us use a few shortcuts to reduce movement.
|
||||||
|
Start out by typing e^. Now instead of typing {, type another ^. You will see
|
||||||
|
the e^^ change instantly to e^{}<++> with the cursor between {}'s. (The ^^
|
||||||
|
changed to ^{}<++>.) Continue with the following sequence of letters: j`p. This
|
||||||
|
will change instantly to j\pi. (The `p changed to \pi.) Having typed in all we
|
||||||
|
need to type between the {}'s, press <C-j>. You will pop back out of the
|
||||||
|
curly-braces. Continue typing the rest of the formula. You can use == as a
|
||||||
|
shortcut for &=&. Latex-Suite provides a large number of such shortcuts which
|
||||||
|
should making typing much more fun and fast if you get acquainted with them. A
|
||||||
|
list is provided here |lq_u_4|. Definitely spend some time getting a feel for
|
||||||
|
them. Most of them are pretty intuitive like `/ for \frac{}{}, `8 for \infty
|
||||||
|
etc.
|
||||||
|
|
||||||
|
In order to understand the next section better, it will be helpful to have one
|
||||||
|
more \label. Lets use the handy <F5> key to insert another equation. This time
|
||||||
|
something simple like the following will do: >
|
||||||
|
\begin{eqnarray}
|
||||||
|
\label{eqn:simple}
|
||||||
|
1 + 1 = 2
|
||||||
|
\end{eqnarray}
|
||||||
|
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
Folding in Latex-Suite *lq_6* *lq_a_bh* *lsq-folding*
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Okay, we have typed enough. At this stage, hopefully, your file is looking
|
||||||
|
something like this: >
|
||||||
|
|
||||||
|
1 % File: sample.tex
|
||||||
|
2 % Created: Sun Jun 22 04:00 PM 2003 P
|
||||||
|
3 % Last Change: Mon Dec 15 07:00 PM 2003
|
||||||
|
4 %
|
||||||
|
5 \documentclass[a4paper]{article}
|
||||||
|
6
|
||||||
|
7 \usepackage[sumlimits,]{amsmath}
|
||||||
|
8
|
||||||
|
9 \begin{document}
|
||||||
|
10 \begin{eqnarray}
|
||||||
|
11 \label{eqn:euler}
|
||||||
|
12 e^{j\pi} + 1 &=& 0
|
||||||
|
13 \end{eqnarray}
|
||||||
|
14 This is the famous euler equation. I
|
||||||
|
15 will type another equation, just as
|
||||||
|
16 true:
|
||||||
|
17 \begin{eqnarray}
|
||||||
|
18 \label{eqn:simple}
|
||||||
|
19 1 + 1 &=& 2
|
||||||
|
20 \end{eqnarray}
|
||||||
|
21 This is my contribution to mathematics.
|
||||||
|
22 \end{document}
|
||||||
|
|
||||||
|
In normal mode, press \rf. This will fold up the entire file and you should see
|
||||||
|
the file looking as below: >
|
||||||
|
|
||||||
|
1 % File: sample.tex
|
||||||
|
2 % Created: Sun Jun 22 04:00 PM 2003 P
|
||||||
|
3 % Last Change: Mon Dec 15 07:00 PM 2003
|
||||||
|
4 %
|
||||||
|
5 +-- 4 lines: Preamble: \documentclass[a4paper]{article} -----
|
||||||
|
9 \begin{document}
|
||||||
|
10 +-- 4 lines: eqnarray (eqn:euler) \label{eqn:euler} -----------
|
||||||
|
14 This is the famous euler equation. I
|
||||||
|
15 will type another equation, just as
|
||||||
|
16 true:
|
||||||
|
10 +-- 4 lines: eqnarray (eqn:simple) \label{eqn:simple} ---------
|
||||||
|
21 This is my contribution to mathematics.
|
||||||
|
22 \end{document}
|
||||||
|
|
||||||
|
What has happened is that Latex-Suite folded away blocks of LaTeX code into
|
||||||
|
folded regions. You can open and close folds by using the command za in normal
|
||||||
|
mode.
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
Inserting a Reference *lq_7* *lq_a_bi*
|
||||||
|
*lsq-inserting-reference*
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
A necessary part of LaTeX editing is referencing equations, figures,
|
||||||
|
bibliographic entries etc. This is done with the \ref and the \cite commands.
|
||||||
|
Latex-Suite provides an easy way to do this. Somewhere in the body of the
|
||||||
|
document, type in the following sentence >
|
||||||
|
This is a reference to (\ref{}).
|
||||||
|
With the cursor between the {} press <F9> in insert mode. Your vim session will
|
||||||
|
sprout two new windows and it should look like below: >
|
||||||
|
|
||||||
|
9 \begin{document}
|
||||||
|
10 +-- 4 lines: eqnarray (eqn:euler) : \label{eqn:euler}-----------------------
|
||||||
|
14 This is the famous euler equation. I
|
||||||
|
15 will type another equation, just as
|
||||||
|
16 true:
|
||||||
|
17 +-- 4 lines: eqnarray (eqn:simple) : \label{eqn:simple}---------------------
|
||||||
|
21 This is my contribution to mathematics.
|
||||||
|
22 This is a reference to (\ref{}<++>)<++>
|
||||||
|
23 \end{document}
|
||||||
|
~
|
||||||
|
~
|
||||||
|
~
|
||||||
|
test.tex [+] 22,29 Bot
|
||||||
|
test.tex|11| \label{eqn:euler}
|
||||||
|
test.tex|18| \label{eqn:simple}
|
||||||
|
~
|
||||||
|
~
|
||||||
|
~
|
||||||
|
[Error List] 1,1 All
|
||||||
|
7 \usepackage[sumlimits,]{amsmath}
|
||||||
|
8
|
||||||
|
9 \begin{document}
|
||||||
|
10 \begin{eqnarray}
|
||||||
|
11 \label{eqn:euler}
|
||||||
|
12 e^{j\pi} + 1 &=& 0
|
||||||
|
13 \end{eqnarray}
|
||||||
|
14 This is the famous euler equation. I
|
||||||
|
15 will type another equation, just as
|
||||||
|
16 true:
|
||||||
|
test.tex [Preview][+] 11,2-5 46%
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
The cursor will relocate to the middle window which shows all \labels found in
|
||||||
|
all the .tex file in the current directory. You can scroll up and down in the
|
||||||
|
middle window till you reach the reference you want to insert. Notice how when
|
||||||
|
you scroll in the middle window, the bottom "Preview" window scrolls
|
||||||
|
automatically to show you the location of the current selection. This helps you
|
||||||
|
identify the reference with greater ease because often times, \labels are not
|
||||||
|
descriptive enough or there might be too many of them. To insert the reference,
|
||||||
|
just position the cursor on the relevant line in the middle window and press
|
||||||
|
<enter>. The line which you were editing will change to: >
|
||||||
|
This is a reference to (\ref{eqn:euler})
|
||||||
|
<and the bottom windows close automatically.
|
||||||
|
|
||||||
|
The <F9> key also works for inserting \cite commands to reference bibliographic
|
||||||
|
entries, inserting file names for the \inputgraphics command and just plain
|
||||||
|
searching for words. Click here |lq_u_5| for more information.
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
Compiling a document *lq_8* *lq_a_bj*
|
||||||
|
*lsq-compiling*
|
||||||
|
|
||||||
|
|lq_8_1| Debugging LaTeX source files
|
||||||
|
|
||||||
|
|
||||||
|
Great! We have just created a small latex file. The next step is to make the
|
||||||
|
latex compiler create a .dvi file from it. Compiling via latex-suite is simple.
|
||||||
|
Goto normal mode and press \ll (replace \ with whatever mapleader setting you
|
||||||
|
have). This will call the latex compiler. If all goes well, then the focus
|
||||||
|
should return to the vim window.
|
||||||
|
|
||||||
|
Nothing happend? Ouch! You might need to do some additional settings as
|
||||||
|
described here. |lq_u_6|
|
||||||
|
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
Debugging LaTeX source files *lq_8_1* *lq_a_bk*
|
||||||
|
*lsq-debugging*
|
||||||
|
|
||||||
|
To illustrate the debugging procedure, let's create a few mistakes in the file.
|
||||||
|
Insert the following ``mistakes'' in the file: >
|
||||||
|
This is a $\mistake$.
|
||||||
|
And this is $\another$
|
||||||
|
Now press \ll again. This time you will notice that after compilation finishes,
|
||||||
|
the cursor automatically lands on $\mistake$. In addition, 2 new windows will
|
||||||
|
appear as shown here:
|
||||||
|
|
||||||
|
The middle window is an _Error List_ window showing you the errors which the
|
||||||
|
latex compiler found. Th bottom window is a _Log Preview_ window, which shows
|
||||||
|
you the context of the error made by displaying the relevant portion of the .log
|
||||||
|
file created during the latex compilation procedure. Jump to the _Error List_
|
||||||
|
window and try scrolling around in it using either the j, k keys or the arrow
|
||||||
|
keys. You will notice that the _Log Preview_ window scrolls automatically to
|
||||||
|
retain the context of the error you are currently located on. If you press
|
||||||
|
<enter> on any line, you will see the cursor jump to the location of the error.
|
||||||
|
Latex-Suite tries to guess the column location as best as it can so you can
|
||||||
|
continue typing straight away.
|
||||||
|
Having got a taste for compiling, proceed by deleting the erroneous lines and
|
||||||
|
re-compiling.
|
||||||
|
|
||||||
|
The Latex-Suite compiler is capable of much more including selectively filtering
|
||||||
|
out common errors which you might want to ignore for the moment, compiling parts
|
||||||
|
of a document, setting levels of verbosity in the compiler output etc. See here
|
||||||
|
|lq_u_7| for more.
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
Viewing DVI files *lq_9* *lq_a_bl*
|
||||||
|
*lsq-viewing-dvi*
|
||||||
|
|
||||||
|
|lq_9_1| Performing forward searches
|
||||||
|
|lq_9_2| Performing inverse searches
|
||||||
|
|
||||||
|
|
||||||
|
Now that you have compiled your first latex source, its time to view it. Again,
|
||||||
|
this should be pretty simple. Press \lv in normal mode. Depending on your
|
||||||
|
platform, a DVI viewer program should open up and display the dvi file generated
|
||||||
|
in compilation step previously.
|
||||||
|
|
||||||
|
Nothing happend? Ouch! You might need to do some additional settings as
|
||||||
|
described here. |lq_u_8|
|
||||||
|
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
Performing forward searches *lq_9_1* *lq_a_bm*
|
||||||
|
*lsq-quick-forward-searching*
|
||||||
|
|
||||||
|
If you are using a modern DVI viewer, then it is possible to do what is called
|
||||||
|
forward and inverse searching. However, you will need to customize the standard
|
||||||
|
Latex-Suite distribution in order to utilize this functionality. Type in the
|
||||||
|
following on the command line: >
|
||||||
|
:let g:Tex_CompileRule_dvi = 'latex -src-specials -interaction=nonstopmode $*'
|
||||||
|
:TCTarget dvi
|
||||||
|
|
||||||
|
|
||||||
|
Now recompile the latex file by pressing \ll. This time, instead of pressing \lv
|
||||||
|
to view the file, press \ls from within the tex file. If the DVI viewer supports
|
||||||
|
forward searching (most of them do), then the viewer will actually display the
|
||||||
|
portion of the DVI file corresponding to the location where you were editing the
|
||||||
|
tex file.
|
||||||
|
|
||||||
|
NOTE: The reason Latex-Suite does not have this setting by default is that on
|
||||||
|
some systems this causes unpredictable results in the DVI output. If you
|
||||||
|
find the DVI output satisfactory, then you can insert the first of the 2
|
||||||
|
lines above into your $VIM/ftplugin/tex.vim file. $VIM is ~/vimfiles for
|
||||||
|
windows and ~/.vim for *nix machines.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
Performing inverse searches *lq_9_2* *lq_a_bn*
|
||||||
|
*lsq-quick-inverse-searching*
|
||||||
|
|
||||||
|
Most DVI viewers also support inverse searching, whereby you can make the DVI
|
||||||
|
viewer ask vim to display the tex source corresponding to the DVI file being
|
||||||
|
shown. This is extremely helpful while proofreading large documents.
|
||||||
|
|
||||||
|
Simply double-click anywhere in the viewer window. If the viewer supports it,
|
||||||
|
then it will attempt to open an editor window at the location corresponding to
|
||||||
|
where you double-clicked. On *nix platforms, Latex-Suite attempts to start the
|
||||||
|
viewer program in such a way that it already knows to use vim to open the tex
|
||||||
|
source. Thus you should see a vim window open up showing the tex file. However,
|
||||||
|
if there is an error, or some other program is used, you will need to tell the
|
||||||
|
viewer program to use gvim as the editor. On windows platforms, if you use the
|
||||||
|
commonly available yap viewer (available as part of the miktex distribution),
|
||||||
|
then this option can be set from View > Options > Inverse Search. In the Command
|
||||||
|
line: window, write >
|
||||||
|
"C:\Program Files\vim\vim61\gvim" -c ":RemoteOpen +%l %f"
|
||||||
|
(Customize the path according to where you have installed gvim). If you double
|
||||||
|
click in the view pane now, you will see gvim start up and take you to the
|
||||||
|
relevant portion of the tex file.
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
Conclusions *lq_10* *lq_a_bo*
|
||||||
|
*lsq-conclusions*
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Thats all folks! By now, you should know enough of the basic functions of
|
||||||
|
latex-suite. Ofcourse, latex-suite is capable of much, much more such as
|
||||||
|
compiling files multiple times to resolve changed labels, compiling
|
||||||
|
dependencies, handling user packages and more. To get a feel for that, you will
|
||||||
|
need to take a look at the Latex-Suite user manual. |lq_u_9|
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
URLs used in this file
|
||||||
|
|
||||||
|
*lq_u_1* : http://vim.sf.net
|
||||||
|
*lq_u_2* : http://vim-latex.sourceforge.net/index.php?subject=download&title=Download
|
||||||
|
*lq_u_3* : http://vim-latex.sourceforge.net/documentation/latex-suite/latex-macros.html
|
||||||
|
*lq_u_4* : http://vim-latex.sourceforge.net/documentation/latex-suite/auc-tex-mappings.html
|
||||||
|
*lq_u_5* : http://vim-latex.sourceforge.net/documentation/latex-suite/latex-completion.html
|
||||||
|
*lq_u_6* : http://vim-latex.sourceforge.net/index.php?subject=faq&title=FAQ#faq-2
|
||||||
|
*lq_u_7* : http://vim-latex.sourceforge.net/documentation/latex-suite/latex-compiling.html
|
||||||
|
*lq_u_8* : http://vim-latex.sourceforge.net/index.php?subject=faq&title=FAQ#faq-3
|
||||||
|
*lq_u_9* : http://vim-latex.sourceforge.net/index.php?subject=manual&title=Manual#user-manual
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
About this file
|
||||||
|
|
||||||
|
This file was created automatically from its XML variant using db2vim. db2vim is
|
||||||
|
a python script which understands a very limited subset of the Docbook XML 4.2
|
||||||
|
DTD and outputs a plain text file in vim help format.
|
||||||
|
|
||||||
|
db2vim can be obtained via anonymous CVS from sourceforge.net. Use
|
||||||
|
|
||||||
|
cvs -d:pserver:anonymous@cvs.vim-latex.sf.net:/cvsroot/vim-latex co db2vim
|
||||||
|
|
||||||
|
Or you can visit the web-interface to sourceforge CVS at:
|
||||||
|
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/vim-latex/db2vim/
|
||||||
|
|
||||||
|
The following modelines should nicely fold up this help manual.
|
||||||
|
|
||||||
|
vim:ft=help:fdm=expr:nowrap
|
||||||
|
vim:foldexpr=getline(v\:lnum-1)=~'-\\{80}'?'>2'\:getline(v\:lnum-1)=~'=\\{80}'?'>1'\:getline(v\:lnum)=~'=\\{80}'?'0'\:getline(v\:lnum)=~'-\\{80}'?'1'\:'='
|
||||||
|
vim:foldtext=substitute(v\:folddashes.substitute(getline(v\:foldstart),'\\s*\\*.*',"",""),'^--','\ \ \ \ \ \ ','')
|
||||||
|
================================================================================
|
471
vim/vim-latex/doc/latex-suite-quickstart.xml
Executable file
471
vim/vim-latex/doc/latex-suite-quickstart.xml
Executable file
|
@ -0,0 +1,471 @@
|
||||||
|
<?xml version='1.0' encoding='ISO-8859-1'?>
|
||||||
|
|
||||||
|
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||||||
|
"docbook-xml/docbookx.dtd"
|
||||||
|
[<!ENTITY dummy "dummy">
|
||||||
|
<!ENTITY date "$Date$">
|
||||||
|
<!ENTITY ls "Latex-Suite">
|
||||||
|
<!ENTITY latex "LaTeX">
|
||||||
|
<!ENTITY vim "Vim">
|
||||||
|
<!ENTITY ph "<++>">
|
||||||
|
]>
|
||||||
|
<article lang="en">
|
||||||
|
<articleinfo id="lsq-articleinfo">
|
||||||
|
|
||||||
|
<title id="lsq-articleinfo-title">A (very) quick introduction to Latex-Suite</title>
|
||||||
|
|
||||||
|
<author>
|
||||||
|
<firstname>Srinath</firstname>
|
||||||
|
<surname>Avadhanula</surname>
|
||||||
|
<affiliation>
|
||||||
|
<address><email>srinath AT fastmail DOT fm</email></address>
|
||||||
|
</affiliation>
|
||||||
|
</author>
|
||||||
|
|
||||||
|
<abstract>
|
||||||
|
&ls; is a comprehensive set of scripts to aid in editing, compiling and
|
||||||
|
viewing &latex; documents. A thorough explanation of the full
|
||||||
|
capabilities of &ls; is described in the user manual. This guide on the
|
||||||
|
other hand, provides a quick 30-45 minute running start to some of the
|
||||||
|
more commonly used functionalities of &ls;.
|
||||||
|
</abstract>
|
||||||
|
|
||||||
|
<date>&date;</date>
|
||||||
|
|
||||||
|
</articleinfo>
|
||||||
|
<section id="lsq-using-tutorial">
|
||||||
|
<title id="using-tutorial">Using this tutorial</title>
|
||||||
|
<para>
|
||||||
|
This tutorial assumes that you have vim version 6.1+ installed on your
|
||||||
|
machine. To check, open vim and type
|
||||||
|
<programlisting>:ver</programlisting>
|
||||||
|
You will see the version in the first line of the output. Get the latest
|
||||||
|
vim version from <ulink url="http://vim.sf.net">http://vim.sf.net</ulink>.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Assuming you have Vim 6.1+ already up and running, follow the
|
||||||
|
instructions <ulink
|
||||||
|
url="http://vim-latex.sourceforge.net/index.php?subject=download&title=Download">here</ulink>
|
||||||
|
to set up Latex-Suite. Remember to make sure your
|
||||||
|
<literal>'grepprg'</literal> setting of &vim; works.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Good, now you are all set to start the tutorial. Since this tutorial
|
||||||
|
aims to explain the newbie-friendly version of &ls;, it needs some GUI
|
||||||
|
functionality. Therefore, at least for this tutorial, open the gui
|
||||||
|
version of vim. (On MS windows, this is the default). Open up this help
|
||||||
|
file in either the same gvim session in a split window or in a different
|
||||||
|
session and follow the (friendly) instructions.
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
<section id="lsq-inserting-template">
|
||||||
|
<title id="inserting-template-title">Inserting a template</title>
|
||||||
|
<para>
|
||||||
|
Start up gvim and begin editing a new file.
|
||||||
|
<programlisting>e newfile.tex</programlisting>
|
||||||
|
If the installation went well, you should see a new set of
|
||||||
|
menus appear. Goto <literal>Tex-Suite > Templates</literal>. You will see
|
||||||
|
a number of templates to choose from. For now, choose to insert a
|
||||||
|
template for an article. You should get the following in the main
|
||||||
|
vim window (after possibly a hit-enter prompt).
|
||||||
|
<programlisting>
|
||||||
|
1 % File: sample.tex
|
||||||
|
2 % Created: Sun Jun 22 04:00 PM 2003 P
|
||||||
|
3 % Last Change: Sun Jun 22 04:00 PM 2003 P
|
||||||
|
4 %
|
||||||
|
5 \documentclass[a4paper]{article}
|
||||||
|
6 \begin{document}
|
||||||
|
7
|
||||||
|
8 \end{document}
|
||||||
|
9
|
||||||
|
10 ~
|
||||||
|
11 ~
|
||||||
|
12 ~
|
||||||
|
13 ~
|
||||||
|
-- INSERT -- 7,1 All
|
||||||
|
</programlisting>
|
||||||
|
</para>
|
||||||
|
<imageobject>
|
||||||
|
<imagedata fileref="" format="png"></imagedata>
|
||||||
|
</imageobject>
|
||||||
|
<para>
|
||||||
|
The cursor is left on line 7 (just after the
|
||||||
|
<literal>\begin{document}</literal> line) from where you can start
|
||||||
|
typing straight away. Trying to lessen movement is a recurring theme in
|
||||||
|
Latex-Suite.
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
<section id="lsq-lsq-inserting-package">
|
||||||
|
<title>Inserting a package</title>
|
||||||
|
<para>
|
||||||
|
Assume that we are writing a mathematical paper and we want to use the
|
||||||
|
popular amsmath package. We will use some functionality which
|
||||||
|
Latex-Suite provides specifically for including LaTeX packages,
|
||||||
|
providing options etc. Navigate to before the
|
||||||
|
<literal>\begin{document}</literal> line (The portion of the document
|
||||||
|
before the <literal>\begin{document}</literal> is called the
|
||||||
|
<emphasis>preamble</emphasis> in LaTeX). On an empty line in the
|
||||||
|
preamble, type the single word <literal>amsmath</literal> and then press
|
||||||
|
<literal><F5></literal> in normal mode. The line will change to
|
||||||
|
<programlisting>\usepackage[]{amsmath}&ph;</programlisting>
|
||||||
|
with the cursor positioned conveniently between the
|
||||||
|
<literal>[]</literal>'s. For now, do not worry about the trailing
|
||||||
|
<literal>&ph;</literal> at the end of this line. Assume we want to
|
||||||
|
provide the <literal>sumlimits</literal> options to amsmath. You can
|
||||||
|
either type in this option manually, or choose from a menu of package
|
||||||
|
options which Latex-Suite automatically creates when you insert a
|
||||||
|
package using <literal><F5></literal>. With the cursor still
|
||||||
|
placed between the <literal>[]</literal>, goto <literal>TeX-Suite >
|
||||||
|
Packages > amsmath Options</literal>. Choose the
|
||||||
|
<literal>sumlimits</literal> option. The package line should get
|
||||||
|
converted to:
|
||||||
|
<programlisting>\usepackage[sumlimits,]{amsmath}&ph;</programlisting>
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
with the cursor before <literal>]</literal>. Press
|
||||||
|
<literal><C-j></literal> in insert mode. You will see the cursor
|
||||||
|
jump to the end of the package line and the trailing
|
||||||
|
<literal>&ph;</literal> will disappear. What just happened?! You had
|
||||||
|
your first taste of <emphasis>Placeholders</emphasis>. Read more about
|
||||||
|
them (later) <ulink
|
||||||
|
url="http://vim-latex.sourceforge.net/documentation/latex-suite/latex-macros.html">here</ulink>.
|
||||||
|
In short, pressing <literal><C-j></literal> in insert mode takes
|
||||||
|
you to the next <literal>&ph;</literal> in the text.
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
<section id="lsq-insert-environment">
|
||||||
|
<title>Inserting an Environment</title>
|
||||||
|
<para>
|
||||||
|
Now let us type in a simple formula in LaTeX. Move back to the body of
|
||||||
|
the document (The portion of the document between
|
||||||
|
<literal>\begin{document}</literal> and
|
||||||
|
<literal>\end{document}</literal> is called the body). Type in a few
|
||||||
|
simple sentences and then on an empty line, type the single word
|
||||||
|
<literal>eqnarray</literal>. Escape to normal mode and press
|
||||||
|
<literal><F5></literal>. (Remember:
|
||||||
|
<literal><F5></literal> is very useful!) This time, the line will
|
||||||
|
change to:
|
||||||
|
<programlisting>\begin{eqnarray}
|
||||||
|
\label{}&ph;
|
||||||
|
\end{eqnarray}&ph;</programlisting>
|
||||||
|
with the cursor between the <literal>{}</literal>. Enter a label. We
|
||||||
|
will use <literal>eqn:euler</literal>. After typing in
|
||||||
|
<literal>eqn:euler</literal>, press <literal><C-j></literal>. This
|
||||||
|
will take you outside the curly-braces. Another time you used a
|
||||||
|
Placeholder!
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
<section id="lsq-keyboard-shortcuts">
|
||||||
|
<title>A few keyboard shortcuts</title>
|
||||||
|
<para>
|
||||||
|
Now to type in the famous Euler formula. Our aim is to type
|
||||||
|
<programlisting>e^{j\pi} + 1 &=& 0</programlisting> Instead
|
||||||
|
of typing this blindly, let us use a few shortcuts to reduce
|
||||||
|
movement. Start out by typing <literal>e^</literal>. Now instead of
|
||||||
|
typing <literal>{</literal>, type another <literal>^</literal>. You
|
||||||
|
will see the <literal>e^^</literal> change instantly to
|
||||||
|
<literal>e^{}&ph;</literal> with the cursor between
|
||||||
|
<literal>{}</literal>'s. (The <literal>^^</literal> changed to
|
||||||
|
<literal>^{}&ph;</literal>.) Continue with the following sequence of
|
||||||
|
letters: <literal>j`p</literal>. This will change instantly to
|
||||||
|
<literal>j\pi</literal>. (The <literal>`p</literal> changed to
|
||||||
|
<literal>\pi</literal>.) Having typed in all we need to type between
|
||||||
|
the <literal>{}</literal>'s, press <literal><C-j></literal>.
|
||||||
|
You will pop back out of the curly-braces. Continue typing the rest
|
||||||
|
of the formula. You can use <literal>==</literal> as a shortcut for
|
||||||
|
<literal>&=&</literal>. Latex-Suite provides a large number
|
||||||
|
of such shortcuts which should making typing much more fun and fast
|
||||||
|
if you get acquainted with them. A list is provided <ulink
|
||||||
|
url="http://vim-latex.sourceforge.net/documentation/latex-suite/auc-tex-mappings.html">here</ulink>. Definitely spend some time getting a feel for
|
||||||
|
them. Most of them are pretty intuitive like <literal>`/</literal>
|
||||||
|
for <literal>\frac{}{}</literal>, <literal>`8</literal> for
|
||||||
|
<literal>\infty</literal> etc.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
In order to understand the next section better, it will be helpful
|
||||||
|
to have one more <literal>\label</literal>. Lets use the handy
|
||||||
|
<literal><F5></literal>
|
||||||
|
key to insert another equation. This time something simple like the
|
||||||
|
following will do:
|
||||||
|
<programlisting>\begin{eqnarray}
|
||||||
|
\label{eqn:simple}
|
||||||
|
1 + 1 = 2
|
||||||
|
\end{eqnarray}</programlisting>
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
<section id="lsq-folding">
|
||||||
|
<title>Folding in &ls;</title>
|
||||||
|
<para>
|
||||||
|
Okay, we have typed enough. At this stage, hopefully, your file is
|
||||||
|
looking something like this:
|
||||||
|
<programlisting>
|
||||||
|
1 % File: sample.tex
|
||||||
|
2 % Created: Sun Jun 22 04:00 PM 2003 P
|
||||||
|
3 % Last Change: Mon Dec 15 07:00 PM 2003
|
||||||
|
4 %
|
||||||
|
5 \documentclass[a4paper]{article}
|
||||||
|
6
|
||||||
|
7 \usepackage[sumlimits,]{amsmath}
|
||||||
|
8
|
||||||
|
9 \begin{document}
|
||||||
|
10 \begin{eqnarray}
|
||||||
|
11 \label{eqn:euler}
|
||||||
|
12 e^{j\pi} + 1 &=& 0
|
||||||
|
13 \end{eqnarray}
|
||||||
|
14 This is the famous euler equation. I
|
||||||
|
15 will type another equation, just as
|
||||||
|
16 true:
|
||||||
|
17 \begin{eqnarray}
|
||||||
|
18 \label{eqn:simple}
|
||||||
|
19 1 + 1 &=& 2
|
||||||
|
20 \end{eqnarray}
|
||||||
|
21 This is my contribution to mathematics.
|
||||||
|
22 \end{document}
|
||||||
|
</programlisting>
|
||||||
|
In normal mode, press <literal>\rf</literal>. This will fold up the
|
||||||
|
entire file and you should see the file looking as below:
|
||||||
|
<programlisting>
|
||||||
|
1 % File: sample.tex
|
||||||
|
2 % Created: Sun Jun 22 04:00 PM 2003 P
|
||||||
|
3 % Last Change: Mon Dec 15 07:00 PM 2003
|
||||||
|
4 %
|
||||||
|
5 +-- 4 lines: Preamble: \documentclass[a4paper]{article} -----
|
||||||
|
9 \begin{document}
|
||||||
|
10 +-- 4 lines: eqnarray (eqn:euler) \label{eqn:euler} -----------
|
||||||
|
14 This is the famous euler equation. I
|
||||||
|
15 will type another equation, just as
|
||||||
|
16 true:
|
||||||
|
10 +-- 4 lines: eqnarray (eqn:simple) \label{eqn:simple} ---------
|
||||||
|
21 This is my contribution to mathematics.
|
||||||
|
22 \end{document}
|
||||||
|
</programlisting>
|
||||||
|
What has happened is that &ls; folded away blocks of &latex; code into
|
||||||
|
folded regions. You can open and close folds by using the command
|
||||||
|
<literal>za</literal> in normal mode.
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
<section id="lsq-inserting-reference">
|
||||||
|
<title>Inserting a Reference</title>
|
||||||
|
<para>
|
||||||
|
A necessary part of LaTeX editing is referencing equations, figures,
|
||||||
|
bibliographic entries etc. This is done with the
|
||||||
|
<literal>\ref</literal> and the <literal>\cite</literal> commands.
|
||||||
|
Latex-Suite provides an easy way to do this. Somewhere in the body of
|
||||||
|
the document, type in the following sentence
|
||||||
|
<programlisting>This is a reference to (\ref{}).</programlisting>
|
||||||
|
With the cursor between the <literal>{}</literal> press
|
||||||
|
<literal><F9></literal> in insert mode. Your vim session will
|
||||||
|
sprout two new windows and it should look like below:
|
||||||
|
<programlisting>
|
||||||
|
9 \begin{document}
|
||||||
|
10 +-- 4 lines: eqnarray (eqn:euler) : \label{eqn:euler}-----------------------
|
||||||
|
14 This is the famous euler equation. I
|
||||||
|
15 will type another equation, just as
|
||||||
|
16 true:
|
||||||
|
17 +-- 4 lines: eqnarray (eqn:simple) : \label{eqn:simple}---------------------
|
||||||
|
21 This is my contribution to mathematics.
|
||||||
|
22 This is a reference to (\ref{}<++>)<++>
|
||||||
|
23 \end{document}
|
||||||
|
~
|
||||||
|
~
|
||||||
|
~
|
||||||
|
test.tex [+] 22,29 Bot
|
||||||
|
test.tex|11| \label{eqn:euler}
|
||||||
|
test.tex|18| \label{eqn:simple}
|
||||||
|
~
|
||||||
|
~
|
||||||
|
~
|
||||||
|
[Error List] 1,1 All
|
||||||
|
7 \usepackage[sumlimits,]{amsmath}
|
||||||
|
8
|
||||||
|
9 \begin{document}
|
||||||
|
10 \begin{eqnarray}
|
||||||
|
11 \label{eqn:euler}
|
||||||
|
12 e^{j\pi} + 1 &=& 0
|
||||||
|
13 \end{eqnarray}
|
||||||
|
14 This is the famous euler equation. I
|
||||||
|
15 will type another equation, just as
|
||||||
|
16 true:
|
||||||
|
test.tex [Preview][+] 11,2-5 46%
|
||||||
|
</programlisting>
|
||||||
|
</para>
|
||||||
|
<imageobject>
|
||||||
|
<imagedata fileref="" format=""></imagedata>
|
||||||
|
</imageobject>
|
||||||
|
<para>
|
||||||
|
The cursor will relocate to the middle window which shows all
|
||||||
|
<literal>\label</literal>s found in all the <literal>.tex</literal> file
|
||||||
|
in the current directory.
|
||||||
|
You can scroll up and down in the middle window till you reach the
|
||||||
|
reference you want to insert. Notice how when you scroll in the
|
||||||
|
middle window, the bottom "Preview" window scrolls automatically to
|
||||||
|
show you the location of the current selection. This helps you
|
||||||
|
identify the reference with greater ease because often times,
|
||||||
|
<literal>\labels</literal> are not descriptive enough or there might be too
|
||||||
|
many of them. To insert the reference, just position the cursor on
|
||||||
|
the relevant line in the middle window and press
|
||||||
|
<literal><enter></literal>. The line which you were editing will change
|
||||||
|
to:
|
||||||
|
<programlisting>This is a reference to (\ref{eqn:euler})</programlisting>
|
||||||
|
and the bottom windows close automatically.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
The <literal><F9></literal> key also works for inserting
|
||||||
|
<literal>\cite</literal> commands to reference bibliographic entries,
|
||||||
|
inserting file names for the <literal>\inputgraphics</literal> command
|
||||||
|
and just plain searching for words. Click <ulink
|
||||||
|
url="http://vim-latex.sourceforge.net/documentation/latex-suite/latex-completion.html">here</ulink>
|
||||||
|
for more information.
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
<section id="lsq-compiling">
|
||||||
|
<title>Compiling a document</title>
|
||||||
|
<para>
|
||||||
|
Great! We have just created a small latex file. The next step is to
|
||||||
|
make the latex compiler create a .dvi file from it. Compiling via
|
||||||
|
latex-suite is simple. Goto normal mode and press <literal>\ll</literal>
|
||||||
|
(replace <literal>\</literal> with whatever <literal>mapleader</literal> setting you
|
||||||
|
have). This will call the latex compiler. If all goes well, then
|
||||||
|
the focus should return to the vim window.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Nothing happend? Ouch! You might need to do some additional settings as
|
||||||
|
described <ulink
|
||||||
|
url="http://vim-latex.sourceforge.net/index.php?subject=faq&title=FAQ#faq-2">here.</ulink>
|
||||||
|
</para>
|
||||||
|
<section id="lsq-debugging">
|
||||||
|
<title>Debugging LaTeX source files</title>
|
||||||
|
<para>
|
||||||
|
To illustrate the debugging procedure, let's create a few mistakes
|
||||||
|
in the file. Insert the following ``mistakes'' in the file:
|
||||||
|
<programlisting>This is a $\mistake$.
|
||||||
|
And this is $\another$</programlisting>
|
||||||
|
Now press <literal>\ll</literal> again. This time you will notice that
|
||||||
|
after compilation finishes, the cursor automatically lands on
|
||||||
|
<literal>$\mistake$</literal>. In addition, 2 new windows will appear
|
||||||
|
as shown here:
|
||||||
|
</para>
|
||||||
|
<imageobject>
|
||||||
|
<imagedata fileref="" format=""></imagedata>
|
||||||
|
</imageobject>
|
||||||
|
<para>
|
||||||
|
The middle window is an <emphasis>Error List</emphasis> window
|
||||||
|
showing you the errors which the latex compiler found. The bottom
|
||||||
|
window is a <emphasis>Log Preview</emphasis> window, which shows you
|
||||||
|
the context of the error made by displaying the relevant portion of
|
||||||
|
the <literal>.log</literal> file created during the latex
|
||||||
|
compilation procedure. Jump to the <emphasis>Error List</emphasis>
|
||||||
|
window and try scrolling around in it using either the <literal>j,
|
||||||
|
k</literal> keys or the arrow keys. You will notice that the
|
||||||
|
<emphasis>Log Preview</emphasis> window scrolls automatically to
|
||||||
|
retain the context of the error you are currently located on. If you
|
||||||
|
press <literal><enter></literal> on any line, you will see the
|
||||||
|
cursor jump to the location of the error. Latex-Suite tries to guess
|
||||||
|
the column location as best as it can so you can continue typing
|
||||||
|
straight away.
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
<para>
|
||||||
|
Having got a taste for compiling, proceed by deleting the erroneous
|
||||||
|
lines and re-compiling.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
The Latex-Suite compiler is capable of much more including
|
||||||
|
selectively filtering out common errors which you might want to
|
||||||
|
ignore for the moment, compiling parts of a document, setting
|
||||||
|
levels of verbosity in the compiler output etc. See <ulink
|
||||||
|
url="http://vim-latex.sourceforge.net/documentation/latex-suite/latex-compiling.html">here</ulink>
|
||||||
|
for more.
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
<section id="lsq-viewing-dvi">
|
||||||
|
<title>Viewing DVI files</title>
|
||||||
|
<para>
|
||||||
|
Now that you have compiled your first latex source, its time to
|
||||||
|
view it. Again, this should be pretty simple. Press
|
||||||
|
<literal>\lv</literal> in normal mode. Depending on your platform, a DVI
|
||||||
|
viewer program should open up and display the dvi file generated in
|
||||||
|
compilation step previously.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Nothing happend? Ouch! You might need to do some additional settings as
|
||||||
|
described <ulink
|
||||||
|
url="http://vim-latex.sourceforge.net/index.php?subject=faq&title=FAQ#faq-3">here.</ulink>
|
||||||
|
</para>
|
||||||
|
<section id="lsq-quick-forward-searching">
|
||||||
|
<title>Performing forward searches</title>
|
||||||
|
<para>
|
||||||
|
If you are using a modern DVI viewer, then it is possible to do what
|
||||||
|
is called forward and inverse searching. However, you will need to
|
||||||
|
customize the standard Latex-Suite distribution in order to utilize
|
||||||
|
this functionality. Type in the following on the command line:
|
||||||
|
|
||||||
|
<programlisting>:let g:Tex_CompileRule_dvi = 'latex -src-specials -interaction=nonstopmode $*'
|
||||||
|
:TCTarget dvi</programlisting>
|
||||||
|
|
||||||
|
Now recompile the latex file by pressing <literal>\ll</literal>.
|
||||||
|
This time, instead of pressing <literal>\lv</literal> to view the
|
||||||
|
file, press <literal>\ls</literal> from within the tex file. If the
|
||||||
|
DVI viewer supports forward searching (most of them do), then the
|
||||||
|
viewer will actually display the portion of the DVI file
|
||||||
|
corresponding to the location where you were editing the tex file.
|
||||||
|
</para>
|
||||||
|
<note>
|
||||||
|
<para>
|
||||||
|
The reason Latex-Suite does not have this setting by default is
|
||||||
|
that on some systems this causes unpredictable results in the DVI
|
||||||
|
output. If you find the DVI output satisfactory, then you can
|
||||||
|
insert the first of the 2 lines above into your
|
||||||
|
<literal>$VIM/ftplugin/tex.vim</literal> file.
|
||||||
|
<literal>$VIM</literal> is <literal>~/vimfiles</literal> for
|
||||||
|
windows and <literal>~/.vim</literal> for *nix machines.
|
||||||
|
</para>
|
||||||
|
</note>
|
||||||
|
</section>
|
||||||
|
<section id="lsq-quick-inverse-searching">
|
||||||
|
<title>Performing inverse searches</title>
|
||||||
|
<para>
|
||||||
|
Most DVI viewers also support inverse searching, whereby you can
|
||||||
|
make the DVI viewer ask vim to display the tex source corresponding
|
||||||
|
to the DVI file being shown. This is extremely helpful while
|
||||||
|
proofreading large documents.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Simply double-click anywhere in the viewer window. If the viewer
|
||||||
|
supports it, then it will attempt to open an editor window at the
|
||||||
|
location corresponding to where you double-clicked. On *nix
|
||||||
|
platforms, Latex-Suite attempts to start the viewer program in such
|
||||||
|
a way that it already knows to use vim to open the tex source. Thus
|
||||||
|
you should see a vim window open up showing the tex file. However,
|
||||||
|
if there is an error, or some other program is used, you will need
|
||||||
|
to tell the viewer program to use gvim as the editor. On windows
|
||||||
|
platforms, if you use the commonly available <literal>yap</literal>
|
||||||
|
viewer (available as part of the miktex distribution), then this
|
||||||
|
option can be set from <literal>View > Options > Inverse
|
||||||
|
Search</literal>. In the <literal>Command line:</literal> window,
|
||||||
|
write
|
||||||
|
<programlisting>"C:\Program Files\vim\vim61\gvim" -c ":RemoteOpen +%l %f"</programlisting>
|
||||||
|
(Customize the path according to where you have installed gvim).
|
||||||
|
If you double click in the view pane now, you will see gvim start
|
||||||
|
up and take you to the relevant portion of the tex file.
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
</section>
|
||||||
|
<section id="lsq-conclusions">
|
||||||
|
<title>Conclusions</title>
|
||||||
|
<para>
|
||||||
|
Thats all folks! By now, you should know enough of the basic functions
|
||||||
|
of latex-suite. Ofcourse, latex-suite is capable of much, much more such
|
||||||
|
as compiling files multiple times to resolve changed labels, compiling
|
||||||
|
dependencies, handling user packages and more. To get a feel for that,
|
||||||
|
you will need to take a look at the <ulink
|
||||||
|
url="http://vim-latex.sourceforge.net/index.php?subject=manual&title=Manual#user-manual">&ls;
|
||||||
|
user manual.</ulink>
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
vim: et:sw=1:ts=1
|
||||||
|
-->
|
182
vim/vim-latex/doc/latex-suite.css
Executable file
182
vim/vim-latex/doc/latex-suite.css
Executable file
|
@ -0,0 +1,182 @@
|
||||||
|
/*
|
||||||
|
* Authors: Srinath Avadhanula and Mikolaj Machowski
|
||||||
|
* This style file borrows some elements from main.css, the style file used
|
||||||
|
* in cream.sf.net
|
||||||
|
*
|
||||||
|
* */
|
||||||
|
P {
|
||||||
|
font-size : 12pt ;
|
||||||
|
font-family : helvetica, arial, verdana, sans-serif ;
|
||||||
|
vertical-align : top;
|
||||||
|
}
|
||||||
|
DT {
|
||||||
|
font-size : 11pt ;
|
||||||
|
font-family : helvetica, arial, verdana, sans-serif ;
|
||||||
|
vertical-align : top;
|
||||||
|
}
|
||||||
|
LI {
|
||||||
|
font-size : 12pt ;
|
||||||
|
font-family : helvetica, arial, verdana, sans-serif ;
|
||||||
|
vertical-align : top;
|
||||||
|
}
|
||||||
|
|
||||||
|
DIV.header {
|
||||||
|
margin : 0.5cm ;
|
||||||
|
width : 800px ;
|
||||||
|
height : 100
|
||||||
|
}
|
||||||
|
.note {
|
||||||
|
}
|
||||||
|
|
||||||
|
TD {
|
||||||
|
font-size : 11pt ;
|
||||||
|
font-family : helvetica, arial, verdana, sans-serif ;
|
||||||
|
vertical-align : top;
|
||||||
|
}
|
||||||
|
TD.menu {
|
||||||
|
text-align : center ;
|
||||||
|
font-family : verdana, helvetica, sans-serif
|
||||||
|
}
|
||||||
|
TD.footright {
|
||||||
|
text-align : right ;
|
||||||
|
font-size : 10pt ;
|
||||||
|
font-family : verdana, helvetica, sans-serif
|
||||||
|
}
|
||||||
|
TD.leftpanel {
|
||||||
|
font-size: 14px ;
|
||||||
|
font-family: verdana, helvetica, sans-serif ;
|
||||||
|
vertical-align: top ;
|
||||||
|
width: 150px;
|
||||||
|
padding: 15px;
|
||||||
|
background-color: #88aaaa;
|
||||||
|
}
|
||||||
|
TD.mainpanel {
|
||||||
|
font-size : 12pt ;
|
||||||
|
font-family : helvetica, arial, verdana, sans-serif ;
|
||||||
|
vertical-align : top;
|
||||||
|
padding: 15px;
|
||||||
|
}
|
||||||
|
TD.footpanel {
|
||||||
|
font-size: 12px ;
|
||||||
|
font-family: verdana, helvetica, sans-serif ;
|
||||||
|
vertical-align: top ;
|
||||||
|
text-align: right;
|
||||||
|
padding: 5px;
|
||||||
|
background-color: #88aaaa;
|
||||||
|
}
|
||||||
|
.navigation {
|
||||||
|
vertical-align: top;
|
||||||
|
width: 150px;
|
||||||
|
padding: 15px;
|
||||||
|
background-color: #445555;
|
||||||
|
color: #fffcfc;
|
||||||
|
}
|
||||||
|
.navheader {
|
||||||
|
margin-top: -0.5em;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
text-align: right;
|
||||||
|
color: #446644;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
SPAN.menu {
|
||||||
|
text-align : center ;
|
||||||
|
font-size : 12pt ;
|
||||||
|
font-family : verdana, helvetica, sans-serif
|
||||||
|
}
|
||||||
|
|
||||||
|
DIV.merit {
|
||||||
|
margin : 0.5cm ;
|
||||||
|
width : 800px
|
||||||
|
}
|
||||||
|
|
||||||
|
TABLE.meritum {
|
||||||
|
margin : 0.5cm ;
|
||||||
|
border : 0
|
||||||
|
}
|
||||||
|
.foot {
|
||||||
|
margin : 0.5cm ;
|
||||||
|
width : 800px
|
||||||
|
}
|
||||||
|
.head {
|
||||||
|
margin : 0.5cm ;
|
||||||
|
}
|
||||||
|
|
||||||
|
CODE {
|
||||||
|
font-family: "Andale Mono", "Courier New", "Courier", monospace;
|
||||||
|
background-color: #eef0f3;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.singlesmall {
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.doublesmall {
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
DIV.footer {
|
||||||
|
margin : 0.5cm ;
|
||||||
|
width : 800px
|
||||||
|
}
|
||||||
|
.qa {
|
||||||
|
margin : 0.5cm ;
|
||||||
|
font-size : 16px;
|
||||||
|
font-weight : bold;
|
||||||
|
}
|
||||||
|
.ans {
|
||||||
|
margin : 0.5cm ;
|
||||||
|
font-weight : normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
H2.hline {
|
||||||
|
text-align : center ;
|
||||||
|
font-family : verdana, helvetica, sans-serif
|
||||||
|
}
|
||||||
|
|
||||||
|
A.extlinks {
|
||||||
|
font-size : 11pt ;
|
||||||
|
font-family : verdana, helvetica, sans-serif ;
|
||||||
|
font-weight : bold
|
||||||
|
}
|
||||||
|
|
||||||
|
TT {
|
||||||
|
font-family: courier,sans-serif;
|
||||||
|
font-size: 11pt;
|
||||||
|
}
|
||||||
|
PRE.programlisting {
|
||||||
|
font-family: courier,sans-serif;
|
||||||
|
font-size: 10pt;
|
||||||
|
background-color:#eef0f3;
|
||||||
|
border-color: #000000;
|
||||||
|
border-width: 1px;
|
||||||
|
border-style: solid;
|
||||||
|
}
|
||||||
|
SPAN.conflict {
|
||||||
|
font-size : small ;
|
||||||
|
font-family: courier,sans-serif;
|
||||||
|
color : #DD4444;
|
||||||
|
}
|
||||||
|
HR.navig {
|
||||||
|
color: #446644;
|
||||||
|
height: 1px;
|
||||||
|
margin-top: 1em;
|
||||||
|
border-top: 0px; /* Mozilla work-around to eliminate "groove" */
|
||||||
|
}
|
||||||
|
A.question {
|
||||||
|
color: #000000;
|
||||||
|
height: 1px;
|
||||||
|
margin-top: 1em;
|
||||||
|
border-top: 0px; /* Mozilla work-around to eliminate "groove" */
|
||||||
|
}
|
||||||
|
A.question:hover {
|
||||||
|
color: #000000;
|
||||||
|
background-color: #eef0f3;
|
||||||
|
height: 1px;
|
||||||
|
margin-top: 1em;
|
||||||
|
border-top: 0px; /* Mozilla work-around to eliminate "groove" */
|
||||||
|
}
|
||||||
|
|
3462
vim/vim-latex/doc/latex-suite.txt
Executable file
3462
vim/vim-latex/doc/latex-suite.txt
Executable file
File diff suppressed because it is too large
Load diff
4666
vim/vim-latex/doc/latex-suite.xml
Executable file
4666
vim/vim-latex/doc/latex-suite.xml
Executable file
File diff suppressed because it is too large
Load diff
22
vim/vim-latex/doc/latex-suite.xsl
Executable file
22
vim/vim-latex/doc/latex-suite.xsl
Executable file
|
@ -0,0 +1,22 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||||
|
version="1.0"
|
||||||
|
xmlns="http://www.w3.org/TR/xhtml1/transitional"
|
||||||
|
exclude-result-prefixes="#default">
|
||||||
|
|
||||||
|
<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"/>
|
||||||
|
|
||||||
|
<!-- import common customizations -->
|
||||||
|
<xsl:import href="latex-suite-common.xsl"/>
|
||||||
|
|
||||||
|
<xsl:output method="html"
|
||||||
|
encoding="ISO-8859-1"
|
||||||
|
indent="no"/>
|
||||||
|
|
||||||
|
<!-- insert customization here -->
|
||||||
|
|
||||||
|
<xsl:param name="section.autolabel" select="1"/>
|
||||||
|
<xsl:param name="html.stylesheet" select="'latex-suite.css'"/>
|
||||||
|
|
||||||
|
|
||||||
|
</xsl:stylesheet>
|
2430
vim/vim-latex/doc/latexhelp.txt
Executable file
2430
vim/vim-latex/doc/latexhelp.txt
Executable file
File diff suppressed because it is too large
Load diff
15
vim/vim-latex/ftplugin/bib_latexSuite.vim
Executable file
15
vim/vim-latex/ftplugin/bib_latexSuite.vim
Executable file
|
@ -0,0 +1,15 @@
|
||||||
|
" File: bib_latexSuite.vim
|
||||||
|
" Author: Srinath Avadhanula
|
||||||
|
" License: Vim Charityware License
|
||||||
|
" Description:
|
||||||
|
" This file sources the bibtex.vim file distributed as part of latex-suite.
|
||||||
|
" That file sets up 3 maps BBB, BAS, and BBA which are easy wasy to type in
|
||||||
|
" bibliographic entries.
|
||||||
|
"
|
||||||
|
|
||||||
|
" source main.vim because we need a few functions from it.
|
||||||
|
runtime ftplugin/latex-suite/main.vim
|
||||||
|
" Disable smart-quotes because we need to enter real quotes in bib files.
|
||||||
|
runtime ftplugin/latex-suite/bibtex.vim
|
||||||
|
|
||||||
|
" vim:fdm=marker:ff=unix:noet:ts=4:sw=4:nowrap
|
265
vim/vim-latex/ftplugin/latex-suite/bibtex.vim
Executable file
265
vim/vim-latex/ftplugin/latex-suite/bibtex.vim
Executable file
|
@ -0,0 +1,265 @@
|
||||||
|
"=============================================================================
|
||||||
|
" File: bibtex.vim
|
||||||
|
" Function: BibT
|
||||||
|
" Author: Alan G Isaac <aisaac@american.edu>
|
||||||
|
" modified by Srinath Avadhanula for latex-suite.
|
||||||
|
" License: Vim Charityware license.
|
||||||
|
"=============================================================================
|
||||||
|
|
||||||
|
" Fields:
|
||||||
|
" Define what field type each letter denotes {{{
|
||||||
|
"
|
||||||
|
let s:w_standsfor = 'address'
|
||||||
|
let s:a_standsfor = 'author'
|
||||||
|
let s:b_standsfor = 'booktitle'
|
||||||
|
let s:c_standsfor = 'chapter'
|
||||||
|
let s:d_standsfor = 'edition'
|
||||||
|
let s:e_standsfor = 'editor'
|
||||||
|
let s:h_standsfor = 'howpublished'
|
||||||
|
let s:i_standsfor = 'institution'
|
||||||
|
let s:k_standsfor = 'isbn'
|
||||||
|
let s:j_standsfor = 'journal'
|
||||||
|
let s:m_standsfor = 'month'
|
||||||
|
let s:n_standsfor = 'number'
|
||||||
|
let s:o_standsfor = 'organization'
|
||||||
|
let s:p_standsfor = 'pages'
|
||||||
|
let s:q_standsfor = 'publisher'
|
||||||
|
let s:r_standsfor = 'school'
|
||||||
|
let s:s_standsfor = 'series'
|
||||||
|
let s:t_standsfor = 'title'
|
||||||
|
let s:u_standsfor = 'type'
|
||||||
|
let s:v_standsfor = 'volume'
|
||||||
|
let s:y_standsfor = 'year'
|
||||||
|
let s:z_standsfor = 'note'
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
" Define the fields required for the various entry types {{{
|
||||||
|
"
|
||||||
|
" s:{type}_required defines the required fields
|
||||||
|
" s:{type}_optional1 defines common optional fields
|
||||||
|
" s:{type}_optional2 defines uncommmon optional fields
|
||||||
|
" s:{type}_retval defines the first line of the formatted bib entry.
|
||||||
|
"
|
||||||
|
let s:key='<+key+>'
|
||||||
|
|
||||||
|
let s:{'article'}_required="atjy"
|
||||||
|
let s:{'article'}_optional1="vnpm"
|
||||||
|
let s:{'article'}_optional2="z" " z is note
|
||||||
|
let s:{'article'}_retval = '@ARTICLE{' . s:key . ','."\n"
|
||||||
|
|
||||||
|
let s:{'book'}_required="aetqy" " requires author *or* editor
|
||||||
|
let s:{'book'}_optional1="wd"
|
||||||
|
let s:{'book'}_optional2="vnsmz" " w is address, d is edition
|
||||||
|
let s:{'book'}_extras="k" " isbn
|
||||||
|
let s:{'book'}_retval = '@BOOK{' . s:key . ','."\n"
|
||||||
|
|
||||||
|
let s:{'booklet'}_required="t"
|
||||||
|
let s:{'booklet'}_optional1="ahy"
|
||||||
|
let s:{'booklet'}_optional2="wmz" " w is address
|
||||||
|
let s:{'booklet'}_retval = '@BOOKLET{' . s:key . ','."\n"
|
||||||
|
|
||||||
|
let s:{'inbook'}_required="aetcpqy"
|
||||||
|
let s:{'inbook'}_optional1="w" " w is address
|
||||||
|
let s:{'inbook'}_optional2="vnsudmz" " d is edition
|
||||||
|
let s:{'inbook'}_extras="k" " isbn
|
||||||
|
let s:{'inbook'}_retval = '@INBOOK{' . s:key . ','."\n"
|
||||||
|
|
||||||
|
let s:{'incollection'}_required="atbqy" " b is booktitle
|
||||||
|
let s:{'incollection'}_optional1="cpw" " w is address, c is chapter
|
||||||
|
let s:{'incollection'}_optional2="evnsudmz" " d is edition
|
||||||
|
let s:{'incollection'}_extras="k" " isbn
|
||||||
|
let s:{'incollection'}_retval = '@INCOLLECTION{' . s:key . ','."\n"
|
||||||
|
|
||||||
|
let s:{'inproceedings'}_required="atby" " b is booktitle
|
||||||
|
let s:{'inproceedings'}_optional1="epwoq" " w is address, q is publisher
|
||||||
|
let s:{'inproceedings'}_optional2="vnsmz"
|
||||||
|
let s:{'inproceedings'}_extras="k" " isbn
|
||||||
|
let s:{'inproceedings'}_retval = '@INPROCEEDINGS{' . s:key . ','."\n"
|
||||||
|
|
||||||
|
let s:{'conference'}_required="atby" " b is booktitle
|
||||||
|
let s:{'conference'}_optional1="epwoq" " w is address, q is publisher
|
||||||
|
let s:{'conference'}_optional2="vnsmz"
|
||||||
|
let s:{'conference'}_extras="k" " isbn
|
||||||
|
let s:{'conference'}_retval = '@CONFERENCE{' . s:key . ','."\n"
|
||||||
|
|
||||||
|
let s:{'manual'}_required="t"
|
||||||
|
let s:{'manual'}_optional1="ow"
|
||||||
|
let s:{'manual'}_optional2="admyz" " w is address
|
||||||
|
let s:{'manual'}_retval = '@MANUAL{' . s:key . ','."\n"
|
||||||
|
|
||||||
|
let s:{'msthesis'}_required="atry" " r is school
|
||||||
|
let s:{'msthesis'}_optional1="w" " w is address
|
||||||
|
let s:{'msthesis'}_optional2="umz" " u is type, w is address
|
||||||
|
let s:{'msthesis'}_retval = '@MASTERSTHESIS{' . s:key . ','."\n"
|
||||||
|
|
||||||
|
let s:{'misc'}_required=""
|
||||||
|
let s:{'misc'}_optional1="ath"
|
||||||
|
let s:{'misc'}_optional2="myz"
|
||||||
|
let s:{'misc'}_retval = '@MISC{' . s:key . ','."\n"
|
||||||
|
|
||||||
|
let s:{'phdthesis'}_required="atry" " r is school
|
||||||
|
let s:{'phdthesis'}_optional1="w" " w is address
|
||||||
|
let s:{'phdthesis'}_optional2="umz" " u is type
|
||||||
|
let s:{'phdthesis'}_retval = '@PHDTHESIS{' . s:key . ','."\n"
|
||||||
|
|
||||||
|
let s:{'proceedings'}_required="ty"
|
||||||
|
let s:{'proceedings'}_optional1="ewo" " w is address
|
||||||
|
let s:{'proceedings'}_optional2="vnsmqz" " q is publisher
|
||||||
|
let s:{'proceedings'}_retval = '@PROCEEDINGS{' . s:key . ','."\n"
|
||||||
|
|
||||||
|
let s:{'techreport'}_required="atiy"
|
||||||
|
let s:{'techreport'}_optional1="unw" " u is type, w is address
|
||||||
|
let s:{'techreport'}_optional2="mz"
|
||||||
|
let s:{'techreport'}_retval = '@TECHREPORT{' . s:key . ','."\n"
|
||||||
|
|
||||||
|
let s:{'unpublished'}_required="atz"
|
||||||
|
let s:{'unpublished'}_optional1="y"
|
||||||
|
let s:{'unpublished'}_optional2="m"
|
||||||
|
let s:{'unpublished'}_retval = '@UNPUBLISHED{' . s:key . ','."\n"
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
if exists('s:done')
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let s:done = 1
|
||||||
|
|
||||||
|
call IMAP ('BBB', "\<C-r>=BibT('', '', 0)\<CR>", 'bib')
|
||||||
|
call IMAP ('BBL', "\<C-r>=BibT('', 'o', 0)\<CR>", 'bib')
|
||||||
|
call IMAP ('BBH', "\<C-r>=BibT('', 'O', 0)\<CR>", 'bib')
|
||||||
|
call IMAP ('BBX', "\<C-r>=BibT('', 'Ox', 0)\<CR>", 'bib')
|
||||||
|
|
||||||
|
" BibT: function to generate a formatted bibtex entry {{{
|
||||||
|
" three sample usages:
|
||||||
|
" :call BibT() will request type choice
|
||||||
|
" :call BibT("article") preferred, provides most common fields
|
||||||
|
" :call BibT("article","ox") more optional fields (o) and extras (x)
|
||||||
|
"
|
||||||
|
" Input Arguments:
|
||||||
|
" type: is one of the types listed above. (this should be a complete name, not
|
||||||
|
" the acronym).
|
||||||
|
" options: a string containing 0 or more of the letters 'oOx'
|
||||||
|
" where
|
||||||
|
" o: include a bib entry with first set of options
|
||||||
|
" O: include a bib entry with extended options
|
||||||
|
" x: incude bib entry with extra options
|
||||||
|
" prompt: whether the fields are asked to be filled on the command prompt or
|
||||||
|
" whether place-holders are used. when prompt == 1, then comman line
|
||||||
|
" questions are used.
|
||||||
|
"
|
||||||
|
" Returns:
|
||||||
|
" a string containing a formatted bib entry
|
||||||
|
function BibT(type, options, prompt)
|
||||||
|
if a:type != ''
|
||||||
|
let choosetype = a:type
|
||||||
|
else
|
||||||
|
let types =
|
||||||
|
\ 'article'."\n".
|
||||||
|
\ 'booklet'."\n".
|
||||||
|
\ 'book'."\n".
|
||||||
|
\ 'conference'."\n".
|
||||||
|
\ 'inbook'."\n".
|
||||||
|
\ 'incollection'."\n".
|
||||||
|
\ 'inproceedings'."\n".
|
||||||
|
\ 'manual'."\n".
|
||||||
|
\ 'msthesis'."\n".
|
||||||
|
\ 'misc'."\n".
|
||||||
|
\ 'phdthesis'."\n".
|
||||||
|
\ 'proceedings'."\n".
|
||||||
|
\ 'techreport'."\n".
|
||||||
|
\ 'unpublished'
|
||||||
|
let choosetype = Tex_ChooseFromPrompt(
|
||||||
|
\ "Choose the type of bibliographic entry: \n" .
|
||||||
|
\ Tex_CreatePrompt(types, 3, "\n") .
|
||||||
|
\ "\nEnter number or filename :",
|
||||||
|
\ types, "\n")
|
||||||
|
if choosetype == ''
|
||||||
|
let choosetype = 'article'
|
||||||
|
endif
|
||||||
|
if types !~ '^\|\n'.choosetype.'$\|\n'
|
||||||
|
echomsg 'Please choose only one of the given types'
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
if a:options != ''
|
||||||
|
let options = a:options
|
||||||
|
else
|
||||||
|
let options = ""
|
||||||
|
endif
|
||||||
|
|
||||||
|
let fields = ''
|
||||||
|
let extras=""
|
||||||
|
let retval = ""
|
||||||
|
|
||||||
|
" define fields
|
||||||
|
let fields = s:{choosetype}_required
|
||||||
|
if options =~ 'o' && exists('s:'.choosetype.'_optional1')
|
||||||
|
let fields = fields . s:{choosetype}_optional1
|
||||||
|
endif
|
||||||
|
if options =~ "O" && exists('s:'.choosetype.'_optional2')
|
||||||
|
if options !~ 'o'&& exists('s:'.choosetype.'_optional1')
|
||||||
|
let fields = fields . s:{choosetype}_optional1
|
||||||
|
endif
|
||||||
|
let fields = fields . s:{choosetype}_optional2
|
||||||
|
endif
|
||||||
|
if options =~ "x" && exists('s:'.choosetype.'_extras')
|
||||||
|
let fields = fields . extras
|
||||||
|
endif
|
||||||
|
if exists('g:Bib_'.choosetype.'_options')
|
||||||
|
let fields = fields . g:Bib_{choosetype}_options
|
||||||
|
endif
|
||||||
|
|
||||||
|
let retval = s:{choosetype}_retval
|
||||||
|
|
||||||
|
let i = 0
|
||||||
|
while i < strlen(fields)
|
||||||
|
let field = strpart(fields, i, 1)
|
||||||
|
|
||||||
|
if exists('s:'.field.'_standsfor')
|
||||||
|
let field_name = s:{field}_standsfor
|
||||||
|
let retval = retval.field_name." = {<++>},\n"
|
||||||
|
endif
|
||||||
|
|
||||||
|
let i = i + 1
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
" If the user wants even more fine-tuning...
|
||||||
|
if Tex_GetVarValue('Bib_'.choosetype.'_extrafields') != ''
|
||||||
|
|
||||||
|
let extrafields = Tex_GetVarValue('Bib_'.choosetype.'_extrafields')
|
||||||
|
|
||||||
|
let i = 1
|
||||||
|
while 1
|
||||||
|
let field_name = Tex_Strntok(extrafields, "\n", i)
|
||||||
|
if field_name == ''
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
|
||||||
|
let retval = retval.field_name." = {<++>},\n"
|
||||||
|
|
||||||
|
let i = i + 1
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
let retval = retval.'otherinfo = {<++>}'."\n"
|
||||||
|
let retval = retval."}<++>"."\n"
|
||||||
|
|
||||||
|
return IMAP_PutTextWithMovement(retval)
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
function! s:Input(prompt, ask) " {{{
|
||||||
|
if a:ask == 1
|
||||||
|
let retval = input(a:prompt)
|
||||||
|
if retval == ''
|
||||||
|
return "<++>"
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
return "<++>"
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
" vim:fdm=marker:ff=unix:noet:ts=4:sw=4
|
221
vim/vim-latex/ftplugin/latex-suite/bibtools.py
Executable file
221
vim/vim-latex/ftplugin/latex-suite/bibtools.py
Executable file
|
@ -0,0 +1,221 @@
|
||||||
|
# Author: Srinath Avadhanula
|
||||||
|
# This file is distributed as part of the vim-latex project
|
||||||
|
# http://vim-latex.sf.net
|
||||||
|
|
||||||
|
import re
|
||||||
|
|
||||||
|
class Bibliography(dict):
|
||||||
|
def __init__(self, txt, macros={}):
|
||||||
|
"""
|
||||||
|
txt:
|
||||||
|
a string which represents the entire bibtex entry. A typical
|
||||||
|
entry is of the form:
|
||||||
|
@ARTICLE{ellington:84:part3,
|
||||||
|
author = {Ellington, C P},
|
||||||
|
title = {The Aerodynamics of Hovering Insect Flight. III. Kinematics},
|
||||||
|
journal = {Philosophical Transactions of the Royal Society of London. Series B, Biological Sciences},
|
||||||
|
year = {1984},
|
||||||
|
volume = {305},
|
||||||
|
pages = {41-78},
|
||||||
|
number = {1122},
|
||||||
|
owner = {Srinath},
|
||||||
|
pdf = {C:\srinath\research\papers\Ellington-3-Kinematics.pdf},
|
||||||
|
timestamp = {2006.01.02},
|
||||||
|
}
|
||||||
|
"""
|
||||||
|
|
||||||
|
if macros:
|
||||||
|
for k, v in macros.iteritems():
|
||||||
|
txt = txt.replace(k, '{'+v+'}')
|
||||||
|
|
||||||
|
m = re.match(r'\s*@(\w+){\s*((\S+),)?(.*)}\s*', txt, re.MULTILINE | re.DOTALL)
|
||||||
|
if not m:
|
||||||
|
return None
|
||||||
|
|
||||||
|
self['bibtype'] = m.group(1).capitalize()
|
||||||
|
self['key'] = m.group(3)
|
||||||
|
self['body'] = m.group(4)
|
||||||
|
|
||||||
|
body = self['body']
|
||||||
|
self['bodytext'] = ''
|
||||||
|
while 1:
|
||||||
|
m = re.search(r'(\S+?)\s*=\s*(.)', body)
|
||||||
|
if not m:
|
||||||
|
break
|
||||||
|
|
||||||
|
field = m.group(1)
|
||||||
|
|
||||||
|
body = body[(m.start(2)+1):]
|
||||||
|
if m.group(2) == '{':
|
||||||
|
# search for the next closing brace. This is not simply a
|
||||||
|
# matter of searching for the next closing brace since
|
||||||
|
# braces can be nested. The following code basically goes
|
||||||
|
# to the next } which has not already been closed by a
|
||||||
|
# following {.
|
||||||
|
mniter = re.finditer(r'{|}', body)
|
||||||
|
|
||||||
|
count = 1
|
||||||
|
while 1:
|
||||||
|
try:
|
||||||
|
mn = mniter.next()
|
||||||
|
except StopIteration:
|
||||||
|
return None
|
||||||
|
|
||||||
|
if mn.group(0) == '{':
|
||||||
|
count += 1
|
||||||
|
else:
|
||||||
|
count -= 1
|
||||||
|
|
||||||
|
if count == 0:
|
||||||
|
value = body[:(mn.start(0))]
|
||||||
|
break
|
||||||
|
|
||||||
|
elif m.group(2) == '"':
|
||||||
|
# search for the next unquoted double-quote. To be more
|
||||||
|
# precise, a double quote which is preceded by an even
|
||||||
|
# number of double quotes.
|
||||||
|
mn = re.search(r'(?!\\)(\\\\)*"', body)
|
||||||
|
if not mn:
|
||||||
|
return None
|
||||||
|
|
||||||
|
value = body[:(mn.start(0))]
|
||||||
|
|
||||||
|
else:
|
||||||
|
# $ always matches. So we do not need to do any
|
||||||
|
# error-checking.
|
||||||
|
mn = re.search(r',|$', body)
|
||||||
|
value = m.group(2) + body[:(mn.start(0))].rstrip()
|
||||||
|
|
||||||
|
self[field.lower()] = re.sub(r'\s+', ' ', value)
|
||||||
|
body = body[(mn.start(0)+1):]
|
||||||
|
|
||||||
|
self['bodytext'] += (' %s: %s\n' % (field, value))
|
||||||
|
if self['bibtype'].lower() == 'string':
|
||||||
|
self['macro'] = {field: value}
|
||||||
|
|
||||||
|
self['bodytext'] = self['bodytext'].rstrip()
|
||||||
|
|
||||||
|
|
||||||
|
def __getitem__(self, key):
|
||||||
|
try:
|
||||||
|
return dict.__getitem__(self, key)
|
||||||
|
except KeyError:
|
||||||
|
return ''
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
if self['bibtype'].lower() == 'string':
|
||||||
|
return 'String: %(macro)s' % self
|
||||||
|
|
||||||
|
elif self['bibtype'].lower() == 'article':
|
||||||
|
return ('Article [%(key)s]\n' +
|
||||||
|
'TI "%(title)s"\n' +
|
||||||
|
'AU %(author)s\n' +
|
||||||
|
'IN In %(journal)s, %(year)s') % self
|
||||||
|
|
||||||
|
elif self['bibtype'].lower() == 'conference':
|
||||||
|
return ('Conference [%(key)s]\n' +
|
||||||
|
'TI "%(title)s"\n' +
|
||||||
|
'AU %(author)s\n' +
|
||||||
|
'IN In %(booktitle)s, %(year)s') % self
|
||||||
|
|
||||||
|
elif self['bibtype'].lower() == 'mastersthesis':
|
||||||
|
return ('Masters [%(key)s]\n' +
|
||||||
|
'TI "%(title)s"\n' +
|
||||||
|
'AU %(author)s\n' +
|
||||||
|
'IN In %(school)s, %(year)s') % self
|
||||||
|
|
||||||
|
elif self['bibtype'].lower() == 'phdthesis':
|
||||||
|
return ('PhD [%(key)s]\n' +
|
||||||
|
'TI "%(title)s"\n' +
|
||||||
|
'AU %(author)s\n' +
|
||||||
|
'IN In %(school)s, %(year)s') % self
|
||||||
|
|
||||||
|
elif self['bibtype'].lower() == 'book':
|
||||||
|
return ('Book [%(key)s]\n' +
|
||||||
|
'TI "%(title)s"\n' +
|
||||||
|
'AU %(author)s\n' +
|
||||||
|
'IN %(publisher)s, %(year)s') % self
|
||||||
|
|
||||||
|
else:
|
||||||
|
s = '%(bibtype)s [%(key)s]\n' % self
|
||||||
|
if self['title']:
|
||||||
|
s += 'TI "%(title)s"\n' % self
|
||||||
|
if self['author']:
|
||||||
|
s += 'AU %(author)s\n' % self
|
||||||
|
for k, v in self.iteritems():
|
||||||
|
if k not in ['title', 'author', 'bibtype', 'key', 'id', 'file', 'body', 'bodytext']:
|
||||||
|
s += 'MI %s: %s\n' % (k, v)
|
||||||
|
|
||||||
|
return s.rstrip()
|
||||||
|
|
||||||
|
def satisfies(self, filters):
|
||||||
|
for field, regexp in filters:
|
||||||
|
if not re.search(regexp, self[field], re.I):
|
||||||
|
return False
|
||||||
|
|
||||||
|
return True
|
||||||
|
|
||||||
|
class BibFile:
|
||||||
|
|
||||||
|
def __init__(self, filelist=''):
|
||||||
|
self.bibentries = []
|
||||||
|
self.filters = []
|
||||||
|
self.macros = {}
|
||||||
|
self.sortfields = []
|
||||||
|
if filelist:
|
||||||
|
for f in filelist.splitlines():
|
||||||
|
self.addfile(f)
|
||||||
|
|
||||||
|
def addfile(self, file):
|
||||||
|
fields = open(file).read().split('@')
|
||||||
|
for f in fields:
|
||||||
|
if not (f and re.match('string', f, re.I)):
|
||||||
|
continue
|
||||||
|
|
||||||
|
b = Bibliography('@' + f)
|
||||||
|
self.macros.update(b['macro'])
|
||||||
|
|
||||||
|
for f in fields:
|
||||||
|
if not f or re.match('string', f, re.I):
|
||||||
|
continue
|
||||||
|
|
||||||
|
b = Bibliography('@' + f, self.macros)
|
||||||
|
if b:
|
||||||
|
b['file'] = file
|
||||||
|
b['id'] = len(self.bibentries)
|
||||||
|
self.bibentries += [b]
|
||||||
|
|
||||||
|
|
||||||
|
def addfilter(self, filterspec):
|
||||||
|
self.filters += [filterspec.split()]
|
||||||
|
|
||||||
|
def rmfilters(self):
|
||||||
|
self.filters = []
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
s = ''
|
||||||
|
for b in self.bibentries:
|
||||||
|
if b['key'] and b.satisfies(self.filters):
|
||||||
|
s += '%s\n\n' % b
|
||||||
|
return s
|
||||||
|
|
||||||
|
def addsortfield(self, field):
|
||||||
|
self.sortfields += [field]
|
||||||
|
|
||||||
|
def rmsortfields(self):
|
||||||
|
self.sortfields = []
|
||||||
|
|
||||||
|
def sort(self):
|
||||||
|
def cmpfun(b1, b2):
|
||||||
|
for f in self.sortfields:
|
||||||
|
c = cmp(b1[f], b2[f])
|
||||||
|
if c:
|
||||||
|
return c
|
||||||
|
return 0
|
||||||
|
self.bibentries.sort(cmp=cmpfun)
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
import sys
|
||||||
|
|
||||||
|
bf = BibFile(sys.argv[1])
|
||||||
|
print bf
|
144
vim/vim-latex/ftplugin/latex-suite/brackets.vim
Executable file
144
vim/vim-latex/ftplugin/latex-suite/brackets.vim
Executable file
|
@ -0,0 +1,144 @@
|
||||||
|
" ==============================================================================
|
||||||
|
" History: This was originally part of auctex.vim by Carl Mueller.
|
||||||
|
" Srinath Avadhanula incorporated it into latex-suite with
|
||||||
|
" significant modifications.
|
||||||
|
" Parts of this file may be copyrighted by others as noted.
|
||||||
|
" Description:
|
||||||
|
" This ftplugin provides the following maps:
|
||||||
|
" . <M-b> encloses the previous character in \mathbf{}
|
||||||
|
" . <M-c> is polymorphic as follows:
|
||||||
|
" Insert mode:
|
||||||
|
" 1. If the previous character is a letter or number, then capitalize it and
|
||||||
|
" enclose it in \mathcal{}
|
||||||
|
" 2. otherwise insert \cite{}
|
||||||
|
" Visual Mode:
|
||||||
|
" 1. Enclose selection in \mathcal{}
|
||||||
|
" . <M-l> is also polymorphic as follows:
|
||||||
|
" If the character before typing <M-l> is one of '([{|<q', then do the
|
||||||
|
" following:
|
||||||
|
" 1. (<M-l> \left(\right
|
||||||
|
" similarly for [, |
|
||||||
|
" {<M-l> \left\{\right\}
|
||||||
|
" 2. <<M-l> \langle\rangle
|
||||||
|
" 3. q<M-l> \lefteqn{}
|
||||||
|
" otherwise insert \label{}
|
||||||
|
" . <M-i> inserts \item commands at the current cursor location depending on
|
||||||
|
" the surrounding environment. For example, inside itemize, it will
|
||||||
|
" insert a simple \item, but within a description, it will insert
|
||||||
|
" \item[<+label+>] etc.
|
||||||
|
"
|
||||||
|
" These functions make it extremeley easy to do all the \left \right stuff in
|
||||||
|
" latex.
|
||||||
|
" ==============================================================================
|
||||||
|
|
||||||
|
" Avoid reinclusion.
|
||||||
|
if exists('b:did_brackets')
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let b:did_brackets = 1
|
||||||
|
|
||||||
|
" define the funtions only once.
|
||||||
|
if exists('*Tex_MathBF')
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Tex_MathBF: encloses te previous letter/number in \mathbf{} {{{
|
||||||
|
" Description:
|
||||||
|
function! Tex_MathBF()
|
||||||
|
return "\<Left>\\mathbf{\<Right>}"
|
||||||
|
endfunction " }}}
|
||||||
|
" Tex_MathCal: enclose the previous letter/number in \mathcal {{{
|
||||||
|
" Description:
|
||||||
|
" if the last character is not a letter/number, then insert \cite{}
|
||||||
|
function! Tex_MathCal()
|
||||||
|
let line = getline(line("."))
|
||||||
|
let char = line[col(".")-2]
|
||||||
|
|
||||||
|
if char =~ '[a-zA-Z0-9]'
|
||||||
|
return "\<BS>".'\mathcal{'.toupper(char).'}'
|
||||||
|
else
|
||||||
|
return IMAP_PutTextWithMovement('\cite{<++>}<++>')
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
" }}}
|
||||||
|
" Tex_LeftRight: maps <M-l> in insert mode. {{{
|
||||||
|
" Description:
|
||||||
|
" This is a polymorphic function, which maps the behaviour of <M-l> in the
|
||||||
|
" following way:
|
||||||
|
" If the character before typing <M-l> is one of '([{|<q', then do the
|
||||||
|
" following:
|
||||||
|
" 1. (<M-l> \left(<++>\right<++>
|
||||||
|
" similarly for [, |
|
||||||
|
" {<M-l> \left\{<++>\right\}<++>
|
||||||
|
" 2. <<M-l> \langle<++>\rangle<++>
|
||||||
|
" 3. q<M-l> \lefteqn{<++>}<++>
|
||||||
|
" otherwise insert \label{<++>}<++>
|
||||||
|
function! Tex_LeftRight()
|
||||||
|
let line = getline(line("."))
|
||||||
|
let char = line[col(".")-2]
|
||||||
|
let previous = line[col(".")-3]
|
||||||
|
|
||||||
|
let matchedbrackets = '()[]{}||'
|
||||||
|
if char =~ '(\|\[\|{\||'
|
||||||
|
let add = ''
|
||||||
|
if char =~ '{'
|
||||||
|
let add = "\\"
|
||||||
|
endif
|
||||||
|
let rhs = matchstr(matchedbrackets, char.'\zs.\ze')
|
||||||
|
return "\<BS>".IMAP_PutTextWithMovement('\left'.add.char.'<++>\right'.add.rhs.'<++>')
|
||||||
|
elseif char == '<'
|
||||||
|
return "\<BS>".IMAP_PutTextWithMovement('\langle <++>\rangle<++>')
|
||||||
|
elseif char == 'q'
|
||||||
|
return "\<BS>".IMAP_PutTextWithMovement('\lefteqn{<++>}<++>')
|
||||||
|
else
|
||||||
|
return IMAP_PutTextWithMovement('\label{<++>}<++>')
|
||||||
|
endif
|
||||||
|
endfunction " }}}
|
||||||
|
" Tex_PutLeftRight: maps <M-l> in normal mode {{{
|
||||||
|
" Description:
|
||||||
|
" Put \left...\right in front of the matched brackets.
|
||||||
|
function! Tex_PutLeftRight()
|
||||||
|
let previous = getline(line("."))[col(".") - 2]
|
||||||
|
let char = getline(line("."))[col(".") - 1]
|
||||||
|
if previous == '\'
|
||||||
|
if char == '{'
|
||||||
|
exe "normal ileft\\\<Esc>l%iright\\\<Esc>l%"
|
||||||
|
elseif char == '}'
|
||||||
|
exe "normal iright\\\<Esc>l%ileft\\\<Esc>l%"
|
||||||
|
endif
|
||||||
|
elseif char =~ '\[\|('
|
||||||
|
exe "normal i\\left\<Esc>l%i\\right\<Esc>l%"
|
||||||
|
elseif char =~ '\]\|)'
|
||||||
|
exe "normal i\\right\<Esc>l%i\\left\<Esc>l%"
|
||||||
|
endif
|
||||||
|
endfunction " }}}
|
||||||
|
|
||||||
|
" Provide <plug>'d mapping for easy user customization. {{{
|
||||||
|
inoremap <silent> <Plug>Tex_MathBF <C-r>=Tex_MathBF()<CR>
|
||||||
|
inoremap <silent> <Plug>Tex_MathCal <C-r>=Tex_MathCal()<CR>
|
||||||
|
inoremap <silent> <Plug>Tex_LeftRight <C-r>=Tex_LeftRight()<CR>
|
||||||
|
vnoremap <silent> <Plug>Tex_MathBF <C-C>`>a}<Esc>`<i\mathbf{<Esc>
|
||||||
|
vnoremap <silent> <Plug>Tex_MathCal <C-C>`>a}<Esc>`<i\mathcal{<Esc>
|
||||||
|
nnoremap <silent> <Plug>Tex_LeftRight :call Tex_PutLeftRight()<CR>
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
" Tex_SetBracketingMaps: create mappings for the current buffer {{{
|
||||||
|
function! <SID>Tex_SetBracketingMaps()
|
||||||
|
|
||||||
|
call Tex_MakeMap('<M-b>', '<Plug>Tex_MathBF', 'i', '<buffer> <silent>')
|
||||||
|
call Tex_MakeMap('<M-c>', '<Plug>Tex_MathCal', 'i', '<buffer> <silent>')
|
||||||
|
call Tex_MakeMap('<M-l>', '<Plug>Tex_LeftRight', 'i', '<buffer> <silent>')
|
||||||
|
call Tex_MakeMap('<M-b>', '<Plug>Tex_MathBF', 'v', '<buffer> <silent>')
|
||||||
|
call Tex_MakeMap('<M-c>', '<Plug>Tex_MathCal', 'v', '<buffer> <silent>')
|
||||||
|
call Tex_MakeMap('<M-l>', '<Plug>Tex_LeftRight', 'n', '<buffer> <silent>')
|
||||||
|
|
||||||
|
endfunction
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
augroup LatexSuite
|
||||||
|
au LatexSuite User LatexSuiteFileType
|
||||||
|
\ call Tex_Debug('brackets.vim: Catching LatexSuiteFileType event', 'brak') |
|
||||||
|
\ call <SID>Tex_SetBracketingMaps()
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
" vim:fdm=marker
|
874
vim/vim-latex/ftplugin/latex-suite/compiler.vim
Executable file
874
vim/vim-latex/ftplugin/latex-suite/compiler.vim
Executable file
|
@ -0,0 +1,874 @@
|
||||||
|
"=============================================================================
|
||||||
|
" File: compiler.vim
|
||||||
|
" Author: Srinath Avadhanula
|
||||||
|
" Created: Tue Apr 23 05:00 PM 2002 PST
|
||||||
|
"
|
||||||
|
" Description: functions for compiling/viewing/searching latex documents
|
||||||
|
"=============================================================================
|
||||||
|
|
||||||
|
" Tex_SetTeXCompilerTarget: sets the 'target' for the next call to Tex_RunLaTeX() {{{
|
||||||
|
function! Tex_SetTeXCompilerTarget(type, target)
|
||||||
|
call Tex_Debug("+Tex_SetTeXCompilerTarget: setting target to [".a:target."] for ".a:type."r", "comp")
|
||||||
|
|
||||||
|
if a:target == ''
|
||||||
|
let target = Tex_GetVarValue('Tex_DefaultTargetFormat')
|
||||||
|
let target = input('Enter the target format for '.a:type.'r: ', target)
|
||||||
|
else
|
||||||
|
let target = a:target
|
||||||
|
endif
|
||||||
|
if target == ''
|
||||||
|
let target = 'dvi'
|
||||||
|
endif
|
||||||
|
|
||||||
|
let targetRule = Tex_GetVarValue('Tex_'.a:type.'Rule_'.target)
|
||||||
|
|
||||||
|
if targetRule != ''
|
||||||
|
if a:type == 'Compile'
|
||||||
|
let &l:makeprg = escape(targetRule, Tex_GetVarValue('Tex_EscapeChars'))
|
||||||
|
elseif a:type == 'View'
|
||||||
|
let s:viewer = targetRule
|
||||||
|
endif
|
||||||
|
let s:target = target
|
||||||
|
|
||||||
|
elseif Tex_GetVarValue('Tex_'.a:type.'RuleComplete_'.target) != ''
|
||||||
|
let s:target = target
|
||||||
|
|
||||||
|
elseif a:type == 'View' && has('macunix')
|
||||||
|
" On the mac, we can have empty view rules, so do not complain when
|
||||||
|
" both Tex_ViewRule_target and Tex_ViewRuleComplete_target are
|
||||||
|
" empty. On other platforms, we will complain... see below.
|
||||||
|
let s:target = target
|
||||||
|
|
||||||
|
else
|
||||||
|
let s:origdir = fnameescape(getcwd())
|
||||||
|
exe 'cd '.fnameescape(expand('%:p:h'))
|
||||||
|
if !Tex_GetVarValue('Tex_UseMakefile') || (glob('makefile*') == '' && glob('Makefile*') == '')
|
||||||
|
if has('gui_running')
|
||||||
|
call confirm(
|
||||||
|
\'No '.a:type.' rule defined for target '.target."\n".
|
||||||
|
\'Please specify a rule in $VIMRUNTIME/ftplugin/tex/texrc'."\n".
|
||||||
|
\' :help Tex_'.a:type.'Rule_format'."\n".
|
||||||
|
\'for more information',
|
||||||
|
\"&ok", 1, 'Warning')
|
||||||
|
else
|
||||||
|
call input(
|
||||||
|
\'No '.a:type.' rule defined for target '.target."\n".
|
||||||
|
\'Please specify a rule in $VIMRUNTIME/ftplugin/tex/texrc'."\n".
|
||||||
|
\' :help Tex_'.a:type.'Rule_format'."\n".
|
||||||
|
\'for more information'
|
||||||
|
\)
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
echomsg 'Assuming target is for makefile'
|
||||||
|
let s:target = target
|
||||||
|
endif
|
||||||
|
exe 'cd '.s:origdir
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! SetTeXTarget(...)
|
||||||
|
if a:0 < 1
|
||||||
|
let target = Tex_GetVarValue('Tex_DefaultTargetFormat')
|
||||||
|
let target = input('Enter the target format for compiler and viewer: ', target)
|
||||||
|
else
|
||||||
|
let target = a:1
|
||||||
|
endif
|
||||||
|
if target == ''
|
||||||
|
let target = 'dvi'
|
||||||
|
endif
|
||||||
|
|
||||||
|
call Tex_SetTeXCompilerTarget('Compile', target)
|
||||||
|
call Tex_SetTeXCompilerTarget('View', target)
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
com! -nargs=1 TCTarget :call Tex_SetTeXCompilerTarget('Compile', <f-args>)
|
||||||
|
com! -nargs=1 TVTarget :call Tex_SetTeXCompilerTarget('View', <f-args>)
|
||||||
|
com! -nargs=? TTarget :call SetTeXTarget(<f-args>)
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
" Tex_CompileLatex: compiles the present file. {{{
|
||||||
|
" Description:
|
||||||
|
function! Tex_CompileLatex()
|
||||||
|
if &ft != 'tex'
|
||||||
|
echo "calling Tex_RunLaTeX from a non-tex file"
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
" close any preview windows left open.
|
||||||
|
pclose!
|
||||||
|
|
||||||
|
let s:origdir = fnameescape(getcwd())
|
||||||
|
|
||||||
|
" Find the main file corresponding to this file. Always cd to the
|
||||||
|
" directory containing the file to avoid problems with the directory
|
||||||
|
" containing spaces.
|
||||||
|
" Latex on linux seems to be unable to handle file names with spaces at
|
||||||
|
" all! Therefore for the moment, do not attempt to handle spaces in the
|
||||||
|
" file name.
|
||||||
|
if exists('b:fragmentFile')
|
||||||
|
let mainfname = expand('%:p:t')
|
||||||
|
call Tex_CD(expand('%:p:h'))
|
||||||
|
else
|
||||||
|
let mainfname = Tex_GetMainFileName(':p:t')
|
||||||
|
call Tex_CD(Tex_GetMainFileName(':p:h'))
|
||||||
|
end
|
||||||
|
|
||||||
|
call Tex_Debug('Tex_CompileLatex: getting mainfname = ['.mainfname.'] from Tex_GetMainFileName', 'comp')
|
||||||
|
|
||||||
|
" if a makefile exists and the user wants to use it, then use that
|
||||||
|
" irrespective of whether *.latexmain exists or not. mainfname is still
|
||||||
|
" extracted from *.latexmain (if possible) log file name depends on the
|
||||||
|
" main file which will be compiled.
|
||||||
|
if Tex_GetVarValue('Tex_UseMakefile') && (glob('makefile') != '' || glob('Makefile') != '')
|
||||||
|
let _makeprg = &l:makeprg
|
||||||
|
call Tex_Debug("Tex_CompileLatex: using the makefile in the current directory", "comp")
|
||||||
|
let &l:makeprg = 'make $*'
|
||||||
|
if exists('s:target')
|
||||||
|
call Tex_Debug('Tex_CompileLatex: execing [make! '.s:target.']', 'comp')
|
||||||
|
exec 'make! '.s:target
|
||||||
|
else
|
||||||
|
call Tex_Debug('Tex_CompileLatex: execing [make!]', 'comp')
|
||||||
|
exec 'make!'
|
||||||
|
endif
|
||||||
|
let &l:makeprg = _makeprg
|
||||||
|
else
|
||||||
|
" If &makeprg has something like "$*.ps", it means that it wants the
|
||||||
|
" file-name without the extension... Therefore remove it.
|
||||||
|
if &makeprg =~ '\$\*\.\w\+'
|
||||||
|
let mainfname = fnamemodify(mainfname, ':r')
|
||||||
|
endif
|
||||||
|
call Tex_Debug('Tex_CompileLatex: execing [make! '.mainfname.']', 'comp')
|
||||||
|
exec 'make! '.mainfname
|
||||||
|
endif
|
||||||
|
redraw!
|
||||||
|
|
||||||
|
exe 'cd '.s:origdir
|
||||||
|
endfunction " }}}
|
||||||
|
" Tex_RunLaTeX: compilation function {{{
|
||||||
|
" this function runs the latex command on the currently open file. often times
|
||||||
|
" the file being currently edited is only a fragment being \input'ed into some
|
||||||
|
" master tex file. in this case, make a file called mainfile.latexmain in the
|
||||||
|
" directory containig the file. in other words, if the current file is
|
||||||
|
" ~/thesis/chapter.tex
|
||||||
|
" so that doing "latex chapter.tex" doesnt make sense, then make a file called
|
||||||
|
" main.tex.latexmain
|
||||||
|
" in the ~/thesis directory. this will then run "latex main.tex" when
|
||||||
|
" Tex_RunLaTeX() is called.
|
||||||
|
function! Tex_RunLaTeX()
|
||||||
|
call Tex_Debug('+Tex_RunLaTeX, b:fragmentFile = '.exists('b:fragmentFile'), 'comp')
|
||||||
|
|
||||||
|
let dir = expand("%:p:h").'/'
|
||||||
|
let s:origdir = fnameescape(getcwd())
|
||||||
|
call Tex_CD(expand("%:p:h"))
|
||||||
|
|
||||||
|
let initTarget = s:target
|
||||||
|
|
||||||
|
" first get the dependency chain of this format.
|
||||||
|
call Tex_Debug("Tex_RunLaTeX: compiling to target [".s:target."]", "comp")
|
||||||
|
|
||||||
|
if Tex_GetVarValue('Tex_FormatDependency_'.s:target) != ''
|
||||||
|
let dependency = Tex_GetVarValue('Tex_FormatDependency_'.s:target)
|
||||||
|
if dependency !~ ','.s:target.'$'
|
||||||
|
let dependency = dependency.','.s:target
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
let dependency = s:target
|
||||||
|
endif
|
||||||
|
|
||||||
|
call Tex_Debug('Tex_RunLaTeX: getting dependency chain = ['.dependency.']', 'comp')
|
||||||
|
|
||||||
|
" now compile to the final target format via each dependency.
|
||||||
|
let i = 1
|
||||||
|
while Tex_Strntok(dependency, ',', i) != ''
|
||||||
|
let s:target = Tex_Strntok(dependency, ',', i)
|
||||||
|
|
||||||
|
call Tex_SetTeXCompilerTarget('Compile', s:target)
|
||||||
|
call Tex_Debug('Tex_RunLaTeX: setting target to '.s:target, 'comp')
|
||||||
|
|
||||||
|
if Tex_GetVarValue('Tex_MultipleCompileFormats') =~ '\<'.s:target.'\>'
|
||||||
|
call Tex_Debug("Tex_RunLaTeX: compiling file multiple times via Tex_CompileMultipleTimes", "comp")
|
||||||
|
call Tex_CompileMultipleTimes()
|
||||||
|
else
|
||||||
|
call Tex_Debug("Tex_RunLaTeX: compiling file once via Tex_CompileLatex", "comp")
|
||||||
|
call Tex_CompileLatex()
|
||||||
|
endif
|
||||||
|
|
||||||
|
let errlist = Tex_GetErrorList()
|
||||||
|
call Tex_Debug("Tex_RunLaTeX: errlist = [".errlist."]", "comp")
|
||||||
|
|
||||||
|
" If there are any errors, then break from the rest of the steps
|
||||||
|
if errlist =~ '\v(error|warning)'
|
||||||
|
call Tex_Debug('Tex_RunLaTeX: There were errors in compiling, breaking chain...', 'comp')
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
|
||||||
|
let i = i + 1
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
let s:target = initTarget
|
||||||
|
let s:origwinnum = winnr()
|
||||||
|
call Tex_SetupErrorWindow()
|
||||||
|
|
||||||
|
exe 'cd '.s:origdir
|
||||||
|
call Tex_Debug("-Tex_RunLaTeX", "comp")
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
" Tex_ViewLaTeX: opens viewer {{{
|
||||||
|
" Description: opens the DVI viewer for the file being currently edited.
|
||||||
|
" Again, if the current file is a \input in a master file, see text above
|
||||||
|
" Tex_RunLaTeX() to see how to set this information.
|
||||||
|
function! Tex_ViewLaTeX()
|
||||||
|
if &ft != 'tex'
|
||||||
|
echo "calling Tex_ViewLaTeX from a non-tex file"
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
let s:origdir = fnameescape(getcwd())
|
||||||
|
|
||||||
|
" If b:fragmentFile is set, it means this file was compiled as a fragment
|
||||||
|
" using Tex_PartCompile, which means that we want to ignore any
|
||||||
|
" *.latexmain or makefile's.
|
||||||
|
if !exists('b:fragmentFile')
|
||||||
|
" cd to the location of the file to avoid having to deal with spaces
|
||||||
|
" in the directory name.
|
||||||
|
let mainfname = Tex_GetMainFileName(':p:t:r')
|
||||||
|
call Tex_CD(Tex_GetMainFileName(':p:h'))
|
||||||
|
else
|
||||||
|
let mainfname = expand("%:p:t:r")
|
||||||
|
call Tex_CD(expand("%:p:h"))
|
||||||
|
endif
|
||||||
|
|
||||||
|
if Tex_GetVarValue('Tex_ViewRuleComplete_'.s:target) != ''
|
||||||
|
|
||||||
|
let execString = Tex_GetVarValue('Tex_ViewRuleComplete_'.s:target)
|
||||||
|
let execString = substitute(execString, '{v:servername}', v:servername, 'g')
|
||||||
|
|
||||||
|
elseif has('win32')
|
||||||
|
" unfortunately, yap does not allow the specification of an external
|
||||||
|
" editor from the command line. that would have really helped ensure
|
||||||
|
" that this particular vim and yap are connected.
|
||||||
|
let execString = 'start '.s:viewer.' "$*.'.s:target.'"'
|
||||||
|
|
||||||
|
elseif (has('macunix') && Tex_GetVarValue('Tex_TreatMacViewerAsUNIX') != 1)
|
||||||
|
|
||||||
|
if strlen(s:viewer)
|
||||||
|
let appOpt = '-a '
|
||||||
|
else
|
||||||
|
let appOpt = ''
|
||||||
|
endif
|
||||||
|
let execString = 'open '.appOpt.s:viewer.' $*.'.s:target
|
||||||
|
|
||||||
|
else
|
||||||
|
" taken from Dimitri Antoniou's tip on vim.sf.net (tip #225).
|
||||||
|
" slight change to actually use the current servername instead of
|
||||||
|
" hardcoding it as xdvi.
|
||||||
|
" Using an option for specifying the editor in the command line
|
||||||
|
" because that seems to not work on older bash'es.
|
||||||
|
if s:target == 'dvi'
|
||||||
|
|
||||||
|
if Tex_GetVarValue('Tex_UseEditorSettingInDVIViewer') == 1 &&
|
||||||
|
\ v:servername != '' &&
|
||||||
|
\ s:viewer =~ '^ *xdvik\?\( \|$\)'
|
||||||
|
|
||||||
|
let execString = s:viewer.' -editor "gvim --servername '.v:servername.
|
||||||
|
\ ' --remote-silent +\%l \%f" $*.dvi'
|
||||||
|
|
||||||
|
elseif Tex_GetVarValue('Tex_UseEditorSettingInDVIViewer') == 1 &&
|
||||||
|
\ s:viewer =~ '^ *kdvi\( \|$\)'
|
||||||
|
|
||||||
|
let execString = s:viewer.' --unique $*.dvi'
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
let execString = s:viewer.' $*.dvi'
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
let execString = s:viewer.' $*.'.s:target
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
if( Tex_GetVarValue('Tex_ExecuteUNIXViewerInForeground') != 1 )
|
||||||
|
let execString = execString.' &'
|
||||||
|
endif
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
let execString = substitute(execString, '\V$*', mainfname, 'g')
|
||||||
|
call Tex_Debug("Tex_ViewLaTeX: execString = ".execString, "comp")
|
||||||
|
|
||||||
|
exec 'silent! !'.execString
|
||||||
|
|
||||||
|
if !has('gui_running')
|
||||||
|
redraw!
|
||||||
|
endif
|
||||||
|
|
||||||
|
exe 'cd '.s:origdir
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
" Tex_ForwardSearchLaTeX: searches for current location in dvi file. {{{
|
||||||
|
" Description: if the DVI viewer is compatible, then take the viewer to that
|
||||||
|
" position in the dvi file. see docs for Tex_RunLaTeX() to set a
|
||||||
|
" master file if this is an \input'ed file.
|
||||||
|
" Tip: With YAP on Windows, it is possible to do forward and inverse searches
|
||||||
|
" on DVI files. to do forward search, you'll have to compile the file
|
||||||
|
" with the --src-specials option. then set the following as the command
|
||||||
|
" line in the 'view/options/inverse search' dialog box:
|
||||||
|
" gvim --servername LATEX --remote-silent +%l "%f"
|
||||||
|
" For inverse search, if you are reading this, then just pressing \ls
|
||||||
|
" will work.
|
||||||
|
function! Tex_ForwardSearchLaTeX()
|
||||||
|
if &ft != 'tex'
|
||||||
|
echo "calling Tex_ForwardSeachLaTeX from a non-tex file"
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
if Tex_GetVarValue('Tex_ViewRule_'.s:target) == ''
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let viewer = Tex_GetVarValue('Tex_ViewRule_'.s:target)
|
||||||
|
|
||||||
|
let s:origdir = fnameescape(getcwd())
|
||||||
|
|
||||||
|
let mainfname = Tex_GetMainFileName(':t')
|
||||||
|
let mainfnameRoot = fnamemodify(Tex_GetMainFileName(), ':t:r')
|
||||||
|
let mainfnameFull = Tex_GetMainFileName(':p:r')
|
||||||
|
" cd to the location of the file to avoid problems with directory name
|
||||||
|
" containing spaces.
|
||||||
|
call Tex_CD(Tex_GetMainFileName(':p:h'))
|
||||||
|
|
||||||
|
" inverse search tips taken from Dimitri Antoniou's tip and Benji Fisher's
|
||||||
|
" tips on vim.sf.net (vim.sf.net tip #225)
|
||||||
|
if (has('win32') && (viewer =~? '^ *yap\( \|$\)'))
|
||||||
|
|
||||||
|
let execString = 'silent! !start '. viewer.' -s '.line('.').expand('%').' '.mainfnameRoot
|
||||||
|
|
||||||
|
|
||||||
|
elseif (has('macunix') && (viewer =~ '^ *\(Skim\|PDFView\|TeXniscope\)\( \|$\)'))
|
||||||
|
" We're on a Mac using a traditional Mac viewer
|
||||||
|
|
||||||
|
if viewer =~ '^ *Skim'
|
||||||
|
|
||||||
|
let execString = 'silent! !/Applications/Skim.app/Contents/SharedSupport/displayline '.
|
||||||
|
\ line('.').' "'.mainfnameFull.'.'.s:target.'" "'.expand("%:p").'"'
|
||||||
|
|
||||||
|
elseif viewer =~ '^ *PDFView'
|
||||||
|
|
||||||
|
let execString = 'silent! !/Applications/PDFView.app/Contents/MacOS/gotoline.sh '.
|
||||||
|
\ line('.').' "'.mainfnameFull.'.'.s:target.'" "'.expand("%:p").'"'
|
||||||
|
|
||||||
|
elseif viewer =~ '^ *TeXniscope'
|
||||||
|
|
||||||
|
let execString = 'silent! !/Applications/TeXniscope.app/Contents/Resources/forward-search.sh '.
|
||||||
|
\ line('.').' "'.expand("%:p").'" "'.mainfnameFull.'.'.s:target.'"'
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
else
|
||||||
|
" We're either UNIX or Mac and using a UNIX-type viewer
|
||||||
|
|
||||||
|
" Check for the special DVI viewers first
|
||||||
|
if viewer =~ '^ *\(xdvi\|xdvik\|kdvi\|okular\)\( \|$\)'
|
||||||
|
|
||||||
|
if Tex_GetVarValue('Tex_UseEditorSettingInDVIViewer') == 1 &&
|
||||||
|
\ exists('v:servername') &&
|
||||||
|
\ viewer =~ '^ *xdvik\?\( \|$\)'
|
||||||
|
|
||||||
|
let execString = 'silent! !'.viewer.' -name xdvi -sourceposition "'.line('.').' '.expand("%").'"'.
|
||||||
|
\ ' -editor "gvim --servername '.v:servername.' --remote-silent +\%l \%f" '.
|
||||||
|
\ mainfnameRoot.'.dvi'
|
||||||
|
|
||||||
|
elseif viewer =~ '^ *kdvi'
|
||||||
|
|
||||||
|
let execString = 'silent! !'.viewer.' --unique file:'.mainfnameRoot.'.dvi\#src:'.line('.').expand("%")
|
||||||
|
|
||||||
|
elseif viewer =~ '^ *xdvik\?\( \|$\)'
|
||||||
|
|
||||||
|
let execString = 'silent! !'.viewer.' -name xdvi -sourceposition "'.line('.').' '.expand("%").'" '.mainfnameRoot.'.dvi'
|
||||||
|
|
||||||
|
elseif viewer =~ '^ *okular'
|
||||||
|
|
||||||
|
let execString = 'silent! !'.viewer.' --unique '.mainfnameRoot.'.'.s:target.'\#src:'.line('.').expand("%:p")
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
else
|
||||||
|
" We must be using a generic UNIX viewer
|
||||||
|
" syntax is: viewer TARGET_FILE LINE_NUMBER SOURCE_FILE
|
||||||
|
|
||||||
|
let execString = 'silent! !'.viewer.' "'.mainfnameRoot.'.'.s:target.'" '.line('.').' "'.expand('%').'"'
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
" See if we should add &. On Mac (at least in MacVim), it seems
|
||||||
|
" like this should NOT be added...
|
||||||
|
if( Tex_GetVarValue('Tex_ExecuteUNIXViewerInForeground') != 1 )
|
||||||
|
let execString = execString.' &'
|
||||||
|
endif
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
call Tex_Debug("Tex_ForwardSearchLaTeX: execString = ".execString, "comp")
|
||||||
|
execute execString
|
||||||
|
if !has('gui_running')
|
||||||
|
redraw!
|
||||||
|
endif
|
||||||
|
|
||||||
|
exe 'cd '.s:origdir
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
" ==============================================================================
|
||||||
|
" Functions for compiling parts of a file.
|
||||||
|
" ==============================================================================
|
||||||
|
" Tex_PartCompile: compiles selected fragment {{{
|
||||||
|
" Description: creates a temporary file from the selected fragment of text
|
||||||
|
" prepending the preamble and \end{document} and then asks Tex_RunLaTeX() to
|
||||||
|
" compile it.
|
||||||
|
function! Tex_PartCompile() range
|
||||||
|
call Tex_Debug('+Tex_PartCompile', 'comp')
|
||||||
|
|
||||||
|
" Get a temporary file in the same directory as the file from which
|
||||||
|
" fragment is being extracted. This is to enable the use of relative path
|
||||||
|
" names in the fragment.
|
||||||
|
let tmpfile = Tex_GetTempName(expand('%:p:h'))
|
||||||
|
|
||||||
|
" Remember all the temp files and for each temp file created, remember
|
||||||
|
" where the temp file came from.
|
||||||
|
let s:Tex_NumTempFiles = (exists('s:Tex_NumTempFiles') ? s:Tex_NumTempFiles + 1 : 1)
|
||||||
|
let s:Tex_TempFiles = (exists('s:Tex_TempFiles') ? s:Tex_TempFiles : '')
|
||||||
|
\ . tmpfile."\n"
|
||||||
|
let s:Tex_TempFile_{s:Tex_NumTempFiles} = tmpfile
|
||||||
|
" TODO: For a function Tex_RestoreFragment which restores a temp file to
|
||||||
|
" its original location.
|
||||||
|
let s:Tex_TempFileOrig_{s:Tex_NumTempFiles} = expand('%:p')
|
||||||
|
let s:Tex_TempFileRange_{s:Tex_NumTempFiles} = a:firstline.','.a:lastline
|
||||||
|
|
||||||
|
" Set up an autocmd to clean up the temp files when Vim exits.
|
||||||
|
if Tex_GetVarValue('Tex_RemoveTempFiles')
|
||||||
|
augroup RemoveTmpFiles
|
||||||
|
au!
|
||||||
|
au VimLeave * :call Tex_RemoveTempFiles()
|
||||||
|
augroup END
|
||||||
|
endif
|
||||||
|
|
||||||
|
" If mainfile exists open it in tiny window and extract preamble there,
|
||||||
|
" otherwise do it from current file
|
||||||
|
let mainfile = Tex_GetMainFileName(":p")
|
||||||
|
exe 'bot 1 split '.escape(mainfile, ' ')
|
||||||
|
exe '1,/\s*\\begin{document}/w '.tmpfile
|
||||||
|
wincmd q
|
||||||
|
|
||||||
|
exe a:firstline.','.a:lastline."w! >> ".tmpfile
|
||||||
|
|
||||||
|
" edit the temporary file
|
||||||
|
exec 'drop '.tmpfile
|
||||||
|
|
||||||
|
" append the \end{document} line.
|
||||||
|
$ put ='\end{document}'
|
||||||
|
w
|
||||||
|
|
||||||
|
" set this as a fragment file.
|
||||||
|
let b:fragmentFile = 1
|
||||||
|
|
||||||
|
silent! call Tex_RunLaTeX()
|
||||||
|
endfunction " }}}
|
||||||
|
" Tex_RemoveTempFiles: cleans up temporary files created during part compilation {{{
|
||||||
|
" Description: During part compilation, temporary files containing the
|
||||||
|
" visually selected text are created. These files need to be
|
||||||
|
" removed when Vim exits to avoid "file leakage".
|
||||||
|
function! Tex_RemoveTempFiles()
|
||||||
|
if !exists('s:Tex_NumTempFiles') || !Tex_GetVarValue('Tex_RemoveTempFiles')
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let i = 1
|
||||||
|
while i <= s:Tex_NumTempFiles
|
||||||
|
let tmpfile = s:Tex_TempFile_{i}
|
||||||
|
" Remove the tmp file and all other associated files such as the
|
||||||
|
" .log files etc.
|
||||||
|
call Tex_DeleteFile(fnamemodify(tmpfile, ':p:r').'.*')
|
||||||
|
let i = i + 1
|
||||||
|
endwhile
|
||||||
|
endfunction " }}}
|
||||||
|
|
||||||
|
" ==============================================================================
|
||||||
|
" Compiling a file multiple times to resolve references/citations etc.
|
||||||
|
" ==============================================================================
|
||||||
|
" Tex_CompileMultipleTimes: The main function {{{
|
||||||
|
" Description: compiles a file multiple times to get cross-references right.
|
||||||
|
function! Tex_CompileMultipleTimes()
|
||||||
|
" Just extract the root without any extension because we want to construct
|
||||||
|
" the log file names etc from it.
|
||||||
|
let s:origdir = fnameescape(getcwd())
|
||||||
|
let mainFileName_root = Tex_GetMainFileName(':p:t:r')
|
||||||
|
call Tex_CD(Tex_GetMainFileName(':p:h'))
|
||||||
|
|
||||||
|
" First ignore undefined references and the
|
||||||
|
" "rerun to get cross-references right" message from
|
||||||
|
" the compiler output.
|
||||||
|
let origlevel = Tex_GetVarValue('Tex_IgnoreLevel')
|
||||||
|
let origpats = Tex_GetVarValue('Tex_IgnoredWarnings')
|
||||||
|
|
||||||
|
let g:Tex_IgnoredWarnings = g:Tex_IgnoredWarnings."\n"
|
||||||
|
\ . 'Reference %.%# undefined'."\n"
|
||||||
|
\ . 'Rerun to get cross-references right'
|
||||||
|
TCLevel 1000
|
||||||
|
|
||||||
|
let idxFileName = mainFileName_root.'.idx'
|
||||||
|
let auxFileName = mainFileName_root.'.aux'
|
||||||
|
|
||||||
|
let runCount = 0
|
||||||
|
let needToRerun = 1
|
||||||
|
while needToRerun == 1 && runCount < 5
|
||||||
|
" assume we need to run only once.
|
||||||
|
let needToRerun = 0
|
||||||
|
|
||||||
|
let idxlinesBefore = Tex_CatFile(idxFileName)
|
||||||
|
let auxlinesBefore = Tex_GetAuxFile(auxFileName)
|
||||||
|
|
||||||
|
" first run latex.
|
||||||
|
echomsg "latex run number : ".(runCount+1)
|
||||||
|
call Tex_Debug("Tex_CompileMultipleTimes: latex run number : ".(runCount+1), "comp")
|
||||||
|
silent! call Tex_CompileLatex()
|
||||||
|
|
||||||
|
" If there are errors in any latex compilation step, immediately
|
||||||
|
" return. For now, do not bother with warnings because those might go
|
||||||
|
" away after compiling again or after bibtex is run etc.
|
||||||
|
let errlist = Tex_GetErrorList()
|
||||||
|
call Tex_Debug("Tex_CompileMultipleTimes: errors = [".errlist."]", "comp")
|
||||||
|
|
||||||
|
if errlist =~ 'error'
|
||||||
|
let g:Tex_IgnoredWarnings = origpats
|
||||||
|
exec 'TCLevel '.origlevel
|
||||||
|
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
let idxlinesAfter = Tex_CatFile(idxFileName)
|
||||||
|
|
||||||
|
" If .idx file changed, then run makeindex to generate the new .ind
|
||||||
|
" file and remember to rerun latex.
|
||||||
|
if runCount == 0 && glob(idxFileName) != '' && idxlinesBefore != idxlinesAfter
|
||||||
|
echomsg "Running makeindex..."
|
||||||
|
let temp_mp = &mp | let &mp = Tex_GetVarValue('Tex_MakeIndexFlavor')
|
||||||
|
exec 'silent! make '.mainFileName_root
|
||||||
|
let &mp = temp_mp
|
||||||
|
|
||||||
|
let needToRerun = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
" The first time we see if we need to run bibtex and if the .bbl file
|
||||||
|
" changes, we will rerun latex.
|
||||||
|
if runCount == 0 && Tex_IsPresentInFile('\\bibdata', mainFileName_root.'.aux')
|
||||||
|
let bibFileName = mainFileName_root.'.bbl'
|
||||||
|
|
||||||
|
let biblinesBefore = Tex_CatFile(bibFileName)
|
||||||
|
|
||||||
|
echomsg "Running '".Tex_GetVarValue('Tex_BibtexFlavor')."' ..."
|
||||||
|
let temp_mp = &mp | let &mp = Tex_GetVarValue('Tex_BibtexFlavor')
|
||||||
|
exec 'silent! make '.mainFileName_root
|
||||||
|
let &mp = temp_mp
|
||||||
|
|
||||||
|
let biblinesAfter = Tex_CatFile(bibFileName)
|
||||||
|
|
||||||
|
" If the .bbl file changed after running bibtex, we need to
|
||||||
|
" latex again.
|
||||||
|
if biblinesAfter != biblinesBefore
|
||||||
|
echomsg 'Need to rerun because bibliography file changed...'
|
||||||
|
call Tex_Debug('Tex_CompileMultipleTimes: Need to rerun because bibliography file changed...', 'comp')
|
||||||
|
let needToRerun = 1
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
" check if latex asks us to rerun
|
||||||
|
let auxlinesAfter = Tex_GetAuxFile(auxFileName)
|
||||||
|
if auxlinesAfter != auxlinesBefore
|
||||||
|
echomsg "Need to rerun because the AUX file changed..."
|
||||||
|
call Tex_Debug("Tex_CompileMultipleTimes: Need to rerun to get cross-references right...", 'comp')
|
||||||
|
let needToRerun = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
let runCount = runCount + 1
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
redraw!
|
||||||
|
call Tex_Debug("Tex_CompileMultipleTimes: Ran latex ".runCount." time(s)", "comp")
|
||||||
|
echomsg "Ran latex ".runCount." time(s)"
|
||||||
|
|
||||||
|
let g:Tex_IgnoredWarnings = origpats
|
||||||
|
exec 'TCLevel '.origlevel
|
||||||
|
" After all compiler calls are done, reparse the .log file for
|
||||||
|
" errors/warnings to handle the situation where the clist might have been
|
||||||
|
" emptied because of bibtex/makeindex being run as the last step.
|
||||||
|
exec 'silent! cfile '.mainFileName_root.'.log'
|
||||||
|
|
||||||
|
exe 'cd '.s:origdir
|
||||||
|
endfunction " }}}
|
||||||
|
" Tex_GetAuxFile: get the contents of the AUX file {{{
|
||||||
|
" Description: get the contents of the AUX file recursively including any
|
||||||
|
" @\input'ted AUX files.
|
||||||
|
function! Tex_GetAuxFile(auxFile)
|
||||||
|
if !filereadable(a:auxFile)
|
||||||
|
return ''
|
||||||
|
endif
|
||||||
|
|
||||||
|
let auxContents = Tex_CatFile(a:auxFile)
|
||||||
|
let pattern = '@\input{\(.\{-}\)}'
|
||||||
|
|
||||||
|
let auxContents = substitute(auxContents, pattern, '\=Tex_GetAuxFile(submatch(1))', 'g')
|
||||||
|
|
||||||
|
return auxContents
|
||||||
|
endfunction " }}}
|
||||||
|
|
||||||
|
" ==============================================================================
|
||||||
|
" Helper functions for
|
||||||
|
" . viewing the log file in preview mode.
|
||||||
|
" . syncing the display between the quickfix window and preview window
|
||||||
|
" . going to the correct line _and column_ number from from the quick fix
|
||||||
|
" window.
|
||||||
|
" ==============================================================================
|
||||||
|
" Tex_SetupErrorWindow: sets up the cwindow and preview of the .log file {{{
|
||||||
|
" Description:
|
||||||
|
function! Tex_SetupErrorWindow()
|
||||||
|
let mainfname = Tex_GetMainFileName()
|
||||||
|
|
||||||
|
let winnum = winnr()
|
||||||
|
|
||||||
|
" close the quickfix window before trying to open it again, otherwise
|
||||||
|
" whether or not we end up in the quickfix window after the :cwindow
|
||||||
|
" command is not fixed.
|
||||||
|
cclose
|
||||||
|
cwindow
|
||||||
|
" create log file name from mainfname
|
||||||
|
let mfnlog = fnamemodify(mainfname, ":t:r").'.log'
|
||||||
|
call Tex_Debug('Tex_SetupErrorWindow: mfnlog = '.mfnlog, 'comp')
|
||||||
|
" if we moved to a different window, then it means we had some errors.
|
||||||
|
if winnum != winnr()
|
||||||
|
if Tex_GetVarValue('Tex_ShowErrorContext')
|
||||||
|
call Tex_UpdatePreviewWindow(mfnlog)
|
||||||
|
exe 'nnoremap <buffer> <silent> j j:call Tex_UpdatePreviewWindow("'.mfnlog.'")<CR>'
|
||||||
|
exe 'nnoremap <buffer> <silent> k k:call Tex_UpdatePreviewWindow("'.mfnlog.'")<CR>'
|
||||||
|
exe 'nnoremap <buffer> <silent> <up> <up>:call Tex_UpdatePreviewWindow("'.mfnlog.'")<CR>'
|
||||||
|
exe 'nnoremap <buffer> <silent> <down> <down>:call Tex_UpdatePreviewWindow("'.mfnlog.'")<CR>'
|
||||||
|
endif
|
||||||
|
exe 'nnoremap <buffer> <silent> <enter> :call Tex_GotoErrorLocation("'.mfnlog.'")<CR>'
|
||||||
|
|
||||||
|
setlocal nowrap
|
||||||
|
|
||||||
|
" resize the window to just fit in with the number of lines.
|
||||||
|
exec ( line('$') < 4 ? line('$') : 4 ).' wincmd _'
|
||||||
|
if Tex_GetVarValue('Tex_GotoError') == 1
|
||||||
|
call Tex_GotoErrorLocation(mfnlog)
|
||||||
|
else
|
||||||
|
exec s:origwinnum.' wincmd w'
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
endfunction " }}}
|
||||||
|
" Tex_PositionPreviewWindow: positions the preview window correctly. {{{
|
||||||
|
" Description:
|
||||||
|
" The purpose of this function is to count the number of times an error
|
||||||
|
" occurs on the same line. or in other words, if the current line is
|
||||||
|
" something like |10 error|, then we want to count the number of
|
||||||
|
" lines in the quickfix window before this line which also contain lines
|
||||||
|
" like |10 error|.
|
||||||
|
"
|
||||||
|
function! Tex_PositionPreviewWindow(filename)
|
||||||
|
|
||||||
|
if getline('.') !~ '|\d\+ \(error\|warning\)|'
|
||||||
|
if !search('|\d\+ \(error\|warning\)|')
|
||||||
|
call Tex_Debug("not finding error pattern anywhere in quickfix window :".bufname(bufnr('%')),
|
||||||
|
\ 'comp')
|
||||||
|
pclose!
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
" extract the error pattern (something like 'file.tex|10 error|') on the
|
||||||
|
" current line.
|
||||||
|
let errpat = matchstr(getline('.'), '^\f*|\d\+ \(error\|warning\)|\ze')
|
||||||
|
let errfile = matchstr(getline('.'), '^\f*\ze|\d\+ \(error\|warning\)|')
|
||||||
|
" extract the line number from the error pattern.
|
||||||
|
let linenum = matchstr(getline('.'), '|\zs\d\+\ze \(error\|warning\)|')
|
||||||
|
|
||||||
|
" if we are on an error, then count the number of lines before this in the
|
||||||
|
" quickfix window with an error on the same line.
|
||||||
|
if errpat =~ 'error|$'
|
||||||
|
" our location in the quick fix window.
|
||||||
|
let errline = line('.')
|
||||||
|
|
||||||
|
" goto the beginning of the quickfix window and begin counting the lines
|
||||||
|
" which show an error on the same line.
|
||||||
|
0
|
||||||
|
let numrep = 0
|
||||||
|
while 1
|
||||||
|
" if we are on the same kind of error line, then means we have another
|
||||||
|
" line containing the same error pattern.
|
||||||
|
if getline('.') =~ errpat
|
||||||
|
let numrep = numrep + 1
|
||||||
|
normal! 0
|
||||||
|
endif
|
||||||
|
" if we have reached the original location in the quick fix window,
|
||||||
|
" then break.
|
||||||
|
if line('.') == errline
|
||||||
|
break
|
||||||
|
else
|
||||||
|
" otherwise, search for the next line which contains the same
|
||||||
|
" error pattern again. goto the end of the current line so we
|
||||||
|
" dont count this line again.
|
||||||
|
normal! $
|
||||||
|
call search(errpat, 'W')
|
||||||
|
endif
|
||||||
|
endwhile
|
||||||
|
else
|
||||||
|
let numrep = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
if getline('.') =~ '|\d\+ warning|'
|
||||||
|
let searchpat = escape(matchstr(getline('.'), '|\d\+ warning|\s*\zs.*'), '\ ')
|
||||||
|
else
|
||||||
|
let searchpat = 'l\.'.linenum
|
||||||
|
endif
|
||||||
|
|
||||||
|
" We first need to be in the scope of the correct file in the .log file.
|
||||||
|
" This is important for example, when a.tex and b.tex both have errors on
|
||||||
|
" line 9 of the file and we want to go to the error of b.tex. Merely
|
||||||
|
" searching forward from the beginning of the log file for l.9 will always
|
||||||
|
" land us on the error in a.tex.
|
||||||
|
if errfile != ''
|
||||||
|
exec 'silent! bot pedit +/(\\(\\f\\|\\[\\|\]\\|\\s\\)*'.errfile.'/ '.a:filename
|
||||||
|
else
|
||||||
|
exec 'bot pedit +0 '.a:filename
|
||||||
|
endif
|
||||||
|
" Goto the preview window
|
||||||
|
" TODO: This is not robust enough. Check that a wincmd j actually takes
|
||||||
|
" us to the preview window.
|
||||||
|
wincmd j
|
||||||
|
" now search forward from this position in the preview window for the
|
||||||
|
" numrep^th error of the current line in the quickfix window.
|
||||||
|
while numrep > 0
|
||||||
|
call search(searchpat, 'W')
|
||||||
|
let numrep = numrep - 1
|
||||||
|
endwhile
|
||||||
|
normal! z.
|
||||||
|
|
||||||
|
endfunction " }}}
|
||||||
|
" Tex_UpdatePreviewWindow: updates the view of the log file {{{
|
||||||
|
" Description:
|
||||||
|
" This function should be called when focus is in a quickfix window.
|
||||||
|
" It opens the log file in a preview window and makes it display that
|
||||||
|
" part of the log file which corresponds to the error which the user is
|
||||||
|
" currently on in the quickfix window. Control returns to the quickfix
|
||||||
|
" window when the function returns.
|
||||||
|
"
|
||||||
|
function! Tex_UpdatePreviewWindow(filename)
|
||||||
|
call Tex_PositionPreviewWindow(a:filename)
|
||||||
|
|
||||||
|
if &previewwindow
|
||||||
|
6 wincmd _
|
||||||
|
wincmd p
|
||||||
|
endif
|
||||||
|
endfunction " }}}
|
||||||
|
" Tex_GotoErrorLocation: goes to the correct location of error in the tex file {{{
|
||||||
|
" Description:
|
||||||
|
" This function should be called when focus is in a quickfix window. This
|
||||||
|
" function will first open the preview window of the log file (if it is not
|
||||||
|
" already open), position the display of the preview to coincide with the
|
||||||
|
" current error under the cursor and then take the user to the file in
|
||||||
|
" which this error has occured.
|
||||||
|
"
|
||||||
|
" The position is both the correct line number and the column number.
|
||||||
|
function! Tex_GotoErrorLocation(filename)
|
||||||
|
|
||||||
|
" first use vim's functionality to take us to the location of the error
|
||||||
|
" accurate to the line (not column). This lets us go to the correct file
|
||||||
|
" without applying any logic.
|
||||||
|
exec "normal! \<enter>"
|
||||||
|
" If the log file is not found, then going to the correct line number is
|
||||||
|
" all we can do.
|
||||||
|
if glob(a:filename) == ''
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
let winnum = winnr()
|
||||||
|
" then come back to the quickfix window
|
||||||
|
wincmd w
|
||||||
|
|
||||||
|
" find out where in the file we had the error.
|
||||||
|
let linenum = matchstr(getline('.'), '|\zs\d\+\ze \(warning\|error\)|')
|
||||||
|
call Tex_PositionPreviewWindow(a:filename)
|
||||||
|
|
||||||
|
if getline('.') =~ 'l.\d\+'
|
||||||
|
|
||||||
|
let brokenline = matchstr(getline('.'), 'l.'.linenum.' \zs.*\ze')
|
||||||
|
" If the line is of the form
|
||||||
|
" l.10 ...and then there was some error
|
||||||
|
" it means (most probably) that only part of the erroneous line is
|
||||||
|
" shown. In this case, finding the length of the broken line is not
|
||||||
|
" correct. Instead goto the beginning of the line and search forward
|
||||||
|
" for the part which is displayed and then go to its end.
|
||||||
|
if brokenline =~ '^\M...'
|
||||||
|
let partline = matchstr(brokenline, '^\M...\m\zs.*')
|
||||||
|
let normcmd = "0/\\V".escape(partline, "\\")."/e+1\<CR>"
|
||||||
|
else
|
||||||
|
let column = strlen(brokenline) + 1
|
||||||
|
let normcmd = column.'|'
|
||||||
|
endif
|
||||||
|
|
||||||
|
elseif getline('.') =~ 'LaTeX Warning: \(Citation\|Reference\) `.*'
|
||||||
|
|
||||||
|
let ref = matchstr(getline('.'), "LaTeX Warning: \\(Citation\\|Reference\\) `\\zs[^']\\+\\ze'")
|
||||||
|
let normcmd = '0/'.ref."\<CR>"
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
let normcmd = '0'
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
" go back to the window where we came from.
|
||||||
|
exec winnum.' wincmd w'
|
||||||
|
exec 'silent! '.linenum.' | normal! '.normcmd
|
||||||
|
|
||||||
|
if !Tex_GetVarValue('Tex_ShowErrorContext')
|
||||||
|
pclose!
|
||||||
|
endif
|
||||||
|
endfunction " }}}
|
||||||
|
" Tex_SetCompilerMaps: sets maps for compiling/viewing/searching {{{
|
||||||
|
" Description:
|
||||||
|
function! <SID>Tex_SetCompilerMaps()
|
||||||
|
if exists('b:Tex_doneCompilerMaps')
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let s:ml = '<Leader>'
|
||||||
|
|
||||||
|
nnoremap <buffer> <Plug>Tex_Compile :call Tex_RunLaTeX()<cr>
|
||||||
|
vnoremap <buffer> <Plug>Tex_Compile :call Tex_PartCompile()<cr>
|
||||||
|
nnoremap <buffer> <Plug>Tex_View :call Tex_ViewLaTeX()<cr>
|
||||||
|
nnoremap <buffer> <Plug>Tex_ForwardSearch :call Tex_ForwardSearchLaTeX()<cr>
|
||||||
|
|
||||||
|
call Tex_MakeMap(s:ml."ll", "<Plug>Tex_Compile", 'n', '<buffer>')
|
||||||
|
call Tex_MakeMap(s:ml."ll", "<Plug>Tex_Compile", 'v', '<buffer>')
|
||||||
|
call Tex_MakeMap(s:ml."lv", "<Plug>Tex_View", 'n', '<buffer>')
|
||||||
|
call Tex_MakeMap(s:ml."ls", "<Plug>Tex_ForwardSearch", 'n', '<buffer>')
|
||||||
|
endfunction
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
augroup LatexSuite
|
||||||
|
au LatexSuite User LatexSuiteFileType
|
||||||
|
\ call Tex_Debug('compiler.vim: Catching LatexSuiteFileType event', 'comp') |
|
||||||
|
\ call <SID>Tex_SetCompilerMaps()
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
command! -nargs=0 -range=% TPartCompile :<line1>, <line2> silent! call Tex_PartCompile()
|
||||||
|
" Setting b:fragmentFile = 1 makes Tex_CompileLatex consider the present file
|
||||||
|
" the _main_ file irrespective of the presence of a .latexmain file.
|
||||||
|
command! -nargs=0 TCompileThis let b:fragmentFile = 1
|
||||||
|
command! -nargs=0 TCompileMainFile let b:fragmentFile = 0
|
||||||
|
|
||||||
|
" vim:fdm=marker:ff=unix:noet:ts=4:sw=4
|
255
vim/vim-latex/ftplugin/latex-suite/custommacros.vim
Executable file
255
vim/vim-latex/ftplugin/latex-suite/custommacros.vim
Executable file
|
@ -0,0 +1,255 @@
|
||||||
|
"=============================================================================
|
||||||
|
" File: custommacros.vim
|
||||||
|
" Author: Mikolaj Machowski
|
||||||
|
" Version: 1.0
|
||||||
|
" Created: Tue Apr 23 05:00 PM 2002 PST
|
||||||
|
"
|
||||||
|
" Description: functions for processing custom macros in the
|
||||||
|
" latex-suite/macros directory
|
||||||
|
"=============================================================================
|
||||||
|
|
||||||
|
let s:path = expand('<sfile>:p:h')
|
||||||
|
|
||||||
|
" Set path to macros dir dependent on OS {{{
|
||||||
|
if has("unix") || has("macunix")
|
||||||
|
let s:macrodirpath = $HOME."/.vim/ftplugin/latex-suite/macros/"
|
||||||
|
elseif has("win32")
|
||||||
|
if exists("$HOME")
|
||||||
|
let s:macrodirpath = $HOME."/vimfiles/ftplugin/latex-suite/macros/"
|
||||||
|
else
|
||||||
|
let s:macrodirpath = $VIM."/vimfiles/ftplugin/latex-suite/macros/"
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
" SetCustomMacrosMenu: sets up the menu for Macros {{{
|
||||||
|
function! <SID>SetCustomMacrosMenu()
|
||||||
|
let flist = Tex_FindInRtp('', 'macros')
|
||||||
|
exe 'amenu '.g:Tex_MacrosMenuLocation.'&New :call <SID>NewMacro("FFFromMMMenu")<CR>'
|
||||||
|
exe 'amenu '.g:Tex_MacrosMenuLocation.'&Redraw :call RedrawMacro()<CR>'
|
||||||
|
|
||||||
|
let i = 1
|
||||||
|
while 1
|
||||||
|
let fname = Tex_Strntok(flist, ',', i)
|
||||||
|
if fname == ''
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
exe "amenu ".g:Tex_MacrosMenuLocation."&Delete.&".i.":<tab>".fname." :call <SID>DeleteMacro('".fname."')<CR>"
|
||||||
|
exe "amenu ".g:Tex_MacrosMenuLocation."&Edit.&".i.":<tab>".fname." :call <SID>EditMacro('".fname."')<CR>"
|
||||||
|
exe "imenu ".g:Tex_MacrosMenuLocation."&".i.":<tab>".fname." <C-r>=<SID>ReadMacro('".fname."')<CR>"
|
||||||
|
exe "nmenu ".g:Tex_MacrosMenuLocation."&".i.":<tab>".fname." i<C-r>=<SID>ReadMacro('".fname."')<CR>"
|
||||||
|
let i = i + 1
|
||||||
|
endwhile
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
if g:Tex_Menus
|
||||||
|
call <SID>SetCustomMacrosMenu()
|
||||||
|
endif
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
" NewMacro: opens new file in macros directory {{{
|
||||||
|
function! <SID>NewMacro(...)
|
||||||
|
" Allow for calling :TMacroNew without argument or from menu and prompt
|
||||||
|
" for name.
|
||||||
|
if a:0 > 0
|
||||||
|
let newmacroname = a:1
|
||||||
|
else
|
||||||
|
let newmacroname = input("Name of new macro: ")
|
||||||
|
if newmacroname == ''
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
if newmacroname == "FFFromMMMenu"
|
||||||
|
" Check if NewMacro was called from menu and prompt for insert macro
|
||||||
|
" name
|
||||||
|
let newmacroname = input("Name of new macro: ")
|
||||||
|
if newmacroname == ''
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
elseif Tex_FindInRtp(newmacroname, 'macros') != ''
|
||||||
|
" If macro with this name already exists, prompt for another name.
|
||||||
|
exe "echomsg 'Macro ".newmacroname." already exists. Try another name.'"
|
||||||
|
let newmacroname = input("Name of new macro: ")
|
||||||
|
if newmacroname == ''
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
exec 'split '.Tex_EscapeSpaces(s:macrodirpath.newmacroname)
|
||||||
|
setlocal filetype=tex
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
" RedrawMacro: refreshes macro menu {{{
|
||||||
|
function! RedrawMacro()
|
||||||
|
aunmenu TeX-Suite.Macros
|
||||||
|
call <SID>SetCustomMacrosMenu()
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
" ChooseMacro: choose a macro file {{{
|
||||||
|
" " Description:
|
||||||
|
function! s:ChooseMacro(ask)
|
||||||
|
let filelist = Tex_FindInRtp('', 'macros')
|
||||||
|
let filename = Tex_ChooseFromPrompt(
|
||||||
|
\ a:ask."\n" .
|
||||||
|
\ Tex_CreatePrompt(filelist, 2, ',') .
|
||||||
|
\ "\nEnter number or filename :",
|
||||||
|
\ filelist, ',')
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
" DeleteMacro: deletes macro file {{{
|
||||||
|
function! <SID>DeleteMacro(...)
|
||||||
|
if a:0 > 0
|
||||||
|
let filename = a:1
|
||||||
|
else
|
||||||
|
let filename = s:ChooseMacro('Choose a macro file for deletion :')
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !filereadable(s:macrodirpath.filename)
|
||||||
|
" When file is not in local directory decline to remove it.
|
||||||
|
call confirm('This file is not in your local directory: '.filename."\n".
|
||||||
|
\ 'It will not be deleted.' , '&OK', 1)
|
||||||
|
|
||||||
|
else
|
||||||
|
let ch = confirm('Really delete '.filename.' ?', "&Yes\n&No", 2)
|
||||||
|
if ch == 1
|
||||||
|
call delete(s:macrodirpath.filename)
|
||||||
|
endif
|
||||||
|
call RedrawMacro()
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
" EditMacro: edits macro file {{{
|
||||||
|
function! <SID>EditMacro(...)
|
||||||
|
if a:0 > 0
|
||||||
|
let filename = a:1
|
||||||
|
else
|
||||||
|
let filename = s:ChooseMacro('Choose a macro file for insertion:')
|
||||||
|
endif
|
||||||
|
|
||||||
|
if filereadable(s:macrodirpath.filename)
|
||||||
|
" If file exists in local directory open it.
|
||||||
|
exec 'split '.Tex_EscapeSpaces(s:macrodirpath.filename)
|
||||||
|
else
|
||||||
|
" But if file doesn't exist in local dir it probably is in user
|
||||||
|
" restricted area. Instead opening try to copy it to local dir.
|
||||||
|
" Pity VimL doesn't have mkdir() function :)
|
||||||
|
let ch = confirm("You are trying to edit file which is probably read-only.\n".
|
||||||
|
\ "It will be copied to your local LaTeX-Suite macros directory\n".
|
||||||
|
\ "and you will be operating on local copy with suffix -local.\n".
|
||||||
|
\ "It will succeed only if ftplugin/latex-suite/macros dir exists.\n".
|
||||||
|
\ "Do you agree?", "&Yes\n&No", 1)
|
||||||
|
if ch == 1
|
||||||
|
" But there is possibility we already created local modification.
|
||||||
|
" Check it and offer opening this file.
|
||||||
|
if filereadable(s:macrodirpath.filename.'-local')
|
||||||
|
let ch = confirm('Local version of '.filename." already exists.\n".
|
||||||
|
\ 'Do you want to open it or overwrite with original version?',
|
||||||
|
\ "&Open\nOver&write\n&Cancel", 1)
|
||||||
|
if ch == 1
|
||||||
|
exec 'split '.Tex_EscapeSpaces(s:macrodirpath.filename.'-local')
|
||||||
|
elseif ch == 2
|
||||||
|
new
|
||||||
|
exe '0read '.Tex_FindInRtp(filename, 'macros')
|
||||||
|
" This is possible macro was edited before, wipe it out.
|
||||||
|
if bufexists(s:macrodirpath.filename.'-local')
|
||||||
|
exe 'bwipe '.s:macrodirpath.filename.'-local'
|
||||||
|
endif
|
||||||
|
exe 'write! '.s:macrodirpath.filename.'-local'
|
||||||
|
else
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
" If file doesn't exist, open new file, read in system macro and
|
||||||
|
" save it in local macro dir with suffix -local
|
||||||
|
new
|
||||||
|
exe '0read '.Tex_FindInRtp(filename, 'macros')
|
||||||
|
exe 'write '.s:macrodirpath.filename.'-local'
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
endif
|
||||||
|
setlocal filetype=tex
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
" ReadMacro: reads in a macro from a macro file. {{{
|
||||||
|
" allowing for placement via placeholders.
|
||||||
|
function! <SID>ReadMacro(...)
|
||||||
|
|
||||||
|
if a:0 > 0
|
||||||
|
let filename = a:1
|
||||||
|
else
|
||||||
|
let filelist = Tex_FindInRtp('', 'macros')
|
||||||
|
let filename =
|
||||||
|
\ Tex_ChooseFromPrompt("Choose a macro file:\n" .
|
||||||
|
\ Tex_CreatePrompt(filelist, 2, ',') .
|
||||||
|
\ "\nEnter number or name of file :",
|
||||||
|
\ filelist, ',')
|
||||||
|
endif
|
||||||
|
|
||||||
|
let fname = Tex_FindInRtp(filename, 'macros', ':p')
|
||||||
|
|
||||||
|
let markerString = '<---- Latex Suite End Macro ---->'
|
||||||
|
let _a = @a
|
||||||
|
silent! call append(line('.'), markerString)
|
||||||
|
silent! exec "read ".fname
|
||||||
|
silent! exec "normal! V/^".markerString."$/-1\<CR>\"ax"
|
||||||
|
" This is kind of tricky: At this stage, we are one line after the one we
|
||||||
|
" started from with the marker text on it. We need to
|
||||||
|
" 1. remove the marker and the line.
|
||||||
|
" 2. get focus to the previous line.
|
||||||
|
" 3. not remove anything from the previous line.
|
||||||
|
silent! exec "normal! $v0k$\"_x"
|
||||||
|
|
||||||
|
call Tex_CleanSearchHistory()
|
||||||
|
|
||||||
|
let @a = substitute(@a, '['."\n\r\t ".']*$', '', '')
|
||||||
|
let textWithMovement = IMAP_PutTextWithMovement(@a)
|
||||||
|
let @a = _a
|
||||||
|
|
||||||
|
return textWithMovement
|
||||||
|
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
" commands for macros {{{
|
||||||
|
com! -nargs=? TMacroNew :call <SID>NewMacro(<f-args>)
|
||||||
|
|
||||||
|
" This macros had to have 2 versions:
|
||||||
|
if v:version >= 602
|
||||||
|
com! -complete=custom,Tex_CompleteMacroName -nargs=? TMacro
|
||||||
|
\ :let s:retVal = <SID>ReadMacro(<f-args>) <bar> normal! i<C-r>=s:retVal<CR>
|
||||||
|
com! -complete=custom,Tex_CompleteMacroName -nargs=? TMacroEdit
|
||||||
|
\ :call <SID>EditMacro(<f-args>)
|
||||||
|
com! -complete=custom,Tex_CompleteMacroName -nargs=? TMacroDelete
|
||||||
|
\ :call <SID>DeleteMacro(<f-args>)
|
||||||
|
|
||||||
|
" Tex_CompleteMacroName: for completing names in TMacro... commands {{{
|
||||||
|
" Description: get list of macro names with Tex_FindInRtp(), remove full path
|
||||||
|
" and return list of names separated with newlines.
|
||||||
|
"
|
||||||
|
function! Tex_CompleteMacroName(A,P,L)
|
||||||
|
" Get name of macros from all runtimepath directories
|
||||||
|
let macronames = Tex_FindInRtp('', 'macros')
|
||||||
|
" Separate names with \n not ,
|
||||||
|
let macronames = substitute(macronames,',','\n','g')
|
||||||
|
return macronames
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
else
|
||||||
|
com! -nargs=? TMacro
|
||||||
|
\ :let s:retVal = <SID>ReadMacro(<f-args>) <bar> normal! i<C-r>=s:retVal<CR>
|
||||||
|
com! -nargs=? TMacroEdit :call <SID>EditMacro(<f-args>)
|
||||||
|
com! -nargs=? TMacroDelete :call <SID>DeleteMacro(<f-args>)
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
" vim:fdm=marker:ff=unix:noet:ts=4:sw=4
|
124
vim/vim-latex/ftplugin/latex-suite/diacritics.vim
Executable file
124
vim/vim-latex/ftplugin/latex-suite/diacritics.vim
Executable file
|
@ -0,0 +1,124 @@
|
||||||
|
"=============================================================================
|
||||||
|
" File: diacritics.vim
|
||||||
|
" Author: Lubomir Host
|
||||||
|
" Created: Tue Apr 23 07:00 PM 2002 PST
|
||||||
|
"
|
||||||
|
" Description: shortcuts for all diacritics.
|
||||||
|
"=============================================================================
|
||||||
|
|
||||||
|
if !g:Tex_Diacritics
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
" \'{a} {{{
|
||||||
|
call IMAP ('=a', "\\\'{a}", 'tex')
|
||||||
|
call IMAP ('=b', "\\'{b}", 'tex')
|
||||||
|
call IMAP ('=c', "\\'{c}", 'tex')
|
||||||
|
call IMAP ('=d', "\\'{d}", 'tex')
|
||||||
|
call IMAP ('=e', "\\'{e}", 'tex')
|
||||||
|
call IMAP ('=f', "\\'{f}", 'tex')
|
||||||
|
call IMAP ('=g', "\\'{g}", 'tex')
|
||||||
|
call IMAP ('=h', "\\'{h}", 'tex')
|
||||||
|
call IMAP ('=i', "\\'{\i}", 'tex')
|
||||||
|
call IMAP ('=j', "\\'{j}", 'tex')
|
||||||
|
call IMAP ('=k', "\\'{k}", 'tex')
|
||||||
|
call IMAP ('=l', "\\'{l}", 'tex')
|
||||||
|
call IMAP ('=m', "\\'{m}", 'tex')
|
||||||
|
call IMAP ('=n', "\\'{n}", 'tex')
|
||||||
|
call IMAP ('=o', "\\'{o}", 'tex')
|
||||||
|
call IMAP ('=p', "\\'{p}", 'tex')
|
||||||
|
call IMAP ('=q', "\\'{q}", 'tex')
|
||||||
|
call IMAP ('=r', "\\'{r}", 'tex')
|
||||||
|
call IMAP ('=s', "\\'{s}", 'tex')
|
||||||
|
call IMAP ('=t', "\\'{t}", 'tex')
|
||||||
|
call IMAP ('=u', "\\'{u}", 'tex')
|
||||||
|
call IMAP ('=v', "\\'{v}", 'tex')
|
||||||
|
call IMAP ('=w', "\\'{w}", 'tex')
|
||||||
|
call IMAP ('=x', "\\'{x}", 'tex')
|
||||||
|
call IMAP ('=y', "\\'{y}", 'tex')
|
||||||
|
call IMAP ('=z', "\\'{z}", 'tex')
|
||||||
|
call IMAP ('=A', "\\'{A}", 'tex')
|
||||||
|
call IMAP ('=B', "\\'{B}", 'tex')
|
||||||
|
call IMAP ('=C', "\\'{C}", 'tex')
|
||||||
|
call IMAP ('=D', "\\'{D}", 'tex')
|
||||||
|
call IMAP ('=E', "\\'{E}", 'tex')
|
||||||
|
call IMAP ('=F', "\\'{F}", 'tex')
|
||||||
|
call IMAP ('=G', "\\'{G}", 'tex')
|
||||||
|
call IMAP ('=H', "\\'{H}", 'tex')
|
||||||
|
call IMAP ('=I', "\\'{\I}", 'tex')
|
||||||
|
call IMAP ('=J', "\\'{J}", 'tex')
|
||||||
|
call IMAP ('=K', "\\'{K}", 'tex')
|
||||||
|
call IMAP ('=L', "\\'{L}", 'tex')
|
||||||
|
call IMAP ('=M', "\\'{M}", 'tex')
|
||||||
|
call IMAP ('=N', "\\'{N}", 'tex')
|
||||||
|
call IMAP ('=O', "\\'{O}", 'tex')
|
||||||
|
call IMAP ('=P', "\\'{P}", 'tex')
|
||||||
|
call IMAP ('=Q', "\\'{Q}", 'tex')
|
||||||
|
call IMAP ('=R', "\\'{R}", 'tex')
|
||||||
|
call IMAP ('=S', "\\'{S}", 'tex')
|
||||||
|
call IMAP ('=T', "\\'{T}", 'tex')
|
||||||
|
call IMAP ('=U', "\\'{U}", 'tex')
|
||||||
|
call IMAP ('=V', "\\'{V}", 'tex')
|
||||||
|
call IMAP ('=W', "\\'{W}", 'tex')
|
||||||
|
call IMAP ('=X', "\\'{X}", 'tex')
|
||||||
|
call IMAP ('=Y', "\\'{Y}", 'tex')
|
||||||
|
call IMAP ('=Z', "\\'{Z}", 'tex')
|
||||||
|
" }}}
|
||||||
|
" \v{a} {{{
|
||||||
|
call IMAP ('+a', "\\v{a}", 'tex')
|
||||||
|
call IMAP ('+b', "\\v{b}", 'tex')
|
||||||
|
call IMAP ('+c', "\\v{c}", 'tex')
|
||||||
|
call IMAP ('+d', "\\v{d}", 'tex')
|
||||||
|
call IMAP ('+e', "\\v{e}", 'tex')
|
||||||
|
call IMAP ('+f', "\\v{f}", 'tex')
|
||||||
|
call IMAP ('+g', "\\v{g}", 'tex')
|
||||||
|
call IMAP ('+h', "\\v{h}", 'tex')
|
||||||
|
call IMAP ('+i', "\\v{\i}", 'tex')
|
||||||
|
call IMAP ('+j', "\\v{j}", 'tex')
|
||||||
|
call IMAP ('+k', "\\v{k}", 'tex')
|
||||||
|
call IMAP ('+l', "\\q l", 'tex')
|
||||||
|
call IMAP ('+m', "\\v{m}", 'tex')
|
||||||
|
call IMAP ('+n', "\\v{n}", 'tex')
|
||||||
|
call IMAP ('+o', "\\v{o}", 'tex')
|
||||||
|
call IMAP ('+p', "\\v{p}", 'tex')
|
||||||
|
call IMAP ('+q', "\\v{q}", 'tex')
|
||||||
|
call IMAP ('+r', "\\v{r}", 'tex')
|
||||||
|
call IMAP ('+s', "\\v{s}", 'tex')
|
||||||
|
call IMAP ('+t', "\\q t", 'tex')
|
||||||
|
call IMAP ('+u', "\\v{u}", 'tex')
|
||||||
|
call IMAP ('+v', "\\v{v}", 'tex')
|
||||||
|
call IMAP ('+w', "\\v{w}", 'tex')
|
||||||
|
call IMAP ('+x', "\\v{x}", 'tex')
|
||||||
|
call IMAP ('+y', "\\v{y}", 'tex')
|
||||||
|
call IMAP ('+z', "\\v{z}", 'tex')
|
||||||
|
call IMAP ('+A', "\\v{A}", 'tex')
|
||||||
|
call IMAP ('+B', "\\v{B}", 'tex')
|
||||||
|
call IMAP ('+C', "\\v{C}", 'tex')
|
||||||
|
call IMAP ('+D', "\\v{D}", 'tex')
|
||||||
|
call IMAP ('+E', "\\v{E}", 'tex')
|
||||||
|
call IMAP ('+F', "\\v{F}", 'tex')
|
||||||
|
call IMAP ('+G', "\\v{G}", 'tex')
|
||||||
|
call IMAP ('+H', "\\v{H}", 'tex')
|
||||||
|
call IMAP ('+I', "\\v{\I}", 'tex')
|
||||||
|
call IMAP ('+J', "\\v{J}", 'tex')
|
||||||
|
call IMAP ('+K', "\\v{K}", 'tex')
|
||||||
|
call IMAP ('+L', "\\v{L}", 'tex')
|
||||||
|
call IMAP ('+M', "\\v{M}", 'tex')
|
||||||
|
call IMAP ('+N', "\\v{N}", 'tex')
|
||||||
|
call IMAP ('+O', "\\v{O}", 'tex')
|
||||||
|
call IMAP ('+P', "\\v{P}", 'tex')
|
||||||
|
call IMAP ('+Q', "\\v{Q}", 'tex')
|
||||||
|
call IMAP ('+R', "\\v{R}", 'tex')
|
||||||
|
call IMAP ('+S', "\\v{S}", 'tex')
|
||||||
|
call IMAP ('+T', "\\v{T}", 'tex')
|
||||||
|
call IMAP ('+U', "\\v{U}", 'tex')
|
||||||
|
call IMAP ('+V', "\\v{V}", 'tex')
|
||||||
|
call IMAP ('+W', "\\v{W}", 'tex')
|
||||||
|
call IMAP ('+X', "\\v{X}", 'tex')
|
||||||
|
call IMAP ('+Y', "\\v{Y}", 'tex')
|
||||||
|
call IMAP ('+Z', "\\v{Z}", 'tex')
|
||||||
|
" }}}
|
||||||
|
call IMAP ('+}', "\\\"{a}", 'tex')
|
||||||
|
call IMAP ('+:', "\\^{o}", 'tex')
|
||||||
|
|
||||||
|
" vim:fdm=marker:ff=unix:noet:ts=4:sw=4
|
289
vim/vim-latex/ftplugin/latex-suite/dictionaries/SIunits
Executable file
289
vim/vim-latex/ftplugin/latex-suite/dictionaries/SIunits
Executable file
|
@ -0,0 +1,289 @@
|
||||||
|
addprefix
|
||||||
|
addunit
|
||||||
|
ampere
|
||||||
|
amperemetresecond
|
||||||
|
amperepermetre
|
||||||
|
amperepermetrenp
|
||||||
|
amperepersquaremetre
|
||||||
|
amperepersquaremetrenp
|
||||||
|
angstrom
|
||||||
|
arad
|
||||||
|
arcminute
|
||||||
|
arcsecond
|
||||||
|
are
|
||||||
|
atomicmass
|
||||||
|
atto
|
||||||
|
attod
|
||||||
|
barn
|
||||||
|
bbar
|
||||||
|
becquerel
|
||||||
|
becquerelbase
|
||||||
|
bel
|
||||||
|
candela
|
||||||
|
candelapersquaremetre
|
||||||
|
candelapersquaremetrenp
|
||||||
|
celsius
|
||||||
|
Celsius
|
||||||
|
celsiusbase
|
||||||
|
centi
|
||||||
|
centid
|
||||||
|
coulomb
|
||||||
|
coulombbase
|
||||||
|
coulombpercubicmetre
|
||||||
|
coulombpercubicmetrenp
|
||||||
|
coulombperkilogram
|
||||||
|
coulombperkilogramnp
|
||||||
|
coulombpermol
|
||||||
|
coulombpermolnp
|
||||||
|
coulombpersquaremetre
|
||||||
|
coulombpersquaremetrenp
|
||||||
|
cubed
|
||||||
|
cubic
|
||||||
|
cubicmetre
|
||||||
|
cubicmetreperkilogram
|
||||||
|
cubicmetrepersecond
|
||||||
|
curie
|
||||||
|
dday
|
||||||
|
deca
|
||||||
|
decad
|
||||||
|
deci
|
||||||
|
decid
|
||||||
|
degree
|
||||||
|
degreecelsius
|
||||||
|
deka
|
||||||
|
dekad
|
||||||
|
derbecquerel
|
||||||
|
dercelsius
|
||||||
|
dercoulomb
|
||||||
|
derfarad
|
||||||
|
dergray
|
||||||
|
derhenry
|
||||||
|
derhertz
|
||||||
|
derjoule
|
||||||
|
derkatal
|
||||||
|
derlumen
|
||||||
|
derlux
|
||||||
|
dernewton
|
||||||
|
derohm
|
||||||
|
derpascal
|
||||||
|
derradian
|
||||||
|
dersiemens
|
||||||
|
dersievert
|
||||||
|
dersteradian
|
||||||
|
dertesla
|
||||||
|
dervolt
|
||||||
|
derwatt
|
||||||
|
derweber
|
||||||
|
electronvolt
|
||||||
|
exa
|
||||||
|
exad
|
||||||
|
farad
|
||||||
|
faradbase
|
||||||
|
faradpermetre
|
||||||
|
faradpermetrenp
|
||||||
|
femto
|
||||||
|
femtod
|
||||||
|
fourth
|
||||||
|
gal
|
||||||
|
giga
|
||||||
|
gigad
|
||||||
|
gram
|
||||||
|
graybase
|
||||||
|
graypersecond
|
||||||
|
graypersecondnp
|
||||||
|
hectare
|
||||||
|
hecto
|
||||||
|
hectod
|
||||||
|
henry
|
||||||
|
henrybase
|
||||||
|
henrypermetre
|
||||||
|
henrypermetrenp
|
||||||
|
hertz
|
||||||
|
hertzbase
|
||||||
|
hour
|
||||||
|
joule
|
||||||
|
joulebase
|
||||||
|
joulepercubicmetre
|
||||||
|
joulepercubicmetrenp
|
||||||
|
jouleperkelvin
|
||||||
|
jouleperkelvinnp
|
||||||
|
jouleperkilogram
|
||||||
|
jouleperkilogramkelvin
|
||||||
|
jouleperkilogramkelvinnp
|
||||||
|
jouleperkilogramnp
|
||||||
|
joulepermole
|
||||||
|
joulepermolekelvin
|
||||||
|
joulepermolekelvinnp
|
||||||
|
joulepermolenp
|
||||||
|
joulepersquaremetre
|
||||||
|
joulepersquaremetrenp
|
||||||
|
joulepertesla
|
||||||
|
jouleperteslanp
|
||||||
|
katal
|
||||||
|
katalbase
|
||||||
|
katalpercubicmetre
|
||||||
|
katalpercubicmetrenp
|
||||||
|
kelvin
|
||||||
|
kilo
|
||||||
|
kilod
|
||||||
|
kilogram
|
||||||
|
kilogrammetrepersecond
|
||||||
|
kilogrammetrepersecondnp
|
||||||
|
kilogrammetrepersquaresecond
|
||||||
|
kilogrammetrepersquaresecondnp
|
||||||
|
kilogrampercubicmetre
|
||||||
|
kilogrampercubicmetrecoulomb
|
||||||
|
kilogrampercubicmetrecoulombnp
|
||||||
|
kilogrampercubicmetrenp
|
||||||
|
kilogramperkilomole
|
||||||
|
kilogramperkilomolenp
|
||||||
|
kilogrampermetre
|
||||||
|
kilogrampermetrenp
|
||||||
|
kilogrampersecond
|
||||||
|
kilogrampersecondcubicmetre
|
||||||
|
kilogrampersecondcubicmetrenp
|
||||||
|
kilogrampersecondnp
|
||||||
|
kilogrampersquaremetre
|
||||||
|
kilogrampersquaremetrenp
|
||||||
|
kilogrampersquaremetresecond
|
||||||
|
kilogrampersquaremetresecondnp
|
||||||
|
kilogramsquaremetre
|
||||||
|
kilogramsquaremetrenp
|
||||||
|
kilogramsquaremetrepersecond
|
||||||
|
kilogramsquaremetrepersecondnp
|
||||||
|
kilowatthour
|
||||||
|
liter
|
||||||
|
litre
|
||||||
|
lumen
|
||||||
|
lumenbase
|
||||||
|
lux
|
||||||
|
luxbase
|
||||||
|
mega
|
||||||
|
megad
|
||||||
|
meter
|
||||||
|
metre
|
||||||
|
metrepersecond
|
||||||
|
metrepersecondnp
|
||||||
|
metrepersquaresecond
|
||||||
|
metrepersquaresecondnp
|
||||||
|
micro
|
||||||
|
microd
|
||||||
|
milli
|
||||||
|
millid
|
||||||
|
minute
|
||||||
|
mole
|
||||||
|
molepercubicmetre
|
||||||
|
molepercubicmetrenp
|
||||||
|
nano
|
||||||
|
nanod
|
||||||
|
neper
|
||||||
|
newton
|
||||||
|
newtonbase
|
||||||
|
newtonmetre
|
||||||
|
newtonpercubicmetre
|
||||||
|
newtonpercubicmetrenp
|
||||||
|
newtonperkilogram
|
||||||
|
newtonperkilogramnp
|
||||||
|
newtonpermetre
|
||||||
|
newtonpermetrenp
|
||||||
|
newtonpersquaremetre
|
||||||
|
newtonpersquaremetrenp
|
||||||
|
NoAMS
|
||||||
|
no@qsk
|
||||||
|
ohm
|
||||||
|
ohmbase
|
||||||
|
ohmmetre
|
||||||
|
one
|
||||||
|
paminute
|
||||||
|
pascal
|
||||||
|
pascalbase
|
||||||
|
pascalsecond
|
||||||
|
pasecond
|
||||||
|
per
|
||||||
|
period@active
|
||||||
|
persquaremetresecond
|
||||||
|
persquaremetresecondnp
|
||||||
|
peta
|
||||||
|
petad
|
||||||
|
pico
|
||||||
|
picod
|
||||||
|
power
|
||||||
|
@qsk
|
||||||
|
quantityskip
|
||||||
|
rad
|
||||||
|
radian
|
||||||
|
radianbase
|
||||||
|
radianpersecond
|
||||||
|
radianpersecondnp
|
||||||
|
radianpersquaresecond
|
||||||
|
radianpersquaresecondnp
|
||||||
|
reciprocal
|
||||||
|
rem
|
||||||
|
roentgen
|
||||||
|
rp
|
||||||
|
rpcubed
|
||||||
|
rpcubic
|
||||||
|
rpcubicmetreperkilogram
|
||||||
|
rpcubicmetrepersecond
|
||||||
|
rperminute
|
||||||
|
rpersecond
|
||||||
|
rpfourth
|
||||||
|
rpsquare
|
||||||
|
rpsquared
|
||||||
|
rpsquaremetreperkilogram
|
||||||
|
second
|
||||||
|
siemens
|
||||||
|
siemensbase
|
||||||
|
sievert
|
||||||
|
sievertbase
|
||||||
|
square
|
||||||
|
squared
|
||||||
|
squaremetre
|
||||||
|
squaremetrepercubicmetre
|
||||||
|
squaremetrepercubicmetrenp
|
||||||
|
squaremetrepercubicsecond
|
||||||
|
squaremetrepercubicsecondnp
|
||||||
|
squaremetreperkilogram
|
||||||
|
squaremetrepernewtonsecond
|
||||||
|
squaremetrepernewtonsecondnp
|
||||||
|
squaremetrepersecond
|
||||||
|
squaremetrepersecondnp
|
||||||
|
squaremetrepersquaresecond
|
||||||
|
squaremetrepersquaresecondnp
|
||||||
|
steradian
|
||||||
|
steradianbase
|
||||||
|
tera
|
||||||
|
terad
|
||||||
|
tesla
|
||||||
|
teslabase
|
||||||
|
ton
|
||||||
|
tonne
|
||||||
|
unit
|
||||||
|
unitskip
|
||||||
|
usk
|
||||||
|
volt
|
||||||
|
voltbase
|
||||||
|
voltpermetre
|
||||||
|
voltpermetrenp
|
||||||
|
watt
|
||||||
|
wattbase
|
||||||
|
wattpercubicmetre
|
||||||
|
wattpercubicmetrenp
|
||||||
|
wattperkilogram
|
||||||
|
wattperkilogramnp
|
||||||
|
wattpermetrekelvin
|
||||||
|
wattpermetrekelvinnp
|
||||||
|
wattpersquaremetre
|
||||||
|
wattpersquaremetrenp
|
||||||
|
wattpersquaremetresteradian
|
||||||
|
wattpersquaremetresteradiannp
|
||||||
|
weber
|
||||||
|
weberbase
|
||||||
|
yocto
|
||||||
|
yoctod
|
||||||
|
yotta
|
||||||
|
yottad
|
||||||
|
zepto
|
||||||
|
zeptod
|
||||||
|
zetta
|
||||||
|
zettad
|
677
vim/vim-latex/ftplugin/latex-suite/dictionaries/dictionary
Executable file
677
vim/vim-latex/ftplugin/latex-suite/dictionaries/dictionary
Executable file
|
@ -0,0 +1,677 @@
|
||||||
|
abbrv
|
||||||
|
abovedisplayshortskip
|
||||||
|
abovedisplayskip
|
||||||
|
abstract
|
||||||
|
abstract
|
||||||
|
abstractname
|
||||||
|
acute
|
||||||
|
addcontentsline
|
||||||
|
address
|
||||||
|
addtime
|
||||||
|
addtocontents
|
||||||
|
addtocounter
|
||||||
|
addtolength
|
||||||
|
addvspace
|
||||||
|
align
|
||||||
|
alph
|
||||||
|
Alph
|
||||||
|
alpha
|
||||||
|
amsmath
|
||||||
|
amsthm
|
||||||
|
and
|
||||||
|
appendix
|
||||||
|
appendixname
|
||||||
|
arabic
|
||||||
|
array
|
||||||
|
arraycolsep
|
||||||
|
arrayrulewidth
|
||||||
|
arraystretch
|
||||||
|
article
|
||||||
|
author
|
||||||
|
a4paper
|
||||||
|
a5paper
|
||||||
|
backmatter
|
||||||
|
bar
|
||||||
|
bar
|
||||||
|
baselineskip
|
||||||
|
baselinestretch
|
||||||
|
batchmode
|
||||||
|
begin
|
||||||
|
belowdisplayshortskip
|
||||||
|
belowdisplayskip
|
||||||
|
bezier
|
||||||
|
bf
|
||||||
|
bfseries
|
||||||
|
bibindent
|
||||||
|
bibitem
|
||||||
|
bibliography
|
||||||
|
bibliographystyle
|
||||||
|
bibname
|
||||||
|
big
|
||||||
|
Big
|
||||||
|
Bigg
|
||||||
|
bigg
|
||||||
|
Biggl
|
||||||
|
biggl
|
||||||
|
Biggm
|
||||||
|
biggm
|
||||||
|
Biggr
|
||||||
|
biggr
|
||||||
|
Bigl
|
||||||
|
bigl
|
||||||
|
bigm
|
||||||
|
Bigm
|
||||||
|
bigr
|
||||||
|
Bigr
|
||||||
|
bigskip
|
||||||
|
bigskipamount
|
||||||
|
binom
|
||||||
|
blg
|
||||||
|
boldmath
|
||||||
|
boldsymbol
|
||||||
|
book
|
||||||
|
botfigrule
|
||||||
|
bottmofraction
|
||||||
|
bottomnumber
|
||||||
|
boxedminipage
|
||||||
|
bp
|
||||||
|
breve
|
||||||
|
b5paper
|
||||||
|
calc
|
||||||
|
calc
|
||||||
|
caption
|
||||||
|
caption2
|
||||||
|
capt-of
|
||||||
|
cases
|
||||||
|
cc
|
||||||
|
ccaption
|
||||||
|
ccname
|
||||||
|
cdotscenter
|
||||||
|
centering
|
||||||
|
cercle
|
||||||
|
cfrac
|
||||||
|
changebar
|
||||||
|
chapter
|
||||||
|
chapterbib
|
||||||
|
chaptername
|
||||||
|
check
|
||||||
|
cite
|
||||||
|
cleardoublepage
|
||||||
|
clearpage
|
||||||
|
cline
|
||||||
|
clock
|
||||||
|
closing
|
||||||
|
cm
|
||||||
|
COLON
|
||||||
|
columnsep
|
||||||
|
columnseprule
|
||||||
|
columnwidth
|
||||||
|
contentsline
|
||||||
|
contentsname
|
||||||
|
copyright
|
||||||
|
dag
|
||||||
|
dashbox
|
||||||
|
date
|
||||||
|
dbinom
|
||||||
|
dblfigure
|
||||||
|
dblfloatpage
|
||||||
|
dblfloatsep
|
||||||
|
dbltextfloatsep
|
||||||
|
dbltopfraction
|
||||||
|
dbltopnumber
|
||||||
|
dcolumn
|
||||||
|
dd
|
||||||
|
ddag
|
||||||
|
ddot
|
||||||
|
ddots
|
||||||
|
DeclareMathOperator
|
||||||
|
depth
|
||||||
|
description
|
||||||
|
dfrac
|
||||||
|
displaylimits
|
||||||
|
displaymath
|
||||||
|
displaystyle
|
||||||
|
document
|
||||||
|
documentclass
|
||||||
|
dot
|
||||||
|
dotfill
|
||||||
|
doublerulesep
|
||||||
|
downbracefill
|
||||||
|
draft
|
||||||
|
dropping
|
||||||
|
dywiz
|
||||||
|
em
|
||||||
|
emph
|
||||||
|
empty
|
||||||
|
encl
|
||||||
|
enclname
|
||||||
|
end
|
||||||
|
endfloat
|
||||||
|
enlargethispage
|
||||||
|
enskip
|
||||||
|
enspace
|
||||||
|
ensuremath
|
||||||
|
enumerate
|
||||||
|
enumi
|
||||||
|
enumii
|
||||||
|
enumiii
|
||||||
|
enumiv
|
||||||
|
eqnarray
|
||||||
|
equation
|
||||||
|
errorstopmode
|
||||||
|
eucal
|
||||||
|
eufrak
|
||||||
|
evensidemargin
|
||||||
|
everyship
|
||||||
|
ex
|
||||||
|
executivepaper
|
||||||
|
expdlist
|
||||||
|
extracolsep
|
||||||
|
extramark
|
||||||
|
fancybox
|
||||||
|
fancyhdr
|
||||||
|
fbox
|
||||||
|
fboxrule
|
||||||
|
fboxsep
|
||||||
|
figure
|
||||||
|
figurename
|
||||||
|
file
|
||||||
|
filecontents
|
||||||
|
final
|
||||||
|
flafter
|
||||||
|
fleqn
|
||||||
|
floatflt
|
||||||
|
floatpagefraction
|
||||||
|
floatsep
|
||||||
|
flushbottom
|
||||||
|
flushleft
|
||||||
|
flushright
|
||||||
|
fnpara
|
||||||
|
fnsymbol
|
||||||
|
fn2end
|
||||||
|
fontenc
|
||||||
|
footheight
|
||||||
|
footmisc
|
||||||
|
footnote
|
||||||
|
footnotemark
|
||||||
|
footnoterule
|
||||||
|
footnotesep
|
||||||
|
footnotesize
|
||||||
|
footnotetext
|
||||||
|
footnpag
|
||||||
|
footskip
|
||||||
|
frac
|
||||||
|
frame
|
||||||
|
framebox
|
||||||
|
frenchspacing
|
||||||
|
frontmatter
|
||||||
|
ftnright
|
||||||
|
fussy
|
||||||
|
gather
|
||||||
|
genfrac
|
||||||
|
geometry
|
||||||
|
glossary
|
||||||
|
glossaryentry
|
||||||
|
graphicx
|
||||||
|
graphpaper
|
||||||
|
grave
|
||||||
|
hat
|
||||||
|
hbox
|
||||||
|
headheihgt
|
||||||
|
headings
|
||||||
|
headsep
|
||||||
|
height
|
||||||
|
helvet
|
||||||
|
hfill
|
||||||
|
hhline
|
||||||
|
hline
|
||||||
|
hrulefill
|
||||||
|
hspace
|
||||||
|
huge
|
||||||
|
Huge
|
||||||
|
HUGE
|
||||||
|
hyperref
|
||||||
|
hyphenation
|
||||||
|
ifthen
|
||||||
|
in
|
||||||
|
include
|
||||||
|
includeonly
|
||||||
|
indent
|
||||||
|
indentfirst
|
||||||
|
index
|
||||||
|
indexentry
|
||||||
|
indexname
|
||||||
|
indexspace
|
||||||
|
input
|
||||||
|
inputenc
|
||||||
|
intertext
|
||||||
|
intextsep
|
||||||
|
invisible
|
||||||
|
it
|
||||||
|
item
|
||||||
|
itemindent
|
||||||
|
itemize
|
||||||
|
itemsep
|
||||||
|
itshape
|
||||||
|
jot
|
||||||
|
kill
|
||||||
|
label
|
||||||
|
labelenumi
|
||||||
|
labelenumii
|
||||||
|
labelenumiii
|
||||||
|
labelenumiv
|
||||||
|
labelitemi
|
||||||
|
labelitemii
|
||||||
|
labelitemiii
|
||||||
|
labelitemiv
|
||||||
|
labelsep
|
||||||
|
labelwidth
|
||||||
|
landscape
|
||||||
|
large
|
||||||
|
LARGE
|
||||||
|
Large
|
||||||
|
LaTeX
|
||||||
|
LaTeXe
|
||||||
|
latexsym
|
||||||
|
ldots
|
||||||
|
left
|
||||||
|
leftarrowfill
|
||||||
|
lefteqn
|
||||||
|
leftmargin
|
||||||
|
leftmargini
|
||||||
|
leftmarginii
|
||||||
|
leftmarginiii
|
||||||
|
leftmarginiv
|
||||||
|
leftmarginv
|
||||||
|
leftmarginvi
|
||||||
|
leftmark
|
||||||
|
legalpaper
|
||||||
|
leq
|
||||||
|
leqno
|
||||||
|
letter
|
||||||
|
letterpaper
|
||||||
|
letterspace
|
||||||
|
lhead
|
||||||
|
limits
|
||||||
|
line
|
||||||
|
linebreak
|
||||||
|
linethickness
|
||||||
|
linewidth
|
||||||
|
list
|
||||||
|
listfigurename
|
||||||
|
listfiles
|
||||||
|
listoffigures
|
||||||
|
listoftables
|
||||||
|
listparindent
|
||||||
|
location
|
||||||
|
longtable
|
||||||
|
lq
|
||||||
|
lrbox
|
||||||
|
lscape
|
||||||
|
mainmatter
|
||||||
|
makeatletter
|
||||||
|
makeatother
|
||||||
|
makebox
|
||||||
|
makeglossary
|
||||||
|
makeidx
|
||||||
|
makeindex
|
||||||
|
makelabel
|
||||||
|
maketitle
|
||||||
|
manyfoot
|
||||||
|
marginpar
|
||||||
|
marginparpush
|
||||||
|
marginparsep
|
||||||
|
marginparwidth
|
||||||
|
markboth
|
||||||
|
markleft
|
||||||
|
markright
|
||||||
|
math
|
||||||
|
mathbb
|
||||||
|
mathbf
|
||||||
|
mathbin
|
||||||
|
mathcal
|
||||||
|
mathclose
|
||||||
|
mathfrak
|
||||||
|
mathindent
|
||||||
|
mathit
|
||||||
|
mathnormal
|
||||||
|
mathop
|
||||||
|
mathopen
|
||||||
|
mathord
|
||||||
|
mathpunct
|
||||||
|
mathrel
|
||||||
|
mathrm
|
||||||
|
mathscr
|
||||||
|
mathsf
|
||||||
|
mathstrut
|
||||||
|
mathtt
|
||||||
|
mathversion
|
||||||
|
mbox
|
||||||
|
mdseries
|
||||||
|
medmuskip
|
||||||
|
medskip
|
||||||
|
medskipamount
|
||||||
|
minipage
|
||||||
|
minitoc
|
||||||
|
minus
|
||||||
|
mkern
|
||||||
|
mm
|
||||||
|
moreverbatim
|
||||||
|
mpfootnote
|
||||||
|
mu
|
||||||
|
multicol
|
||||||
|
multicolumn
|
||||||
|
multilanguage
|
||||||
|
multiput
|
||||||
|
multirow
|
||||||
|
myheadings
|
||||||
|
nabla
|
||||||
|
name
|
||||||
|
NeedsTeXFormat
|
||||||
|
newcommand
|
||||||
|
newcounter
|
||||||
|
newenvironment
|
||||||
|
newfont
|
||||||
|
newlength
|
||||||
|
newline
|
||||||
|
newpage
|
||||||
|
newsavebox
|
||||||
|
newtheorem
|
||||||
|
nocite
|
||||||
|
nofiles
|
||||||
|
noindent
|
||||||
|
nolimits
|
||||||
|
nolinebreak
|
||||||
|
nomathsymbols
|
||||||
|
nonfrenchspacing
|
||||||
|
nonumber
|
||||||
|
nopagebreak
|
||||||
|
normalfont
|
||||||
|
normalsize
|
||||||
|
not
|
||||||
|
notag
|
||||||
|
note
|
||||||
|
notitlepage
|
||||||
|
nu
|
||||||
|
numberline
|
||||||
|
numline
|
||||||
|
numprint
|
||||||
|
oddsidemargin
|
||||||
|
oldstyle
|
||||||
|
onecolumn
|
||||||
|
oneside
|
||||||
|
onlynotes
|
||||||
|
onlyslides
|
||||||
|
openany
|
||||||
|
openbib
|
||||||
|
opening
|
||||||
|
openright
|
||||||
|
operatorname
|
||||||
|
oval
|
||||||
|
overbrace
|
||||||
|
overlay
|
||||||
|
overleftarrow
|
||||||
|
overline
|
||||||
|
overrightarrow
|
||||||
|
page
|
||||||
|
pagebreak
|
||||||
|
pagenumbering
|
||||||
|
pageref
|
||||||
|
pagestyle
|
||||||
|
paperheight
|
||||||
|
paperwidth
|
||||||
|
par
|
||||||
|
paragraph
|
||||||
|
parbox
|
||||||
|
parbox
|
||||||
|
parindent
|
||||||
|
parsep
|
||||||
|
parskip
|
||||||
|
part
|
||||||
|
partial
|
||||||
|
partname
|
||||||
|
partopsep
|
||||||
|
pauza
|
||||||
|
pc
|
||||||
|
phi
|
||||||
|
pi
|
||||||
|
picture
|
||||||
|
plain
|
||||||
|
PLdateending
|
||||||
|
plmath
|
||||||
|
PLSlash
|
||||||
|
plus
|
||||||
|
pmb
|
||||||
|
pmod
|
||||||
|
polski
|
||||||
|
polski
|
||||||
|
poptabs
|
||||||
|
pounds
|
||||||
|
ppauza
|
||||||
|
prefixing
|
||||||
|
printindex
|
||||||
|
protect
|
||||||
|
providecommand
|
||||||
|
ps
|
||||||
|
pt
|
||||||
|
pushtabs
|
||||||
|
put
|
||||||
|
qbezier
|
||||||
|
qbeziermax
|
||||||
|
qquad
|
||||||
|
quad
|
||||||
|
quotation
|
||||||
|
quote
|
||||||
|
raggedbottom
|
||||||
|
raggedleft
|
||||||
|
raggedright
|
||||||
|
ragged2e
|
||||||
|
raisebox
|
||||||
|
ratio
|
||||||
|
real
|
||||||
|
ref
|
||||||
|
refname
|
||||||
|
refstepcounter
|
||||||
|
relsize
|
||||||
|
renewcommand
|
||||||
|
renewenvironment
|
||||||
|
report
|
||||||
|
reversemarginpar
|
||||||
|
rhead
|
||||||
|
right
|
||||||
|
rightarrowfill
|
||||||
|
rightmargin
|
||||||
|
rightmark
|
||||||
|
rm
|
||||||
|
rmfamily
|
||||||
|
roman
|
||||||
|
Roman
|
||||||
|
rotate
|
||||||
|
rotating
|
||||||
|
rq
|
||||||
|
rule
|
||||||
|
samepage
|
||||||
|
savebox
|
||||||
|
sb
|
||||||
|
sbox
|
||||||
|
sc
|
||||||
|
scriptscriptstyle
|
||||||
|
scriptsize
|
||||||
|
scriptstyle
|
||||||
|
scrollmode
|
||||||
|
scshape
|
||||||
|
secnumdepth
|
||||||
|
section
|
||||||
|
sectionmark
|
||||||
|
see
|
||||||
|
seename
|
||||||
|
selectfont
|
||||||
|
selectlanguage
|
||||||
|
setcounter
|
||||||
|
setlength
|
||||||
|
settime
|
||||||
|
settodepth
|
||||||
|
settoheight
|
||||||
|
settowidth
|
||||||
|
sf
|
||||||
|
sffamily
|
||||||
|
shadethm
|
||||||
|
shadow
|
||||||
|
shapepar
|
||||||
|
shortstack
|
||||||
|
showlabels
|
||||||
|
sidecap
|
||||||
|
signature
|
||||||
|
sin
|
||||||
|
sl
|
||||||
|
slide
|
||||||
|
slides
|
||||||
|
sloppy
|
||||||
|
sloppybar
|
||||||
|
slshape
|
||||||
|
small
|
||||||
|
smallskip
|
||||||
|
smallskipamount
|
||||||
|
soul
|
||||||
|
sp
|
||||||
|
space
|
||||||
|
sqrt
|
||||||
|
ss
|
||||||
|
SS
|
||||||
|
stackrel
|
||||||
|
startbreaks
|
||||||
|
stepcounter
|
||||||
|
stop
|
||||||
|
stopbreaks
|
||||||
|
stretch
|
||||||
|
strut
|
||||||
|
subfigure
|
||||||
|
subfigure
|
||||||
|
subitem
|
||||||
|
subparagraph
|
||||||
|
subsection
|
||||||
|
subsubitem
|
||||||
|
subsubsection
|
||||||
|
sum
|
||||||
|
supressfloats
|
||||||
|
symbol
|
||||||
|
symbol
|
||||||
|
tabbing
|
||||||
|
tabcolsep
|
||||||
|
table
|
||||||
|
tablename
|
||||||
|
tableofcontents
|
||||||
|
tabular
|
||||||
|
tabularx
|
||||||
|
tag
|
||||||
|
tan
|
||||||
|
tbinom
|
||||||
|
telephone
|
||||||
|
TeX
|
||||||
|
textbf
|
||||||
|
textbullet
|
||||||
|
textcircled
|
||||||
|
textcompwordmark
|
||||||
|
textemdash
|
||||||
|
textendash
|
||||||
|
textexclamdown
|
||||||
|
textfloatsep
|
||||||
|
textfraction
|
||||||
|
textheight
|
||||||
|
textit
|
||||||
|
textmd
|
||||||
|
textnormal
|
||||||
|
textperiodcenter
|
||||||
|
textquestiondown
|
||||||
|
textquotedblleft
|
||||||
|
textquotedblright
|
||||||
|
textquoteleft
|
||||||
|
textquoteright
|
||||||
|
textrm
|
||||||
|
textsc
|
||||||
|
textsf
|
||||||
|
textsl
|
||||||
|
textstyle
|
||||||
|
textsuperscript
|
||||||
|
texttt
|
||||||
|
textup
|
||||||
|
textvisiblespace
|
||||||
|
textwidth
|
||||||
|
tfrac
|
||||||
|
thanks
|
||||||
|
the
|
||||||
|
thebibliography
|
||||||
|
theindex
|
||||||
|
theorem
|
||||||
|
thepage
|
||||||
|
thesection
|
||||||
|
theta
|
||||||
|
thicklines
|
||||||
|
thickmuskip
|
||||||
|
thinlines
|
||||||
|
thispagestyle
|
||||||
|
tilde
|
||||||
|
time
|
||||||
|
times
|
||||||
|
tiny
|
||||||
|
title
|
||||||
|
titlepage
|
||||||
|
tocdepth
|
||||||
|
today
|
||||||
|
topfigrule
|
||||||
|
topfraction
|
||||||
|
topmargin
|
||||||
|
topmargin
|
||||||
|
topmargin
|
||||||
|
topsep
|
||||||
|
topskip
|
||||||
|
topskip
|
||||||
|
totalheight
|
||||||
|
totalnumber
|
||||||
|
trivlist
|
||||||
|
tt
|
||||||
|
ttfamily
|
||||||
|
twocolumn
|
||||||
|
twocolumn
|
||||||
|
twoside
|
||||||
|
typein
|
||||||
|
typein
|
||||||
|
typeout
|
||||||
|
typeout
|
||||||
|
ulem
|
||||||
|
ulem
|
||||||
|
unboldmath
|
||||||
|
underbrace
|
||||||
|
underline
|
||||||
|
unsort
|
||||||
|
unsrt
|
||||||
|
upbracefill
|
||||||
|
upshape
|
||||||
|
upshape
|
||||||
|
usebox
|
||||||
|
usebox
|
||||||
|
usecounter
|
||||||
|
usefont
|
||||||
|
usepackage
|
||||||
|
value
|
||||||
|
vbox
|
||||||
|
vdots
|
||||||
|
vec
|
||||||
|
vector
|
||||||
|
verb
|
||||||
|
verb
|
||||||
|
verbatim
|
||||||
|
verse
|
||||||
|
vfill
|
||||||
|
visible
|
||||||
|
vline
|
||||||
|
vmargin
|
||||||
|
voffset
|
||||||
|
vspace
|
||||||
|
widehat
|
||||||
|
widetilde
|
||||||
|
width
|
||||||
|
wrapfig
|
||||||
|
xleftarrow
|
||||||
|
xrightarrow
|
||||||
|
threeparttable
|
330
vim/vim-latex/ftplugin/latex-suite/elementmacros.vim
Executable file
330
vim/vim-latex/ftplugin/latex-suite/elementmacros.vim
Executable file
|
@ -0,0 +1,330 @@
|
||||||
|
"=============================================================================
|
||||||
|
" File: elementmacros.vim
|
||||||
|
" Author: Mikolaj Machowski
|
||||||
|
" Created: Tue Apr 23 06:00 PM 2002 PST
|
||||||
|
"
|
||||||
|
" Description: macros for dimensions/fonts/counters.
|
||||||
|
" and various common commands such ref/label/footnote.
|
||||||
|
"=============================================================================
|
||||||
|
|
||||||
|
nmap <silent> <script> <plug> i
|
||||||
|
imap <silent> <script> <C-o><plug> <Nop>
|
||||||
|
|
||||||
|
if exists('s:lastElementsLocation') && g:Tex_ElementsMenuLocation == s:lastElementsLocation
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
if exists('s:lastElementsLocation')
|
||||||
|
exe 'aunmenu '.s:lastElementsLocation.'Font.'
|
||||||
|
exe 'aunmenu '.s:lastElementsLocation.'Dimension.'
|
||||||
|
exe 'aunmenu '.s:lastElementsLocation.'Counters.'
|
||||||
|
exe 'aunmenu '.s:lastElementsLocation.'Various.'
|
||||||
|
endif
|
||||||
|
|
||||||
|
let s:lastElementsLocation = g:Tex_ElementsMenuLocation
|
||||||
|
|
||||||
|
let s:fontMenuLoc = g:Tex_ElementsMenuLocation.'Font.'
|
||||||
|
let s:dimensionMenuLoc = g:Tex_ElementsMenuLocation.'Dimension.'
|
||||||
|
let s:counterMenuLoc = g:Tex_ElementsMenuLocation.'Counters.'
|
||||||
|
let s:variousMenuLoc = g:Tex_ElementsMenuLocation.'Various.'
|
||||||
|
|
||||||
|
" ==============================================================================
|
||||||
|
" Set up the functions the first time.
|
||||||
|
" ==============================================================================
|
||||||
|
if !exists('s:definedFuncs') " {{{
|
||||||
|
let s:definedFuncs = 1
|
||||||
|
|
||||||
|
" Tex_RemoveElementMenus: remove the elements menu {{{
|
||||||
|
function! Tex_RemoveElementMenus()
|
||||||
|
exe 'silent! aunmenu '.s:lastElementsLocation.'Font.'
|
||||||
|
exe 'silent! aunmenu '.s:lastElementsLocation.'Dimension.'
|
||||||
|
exe 'silent! aunmenu '.s:lastElementsLocation.'Counters.'
|
||||||
|
exe 'silent! aunmenu '.s:lastElementsLocation.'Various.'
|
||||||
|
endfunction " }}}
|
||||||
|
" Tex_FontFamily: sets up font menus {{{
|
||||||
|
function! <SID>Tex_FontFamily(font,fam)
|
||||||
|
let vislhs = matchstr(tolower(a:font), '^.\zs.*')
|
||||||
|
|
||||||
|
" avoid redoing imaps and vmaps for every reconfiguration of menus.
|
||||||
|
if !exists('s:doneOnce') && g:Tex_FontMaps
|
||||||
|
exe "vnoremap <silent> ".g:Tex_Leader.vislhs.
|
||||||
|
\" \<C-\\>\<C-N>:call VEnclose('\\text".vislhs."{', '}', '{\\".vislhs.a:fam." ', '}')<CR>"
|
||||||
|
exe 'call IMAP ("'.a:font.'", "\\text'.vislhs.'{<++>}<++>", "tex")'
|
||||||
|
endif
|
||||||
|
|
||||||
|
" menu entry.
|
||||||
|
if g:Tex_Menus && g:Tex_FontMenus
|
||||||
|
let location = s:fontMenuLoc.substitute(a:fam, '^.', '\u&', '').'.'.vislhs.a:fam.'<tab>'.a:font.'\ ('.g:Tex_Leader.vislhs.')'
|
||||||
|
exe "amenu ".location.
|
||||||
|
\" <plug><C-r>=IMAP_PutTextWithMovement('\\text".vislhs."{<++>}<++>')<CR>"
|
||||||
|
exe "vmenu ".location.
|
||||||
|
\" \<C-\\>\<C-N>:call VEnclose('\\text".vislhs."{', '}', '{\\".vislhs.a:fam." ', '}')<CR>"
|
||||||
|
endif
|
||||||
|
|
||||||
|
endfunction " }}}
|
||||||
|
" Tex_FontDiacritics: sets up menus for diacritics. {{{
|
||||||
|
function! <SID>Tex_FontDiacritics(name, rhs)
|
||||||
|
let location = s:fontMenuLoc.'&Diacritics.'.a:name.'<tab>'
|
||||||
|
exe 'amenu '.location.
|
||||||
|
\" <plug><C-r>=IMAP_PutTextWithMovement('\\".a:rhs."{<++>}<++>')<CR>"
|
||||||
|
exe 'vmenu '.location.
|
||||||
|
\" \<C-\\>\<C-n>:call VEnclose('\\".a:rhs."{', '}', '', '')<CR>"
|
||||||
|
endfunction " }}}
|
||||||
|
" Tex_FontSize: sets up size fonts {{{
|
||||||
|
function! <SID>Tex_FontSize(name)
|
||||||
|
let location = s:fontMenuLoc.'&Size.'.a:name.'<tab>'
|
||||||
|
exe 'amenu '.location." <plug>\\".a:name
|
||||||
|
exe 'vunmenu '.location
|
||||||
|
endfunction " }}}
|
||||||
|
" Tex_Fontfont: sets up the 'font' part of font menus {{{
|
||||||
|
function! <SID>Tex_Fontfont(desc, lhs)
|
||||||
|
let location = s:fontMenuLoc.'&font.'.a:desc.'<tab>'
|
||||||
|
exe "amenu ".location." <plug><C-r>=IMAP_PutTextWithMovement('".a:lhs."')<CR>"
|
||||||
|
exe "vunmenu ".location
|
||||||
|
endfunction " }}}
|
||||||
|
" Tex_DimMenus: set up dimension menus {{{
|
||||||
|
function! <SID>Tex_DimMenus(submenu, rhs)
|
||||||
|
let location = s:dimensionMenuLoc.a:submenu.'.'.a:rhs.'<tab>'
|
||||||
|
exe "amenu ".location." <plug>\\".a:rhs
|
||||||
|
exe "vunmenu ".location
|
||||||
|
endfunction " }}}
|
||||||
|
" Tex_CounterMenus: set up counters menus {{{
|
||||||
|
function! <SID>Tex_CounterMenus(submenu, rhs)
|
||||||
|
let location = s:counterMenuLoc.a:submenu.'.'.a:rhs.'<tab>'
|
||||||
|
exe "amenu ".location." <plug>\\".a:rhs
|
||||||
|
exe "vunmenu ".location
|
||||||
|
endfunction " }}}
|
||||||
|
" Tex_VariousMenus: set up various menus {{{
|
||||||
|
function! <SID>Tex_VariousMenus(desc, lhs)
|
||||||
|
let location = s:variousMenuLoc.a:desc.'<tab>'
|
||||||
|
exe "amenu ".location." <plug><C-r>=IMAP_PutTextWithMovement('".a:lhs."')<CR>"
|
||||||
|
exe "vunmenu ".location
|
||||||
|
endfunction " }}}
|
||||||
|
|
||||||
|
endif
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
" ==============================================================================
|
||||||
|
" Fonts
|
||||||
|
" ==============================================================================
|
||||||
|
" series/family/shape {{{
|
||||||
|
call <SID>Tex_FontFamily("FBF","series")
|
||||||
|
call <SID>Tex_FontFamily("FMD","series")
|
||||||
|
|
||||||
|
call <SID>Tex_FontFamily("FTT","family")
|
||||||
|
call <SID>Tex_FontFamily("FSF","family")
|
||||||
|
call <SID>Tex_FontFamily("FRM","family")
|
||||||
|
|
||||||
|
call <SID>Tex_FontFamily("FUP","shape")
|
||||||
|
call <SID>Tex_FontFamily("FSL","shape")
|
||||||
|
call <SID>Tex_FontFamily("FSC","shape")
|
||||||
|
call <SID>Tex_FontFamily("FIT","shape")
|
||||||
|
|
||||||
|
" the \emph is special.
|
||||||
|
if g:Tex_FontMaps | exe "vnoremap <silent> ".g:Tex_Leader."em \<C-\\>\<C-N>:call VEnclose('\\emph{', '}', '{\\em', '\\/}')<CR>" | endif
|
||||||
|
if g:Tex_FontMaps | exe 'call IMAP ("FEM", "\\emph{<++>}<++>", "tex")' | endif
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
if g:Tex_Menus && g:Tex_FontMenus
|
||||||
|
" {{{ diacritics
|
||||||
|
call <SID>Tex_FontDiacritics('Acute', '"')
|
||||||
|
call <SID>Tex_FontDiacritics('Breve', 'u')
|
||||||
|
call <SID>Tex_FontDiacritics('Circle', 'r')
|
||||||
|
call <SID>Tex_FontDiacritics('Circumflex', '^')
|
||||||
|
call <SID>Tex_FontDiacritics('Umlaut', '"')
|
||||||
|
call <SID>Tex_FontDiacritics('HUmlaut', 'H')
|
||||||
|
call <SID>Tex_FontDiacritics('Dot\ over', '.')
|
||||||
|
call <SID>Tex_FontDiacritics('Grave', '`')
|
||||||
|
call <SID>Tex_FontDiacritics('Hacek', 'v')
|
||||||
|
call <SID>Tex_FontDiacritics('Makron', '=')
|
||||||
|
call <SID>Tex_FontDiacritics('Tilde', '~')
|
||||||
|
call <SID>Tex_FontDiacritics('Underline', 'b')
|
||||||
|
call <SID>Tex_FontDiacritics('Cedille', 'c')
|
||||||
|
call <SID>Tex_FontDiacritics('Dot\ under', ' ')
|
||||||
|
call <SID>Tex_FontDiacritics('Ligature', 't')
|
||||||
|
" }}}
|
||||||
|
" {{{ Si&ze.
|
||||||
|
call <SID>Tex_FontSize('tiny')
|
||||||
|
call <SID>Tex_FontSize('scriptsize')
|
||||||
|
call <SID>Tex_FontSize('footnotesize')
|
||||||
|
call <SID>Tex_FontSize('small')
|
||||||
|
call <SID>Tex_FontSize('normalsize')
|
||||||
|
call <SID>Tex_FontSize('large')
|
||||||
|
call <SID>Tex_FontSize('Large')
|
||||||
|
call <SID>Tex_FontSize('LARGE')
|
||||||
|
call <SID>Tex_FontSize('huge')
|
||||||
|
call <SID>Tex_FontSize('Huge')
|
||||||
|
" }}}
|
||||||
|
" {{{ &font.
|
||||||
|
call s:Tex_Fontfont('fontencoding{}', '\fontencoding{<++>}<++>')
|
||||||
|
call s:Tex_Fontfont('fontfamily{qtm}', '\fontfamily{<++>}<++>')
|
||||||
|
call s:Tex_Fontfont('fontseries{m\ b\ bx\ sb\ c}', '\fontseries{<++>}<++>')
|
||||||
|
call s:Tex_Fontfont('fontshape{n\ it\ sl\ sc\ ui}', '\fontshape{<++>}<++>')
|
||||||
|
call s:Tex_Fontfont('fontsize{}{}', '\fontsize{<++>}{<++>}<++>')
|
||||||
|
call s:Tex_Fontfont('selectfont', '\selectfont ')
|
||||||
|
" }}}
|
||||||
|
endif
|
||||||
|
|
||||||
|
" ==============================================================================
|
||||||
|
" Dimensions
|
||||||
|
" ==============================================================================
|
||||||
|
if g:Tex_Menus
|
||||||
|
" {{{ Static1
|
||||||
|
call <SID>Tex_DimMenus('Static1', 'arraycolsep')
|
||||||
|
call <SID>Tex_DimMenus('Static1', 'arrayrulewidth')
|
||||||
|
call <SID>Tex_DimMenus('Static1', 'bibindent')
|
||||||
|
call <SID>Tex_DimMenus('Static1', 'columnsep')
|
||||||
|
call <SID>Tex_DimMenus('Static1', 'columnseprule')
|
||||||
|
call <SID>Tex_DimMenus('Static1', 'columnwidth')
|
||||||
|
call <SID>Tex_DimMenus('Static1', 'doublerulesep')
|
||||||
|
call <SID>Tex_DimMenus('Static1', 'evensidemargin')
|
||||||
|
call <SID>Tex_DimMenus('Static1', 'fboxrule')
|
||||||
|
call <SID>Tex_DimMenus('Static1', 'fboxsep')
|
||||||
|
call <SID>Tex_DimMenus('Static1', 'footheight')
|
||||||
|
call <SID>Tex_DimMenus('Static1', 'footnotesep')
|
||||||
|
call <SID>Tex_DimMenus('Static1', 'footskip')
|
||||||
|
call <SID>Tex_DimMenus('Static1', 'headheight')
|
||||||
|
call <SID>Tex_DimMenus('Static1', 'headsep')
|
||||||
|
call <SID>Tex_DimMenus('Static1', 'itemindent')
|
||||||
|
call <SID>Tex_DimMenus('Static1', 'labelsep')
|
||||||
|
call <SID>Tex_DimMenus('Static1', 'labelwidth')
|
||||||
|
call <SID>Tex_DimMenus('Static1', 'leftmargin')
|
||||||
|
call <SID>Tex_DimMenus('Static1', 'leftmargini')
|
||||||
|
call <SID>Tex_DimMenus('Static1', 'leftmarginii')
|
||||||
|
call <SID>Tex_DimMenus('Static1', 'leftmarginiii')
|
||||||
|
call <SID>Tex_DimMenus('Static1', 'leftmarginiv')
|
||||||
|
call <SID>Tex_DimMenus('Static1', 'leftmarginv')
|
||||||
|
call <SID>Tex_DimMenus('Static1', 'leftmarginvi')
|
||||||
|
call <SID>Tex_DimMenus('Static1', 'linewidth')
|
||||||
|
call <SID>Tex_DimMenus('Static1', 'listparindent')
|
||||||
|
call <SID>Tex_DimMenus('Static1', 'marginparpush')
|
||||||
|
call <SID>Tex_DimMenus('Static1', 'marginparsep')
|
||||||
|
call <SID>Tex_DimMenus('Static1', 'marginparwidth')
|
||||||
|
call <SID>Tex_DimMenus('Static1', 'mathindent')
|
||||||
|
call <SID>Tex_DimMenus('Static1', 'oddsidemargin')
|
||||||
|
" }}}
|
||||||
|
" {{{ Static2
|
||||||
|
call <SID>Tex_DimMenus('Static2', 'paperheight')
|
||||||
|
call <SID>Tex_DimMenus('Static2', 'paperwidth')
|
||||||
|
call <SID>Tex_DimMenus('Static2', 'parindent')
|
||||||
|
call <SID>Tex_DimMenus('Static2', 'rightmargin')
|
||||||
|
call <SID>Tex_DimMenus('Static2', 'tabbingsep')
|
||||||
|
call <SID>Tex_DimMenus('Static2', 'tabcolsep')
|
||||||
|
call <SID>Tex_DimMenus('Static2', 'textheight')
|
||||||
|
call <SID>Tex_DimMenus('Static2', 'textwidth')
|
||||||
|
call <SID>Tex_DimMenus('Static2', 'topmargin')
|
||||||
|
call <SID>Tex_DimMenus('Static2', 'unitlength')
|
||||||
|
" }}}
|
||||||
|
" {{{ Dynamic
|
||||||
|
call <SID>Tex_DimMenus('Dynamic', 'abovedisplayshortskip')
|
||||||
|
call <SID>Tex_DimMenus('Dynamic', 'abovedisplayskip')
|
||||||
|
call <SID>Tex_DimMenus('Dynamic', 'baselineskip')
|
||||||
|
call <SID>Tex_DimMenus('Dynamic', 'belowdisplayshortskip')
|
||||||
|
call <SID>Tex_DimMenus('Dynamic', 'belowdisplayskip')
|
||||||
|
call <SID>Tex_DimMenus('Dynamic', 'dblfloatsep')
|
||||||
|
call <SID>Tex_DimMenus('Dynamic', 'dbltextfloatsep')
|
||||||
|
call <SID>Tex_DimMenus('Dynamic', 'floatsep')
|
||||||
|
call <SID>Tex_DimMenus('Dynamic', 'intextsep')
|
||||||
|
call <SID>Tex_DimMenus('Dynamic', 'itemsep')
|
||||||
|
call <SID>Tex_DimMenus('Dynamic', 'parsep')
|
||||||
|
call <SID>Tex_DimMenus('Dynamic', 'parskip')
|
||||||
|
call <SID>Tex_DimMenus('Dynamic', 'partopsep')
|
||||||
|
call <SID>Tex_DimMenus('Dynamic', 'textfloatsep')
|
||||||
|
call <SID>Tex_DimMenus('Dynamic', 'topsep')
|
||||||
|
call <SID>Tex_DimMenus('Dynamic', 'topskip')
|
||||||
|
" }}}
|
||||||
|
" {{{ Change
|
||||||
|
call <SID>Tex_DimMenus('Change', 'setlength')
|
||||||
|
call <SID>Tex_DimMenus('Change', 'addtolength')
|
||||||
|
call <SID>Tex_DimMenus('Change', 'settoheight')
|
||||||
|
call <SID>Tex_DimMenus('Change', 'settowidth')
|
||||||
|
call <SID>Tex_DimMenus('Change', 'settolength')
|
||||||
|
" }}}
|
||||||
|
endif
|
||||||
|
|
||||||
|
" ==============================================================================
|
||||||
|
" Counters
|
||||||
|
" ==============================================================================
|
||||||
|
if g:Tex_Menus
|
||||||
|
" Counters {{{
|
||||||
|
call <SID>Tex_CounterMenus('Counters', 'bottomnumber')
|
||||||
|
call <SID>Tex_CounterMenus('Counters', 'chapter')
|
||||||
|
call <SID>Tex_CounterMenus('Counters', 'dbltopnumber')
|
||||||
|
call <SID>Tex_CounterMenus('Counters', 'enumi')
|
||||||
|
call <SID>Tex_CounterMenus('Counters', 'enumii')
|
||||||
|
call <SID>Tex_CounterMenus('Counters', 'enumiii')
|
||||||
|
call <SID>Tex_CounterMenus('Counters', 'enumiv')
|
||||||
|
call <SID>Tex_CounterMenus('Counters', 'equation')
|
||||||
|
call <SID>Tex_CounterMenus('Counters', 'figure')
|
||||||
|
call <SID>Tex_CounterMenus('Counters', 'footnote')
|
||||||
|
call <SID>Tex_CounterMenus('Counters', 'mpfootnote')
|
||||||
|
call <SID>Tex_CounterMenus('Counters', 'page')
|
||||||
|
call <SID>Tex_CounterMenus('Counters', 'paragraph')
|
||||||
|
call <SID>Tex_CounterMenus('Counters', 'part')
|
||||||
|
call <SID>Tex_CounterMenus('Counters', 'secnumdepth')
|
||||||
|
call <SID>Tex_CounterMenus('Counters', 'section')
|
||||||
|
call <SID>Tex_CounterMenus('Counters', 'subparagraph')
|
||||||
|
call <SID>Tex_CounterMenus('Counters', 'subsection')
|
||||||
|
call <SID>Tex_CounterMenus('Counters', 'subsubsection')
|
||||||
|
call <SID>Tex_CounterMenus('Counters', 'table')
|
||||||
|
call <SID>Tex_CounterMenus('Counters', 'tocdepth')
|
||||||
|
call <SID>Tex_CounterMenus('Counters', 'topnumber')
|
||||||
|
call <SID>Tex_CounterMenus('Counters', 'totalnumber')
|
||||||
|
" }}}
|
||||||
|
" theCounters {{{
|
||||||
|
call <SID>Tex_CounterMenus('theCounters', 'thebottomnumber')
|
||||||
|
call <SID>Tex_CounterMenus('theCounters', 'thechapter')
|
||||||
|
call <SID>Tex_CounterMenus('theCounters', 'thedbltopnumber')
|
||||||
|
call <SID>Tex_CounterMenus('theCounters', 'theenumi')
|
||||||
|
call <SID>Tex_CounterMenus('theCounters', 'theenumii')
|
||||||
|
call <SID>Tex_CounterMenus('theCounters', 'theenumiii')
|
||||||
|
call <SID>Tex_CounterMenus('theCounters', 'theenumiv')
|
||||||
|
call <SID>Tex_CounterMenus('theCounters', 'theequation')
|
||||||
|
call <SID>Tex_CounterMenus('theCounters', 'thefigure')
|
||||||
|
call <SID>Tex_CounterMenus('theCounters', 'thefootnote')
|
||||||
|
call <SID>Tex_CounterMenus('theCounters', 'thempfootnote')
|
||||||
|
call <SID>Tex_CounterMenus('theCounters', 'thepage')
|
||||||
|
call <SID>Tex_CounterMenus('theCounters', 'theparagraph')
|
||||||
|
call <SID>Tex_CounterMenus('theCounters', 'thepart')
|
||||||
|
call <SID>Tex_CounterMenus('theCounters', 'thesecnumdepth')
|
||||||
|
call <SID>Tex_CounterMenus('theCounters', 'thesection')
|
||||||
|
call <SID>Tex_CounterMenus('theCounters', 'thesubparagraph')
|
||||||
|
call <SID>Tex_CounterMenus('theCounters', 'thesubsection')
|
||||||
|
call <SID>Tex_CounterMenus('theCounters', 'thesubsubsection')
|
||||||
|
call <SID>Tex_CounterMenus('theCounters', 'thetable')
|
||||||
|
call <SID>Tex_CounterMenus('theCounters', 'thetocdepth')
|
||||||
|
call <SID>Tex_CounterMenus('theCounters', 'thetopnumber')
|
||||||
|
call <SID>Tex_CounterMenus('theCounters', 'thetotalnumber')
|
||||||
|
" }}}
|
||||||
|
" Type {{{
|
||||||
|
call <SID>Tex_CounterMenus('Type', 'alph')
|
||||||
|
call <SID>Tex_CounterMenus('Type', 'Alph')
|
||||||
|
call <SID>Tex_CounterMenus('Type', 'arabic')
|
||||||
|
call <SID>Tex_CounterMenus('Type', 'roman')
|
||||||
|
call <SID>Tex_CounterMenus('Type', 'Roman')
|
||||||
|
" }}}
|
||||||
|
endif
|
||||||
|
|
||||||
|
" ==============================================================================
|
||||||
|
" Various
|
||||||
|
" ==============================================================================
|
||||||
|
if g:Tex_Menus
|
||||||
|
" Various {{{
|
||||||
|
call <SID>Tex_VariousMenus('ref{}' , '\ref{<++>}<++>')
|
||||||
|
call <SID>Tex_VariousMenus('pageref{}' , '\pageref{<++>}<++>')
|
||||||
|
call <SID>Tex_VariousMenus('label{}' , '\label{<++>}<++>')
|
||||||
|
call <SID>Tex_VariousMenus('footnote{}' , '\footnote{<++>}<++>')
|
||||||
|
call <SID>Tex_VariousMenus('footnotemark{}', '\footnotemark{<++>}<++>')
|
||||||
|
call <SID>Tex_VariousMenus('footnotemark{}', '\footnotetext{<++>}<++>')
|
||||||
|
call <SID>Tex_VariousMenus('cite{}' , '\cite{<++>}<++>')
|
||||||
|
call <SID>Tex_VariousMenus('nocite{}' , '\nocite{<++>}<++>')
|
||||||
|
" }}}
|
||||||
|
endif
|
||||||
|
|
||||||
|
if g:Tex_CatchVisMapErrors
|
||||||
|
exe "vnoremap ".g:Tex_Leader." :\<C-u>call ExecMap('".g:Tex_Leader."', 'v')\<CR>"
|
||||||
|
endif
|
||||||
|
" this is for avoiding reinclusion of imaps from next time on.
|
||||||
|
let s:doneOnce = 1
|
||||||
|
|
||||||
|
" vim:fdm=marker:ff=unix:noet:ts=4:sw=4
|
1166
vim/vim-latex/ftplugin/latex-suite/envmacros.vim
Executable file
1166
vim/vim-latex/ftplugin/latex-suite/envmacros.vim
Executable file
File diff suppressed because it is too large
Load diff
400
vim/vim-latex/ftplugin/latex-suite/folding.vim
Executable file
400
vim/vim-latex/ftplugin/latex-suite/folding.vim
Executable file
|
@ -0,0 +1,400 @@
|
||||||
|
"=============================================================================
|
||||||
|
" File: folding.vim
|
||||||
|
" Author: Srinath Avadhanula
|
||||||
|
" modifications/additions by Zhang Linbo
|
||||||
|
" Created: Tue Apr 23 05:00 PM 2002 PST
|
||||||
|
"
|
||||||
|
" Description: functions to interact with Syntaxfolds.vim
|
||||||
|
"=============================================================================
|
||||||
|
|
||||||
|
nnoremap <unique> <Plug>Tex_RefreshFolds :call MakeTexFolds(1)<cr>
|
||||||
|
|
||||||
|
augroup LatexSuite
|
||||||
|
au LatexSuite User LatexSuiteFileType
|
||||||
|
\ call Tex_Debug('folding.vim: catching LatexSuiteFileType', 'fold') |
|
||||||
|
\ call Tex_SetFoldOptions()
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
" Tex_SetFoldOptions: sets maps for every buffer {{{
|
||||||
|
" Description:
|
||||||
|
function! Tex_SetFoldOptions()
|
||||||
|
if exists('b:doneSetFoldOptions')
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let b:doneSetFoldOptions = 1
|
||||||
|
|
||||||
|
setlocal foldtext=TexFoldTextFunction()
|
||||||
|
|
||||||
|
if g:Tex_Folding && g:Tex_AutoFolding
|
||||||
|
call MakeTexFolds(0)
|
||||||
|
endif
|
||||||
|
|
||||||
|
let s:ml = '<Leader>'
|
||||||
|
|
||||||
|
call Tex_MakeMap(s:ml."rf", "<Plug>Tex_RefreshFolds", 'n', '<silent> <buffer>')
|
||||||
|
|
||||||
|
endfunction " }}}
|
||||||
|
" Tex_FoldSections: creates section folds {{{
|
||||||
|
" Author: Zhang Linbo
|
||||||
|
" Description:
|
||||||
|
" This function takes a comma seperated list of "sections" and creates fold
|
||||||
|
" definitions for them. The first item is supposed to be the "shallowest" field
|
||||||
|
" and the last is the "deepest". See g:Tex_FoldedSections for the default
|
||||||
|
" definition of the lst input argument.
|
||||||
|
"
|
||||||
|
" **works recursively**
|
||||||
|
function! Tex_FoldSections(lst, endpat)
|
||||||
|
let i = match(a:lst, ',')
|
||||||
|
if i > 0
|
||||||
|
let s = strpart(a:lst, 0, i)
|
||||||
|
else
|
||||||
|
let s = a:lst
|
||||||
|
endif
|
||||||
|
if s =~ '%%fakesection'
|
||||||
|
let s = '^\s*' . s
|
||||||
|
else
|
||||||
|
let pattern = ''
|
||||||
|
let prefix = ''
|
||||||
|
for label in split(s, "|")
|
||||||
|
let pattern .= prefix . '^\s*\\' . label . '\W\|^\s*%%fake' . label
|
||||||
|
let prefix = '\W\|'
|
||||||
|
endfor
|
||||||
|
let s = pattern
|
||||||
|
endif
|
||||||
|
let endpat = s . '\|' . a:endpat
|
||||||
|
if i > 0
|
||||||
|
call Tex_FoldSections(strpart(a:lst,i+1), endpat)
|
||||||
|
endif
|
||||||
|
let endpat = '^\s*\\appendix\W\|' . endpat
|
||||||
|
call AddSyntaxFoldItem(s, endpat, 0, -1)
|
||||||
|
endfunction
|
||||||
|
" }}}
|
||||||
|
" MakeTexFolds: function to create fold items for latex. {{{
|
||||||
|
"
|
||||||
|
" used in conjunction with MakeSyntaxFolds().
|
||||||
|
" see ../plugin/syntaxFolds.vim for documentation
|
||||||
|
function! MakeTexFolds(force)
|
||||||
|
if exists('g:Tex_Folding') && !g:Tex_Folding
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if &ft != 'tex'
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
" Setup folded items lists g:Tex_Foldedxxxx
|
||||||
|
" 1. Use default value if g:Tex_Foldedxxxxxx is not defined
|
||||||
|
" 2. prepend default value to g:Tex_Foldedxxxxxx if it starts with ','
|
||||||
|
" 3. append default value to g:Tex_Foldedxxxxxx if it ends with ','
|
||||||
|
|
||||||
|
" Folding items which are not caught in any of the standard commands,
|
||||||
|
" environments or sections.
|
||||||
|
let s = 'item,slide,preamble,<<<'
|
||||||
|
if !exists('g:Tex_FoldedMisc')
|
||||||
|
let g:Tex_FoldedMisc = s
|
||||||
|
elseif g:Tex_FoldedMisc[0] == ','
|
||||||
|
let g:Tex_FoldedMisc = s . g:Tex_FoldedMisc
|
||||||
|
elseif g:Tex_FoldedMisc =~ ',$'
|
||||||
|
let g:Tex_FoldedMisc = g:Tex_FoldedMisc . s
|
||||||
|
endif
|
||||||
|
|
||||||
|
" By default do not fold any commands. It looks like trying to fold
|
||||||
|
" commands is a difficult problem since commands can be arbitrarily nested
|
||||||
|
" and the end patterns are not unique unlike the case of environments.
|
||||||
|
" For this to work well, we need a regexp which will match a line only if
|
||||||
|
" a command begins on that line but does not end on that line. This
|
||||||
|
" requires a regexp which will match unbalanced curly braces and that is
|
||||||
|
" apparently not doable with regexps.
|
||||||
|
let s = ''
|
||||||
|
if !exists('g:Tex_FoldedCommands')
|
||||||
|
let g:Tex_FoldedCommands = s
|
||||||
|
elseif g:Tex_FoldedCommands[0] == ','
|
||||||
|
let g:Tex_FoldedCommands = s . g:Tex_FoldedCommands
|
||||||
|
elseif g:Tex_FoldedCommands =~ ',$'
|
||||||
|
let g:Tex_FoldedCommands = g:Tex_FoldedCommands . s
|
||||||
|
endif
|
||||||
|
|
||||||
|
let s = 'verbatim,comment,eq,gather,align,figure,table,thebibliography,'
|
||||||
|
\. 'keywords,abstract,titlepage'
|
||||||
|
if !exists('g:Tex_FoldedEnvironments')
|
||||||
|
let g:Tex_FoldedEnvironments = s
|
||||||
|
elseif g:Tex_FoldedEnvironments[0] == ','
|
||||||
|
let g:Tex_FoldedEnvironments = s . g:Tex_FoldedEnvironments
|
||||||
|
elseif g:Tex_FoldedEnvironments =~ ',$'
|
||||||
|
let g:Tex_FoldedEnvironments = g:Tex_FoldedEnvironments . s
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !exists('g:Tex_FoldedSections')
|
||||||
|
let g:Tex_FoldedSections = 'part,chapter,section,'
|
||||||
|
\. 'subsection,subsubsection,paragraph'
|
||||||
|
endif
|
||||||
|
|
||||||
|
" the order in which these calls are made decides the nestedness. in
|
||||||
|
" latex, a table environment will always be embedded in either an item or
|
||||||
|
" a section etc. not the other way around. so we first fold up all the
|
||||||
|
" tables. and then proceed with the other regions.
|
||||||
|
|
||||||
|
let b:numFoldItems = 0
|
||||||
|
|
||||||
|
" ========================================================================
|
||||||
|
" How to add new folding items {{{
|
||||||
|
" ========================================================================
|
||||||
|
"
|
||||||
|
" Each of the following function calls defines a syntax fold region. Each
|
||||||
|
" definition consists of a call to the AddSyntaxFoldItem() function.
|
||||||
|
"
|
||||||
|
" The order in which the folds are defined is important. Juggling the
|
||||||
|
" order of the function calls will create havoc with folding. The
|
||||||
|
" "deepest" folding item needs to be called first. For example, if
|
||||||
|
" the \begin{table} environment is a subset (or lies within) the \section
|
||||||
|
" environment, then add the definition for the \table first.
|
||||||
|
"
|
||||||
|
" The AddSyntaxFoldItem() function takes either 4 or 6 arguments. When it
|
||||||
|
" is called with 4 arguments, it is equivalent to calling it with 6
|
||||||
|
" arguments with the last two left blank (i.e as empty strings)
|
||||||
|
"
|
||||||
|
" The explanation for each argument is as follows:
|
||||||
|
" startpat: a line matching this pattern defines the beginning of a fold.
|
||||||
|
" endpat : a line matching this pattern defines the end of a fold.
|
||||||
|
" startoff: this is the offset from the starting line at which folding will
|
||||||
|
" actually start
|
||||||
|
" endoff : like startoff, but gives the offset of the actual fold end from
|
||||||
|
" the line satisfying endpat.
|
||||||
|
" startoff and endoff are necessary when the folding region does
|
||||||
|
" not have a specific end pattern corresponding to a start
|
||||||
|
" pattern. for example in latex,
|
||||||
|
" \begin{section}
|
||||||
|
" defines the beginning of a section, but its not necessary to
|
||||||
|
" have a corresponding
|
||||||
|
" \end{section}
|
||||||
|
" the section is assumed to end 1 line _before_ another section
|
||||||
|
" starts.
|
||||||
|
" startskip: a pattern which defines the beginning of a "skipped" region.
|
||||||
|
"
|
||||||
|
" For example, suppose we define a \itemize fold as follows:
|
||||||
|
" startpat = '^\s*\\item',
|
||||||
|
" endpat = '^\s*\\item\|^\s*\\end{\(enumerate\|itemize\|description\)}',
|
||||||
|
" startoff = 0,
|
||||||
|
" endoff = -1
|
||||||
|
"
|
||||||
|
" This defines a fold which starts with a line beginning with an
|
||||||
|
" \item and ending one line before a line beginning with an
|
||||||
|
" \item or \end{enumerate} etc.
|
||||||
|
"
|
||||||
|
" Then, as long as \item's are not nested things are fine.
|
||||||
|
" However, once items begin to nest, the fold started by one
|
||||||
|
" \item can end because of an \item in an \itemize
|
||||||
|
" environment within this \item. i.e, the following can happen:
|
||||||
|
"
|
||||||
|
" \begin{itemize}
|
||||||
|
" \item Some text <------- fold will start here
|
||||||
|
" This item will contain a nested item
|
||||||
|
" \begin{itemize} <----- fold will end here because next line contains \item...
|
||||||
|
" \item Hello
|
||||||
|
" \end{itemize} <----- ... instead of here.
|
||||||
|
" \item Next item of the parent itemize
|
||||||
|
" \end{itemize}
|
||||||
|
"
|
||||||
|
" Therefore, in order to completely define a folding item which
|
||||||
|
" allows nesting, we need to also define a "skip" pattern.
|
||||||
|
" startskip and end skip do that.
|
||||||
|
" Leave '' when there is no nesting.
|
||||||
|
" endskip: the pattern which defines the end of the "skip" pattern for
|
||||||
|
" nested folds.
|
||||||
|
"
|
||||||
|
" Example:
|
||||||
|
" 1. A syntax fold region for a latex section is
|
||||||
|
" startpat = "\\section{"
|
||||||
|
" endpat = "\\section{"
|
||||||
|
" startoff = 0
|
||||||
|
" endoff = -1
|
||||||
|
" startskip = ''
|
||||||
|
" endskip = ''
|
||||||
|
" Note that the start and end patterns are thus the same and endoff has a
|
||||||
|
" negative value to capture the effect of a section ending one line before
|
||||||
|
" the next starts.
|
||||||
|
" 2. A syntax fold region for the \itemize environment is:
|
||||||
|
" startpat = '^\s*\\item',
|
||||||
|
" endpat = '^\s*\\item\|^\s*\\end{\(enumerate\|itemize\|description\)}',
|
||||||
|
" startoff = 0,
|
||||||
|
" endoff = -1,
|
||||||
|
" startskip = '^\s*\\begin{\(enumerate\|itemize\|description\)}',
|
||||||
|
" endskip = '^\s*\\end{\(enumerate\|itemize\|description\)}'
|
||||||
|
" Note the use of startskip and endskip to allow nesting.
|
||||||
|
"
|
||||||
|
"
|
||||||
|
" }}}
|
||||||
|
" ========================================================================
|
||||||
|
|
||||||
|
" {{{ comment lines
|
||||||
|
if g:Tex_FoldedMisc =~ '\<comments\>'
|
||||||
|
call AddSyntaxFoldItem (
|
||||||
|
\ '^%\([^%]\|[^f]\|[^a]\|[^k]\|[^e]\)',
|
||||||
|
\ '^[^%]',
|
||||||
|
\ 0,
|
||||||
|
\ -1
|
||||||
|
\ )
|
||||||
|
endif
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
" {{{ items
|
||||||
|
if g:Tex_FoldedMisc =~ '\<item\>'
|
||||||
|
call AddSyntaxFoldItem (
|
||||||
|
\ '^\s*\\item',
|
||||||
|
\ '^\s*\\item\|^\s*\\end{\(enumerate\|itemize\|description\)}',
|
||||||
|
\ 0,
|
||||||
|
\ -1,
|
||||||
|
\ '^\s*\\begin{\(enumerate\|itemize\|description\)}',
|
||||||
|
\ '^\s*\\end{\(enumerate\|itemize\|description\)}'
|
||||||
|
\ )
|
||||||
|
endif
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
" {{{ title
|
||||||
|
if g:Tex_FoldedMisc =~ '\<title\>'
|
||||||
|
call AddSyntaxFoldItem (
|
||||||
|
\ '^\s*\\title\W',
|
||||||
|
\ '^\s*\\maketitle',
|
||||||
|
\ 0,
|
||||||
|
\ 0
|
||||||
|
\ )
|
||||||
|
endif
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
" Commands and Environments {{{
|
||||||
|
" Fold the commands and environments in 2 passes.
|
||||||
|
let pass = 0
|
||||||
|
while pass < 2
|
||||||
|
if pass == 0
|
||||||
|
let lst = g:Tex_FoldedCommands
|
||||||
|
else
|
||||||
|
let lst = g:Tex_FoldedEnvironments
|
||||||
|
endif
|
||||||
|
while lst != ''
|
||||||
|
let i = match(lst, ',')
|
||||||
|
if i > 0
|
||||||
|
let s = strpart(lst, 0, i)
|
||||||
|
let lst = strpart(lst, i+1)
|
||||||
|
else
|
||||||
|
let s = lst
|
||||||
|
let lst = ''
|
||||||
|
endif
|
||||||
|
if s != ''
|
||||||
|
if pass == 0
|
||||||
|
" NOTE: This pattern ensures that a command which is
|
||||||
|
" terminated on the same line will not start a fold.
|
||||||
|
" However, it will also refuse to fold certain commands
|
||||||
|
" which have not terminated. eg:
|
||||||
|
" \commandname{something \bf{text} and
|
||||||
|
" will _not_ start a fold.
|
||||||
|
" In other words, the pattern is safe, but not exact.
|
||||||
|
call AddSyntaxFoldItem('^\s*\\'.s.'{[^{}]*$','^[^}]*}',0,0)
|
||||||
|
else
|
||||||
|
call AddSyntaxFoldItem('^\s*\\begin{'.s,'\(^\|\s\)\s*\\end{'.s,0,0)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endwhile
|
||||||
|
let pass = pass + 1
|
||||||
|
endwhile
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
" Sections {{{
|
||||||
|
if g:Tex_FoldedSections != ''
|
||||||
|
call Tex_FoldSections(g:Tex_FoldedSections,
|
||||||
|
\ '^\s*\\frontmatter\|^\s*\\mainmatter\|^\s*\\backmatter\|'
|
||||||
|
\. '^\s*\\begin{thebibliography\|>>>\|^\s*\\endinput\|'
|
||||||
|
\. '^\s*\\begin{slide\|^\s*\\end{document')
|
||||||
|
endif
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
" {{{ slide
|
||||||
|
if g:Tex_FoldedMisc =~ '\<slide\>'
|
||||||
|
call AddSyntaxFoldItem (
|
||||||
|
\ '^\s*\\begin{slide',
|
||||||
|
\ '^\s*\\appendix\W\|^\s*\\chapter\W\|^\s*\\end{slide\|^\s*\\end{document',
|
||||||
|
\ 0,
|
||||||
|
\ 0
|
||||||
|
\ )
|
||||||
|
endif
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
" {{{ preamble
|
||||||
|
if g:Tex_FoldedMisc =~ '\<preamble\>'
|
||||||
|
call AddSyntaxFoldItem (
|
||||||
|
\ '^\s*\\document\(class\|style\).*{',
|
||||||
|
\ '^\s*\\begin{document}',
|
||||||
|
\ 0,
|
||||||
|
\ -1
|
||||||
|
\ )
|
||||||
|
endif
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
" Manually folded regions {{{
|
||||||
|
if g:Tex_FoldedMisc =~ '\(^\|,\)<<<\(,\|$\)'
|
||||||
|
call AddSyntaxFoldItem (
|
||||||
|
\ '<<<',
|
||||||
|
\ '>>>',
|
||||||
|
\ 0,
|
||||||
|
\ 0
|
||||||
|
\ )
|
||||||
|
endif
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
call MakeSyntaxFolds(a:force)
|
||||||
|
normal! zv
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
" TexFoldTextFunction: create fold text for folds {{{
|
||||||
|
function! TexFoldTextFunction()
|
||||||
|
let leadingSpace = matchstr(' ', ' \{,'.indent(v:foldstart).'}')
|
||||||
|
if getline(v:foldstart) =~ '^\s*\\begin{'
|
||||||
|
let header = matchstr(getline(v:foldstart),
|
||||||
|
\ '^\s*\\begin{\zs\([:alpha:]*\)[^}]*\ze}')
|
||||||
|
let caption = ''
|
||||||
|
let label = ''
|
||||||
|
let i = v:foldstart
|
||||||
|
while i <= v:foldend
|
||||||
|
if getline(i) =~ '\\caption'
|
||||||
|
" distinguish between
|
||||||
|
" \caption{fulldesc} - fulldesc will be displayed
|
||||||
|
" \caption[shortdesc]{fulldesc} - shortdesc will be displayed
|
||||||
|
if getline(i) =~ '\\caption\['
|
||||||
|
let caption = matchstr(getline(i), '\\caption\[\zs[^\]]*')
|
||||||
|
let caption = substitute(caption, '\zs\]{.*}[^}]*$', '', '')
|
||||||
|
else
|
||||||
|
let caption = matchstr(getline(i), '\\caption{\zs.*')
|
||||||
|
let caption = substitute(caption, '\zs}[^}]*$', '', '')
|
||||||
|
end
|
||||||
|
elseif getline(i) =~ '\\label'
|
||||||
|
let label = matchstr(getline(i), '\\label{\zs.*')
|
||||||
|
" :FIXME: this does not work when \label contains a
|
||||||
|
" newline or a }-character
|
||||||
|
let label = substitute(label, '\([^}]*\)}.*$', '\1', '')
|
||||||
|
end
|
||||||
|
|
||||||
|
let i = i + 1
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
let ftxto = foldtext()
|
||||||
|
" if no caption found, then use the second line.
|
||||||
|
if caption == ''
|
||||||
|
let caption = getline(v:foldstart + 1)
|
||||||
|
end
|
||||||
|
|
||||||
|
let retText = matchstr(ftxto, '^[^:]*').': '.header.
|
||||||
|
\ ' ('.label.'): '.caption
|
||||||
|
return leadingSpace.retText
|
||||||
|
|
||||||
|
elseif getline(v:foldstart) =~ '^%' && getline(v:foldstart) !~ '^%%fake'
|
||||||
|
let ftxto = foldtext()
|
||||||
|
return leadingSpace.substitute(ftxto, ':', ': % ', '')
|
||||||
|
elseif getline(v:foldstart) =~ '^\s*\\document\(class\|style\).*{'
|
||||||
|
let ftxto = leadingSpace.foldtext()
|
||||||
|
return substitute(ftxto, ':', ': Preamble: ', '')
|
||||||
|
else
|
||||||
|
return leadingSpace.foldtext()
|
||||||
|
end
|
||||||
|
endfunction
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
" vim:fdm=marker:ff=unix:noet:ts=4:sw=4
|
11
vim/vim-latex/ftplugin/latex-suite/macros/example
Executable file
11
vim/vim-latex/ftplugin/latex-suite/macros/example
Executable file
|
@ -0,0 +1,11 @@
|
||||||
|
% my long complicated macro. This is an example of how to set up a
|
||||||
|
% tex-macro for latex-suite. simply type in the lines as you would in
|
||||||
|
% latex. Place holders are allowed.
|
||||||
|
% NOTE: if you have filetype indentation turned on, then do not do
|
||||||
|
% formatting here. the indentation will follow automatically...
|
||||||
|
\begin{mycomplicatedenvironment}
|
||||||
|
\mycommand1{<++>}
|
||||||
|
\mycommand2{<+hint2+>}
|
||||||
|
\mycommand3{<++>}
|
||||||
|
\mycommand4{<++>}
|
||||||
|
\end{mycomplicatedenvironment}<++>
|
1042
vim/vim-latex/ftplugin/latex-suite/main.vim
Executable file
1042
vim/vim-latex/ftplugin/latex-suite/main.vim
Executable file
File diff suppressed because it is too large
Load diff
729
vim/vim-latex/ftplugin/latex-suite/mathmacros-utf.vim
Executable file
729
vim/vim-latex/ftplugin/latex-suite/mathmacros-utf.vim
Executable file
|
@ -0,0 +1,729 @@
|
||||||
|
"=============================================================================
|
||||||
|
" File: mathmacros.vim
|
||||||
|
" Author: Mikolaj Machowski
|
||||||
|
" Created: Tue Apr 23 06:00 PM 2002 PST
|
||||||
|
"
|
||||||
|
" Description: macros for everything mathematical in latex.
|
||||||
|
"=============================================================================
|
||||||
|
|
||||||
|
if !(has('gui_running') && g:Tex_MathMenus && g:Tex_Menus)
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
let s:MathMenuName = g:Tex_MenuPrefix.'Ma&th.'
|
||||||
|
|
||||||
|
function! Tex_MathMenuRemove()
|
||||||
|
exe 'silent! aunmenu '.s:MathMenuName
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
let s:pA = 'amenu <silent> 85 '.s:MathMenuName
|
||||||
|
|
||||||
|
" brackets and dollars {{{
|
||||||
|
exe s:pA.'\\&[\ \\] <plug><C-r>=IMAP_PutTextWithMovement("\\[<++>\\]<++>")<cr>'
|
||||||
|
exe s:pA.'\\&(\ \\) <plug><C-r>=IMAP_PutTextWithMovement("\\(<++>\\)<++>")<cr>'
|
||||||
|
exe s:pA.'&$\ $ <plug>$$'
|
||||||
|
exe s:pA.'-sepmath1- :'
|
||||||
|
" }}}
|
||||||
|
" MATH arrows {{{
|
||||||
|
let s:pA1 = s:pA."&Arrows."
|
||||||
|
exe s:pA1.'Leftarrow<Tab>⇐ <plug>\Leftarrow '
|
||||||
|
exe s:pA1.'leftarrow<Tab>← <plug>\leftarrow'
|
||||||
|
exe s:pA1.'longleftarrow<Tab>← <plug>\longleftarrow '
|
||||||
|
exe s:pA1.'Longleftarrow<Tab>⇐ <plug>\Longleftarrow '
|
||||||
|
exe s:pA1.'rightarrow<Tab>→ <plug>\rightarrow '
|
||||||
|
exe s:pA1.'longrightarrow<Tab>→ <plug>\longrightarrow '
|
||||||
|
exe s:pA1.'Rightarrow<Tab>⇒ <plug>\Rightarrow '
|
||||||
|
exe s:pA1.'Longrightarrow<Tab>⇒ <plug>\Longrightarrow '
|
||||||
|
exe s:pA1.'leftrightarrow<Tab>⇆ <plug>\leftrightarrow '
|
||||||
|
exe s:pA1.'longleftrightarrow<Tab>↔ <plug>\longleftrightarrow '
|
||||||
|
exe s:pA1.'Leftrightarrow<Tab>⇔ <plug>\Leftrightarrow '
|
||||||
|
exe s:pA1.'Longleftrightarrow<Tab>⇔ <plug>\Longleftrightarrow '
|
||||||
|
exe s:pA1.'uparrow<Tab>↑ <plug>\uparrow '
|
||||||
|
exe s:pA1.'Uparrow<Tab>⇑ <plug>\Uparrow '
|
||||||
|
exe s:pA1.'downarrow<Tab>↓ <plug>\downarrow '
|
||||||
|
exe s:pA1.'Downarrow<Tab>⇓ <plug>\Downarrow '
|
||||||
|
exe s:pA1.'updownarrow<Tab>↕ <plug>\updownarrow '
|
||||||
|
exe s:pA1.'Updownarrow<Tab>⇕ <plug>\Updownarrow '
|
||||||
|
exe s:pA1.'nearrow<Tab>↗ <plug>\nearrow '
|
||||||
|
exe s:pA1.'searrow<Tab>↘ <plug>\searrow '
|
||||||
|
exe s:pA1.'swarrow<Tab>↙ <plug>\swarrow '
|
||||||
|
exe s:pA1.'nwarrow<Tab>↖ <plug>\nwarrow '
|
||||||
|
exe s:pA1.'mapsto<Tab>↦ <plug>\mapsto '
|
||||||
|
exe s:pA1.'leadsto<Tab>↝ <plug>\leadsto '
|
||||||
|
exe s:pA1.'longmapsto<Tab>⇖ <plug>\longmapsto '
|
||||||
|
exe s:pA1.'hookleftarrow<Tab>↩ <plug>\hookleftarrow '
|
||||||
|
exe s:pA1.'hookrightarrow<Tab>↪ <plug>\hookrightarrow '
|
||||||
|
exe s:pA1.'leftharpoonup<Tab>↼ <plug>\leftharpoonup '
|
||||||
|
exe s:pA1.'leftharpoondown<Tab>↽ <plug>\leftharpoondown '
|
||||||
|
exe s:pA1.'rightharpoonup<Tab>⇀ <plug>\rightharpoonup '
|
||||||
|
exe s:pA1.'rightharpoondown<Tab>⇁ <plug>\rightharpoondown '
|
||||||
|
exe s:pA1.'rightleftharpoons<Tab>⇌ <plug>\rightleftharpoons '
|
||||||
|
exe s:pA1.'overleftarrow<Tab> <plug>\overleftarrow '
|
||||||
|
exe s:pA1.'overrightarrow<Tab> <plug>\overrightarrow '
|
||||||
|
exe s:pA1.'overleftrightarrow<Tab> <plug>\overleftrightarrow '
|
||||||
|
exe s:pA1.'underleftarrow<Tab> <plug>\underleftarrow '
|
||||||
|
exe s:pA1.'underrightarrow<Tab> <plug>\underrightarrow '
|
||||||
|
exe s:pA1.'underleftrightarrow<Tab> <plug>\underleftrightarrow '
|
||||||
|
exe s:pA1.'xleftarrow<Tab> <plug>\xleftarrow '
|
||||||
|
exe s:pA1.'xrightarrow<Tab> <plug>\xrightarrow '
|
||||||
|
" }}}
|
||||||
|
" MATH Arrows2 {{{
|
||||||
|
let s:pA1a = s:pA."Arrows2."
|
||||||
|
exe s:pA1a.'dashleftarrow<Tab>⇠ <plug>\dashleftarrow '
|
||||||
|
exe s:pA1a.'leftleftarrows<Tab>⇇ <plug>\leftleftarrows '
|
||||||
|
exe s:pA1a.'leftrightarrows<Tab>⇆ <plug>\leftrightarrows '
|
||||||
|
exe s:pA1a.'Lleftarrow<Tab>⇚ <plug>\Lleftarrow '
|
||||||
|
exe s:pA1a.'twoheadleftarrow<Tab>↞ <plug>\twoheadleftarrow '
|
||||||
|
exe s:pA1a.'leftarrowtail<Tab>↢ <plug>\leftarrowtail '
|
||||||
|
exe s:pA1a.'leftrightharpoons<Tab>⇋ <plug>\leftrightharpoons '
|
||||||
|
exe s:pA1a.'Lsh<Tab>↰ <plug>\Lsh '
|
||||||
|
exe s:pA1a.'looparrowleft<Tab>↫ <plug>\looparrowleft '
|
||||||
|
exe s:pA1a.'curvearrowleft<Tab>↶ <plug>\curvearrowleft '
|
||||||
|
exe s:pA1a.'circlearrowleft<Tab>↺ <plug>\circlearrowleft '
|
||||||
|
exe s:pA1a.'dashrightarrow<Tab>⇢ <plug>\dashrightarrow '
|
||||||
|
exe s:pA1a.'rightrightarrows<Tab>⇉ <plug>\rightrightarrows '
|
||||||
|
exe s:pA1a.'rightleftarrows<Tab>⇄ <plug>\rightleftarrows '
|
||||||
|
exe s:pA1a.'Rrightarrow<Tab>⇛ <plug>\Rrightarrow '
|
||||||
|
exe s:pA1a.'twoheadrightarrow<Tab>↠ <plug>\twoheadrightarrow '
|
||||||
|
exe s:pA1a.'rightarrowtail<Tab>↣ <plug>\rightarrowtail '
|
||||||
|
exe s:pA1a.'rightleftharpoons<Tab>⇌ <plug>\rightleftharpoons '
|
||||||
|
exe s:pA1a.'Rsh<Tab>↱ <plug>\Rsh '
|
||||||
|
exe s:pA1a.'looparrowright<Tab>↬ <plug>\looparrowright '
|
||||||
|
exe s:pA1a.'curvearrowright<Tab>↷ <plug>\curvearrowright '
|
||||||
|
exe s:pA1a.'circlearrowright<Tab>↻ <plug>\circlearrowright '
|
||||||
|
exe s:pA1a.'multimap<Tab>⊸ <plug>\multimap '
|
||||||
|
exe s:pA1a.'upuparrows<Tab>⇈ <plug>\upuparrows '
|
||||||
|
exe s:pA1a.'downdownarrows<Tab>⇊ <plug>\downdownarrows '
|
||||||
|
exe s:pA1a.'upharpoonleft<Tab>↿ <plug>\upharpoonleft '
|
||||||
|
exe s:pA1a.'upharpoonright<Tab>↾ <plug>\upharpoonright '
|
||||||
|
exe s:pA1a.'downharpoonleft<Tab>⇃ <plug>\downharpoonleft '
|
||||||
|
exe s:pA1a.'downharpoonright<Tab>⇂ <plug>\downharpoonright '
|
||||||
|
exe s:pA1a.'rightsquigarrow<Tab>⇝ <plug>\rightsquigarrow '
|
||||||
|
exe s:pA1a.'leftrightsquigarrow<Tab>↭ <plug>\leftrightsquigarrow '
|
||||||
|
" }}}
|
||||||
|
" MATH nArrows {{{
|
||||||
|
let s:pA1b = s:pA."&nArrows."
|
||||||
|
exe s:pA1b.'nleftarrow<Tab>↚ <plug>\nleftarrow '
|
||||||
|
exe s:pA1b.'nLeftarrow<Tab>⇍ <plug>\nLeftarrow '
|
||||||
|
exe s:pA1b.'nleftrightarrow<Tab>↮ <plug>\nleftrightarrow '
|
||||||
|
exe s:pA1b.'nLeftrightarrow<Tab>⇎ <plug>\nleftrightarrow '
|
||||||
|
exe s:pA1b.'nrightarrow<Tab>↛ <plug>\nrightarrow '
|
||||||
|
exe s:pA1b.'nRightarrow<Tab>⇏ <plug>\nRightarrow '
|
||||||
|
" }}}
|
||||||
|
" MATH Fonts {{{
|
||||||
|
let s:pA2a = s:pA."&MathFonts."
|
||||||
|
exe s:pA2a.'mathbf{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathbf{<++>}<++>")<cr>'
|
||||||
|
exe s:pA2a.'mathrm{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathrm{<++>}<++>")<cr>'
|
||||||
|
exe s:pA2a.'mathsf{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathsf{<++>}<++>")<cr>'
|
||||||
|
exe s:pA2a.'mathtt{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathtt{<++>}<++>")<cr>'
|
||||||
|
exe s:pA2a.'mathit{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathit{<++>}<++>")<cr>'
|
||||||
|
exe s:pA2a.'mathfrak{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathfrak{<++>}<++>")<cr>'
|
||||||
|
exe s:pA2a.'mathcal{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathcal{<++>}<++>")<cr>'
|
||||||
|
exe s:pA2a.'mathscr{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathscr{<++>}<++>")<cr>'
|
||||||
|
exe s:pA2a.'mathbb{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathbb{<++>}<++>")<cr>'
|
||||||
|
" }}}
|
||||||
|
" Greek Letters small {{{
|
||||||
|
let s:pA2 = s:pA."&Greek.&Small."
|
||||||
|
exe s:pA2.'alpha<Tab>`a\ \ α <plug>\alpha '
|
||||||
|
exe s:pA2.'beta<Tab>`b\ \ β <plug>\beta '
|
||||||
|
exe s:pA2.'gamma<Tab>`g\ \ γ <plug>\gamma '
|
||||||
|
exe s:pA2.'delta<Tab>`d\ \ δ <plug>\delta '
|
||||||
|
exe s:pA2.'epsilon<Tab>∊ <plug>\epsilon '
|
||||||
|
exe s:pA2.'varepsilon<Tab>`e\ \ ε <plug>\varepsilon '
|
||||||
|
exe s:pA2.'zeta<Tab>`z\ \ ζ <plug>\zeta '
|
||||||
|
exe s:pA2.'eta<Tab>`h\ \ η <plug>\eta '
|
||||||
|
exe s:pA2.'theta<Tab>`q\ \ θ <plug>\theta '
|
||||||
|
exe s:pA2.'vartheta<Tab>ϑ <plug>\vartheta '
|
||||||
|
exe s:pA2.'iota<Tab>`i\ \ ι <plug>\iota '
|
||||||
|
exe s:pA2.'kappa<Tab>`k\ \ κ <plug>\kappa '
|
||||||
|
exe s:pA2.'lambda<Tab>`l\ \ λ <plug>\lambda '
|
||||||
|
exe s:pA2.'mu<Tab>`m\ \ μ <plug>\mu '
|
||||||
|
exe s:pA2.'nu<Tab>`n\ \ ν <plug>\nu '
|
||||||
|
exe s:pA2.'xi<Tab>`x\ \ ξ <plug>\xi '
|
||||||
|
exe s:pA2.'pi<Tab>`p\ \ π <plug>\pi '
|
||||||
|
exe s:pA2.'varpi<Tab>ϖ <plug>\varpi '
|
||||||
|
exe s:pA2.'rho<Tab>`r\ \ ρ <plug>\rho '
|
||||||
|
exe s:pA2.'varrho<Tab>ϱ <plug>\varrho '
|
||||||
|
exe s:pA2.'sigma<Tab>`s\ \ σ <plug>\sigma '
|
||||||
|
exe s:pA2.'varsigma<Tab>`v\ \ ς <plug>\varsigma '
|
||||||
|
exe s:pA2.'tau<Tab>`t\ \ τ <plug>\tau '
|
||||||
|
exe s:pA2.'upsilon<Tab>`u\ \ υ <plug>\upsilon '
|
||||||
|
exe s:pA2.'phi<Tab>φ <plug>\phi '
|
||||||
|
exe s:pA2.'varphi<Tab>`f\ \ ϕ <plug>\varphi '
|
||||||
|
exe s:pA2.'chi<Tab>`c\ \ χ <plug>\chi '
|
||||||
|
exe s:pA2.'psi<Tab>`y\ \ ψ <plug>\psi '
|
||||||
|
exe s:pA2.'omega<Tab>`w\ \ ω <plug>\omega '
|
||||||
|
" }}}
|
||||||
|
" Greek Letters big {{{
|
||||||
|
let s:pA3 = s:pA.'&Greek.&Big.'
|
||||||
|
exe s:pA3.'Alpha<Tab>`A\ \ A <plug>\Alpha '
|
||||||
|
exe s:pA3.'Beta<Tab>`B\ \ B <plug>\Beta '
|
||||||
|
exe s:pA3.'Gamma<Tab>`G\ \ Γ <plug>\Gamma '
|
||||||
|
exe s:pA3.'Delta<Tab>`D\ \ Δ <plug>\Delta '
|
||||||
|
exe s:pA3.'Epsilon<Tab>`E\ \ E <plug>\Epsilon '
|
||||||
|
exe s:pA3.'Zeta<Tab>`Z\ \ Z <plug>\mathrm{Z} '
|
||||||
|
exe s:pA3.'Eta<Tab>`H\ \ H <plug>\Eta '
|
||||||
|
exe s:pA3.'Theta<Tab>Θ <plug>\Theta '
|
||||||
|
exe s:pA3.'Iota<Tab>I <plug>\mathrm{I} '
|
||||||
|
exe s:pA3.'Kappa<Tab>`K\ \ K <plug>\Kappa '
|
||||||
|
exe s:pA3.'Lambda<Tab>`L\ \ Λ <plug>\Lambda '
|
||||||
|
exe s:pA3.'Mu<Tab>`M\ \ M <plug>\Mu '
|
||||||
|
exe s:pA3.'Nu<Tab>`N\ \ N <plug>\Nu '
|
||||||
|
exe s:pA3.'Xi<Tab>`X\ \ Ξ <plug>\Xi '
|
||||||
|
exe s:pA3.'Pi<Tab>`P\ \ Π <plug>\Pi '
|
||||||
|
exe s:pA3.'Rho<Tab>`R\ \ P <plug>\Rho '
|
||||||
|
exe s:pA3.'Sigma<Tab>`S\ \ Σ <plug>\Sigma '
|
||||||
|
exe s:pA3.'Tau<Tab>`T\ \ T <plug>\Tau '
|
||||||
|
exe s:pA3.'Upsilon<Tab>`U\ \ Y <plug>\Upsilon '
|
||||||
|
exe s:pA3.'Phi<Tab>Φ <plug>\Phi '
|
||||||
|
exe s:pA3.'Chi<Tab>`C\ \ X <plug>\Chi '
|
||||||
|
exe s:pA3.'Psi<Tab>`Y\ \ Ψ <plug>\Psi '
|
||||||
|
exe s:pA3.'Omega<Tab>`W\ \ Ω <plug>\Omega '
|
||||||
|
" }}}
|
||||||
|
" BinaryRel1 {{{
|
||||||
|
let s:pA4 = s:pA."&BinaryRel1."
|
||||||
|
exe s:pA4.'ll<Tab>≪ <plug>\ll '
|
||||||
|
exe s:pA4.'lll<Tab>⋘ <plug>\lll '
|
||||||
|
exe s:pA4.'leqslant<Tab>≤ <plug>\leqslant '
|
||||||
|
exe s:pA4.'leq<Tab>≤ <plug>\leq '
|
||||||
|
exe s:pA4.'leqq<Tab>≦ <plug>\leqq '
|
||||||
|
exe s:pA4.'eqslantless<Tab>⋜ <plug>\eqslantless '
|
||||||
|
exe s:pA4.'lessdot<Tab>⋖ <plug>\lessdot '
|
||||||
|
exe s:pA4.'prec<Tab>≺ <plug>\prec '
|
||||||
|
exe s:pA4.'preceq<Tab>≼ <plug>\preceq '
|
||||||
|
exe s:pA4.'preccurlyeq<Tab>≼ <plug>\preccurlyeq '
|
||||||
|
exe s:pA4.'curlyeqprec<Tab>⋞ <plug>\curlyeqprec '
|
||||||
|
exe s:pA4.'lesssim<Tab>≲ <plug>\lesssim '
|
||||||
|
exe s:pA4.'lessapprox<Tab> <plug>\lessapprox '
|
||||||
|
exe s:pA4.'precsim<Tab>≾ <plug>\precsim '
|
||||||
|
exe s:pA4.'precapprox<Tab> <plug>\precapprox '
|
||||||
|
exe s:pA4.'in<Tab>∈ <plug>\in '
|
||||||
|
exe s:pA4.'subset<Tab>`(\ \ ⊂ <plug>\subset '
|
||||||
|
exe s:pA4.'Subset<Tab>`)\ \ ⋐ <plug>\Subset '
|
||||||
|
exe s:pA4.'subseteq<Tab>⊆ <plug>\subseteq '
|
||||||
|
exe s:pA4.'subseteqq<Tab> <plug>\subseteqq '
|
||||||
|
exe s:pA4.'sqsubset<Tab>⊏ <plug>\sqsubset '
|
||||||
|
exe s:pA4.'sqsubseteq<Tab>⊑ <plug>\sqsubseteq '
|
||||||
|
exe s:pA4.'smile<Tab>⌣ <plug>\smile '
|
||||||
|
exe s:pA4.'smallsmile<Tab>⌣ <plug>\smallsmile '
|
||||||
|
exe s:pA4.'parallel<Tab>∥ <plug>\parallel '
|
||||||
|
exe s:pA4.'shortparallel<Tab>∥ <plug>\shortparallel '
|
||||||
|
exe s:pA4.'dashv<Tab>⊣ <plug>\dashv '
|
||||||
|
exe s:pA4.'vdash<Tab>⊢ <plug>\vdash '
|
||||||
|
exe s:pA4.'vDash<Tab>⊨ <plug>\vDash '
|
||||||
|
exe s:pA4.'models<Tab>⊨ <plug>\models '
|
||||||
|
exe s:pA4.'therefore<Tab>∴ <plug>\therefore '
|
||||||
|
exe s:pA4.'backepsilon<Tab>∍ <plug>\backepsilon '
|
||||||
|
" }}}
|
||||||
|
" nBinaryRel1 {{{
|
||||||
|
let s:pA4a = s:pA."&nBinaryRel1."
|
||||||
|
exe s:pA4a.'nless<Tab>≮ <plug>\nless '
|
||||||
|
exe s:pA4a.'nleqslant<Tab>≰ <plug>\nleqslant '
|
||||||
|
exe s:pA4a.'nleq<Tab> <plug>\nleq '
|
||||||
|
exe s:pA4a.'lneq<Tab> <plug>\lneq '
|
||||||
|
exe s:pA4a.'nleqq<Tab> <plug>\nleqq '
|
||||||
|
exe s:pA4a.'lneqq<Tab>≨ <plug>\lneqq '
|
||||||
|
exe s:pA4a.'lvertneqq<Tab> <plug>\lvertneqq '
|
||||||
|
exe s:pA4a.'nprec<Tab>⊀ <plug>\nprec '
|
||||||
|
exe s:pA4a.'npreceq<Tab>⋠ <plug>\npreceq '
|
||||||
|
exe s:pA4a.'precneqq<Tab> <plug>\precneqq '
|
||||||
|
exe s:pA4a.'lnsim<Tab>⋦ <plug>\lnsim '
|
||||||
|
exe s:pA4a.'lnapprox<Tab> <plug>\lnapprox '
|
||||||
|
exe s:pA4a.'precnsim<Tab>⋨ <plug>\precnsim '
|
||||||
|
exe s:pA4a.'precnapprox<Tab> <plug>\precnapprox '
|
||||||
|
exe s:pA4a.'notin<Tab>∉ <plug>\notin '
|
||||||
|
exe s:pA4a.'nsubseteq<Tab>⊈ <plug>\nsubseteq '
|
||||||
|
exe s:pA4a.'varsubsetneq<Tab> <plug>\varsubsetneq '
|
||||||
|
exe s:pA4a.'subsetneq<Tab>⊊ <plug>\subsetneq '
|
||||||
|
exe s:pA4a.'nsubseteqq<Tab> <plug>\nsubseteqq '
|
||||||
|
exe s:pA4a.'varsubsetneqq<Tab> <plug>\varsubsetneqq '
|
||||||
|
exe s:pA4a.'subsetneqq<Tab>⊈ <plug>\subsetneqq '
|
||||||
|
exe s:pA4a.'nparallel<Tab>∦ <plug>\nparallel '
|
||||||
|
exe s:pA4a.'nshortparallel<Tab> <plug>\nshortparallel '
|
||||||
|
exe s:pA4a.'nvdash<Tab>⊬ <plug>\nvdash '
|
||||||
|
exe s:pA4a.'nvDash<Tab>⊭ <plug>\nvDash '
|
||||||
|
" }}}
|
||||||
|
" BinaryRel2 {{{
|
||||||
|
let s:pA5 = s:pA."&BinaryRel2."
|
||||||
|
exe s:pA5.'gg<Tab>≫ <plug>\gg '
|
||||||
|
exe s:pA5.'ggg<Tab>⋙ <plug>\ggg '
|
||||||
|
exe s:pA5.'gggtr<Tab>⋙ <plug>\gggtr '
|
||||||
|
exe s:pA5.'geqslant<Tab> <plug>\geqslant '
|
||||||
|
exe s:pA5.'geq<Tab>≥ <plug>\geq '
|
||||||
|
exe s:pA5.'geqq<Tab>≧ <plug>\geqq '
|
||||||
|
exe s:pA5.'eqslantgtr<Tab> <plug>\eqslantgtr '
|
||||||
|
exe s:pA5.'gtrdot<Tab>⋗ <plug>\gtrdot '
|
||||||
|
exe s:pA5.'succ<Tab>≻ <plug>\succ '
|
||||||
|
exe s:pA5.'succeq<Tab>≽ <plug>\succeq '
|
||||||
|
exe s:pA5.'succcurlyeq<Tab>≽ <plug>\succcurlyeq '
|
||||||
|
exe s:pA5.'curlyeqsucc<Tab>⋟ <plug>\curlyeqsucc '
|
||||||
|
exe s:pA5.'gtrsim<Tab>≳ <plug>\gtrsim '
|
||||||
|
exe s:pA5.'gtrapprox<Tab> <plug>\gtrapprox '
|
||||||
|
exe s:pA5.'succsim<Tab>≿ <plug>\succsim '
|
||||||
|
exe s:pA5.'succapprox<Tab> <plug>\succapprox '
|
||||||
|
exe s:pA5.'ni<Tab>∋ <plug>\ni '
|
||||||
|
exe s:pA5.'owns<Tab> <plug>\owns '
|
||||||
|
exe s:pA5.'supset<Tab>⊃ <plug>\supset '
|
||||||
|
exe s:pA5.'Supset<Tab>⋑ <plug>\Supset '
|
||||||
|
exe s:pA5.'supseteq<Tab>⊇ <plug>\supseteq '
|
||||||
|
exe s:pA5.'supseteqq<Tab> <plug>\supseteqq '
|
||||||
|
exe s:pA5.'sqsupset<Tab>⊐ <plug>\sqsupset '
|
||||||
|
exe s:pA5.'sqsupseteq<Tab>⊒ <plug>\sqsupseteq '
|
||||||
|
exe s:pA5.'frown<Tab>⌢ <plug>\frown '
|
||||||
|
exe s:pA5.'smallfrown<Tab>⌢ <plug>\smallfrown '
|
||||||
|
exe s:pA5.'mid<Tab>∣ <plug>\mid '
|
||||||
|
exe s:pA5.'shortmid<Tab> <plug>\shortmid '
|
||||||
|
exe s:pA5.'between<Tab>≬ <plug>\between '
|
||||||
|
exe s:pA5.'Vdash<Tab>⊩ <plug>\Vdash '
|
||||||
|
exe s:pA5.'bowtie<Tab>⋈ <plug>\bowtie '
|
||||||
|
exe s:pA5.'Join<Tab>⋈ <plug>\Join '
|
||||||
|
exe s:pA5.'pitchfork<Tab>⋔ <plug>\pitchfork '
|
||||||
|
" }}}
|
||||||
|
" {{{ nBinaryRel2
|
||||||
|
let s:pA5a = s:pA."n&BinaryRel2." "TODO: dorobiæ logarytmy
|
||||||
|
exe s:pA5a.'ngtr<Tab>≯ <plug>\ngtr '
|
||||||
|
exe s:pA5a.'ngeqslant<Tab>≱ <plug>\ngeqslant '
|
||||||
|
exe s:pA5a.'ngeq<Tab> <plug>\ngeq '
|
||||||
|
exe s:pA5a.'gneq<Tab> <plug>\gneq '
|
||||||
|
exe s:pA5a.'ngeqq<Tab> <plug>\ngeqq '
|
||||||
|
exe s:pA5a.'gneqq<Tab>≩ <plug>\gneqq '
|
||||||
|
exe s:pA5a.'nsucc<Tab>⊁ <plug>\nsucc '
|
||||||
|
exe s:pA5a.'nsucceq<Tab>⋡ <plug>\nsucceq '
|
||||||
|
exe s:pA5a.'succneqq<Tab> <plug>\succneqq '
|
||||||
|
exe s:pA5a.'gnsim<Tab>⋧ <plug>\gnsim '
|
||||||
|
exe s:pA5a.'gnapprox<Tab> <plug>\gnapprox '
|
||||||
|
exe s:pA5a.'succnsim<Tab>⋩ <plug>\succnsim '
|
||||||
|
exe s:pA5a.'succnapprox<Tab> <plug>\succnapprox '
|
||||||
|
exe s:pA5a.'nsupseteq<Tab>⊉ <plug>\nsupseteq '
|
||||||
|
exe s:pA5a.'varsupsetneq<Tab> <plug>\varsupsetneq '
|
||||||
|
exe s:pA5a.'supsetneq<Tab>⊋ <plug>\supsetneq '
|
||||||
|
exe s:pA5a.'nsupseteqq<Tab> <plug>\nsupseteqq '
|
||||||
|
exe s:pA5a.'varsupsetneqq<Tab> <plug>\varsupsetneqq '
|
||||||
|
exe s:pA5a.'supsetneqq<Tab> <plug>\supsetneqq '
|
||||||
|
exe s:pA5a.'nmid<Tab>∤ <plug>\nmid '
|
||||||
|
exe s:pA5a.'nshortmid<Tab> <plug>\nshortmid '
|
||||||
|
exe s:pA5a.'nVdash<Tab>⊮ <plug>\nVdash '
|
||||||
|
" }}}
|
||||||
|
" {{{ BinaryRel3
|
||||||
|
let s:pA6 = s:pA."&BinaryRel3."
|
||||||
|
exe s:pA6.'doteq<Tab>≐ <plug>\doteq '
|
||||||
|
exe s:pA6.'circeq<Tab>≗ <plug>\circeq '
|
||||||
|
exe s:pA6.'eqcirc<Tab>≖ <plug>\eqcirc '
|
||||||
|
exe s:pA6.'risingdotseq<Tab>≓ <plug>\risingdotseq '
|
||||||
|
exe s:pA6.'doteqdot<Tab>≑ <plug>\doteqdot '
|
||||||
|
exe s:pA6.'Doteq<Tab>≑ <plug>\Doteq '
|
||||||
|
exe s:pA6.'fallingdotseq<Tab>≒ <plug>\fallingdotseq '
|
||||||
|
exe s:pA6.'triangleq<Tab>≜ <plug>\triangleq '
|
||||||
|
exe s:pA6.'bumpeq<Tab>≏ <plug>\bumpeq '
|
||||||
|
exe s:pA6.'Bumpeq<Tab>≎ <plug>\Bumpeq '
|
||||||
|
exe s:pA6.'equiv<Tab>`=\ \ ≡ <plug>\equiv '
|
||||||
|
exe s:pA6.'sim<Tab>∼ <plug>\sim '
|
||||||
|
exe s:pA6.'thicksim<Tab>∼ <plug>\thicksim '
|
||||||
|
exe s:pA6.'backsim<Tab>∽ <plug>\backsim '
|
||||||
|
exe s:pA6.'simeq<Tab>≃ <plug>\simeq '
|
||||||
|
exe s:pA6.'backsimeq<Tab>⋍ <plug>\backsimeq '
|
||||||
|
exe s:pA6.'cong<Tab>≅ <plug>\cong '
|
||||||
|
exe s:pA6.'approx<tab>=~\ \ ≈ <plug>\approx '
|
||||||
|
exe s:pA6.'thickapprox<Tab>≈ <plug>\thickapprox '
|
||||||
|
exe s:pA6.'approxeq<Tab>≊ <plug>\approxeq '
|
||||||
|
exe s:pA6.'blacktriangleleft<Tab>◀ <plug>\blacktriangleleft '
|
||||||
|
exe s:pA6.'vartriangleleft<Tab>⊲ <plug>\vartriangleleft '
|
||||||
|
exe s:pA6.'trianglelefteq<Tab>⊴ <plug>\trianglelefteq '
|
||||||
|
exe s:pA6.'blacktriangleright<Tab>▶ <plug>\blacktriangleright '
|
||||||
|
exe s:pA6.'vartriangleright<Tab>⊳ <plug>\vartriangleright '
|
||||||
|
exe s:pA6.'trianglerighteq<Tab>⊵ <plug>\trianglerighteq '
|
||||||
|
exe s:pA6.'perp<Tab>⊥ <plug>\perp '
|
||||||
|
exe s:pA6.'asymp<Tab>≍ <plug>\asymp '
|
||||||
|
exe s:pA6.'Vvdash<Tab>⊪ <plug>\Vvdash '
|
||||||
|
exe s:pA6.'propto<Tab>∝ <plug>\propto '
|
||||||
|
exe s:pA6.'varpropto<Tab>∝ <plug>\varpropto '
|
||||||
|
exe s:pA6.'because<Tab>∵ <plug>\because '
|
||||||
|
" }}}
|
||||||
|
" {{{ nBinaryRel3
|
||||||
|
let s:pA6a = s:pA."&nBinaryRel3."
|
||||||
|
exe s:pA6a.'neq<Tab>≠ <plug>\neq '
|
||||||
|
exe s:pA6a.'nsim<Tab>≁ <plug>\nsim '
|
||||||
|
exe s:pA6a.'ncong<Tab>≆ <plug>\ncong '
|
||||||
|
exe s:pA6a.'ntriangleleft<Tab>⋪ <plug>\ntriangleleft '
|
||||||
|
exe s:pA6a.'ntrianglelefteq<Tab>⋬ <plug>\ntrianglelefteq '
|
||||||
|
exe s:pA6a.'ntriangleright<Tab>⋫ <plug>\ntriangleright '
|
||||||
|
exe s:pA6a.'ntrianglerighteq<Tab>⋭ <plug>\ntrianglerighteq '
|
||||||
|
" }}}
|
||||||
|
" {{{ BinaryRel4
|
||||||
|
let s:pA7 = s:pA."&BinaryRel4."
|
||||||
|
exe s:pA7.'lessgtr<Tab>≶ <plug>\lessgtr '
|
||||||
|
exe s:pA7.'gtrless<Tab>≷ <plug>\gtrless '
|
||||||
|
exe s:pA7.'lesseqgtr<Tab>⋚ <plug>\lesseqgtr '
|
||||||
|
exe s:pA7.'gtreqless<Tab>⋛ <plug>\gtreqless '
|
||||||
|
exe s:pA7.'lesseqqgtr<Tab> <plug>\lesseqqgtr '
|
||||||
|
exe s:pA7.'gtreqqless<Tab> <plug>\gtreqqless '
|
||||||
|
" }}}
|
||||||
|
" {{{ BigOp
|
||||||
|
let s:pA8a = s:pA."&BigOp."
|
||||||
|
exe s:pA8a.'limits<Tab> <plug>\limits'
|
||||||
|
exe s:pA8a.'nolimits<Tab> <plug>\nolimits'
|
||||||
|
exe s:pA8a.'displaylimits<Tab> <plug>\displaylimits'
|
||||||
|
exe s:pA8a.'-seplimits- :'
|
||||||
|
exe s:pA8a.'bigcap<Tab>`-\ \ ⋂ <plug>\bigcap'
|
||||||
|
exe s:pA8a.'bigcup<Tab>`+\ \ ⋃ <plug>\bigcup'
|
||||||
|
exe s:pA8a.'bigodot<Tab>⊙ <plug>\bigodot'
|
||||||
|
exe s:pA8a.'bigoplus<Tab>⊕ <plug>\bigoplus'
|
||||||
|
exe s:pA8a.'bigotimes<Tab>⊗ <plug>\bigotimes'
|
||||||
|
exe s:pA8a.'bigsqcup<Tab>⊔ <plug>\bigsqcup'
|
||||||
|
exe s:pA8a.'biguplus<Tab>⊎ <plug>\biguplus'
|
||||||
|
exe s:pA8a.'bigvee<Tab>⋁ <plug>\bigvee'
|
||||||
|
exe s:pA8a.'bigwedge<Tab>⋀ <plug>\bigwedge'
|
||||||
|
exe s:pA8a.'coprod<Tab>∐ <plug>\coprod'
|
||||||
|
exe s:pA8a.'int<Tab>∫ <plug>\int'
|
||||||
|
exe s:pA8a.'iint<Tab>∬ <plug>\int'
|
||||||
|
exe s:pA8a.'iiint<Tab>∭ <plug>\int'
|
||||||
|
exe s:pA8a.'oint<Tab>∮ <plug>\oint'
|
||||||
|
exe s:pA8a.'prod<Tab>∏ <plug>\prod'
|
||||||
|
exe s:pA8a.'sum<Tab>∑ <plug>\sum'
|
||||||
|
" }}}
|
||||||
|
" {{{ BinaryOp
|
||||||
|
let s:pA8 = s:pA."&BinaryOp."
|
||||||
|
exe s:pA8.'pm<Tab>± <plug>\pm '
|
||||||
|
exe s:pA8.'mp<Tab>∓ <plug>\mp '
|
||||||
|
exe s:pA8.'dotplus<Tab>∔ <plug>\dotplus '
|
||||||
|
exe s:pA8.'cdot<Tab>`.\ \ ⋅ <plug>\cdot '
|
||||||
|
exe s:pA8.'centerdot<Tab>⋅ <plug>\centerdot '
|
||||||
|
exe s:pA8.'times<Tab>`*\ \ × <plug>\times '
|
||||||
|
exe s:pA8.'ltimes<Tab>⋉ <plug>\ltimes '
|
||||||
|
exe s:pA8.'rtimes<Tab>⋊ <plug>\rtimes '
|
||||||
|
exe s:pA8.'leftthreetimes<Tab>⋋ <plug>\leftthreetimes '
|
||||||
|
exe s:pA8.'rightthreetimes<Tab>⋌ <plug>\rightthreetimes '
|
||||||
|
exe s:pA8.'div<Tab>÷ <plug>\div '
|
||||||
|
exe s:pA8.'divideontimes<Tab>⋇ <plug>\divideontimes '
|
||||||
|
exe s:pA8.'bmod<Tab> <plug>\bmod '
|
||||||
|
exe s:pA8.'ast<Tab>∗ <plug>\ast '
|
||||||
|
exe s:pA8.'star<Tab>⋆ <plug>\star '
|
||||||
|
exe s:pA8.'setminus<Tab>`\\\ \ ∖ <plug>\setminus '
|
||||||
|
exe s:pA8.'smallsetminus<Tab>∖ <plug>\smallsetminus '
|
||||||
|
exe s:pA8.'diamond<Tab>⋄ <plug>\diamond '
|
||||||
|
exe s:pA8.'wr<Tab>≀ <plug>\wr '
|
||||||
|
exe s:pA8.'intercal<Tab>⊺ <plug>\intercal '
|
||||||
|
exe s:pA8.'circ<Tab>`@\ \ ∘ <plug>\circ '
|
||||||
|
exe s:pA8.'bigcirc<Tab>○ <plug>\bigcirc '
|
||||||
|
exe s:pA8.'bullet<Tab>∙ <plug>\bullet '
|
||||||
|
exe s:pA8.'cap<Tab>∩ <plug>\cap '
|
||||||
|
exe s:pA8.'Cap<Tab>⋒ <plug>\Cap '
|
||||||
|
exe s:pA8.'cup<Tab>∪ <plug>\cup '
|
||||||
|
exe s:pA8.'Cup<Tab>⋓ <plug>\Cup '
|
||||||
|
exe s:pA8.'sqcap<Tab>⊓ <plug>\sqcap '
|
||||||
|
exe s:pA8.'sqcup<Tab>⊔ <plug>\sqcup'
|
||||||
|
exe s:pA8.'amalg<Tab> <plug>\amalg '
|
||||||
|
exe s:pA8.'uplus<Tab>⊎ <plug>\uplus '
|
||||||
|
exe s:pA8.'triangleleft<Tab>◁ <plug>\triangleleft '
|
||||||
|
exe s:pA8.'triangleright<Tab>▷ <plug>\triangleright '
|
||||||
|
exe s:pA8.'bigtriangleup<Tab>△ <plug>\bigtriangleup '
|
||||||
|
exe s:pA8.'bigtriangledown<Tab>▽ <plug>\bigtriangledown '
|
||||||
|
exe s:pA8.'vee<Tab>∨ <plug>\vee '
|
||||||
|
exe s:pA8.'veebar<Tab>⊻ <plug>\veebar '
|
||||||
|
exe s:pA8.'curlyvee<Tab>⋎ <plug>\curlyvee '
|
||||||
|
exe s:pA8.'wedge<Tab>`&\ \ ∧ <plug>\wedge '
|
||||||
|
exe s:pA8.'barwedge<Tab>⊼ <plug>\barwedge '
|
||||||
|
exe s:pA8.'doublebarwedge<Tab>⌆ <plug>\doublebarwedge '
|
||||||
|
exe s:pA8.'curlywedge<Tab>⋏ <plug>\curlywedge '
|
||||||
|
exe s:pA8.'oplus<Tab>⊕ <plug>\oplus '
|
||||||
|
exe s:pA8.'ominus<Tab>⊖ <plug>\ominus '
|
||||||
|
exe s:pA8.'otimes<Tab>⊗ <plug>\otimes '
|
||||||
|
exe s:pA8.'oslash<Tab>⊘ <plug>\oslash '
|
||||||
|
exe s:pA8.'boxplus<Tab>⊞ <plug>\boxplus '
|
||||||
|
exe s:pA8.'boxminus<Tab>⊟ <plug>\boxminus '
|
||||||
|
exe s:pA8.'boxtimes<Tab>⊠ <plug>\boxtimes '
|
||||||
|
exe s:pA8.'boxdot<Tab>⊡ <plug>\boxdot '
|
||||||
|
exe s:pA8.'odot<Tab>⊙ <plug>\odot '
|
||||||
|
exe s:pA8.'circledast<Tab>⊛ <plug>\circledast '
|
||||||
|
exe s:pA8.'circleddash<Tab>⊝ <plug>\circleddash '
|
||||||
|
exe s:pA8.'circledcirc<Tab>⊚ <plug>\circledcirc '
|
||||||
|
exe s:pA8.'dagger<Tab>† <plug>\dagger '
|
||||||
|
exe s:pA8.'ddagger<Tab>‡ <plug>\ddagger '
|
||||||
|
exe s:pA8.'lhd<Tab>⊲ <plug>\lhd '
|
||||||
|
exe s:pA8.'unlhd<Tab>⊴ <plug>\unlhd '
|
||||||
|
exe s:pA8.'rhd<Tab>⊳ <plug>\rhd '
|
||||||
|
exe s:pA8.'unrhd<Tab>⊵ <plug>\unrhd '
|
||||||
|
" }}}
|
||||||
|
" {{{ Other1
|
||||||
|
let s:pA9 = s:pA."&Other1."
|
||||||
|
exe s:pA9.'hat<Tab>â <plug>\hat '
|
||||||
|
exe s:pA9.'check<Tab>ǎ <plug>\check '
|
||||||
|
exe s:pA9.'grave<Tab>à <plug>\grave '
|
||||||
|
exe s:pA9.'acute<Tab>á <plug>\acute '
|
||||||
|
exe s:pA9.'dot<Tab>ȧ <plug>\dot '
|
||||||
|
exe s:pA9.'ddot<Tab>ä <plug>\ddot '
|
||||||
|
exe s:pA9.'tilde<Tab>`,\ \ ã <plug>\tilde '
|
||||||
|
exe s:pA9.'breve<Tab>ă <plug>\breve '
|
||||||
|
exe s:pA9.'bar<Tab>ā <plug>\bar '
|
||||||
|
exe s:pA9.'vec<Tab>a⃗ <plug>\vec '
|
||||||
|
exe s:pA9.'aleph<Tab>א <plug>\aleph '
|
||||||
|
exe s:pA9.'hbar<Tab>ℏ <plug>\hbar '
|
||||||
|
exe s:pA9.'imath<Tab> <plug>\imath '
|
||||||
|
exe s:pA9.'jmath<Tab> <plug>\jmath '
|
||||||
|
exe s:pA9.'ell<Tab>ℓ <plug>\ell '
|
||||||
|
exe s:pA9.'wp<Tab>℘ <plug>\wp '
|
||||||
|
exe s:pA9.'Re<Tab>ℜ <plug>\Re '
|
||||||
|
exe s:pA9.'Im<Tab>ℑ <plug>\Im '
|
||||||
|
exe s:pA9.'partial<Tab>∂ <plug>\partial '
|
||||||
|
exe s:pA9.'infty<Tab>`8\ \ ∞ <plug>\infty '
|
||||||
|
exe s:pA9.'prime<Tab>′ <plug>\prime '
|
||||||
|
exe s:pA9.'emptyset<Tab>∅ <plug>\emptyset '
|
||||||
|
exe s:pA9.'nabla<Tab>∇ <plug>\nabla '
|
||||||
|
exe s:pA9.'surd<Tab>√ <plug>\surd '
|
||||||
|
exe s:pA9.'top<Tab>⊤ <plug>\top '
|
||||||
|
exe s:pA9.'bot<Tab>⊥ <plug>\bot '
|
||||||
|
exe s:pA9.'angle<Tab>∠ <plug>\angle '
|
||||||
|
exe s:pA9.'triangle<Tab>△ <plug>\triangle '
|
||||||
|
exe s:pA9.'backslash<Tab>\\ <plug>\backslash '
|
||||||
|
exe s:pA9.'forall<Tab>∀ <plug>\forall '
|
||||||
|
exe s:pA9.'exists<Tab>∃ <plug>\exists '
|
||||||
|
exe s:pA9.'neg<Tab>¬ <plug>\neg '
|
||||||
|
exe s:pA9.'flat<Tab>♭ <plug>\flat '
|
||||||
|
exe s:pA9.'natural<Tab>♮ <plug>\natural '
|
||||||
|
exe s:pA9.'sharp<Tab>♯ <plug>\sharp '
|
||||||
|
exe s:pA9.'clubsuit<Tab>♣ <plug>\clubsuit '
|
||||||
|
exe s:pA9.'diamondsuit<Tab>♢ <plug>\diamondsuit '
|
||||||
|
exe s:pA9.'heartsuit<Tab>♡ <plug>\heartsuit '
|
||||||
|
exe s:pA9.'spadesuit<Tab>♠ <plug>\spadesuit '
|
||||||
|
exe s:pA9.'S<Tab>§ <plug>\S '
|
||||||
|
exe s:pA9.'P<Tab>¶ <plug>\P'
|
||||||
|
" }}}
|
||||||
|
" {{{ MathCreating
|
||||||
|
let s:pA10 = s:pA."&MathCreating."
|
||||||
|
exe s:pA10.'not<Tab> <plug>\not'
|
||||||
|
exe s:pA10.'mkern<Tab> <plug>\mkern'
|
||||||
|
exe s:pA10.'mathbin<Tab> <plug>\mathbin'
|
||||||
|
exe s:pA10.'mathrel<Tab> <plug>\mathrel'
|
||||||
|
exe s:pA10.'stackrel<Tab> <plug>\stackrel'
|
||||||
|
exe s:pA10.'mathord<Tab> <plug>\mathord'
|
||||||
|
" }}}
|
||||||
|
" {{{ Styles
|
||||||
|
let s:pA11 = s:pA."&Styles."
|
||||||
|
exe s:pA11.'displaystyle<Tab> <plug>\displaystyle'
|
||||||
|
exe s:pA11.'textstyle<Tab> <plug>\textstyle'
|
||||||
|
exe s:pA11.'scritpstyle<Tab> <plug>\scritpstyle'
|
||||||
|
exe s:pA11.'scriptscriptstyle<Tab> <plug>\scriptscriptstyle'
|
||||||
|
" }}}
|
||||||
|
" {{{ MathDiacritics
|
||||||
|
let s:pA12 = s:pA."&MathDiacritics."
|
||||||
|
exe s:pA12.'acute{}<Tab>á <plug><C-r>=IMAP_PutTextWithMovement("\\acute{<++>}<++>")<cr>'
|
||||||
|
exe s:pA12.'bar{}<Tab>`_\ \ ā <plug><C-r>=IMAP_PutTextWithMovement("\\bar{<++>}<++>")<cr>'
|
||||||
|
exe s:pA12.'breve{}<Tab>ă <plug><C-r>=IMAP_PutTextWithMovement("\\breve{<++>}<++>")<cr>'
|
||||||
|
exe s:pA12.'check{}<Tab>ǎ <plug><C-r>=IMAP_PutTextWithMovement("\\check{<++>}<++>")<cr>'
|
||||||
|
exe s:pA12.'ddot{}<Tab>`:\ \ ä <plug><C-r>=IMAP_PutTextWithMovement("\\ddot{<++>}<++>")<cr>'
|
||||||
|
exe s:pA12.'dot{}<Tab>`;\ \ ȧ <plug><C-r>=IMAP_PutTextWithMovement("\\dot{<++>}<++>")<cr>'
|
||||||
|
exe s:pA12.'grave{}<Tab>à <plug><C-r>=IMAP_PutTextWithMovement("\\grave{<++>}<++>")<cr>'
|
||||||
|
exe s:pA12.'hat{}<Tab>`^\ \ â <plug><C-r>=IMAP_PutTextWithMovement("\\hat{<++>}<++>")<cr>'
|
||||||
|
exe s:pA12.'tilde{}<tab>`~\ \ ã <plug><C-r>=IMAP_PutTextWithMovement("\\tilde{<++>}<++>")<cr>'
|
||||||
|
exe s:pA12.'vec{}<Tab>a⃗ <plug><C-r>=IMAP_PutTextWithMovement("\\vec{<++>}<++>")<cr>'
|
||||||
|
exe s:pA12.'widehat{}<Tab> <plug><C-r>=IMAP_PutTextWithMovement("\\widehat{<++>}<++>")<cr>'
|
||||||
|
exe s:pA12.'widetilde{}<Tab> <plug><C-r>=IMAP_PutTextWithMovement("\\widetilde{<++>}<++>")<cr>'
|
||||||
|
exe s:pA12.'imath<Tab> <plug><C-r>=IMAP_PutTextWithMovement("\\imath")<cr>'
|
||||||
|
exe s:pA12.'jmath<Tab> <plug><C-r>=IMAP_PutTextWithMovement("\\jmath")<cr>'
|
||||||
|
" }}}
|
||||||
|
" {{{ OverlineAndCo
|
||||||
|
let s:pA13 = s:pA."&OverlineAndCo."
|
||||||
|
exe s:pA13.'overline{} <plug><C-r>=IMAP_PutTextWithMovement("\\overline{}")<cr>'
|
||||||
|
exe s:pA13.'underline{} <plug><C-r>=IMAP_PutTextWithMovement("\\underline{}")<cr>'
|
||||||
|
exe s:pA13.'overrightarrow{} <plug><C-r>=IMAP_PutTextWithMovement("\\overrightarrow{}")<cr>'
|
||||||
|
exe s:pA13.'overleftarrow{} <plug><C-r>=IMAP_PutTextWithMovement("\\overleftarrow{}")<cr>'
|
||||||
|
exe s:pA13.'overbrace{} <plug><C-r>=IMAP_PutTextWithMovement("\\overbrace{}")<cr>'
|
||||||
|
exe s:pA13.'underbrace{} <plug><C-r>=IMAP_PutTextWithMovement("\\underbrace{}")<cr>'
|
||||||
|
" }}}
|
||||||
|
" {{{ Symbols1
|
||||||
|
let s:pA14a = s:pA."&Symbols1."
|
||||||
|
exe s:pA14a.'forall<Tab>∀ <plug>\forall '
|
||||||
|
exe s:pA14a.'exists<Tab>∃ <plug>\exists '
|
||||||
|
exe s:pA14a.'nexists<Tab>∄ <plug>\nexists '
|
||||||
|
exe s:pA14a.'neg<Tab>¬ <plug>\neg '
|
||||||
|
exe s:pA14a.'top<Tab>⊤ <plug>\top '
|
||||||
|
exe s:pA14a.'bot<Tab>⊥ <plug>\bot '
|
||||||
|
exe s:pA14a.'emptyset<Tab>∅ <plug>\emptyset '
|
||||||
|
exe s:pA14a.'varnothing<Tab>⌀ <plug>\varnothing '
|
||||||
|
exe s:pA14a.'infty<Tab>∞ <plug>\infty '
|
||||||
|
exe s:pA14a.'aleph<Tab>א <plug>\aleph '
|
||||||
|
exe s:pA14a.'beth<Tab>ב <plug>\beth '
|
||||||
|
exe s:pA14a.'gimel<Tab>ג <plug>\gimel '
|
||||||
|
exe s:pA14a.'daleth<Tab>ד <plug>\daleth '
|
||||||
|
exe s:pA14a.'hbar<Tab> <plug>\hbar '
|
||||||
|
exe s:pA14a.'hslash<Tab>ℏ <plug>\hslash '
|
||||||
|
exe s:pA14a.'diagup<Tab>⁄ <plug>\diagup '
|
||||||
|
exe s:pA14a.'vert<Tab>\| <plug>\vert '
|
||||||
|
exe s:pA14a.'Vert<Tab>∥ <plug>\Vert '
|
||||||
|
exe s:pA14a.'backslash<Tab>\\ <plug>\backslash '
|
||||||
|
exe s:pA14a.'diagdown<Tab> <plug>\diagdown '
|
||||||
|
exe s:pA14a.'Bbbk<Tab>ᵕ <plug>\Bbbk '
|
||||||
|
exe s:pA14a.'P<Tab>¶ <plug>\P '
|
||||||
|
exe s:pA14a.'S<Tab>§ <plug>\S '
|
||||||
|
" }}}
|
||||||
|
" {{{ Symbols2
|
||||||
|
let s:pA14b = s:pA."&Symbols2."
|
||||||
|
exe s:pA14b.'# <plug>\# '
|
||||||
|
exe s:pA14b.'% <plug>\% '
|
||||||
|
exe s:pA14b.'_<Tab> <plug>\_ '
|
||||||
|
exe s:pA14b.'$ <plug>\$ '
|
||||||
|
exe s:pA14b.'& <plug>\& '
|
||||||
|
exe s:pA14b.'imath<Tab> <plug>\imath '
|
||||||
|
exe s:pA14b.'jmath<Tab> <plug>\jmath '
|
||||||
|
exe s:pA14b.'ell<Tab>ℓ <plug>\ell '
|
||||||
|
exe s:pA14b.'wp<Tab>℘ <plug>\wp '
|
||||||
|
exe s:pA14b.'Re<Tab>ℜ <plug>\Re '
|
||||||
|
exe s:pA14b.'Im<Tab>ℑ <plug>\Im '
|
||||||
|
exe s:pA14b.'prime<Tab>′ <plug>\prime '
|
||||||
|
exe s:pA14b.'backprime<Tab>‵ <plug>\backprime '
|
||||||
|
exe s:pA14b.'nabla<Tab>∇ <plug>\nabla '
|
||||||
|
exe s:pA14b.'surd<Tab>√ <plug>\surd '
|
||||||
|
exe s:pA14b.'flat<Tab>♭ <plug>\flat '
|
||||||
|
exe s:pA14b.'sharp<Tab>♯ <plug>\sharp '
|
||||||
|
exe s:pA14b.'natural<Tab>♮ <plug>\natural '
|
||||||
|
exe s:pA14b.'eth<Tab>ð <plug>\eth '
|
||||||
|
exe s:pA14b.'bigstar<Tab>★ <plug>\bigstar '
|
||||||
|
exe s:pA14b.'circledS<Tab>Ⓢ <plug>\circledS '
|
||||||
|
exe s:pA14b.'Finv<Tab>Ⅎ <plug>\Finv '
|
||||||
|
exe s:pA14b.'dag<Tab>† <plug>\dag '
|
||||||
|
exe s:pA14b.'ddag<Tab>‡ <plug>\ddag '
|
||||||
|
" }}}
|
||||||
|
" {{{ Symbols3
|
||||||
|
let s:pA14c = s:pA."&Symbols3."
|
||||||
|
exe s:pA14c.'angle<Tab>∠ <plug>\angle '
|
||||||
|
exe s:pA14c.'measuredangle<Tab>∡ <plug>\measuredangle '
|
||||||
|
exe s:pA14c.'sphericalangle<Tab>∢ <plug>\sphericalangle '
|
||||||
|
exe s:pA14c.'spadesuit<Tab>♠ <plug>\spadesuit '
|
||||||
|
exe s:pA14c.'heartsuit<Tab>♡ <plug>\heartsuit '
|
||||||
|
exe s:pA14c.'diamondsuit<Tab>♢ <plug>\diamondsuit '
|
||||||
|
exe s:pA14c.'clubsuit<Tab>♣ <plug>\clubsuit '
|
||||||
|
exe s:pA14c.'lozenge<Tab>◊ <plug>\lozenge '
|
||||||
|
exe s:pA14c.'blacklozenge<Tab>◆ <plug>\blacklozenge '
|
||||||
|
exe s:pA14c.'Diamond<Tab>◇ <plug>\Diamond '
|
||||||
|
exe s:pA14c.'triangle<Tab>△ <plug>\triangle '
|
||||||
|
exe s:pA14c.'vartriangle<Tab>△ <plug>\vartriangle '
|
||||||
|
exe s:pA14c.'blacktriangle<Tab>▲ <plug>\blacktriangle '
|
||||||
|
exe s:pA14c.'triangledown<Tab>▽ <plug>\triangledown '
|
||||||
|
exe s:pA14c.'blacktriangledown<Tab>▼ <plug>\blacktriangledown '
|
||||||
|
exe s:pA14c.'Box<Tab>□ <plug>\Box '
|
||||||
|
exe s:pA14c.'square<Tab>□ <plug>\square '
|
||||||
|
exe s:pA14c.'blacksquare<Tab>■ <plug>\blacksquare '
|
||||||
|
exe s:pA14c.'complement<Tab>∁ <plug>\complement '
|
||||||
|
exe s:pA14c.'mho<Tab>℧ <plug>\mho '
|
||||||
|
exe s:pA14c.'Game<Tab>⅁ <plug>\Game '
|
||||||
|
exe s:pA14c.'partial<Tab>`6\ \ ∂ <plug>\partial '
|
||||||
|
exe s:pA14c.'smallint<Tab>∫ <plug>\smallint '
|
||||||
|
" }}}
|
||||||
|
" {{{ Logic
|
||||||
|
let s:pA15 = s:pA."&Logic."
|
||||||
|
exe s:pA15.'lnot<Tab>¬ <plug>\lnot '
|
||||||
|
exe s:pA15.'lor<Tab>∨ <plug>\lor '
|
||||||
|
exe s:pA15.'land<Tab>∧ <plug>\land '
|
||||||
|
" }}}
|
||||||
|
" {{{ Limits1
|
||||||
|
let s:pA16 = s:pA."&Limits1."
|
||||||
|
exe s:pA16.'left<Tab>( <plug>\left'
|
||||||
|
exe s:pA16.'right<Tab>) <plug>\right'
|
||||||
|
exe s:pA16.'-sepbigl- :'
|
||||||
|
exe s:pA16.'bigl<Tab> <plug>\bigl'
|
||||||
|
exe s:pA16.'Bigl<Tab> <plug>\Bigl'
|
||||||
|
exe s:pA16.'biggl<Tab> <plug>\biggl'
|
||||||
|
exe s:pA16.'Biggl<Tab> <plug>\Biggl'
|
||||||
|
exe s:pA16.'-sepbigr- :'
|
||||||
|
exe s:pA16.'bigr<Tab> <plug>\bigr'
|
||||||
|
exe s:pA16.'Bigr<Tab> <plug>\Bigr'
|
||||||
|
exe s:pA16.'biggr<Tab> <plug>\biggr'
|
||||||
|
exe s:pA16.'Biggr<Tab> <plug>\Biggr'
|
||||||
|
exe s:pA16.'-sepbig- :'
|
||||||
|
exe s:pA16.'big<Tab> <plug>\big'
|
||||||
|
exe s:pA16.'bigm<Tab> <plug>\bigm'
|
||||||
|
exe s:pA16.'-sepfloor- :'
|
||||||
|
exe s:pA16.'lfloor<Tab>⌊ <plug>\lfloor '
|
||||||
|
exe s:pA16.'lceil<Tab>⌈ <plug>\lceil '
|
||||||
|
exe s:pA16.'rfloor<Tab>⌋ <plug>\rfloor '
|
||||||
|
exe s:pA16.'rceil<Tab>⌉ <plug>\rceil '
|
||||||
|
exe s:pA16.'-sepangle- :'
|
||||||
|
exe s:pA16.'langle<Tab>〈 <plug>\langle '
|
||||||
|
exe s:pA16.'rangle<Tab>〉 <plug>\rangle '
|
||||||
|
" }}}
|
||||||
|
" {{{ Limits2
|
||||||
|
let s:pA16a = s:pA."&Limits2."
|
||||||
|
exe s:pA16a.'ulcorner<Tab>⌜ <plug>\ulcorner '
|
||||||
|
exe s:pA16a.'urcorner<Tab>⌝ <plug>\urcorner '
|
||||||
|
exe s:pA16a.'llcorner<Tab>⌞ <plug>\llcorner '
|
||||||
|
exe s:pA16a.'rlcorner<Tab>⌟ <plug>\rlcorner '
|
||||||
|
exe s:pA16a.'-sepcorner- :'
|
||||||
|
exe s:pA16a.'vert<Tab>\| <plug>\vert '
|
||||||
|
exe s:pA16a.'Vert<Tab>∥ <plug>\Vert '
|
||||||
|
exe s:pA16a.'lvert<Tab> <plug>\lvert '
|
||||||
|
exe s:pA16a.'lVert<Tab> <plug>\lVert '
|
||||||
|
exe s:pA16a.'rvert<Tab> <plug>\rvert '
|
||||||
|
exe s:pA16a.'rVert<Tab> <plug>\rVert '
|
||||||
|
exe s:pA16a.'uparrow<Tab>↑ <plug>\uparrow '
|
||||||
|
exe s:pA16a.'Uparrow<Tab>⇑ <plug>\Uparrow '
|
||||||
|
exe s:pA16a.'downarrow<Tab>↓ <plug>\downarrow '
|
||||||
|
exe s:pA16a.'Downarrow<Tab>⇓ <plug>\Downarrow '
|
||||||
|
exe s:pA16a.'updownarrow<Tab>↕ <plug>\updownarrow '
|
||||||
|
exe s:pA16a.'Updownarrow<Tab>⇕ <plug>\Updownarrow '
|
||||||
|
exe s:pA16a.'lgroup<Tab> <plug>\lgroup '
|
||||||
|
exe s:pA16a.'rgroup<Tab> <plug>\rgroup '
|
||||||
|
exe s:pA16a.'lmoustache<Tab>∫ <plug>\lmoustache '
|
||||||
|
exe s:pA16a.'rmoustache<Tab> <plug>\rmoustache '
|
||||||
|
exe s:pA16a.'arrowvert<Tab> <plug>\arrowvert '
|
||||||
|
exe s:pA16a.'Arrowvert<Tab> <plug>\Arrowvert '
|
||||||
|
exe s:pA16a.'bracevert<Tab> <plug>\bracevert '
|
||||||
|
" }}}
|
||||||
|
" {{{ Log-likes
|
||||||
|
let s:pA17 = s:pA."Lo&g-likes."
|
||||||
|
exe s:pA17.'arccos<Tab> <plug>\arccos '
|
||||||
|
exe s:pA17.'arcsin<Tab> <plug>\arcsin '
|
||||||
|
exe s:pA17.'arctan<Tab> <plug>\arctan '
|
||||||
|
exe s:pA17.'arg<Tab> <plug>\arg '
|
||||||
|
exe s:pA17.'cos<Tab> <plug>\cos '
|
||||||
|
exe s:pA17.'cosh<Tab> <plug>\cosh '
|
||||||
|
exe s:pA17.'cot<Tab> <plug>\cot '
|
||||||
|
exe s:pA17.'coth<Tab> <plug>\coth '
|
||||||
|
exe s:pA17.'csc<Tab> <plug>\csc '
|
||||||
|
exe s:pA17.'deg<Tab> <plug>\deg '
|
||||||
|
exe s:pA17.'det<Tab> <plug>\det '
|
||||||
|
exe s:pA17.'dim<Tab> <plug>\dim '
|
||||||
|
exe s:pA17.'exp<Tab> <plug>\exp '
|
||||||
|
exe s:pA17.'gcd<Tab> <plug>\gcd '
|
||||||
|
exe s:pA17.'hom<Tab> <plug>\hom '
|
||||||
|
exe s:pA17.'inf<Tab> <plug>\inf '
|
||||||
|
exe s:pA17.'injlim<Tab> <plug>\injlim '
|
||||||
|
exe s:pA17.'ker<Tab> <plug>\ker '
|
||||||
|
exe s:pA17.'lg<Tab> <plug>\lg '
|
||||||
|
exe s:pA17.'lim<Tab> <plug>\lim '
|
||||||
|
exe s:pA17.'liminf<Tab> <plug>\liminf '
|
||||||
|
exe s:pA17.'limsup<Tab> <plug>\limsup '
|
||||||
|
exe s:pA17.'ln<Tab> <plug>\ln '
|
||||||
|
exe s:pA17.'log<Tab> <plug>\log '
|
||||||
|
exe s:pA17.'max<Tab> <plug>\max '
|
||||||
|
exe s:pA17.'min<Tab> <plug>\min '
|
||||||
|
exe s:pA17.'Pr<Tab> <plug>\Pr '
|
||||||
|
exe s:pA17.'projlim<Tab> <plug>\projlim '
|
||||||
|
exe s:pA17.'sec<Tab> <plug>\sec '
|
||||||
|
exe s:pA17.'sin<Tab> <plug>\sin '
|
||||||
|
exe s:pA17.'sinh<Tab> <plug>\sinh '
|
||||||
|
exe s:pA17.'sup<Tab> <plug>\sup '
|
||||||
|
exe s:pA17.'tan<Tab> <plug>\tan '
|
||||||
|
exe s:pA17.'tanh<Tab> <plug>\tanh '
|
||||||
|
exe s:pA17.'varlimsup<Tab> <plug>\varlimsup '
|
||||||
|
exe s:pA17.'varliminf<Tab> <plug>\varliminf '
|
||||||
|
exe s:pA17.'varinjlim<Tab> <plug>\varinjlim '
|
||||||
|
exe s:pA17.'varprojlim<Tab> <plug>\varprojlim '
|
||||||
|
" }}}
|
||||||
|
" {{{ MathSpacing
|
||||||
|
let s:pA18 = s:pA."MathSpacing."
|
||||||
|
exe s:pA18.', <plug>\, '
|
||||||
|
exe s:pA18.': <plug>\: '
|
||||||
|
exe s:pA18.'; <plug>\; '
|
||||||
|
exe s:pA18.'[space] <plug>\ '
|
||||||
|
exe s:pA18.'quad<Tab> <plug>\quad '
|
||||||
|
exe s:pA18.'qquad<Tab> <plug>\qquad '
|
||||||
|
exe s:pA18.'! <plug>\! '
|
||||||
|
exe s:pA18.'thinspace<Tab> <plug>\thinspace '
|
||||||
|
exe s:pA18.'medspace<Tab> <plug>\medspace '
|
||||||
|
exe s:pA18.'thickspace<Tab> <plug>\thickspace '
|
||||||
|
exe s:pA18.'negthinspace<Tab> <plug>\negthinspace '
|
||||||
|
exe s:pA18.'negmedspace<Tab> <plug>\negmedspace '
|
||||||
|
exe s:pA18.'negthickspace<Tab> <plug>\negthickspace '
|
||||||
|
" 1}}}
|
||||||
|
|
||||||
|
" vim:fdm=marker:ff=unix:noet:ts=4:sw=4:fenc=utf-8
|
730
vim/vim-latex/ftplugin/latex-suite/mathmacros.vim
Executable file
730
vim/vim-latex/ftplugin/latex-suite/mathmacros.vim
Executable file
|
@ -0,0 +1,730 @@
|
||||||
|
"=============================================================================
|
||||||
|
" File: mathmacros.vim
|
||||||
|
" Author: Mikolaj Machowski
|
||||||
|
" Created: Tue Apr 23 06:00 PM 2002 PST
|
||||||
|
"
|
||||||
|
" Description: macros for everything mathematical in latex.
|
||||||
|
"=============================================================================
|
||||||
|
|
||||||
|
if !(has('gui_running') && g:Tex_MathMenus && g:Tex_Menus)
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
let s:MathMenuName = g:Tex_MenuPrefix.'&Math.'
|
||||||
|
|
||||||
|
function! Tex_MathMenuRemove()
|
||||||
|
exe 'silent! aunmenu '.s:MathMenuName
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
let s:pA = 'amenu <silent> '.g:Tex_NextMenuLocation.' '.s:MathMenuName
|
||||||
|
let g:Tex_NextMenuLocation = g:Tex_NextMenuLocation + 1
|
||||||
|
|
||||||
|
" brackets and dollars {{{
|
||||||
|
exe s:pA.'\\&[\ \\] <plug><C-r>=IMAP_PutTextWithMovement("\\[<++>\\]<++>")<cr>'
|
||||||
|
exe s:pA.'\\&(\ \\) <plug><C-r>=IMAP_PutTextWithMovement("\\(<++>\\)<++>")<cr>'
|
||||||
|
exe s:pA.'&$\ $ <plug>$$'
|
||||||
|
exe s:pA.'-sepmath1- :'
|
||||||
|
" }}}
|
||||||
|
" MATH arrows {{{
|
||||||
|
let s:pA1 = s:pA."&Arrows."
|
||||||
|
exe s:pA1.'Leftarrow <plug>\leftarrow '
|
||||||
|
exe s:pA1.'leftarrow <plug>\leftarrow'
|
||||||
|
exe s:pA1.'longleftarrow <plug>\longleftarrow '
|
||||||
|
exe s:pA1.'Leftarrow <plug>\Leftarrow '
|
||||||
|
exe s:pA1.'Longleftarrow <plug>\Longleftarrow '
|
||||||
|
exe s:pA1.'rightarrow <plug>\rightarrow '
|
||||||
|
exe s:pA1.'longrightarrow <plug>\longrightarrow '
|
||||||
|
exe s:pA1.'Rightarrow <plug>\Rightarrow '
|
||||||
|
exe s:pA1.'Longrightarrow <plug>\Longrightarrow '
|
||||||
|
exe s:pA1.'leftrightarrow <plug>\leftrightarrow '
|
||||||
|
exe s:pA1.'longleftrightarrow <plug>\longleftrightarrow '
|
||||||
|
exe s:pA1.'Leftrightarrow <plug>\Leftrightarrow '
|
||||||
|
exe s:pA1.'Longleftrightarrow <plug>\Longleftrightarrow '
|
||||||
|
exe s:pA1.'uparrow <plug>\uparrow '
|
||||||
|
exe s:pA1.'Uparrow <plug>\Uparrow '
|
||||||
|
exe s:pA1.'downarrow <plug>\downarrow '
|
||||||
|
exe s:pA1.'Downarrow <plug>\Downarrow '
|
||||||
|
exe s:pA1.'updownarrow <plug>\updownarrow '
|
||||||
|
exe s:pA1.'Updownarrow <plug>\Updownarrow '
|
||||||
|
exe s:pA1.'nearrow <plug>\nearrow '
|
||||||
|
exe s:pA1.'searrow <plug>\searrow '
|
||||||
|
exe s:pA1.'swarrow <plug>\swarrow '
|
||||||
|
exe s:pA1.'nwarrow <plug>\nwarrow '
|
||||||
|
exe s:pA1.'mapsto <plug>\mapsto '
|
||||||
|
exe s:pA1.'leadsto <plug>\leadsto '
|
||||||
|
exe s:pA1.'longmapsto <plug>\longmapsto '
|
||||||
|
exe s:pA1.'hookleftarrow <plug>\hookleftarrow '
|
||||||
|
exe s:pA1.'hookrightarrow <plug>\hookrightarrow '
|
||||||
|
exe s:pA1.'leftharpoonup <plug>\leftharpoonup '
|
||||||
|
exe s:pA1.'leftharpoondown <plug>\leftharpoondown '
|
||||||
|
exe s:pA1.'rightharpoonup <plug>\rightharpoonup '
|
||||||
|
exe s:pA1.'rightharpoondown <plug>\rightharpoondown '
|
||||||
|
exe s:pA1.'rightleftharpoons <plug>\rightleftharpoons '
|
||||||
|
exe s:pA1.'overleftarrow <plug>\overleftarrow '
|
||||||
|
exe s:pA1.'overrightarrow <plug>\overrightarrow '
|
||||||
|
exe s:pA1.'overleftrightarrow <plug>\overleftrightarrow '
|
||||||
|
exe s:pA1.'underleftarrow <plug>\underleftarrow '
|
||||||
|
exe s:pA1.'underrightarrow <plug>\underrightarrow '
|
||||||
|
exe s:pA1.'underleftrightarrow <plug>\underleftrightarrow '
|
||||||
|
exe s:pA1.'xleftarrow <plug>\xleftarrow '
|
||||||
|
exe s:pA1.'xrightarrow <plug>\xrightarrow '
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
|
||||||
|
" MATH nArrows {{{
|
||||||
|
let s:pA1a = s:pA."&nArrows."
|
||||||
|
exe s:pA1a.'nleftarrow <plug>\nleftarrow '
|
||||||
|
exe s:pA1a.'nLeftarrow <plug>\nLeftarrow '
|
||||||
|
exe s:pA1a.'nleftrightarrow <plug>\nleftrightarrow '
|
||||||
|
exe s:pA1a.'nrightarrow <plug>\nrightarrow '
|
||||||
|
exe s:pA1a.'nRightarrow <plug>\nRightarrow '
|
||||||
|
" }}}
|
||||||
|
" MATH Arrows2 {{{
|
||||||
|
let s:pA1a = s:pA."Arrows2."
|
||||||
|
exe s:pA1a.'dashleftarrow <plug>\dashleftarrow '
|
||||||
|
exe s:pA1a.'leftleftarrows <plug>\leftleftarrows '
|
||||||
|
exe s:pA1a.'leftrightarrows <plug>\leftrightarrows '
|
||||||
|
exe s:pA1a.'Lleftarrow <plug>\Lleftarrow '
|
||||||
|
exe s:pA1a.'twoheadleftarrow <plug>\twoheadleftarrow '
|
||||||
|
exe s:pA1a.'leftarrowtail <plug>\leftarrowtail '
|
||||||
|
exe s:pA1a.'leftrightharpoons <plug>\leftrightharpoons '
|
||||||
|
exe s:pA1a.'Lsh <plug>\Lsh '
|
||||||
|
exe s:pA1a.'looparrowleft <plug>\looparrowleft '
|
||||||
|
exe s:pA1a.'curvearrowleft <plug>\curvearrowleft '
|
||||||
|
exe s:pA1a.'circlearrowleft <plug>\circlearrowleft '
|
||||||
|
exe s:pA1a.'dashrightarrow <plug>\dashrightarrow '
|
||||||
|
exe s:pA1a.'rightrightarrows <plug>\rightrightarrows '
|
||||||
|
exe s:pA1a.'rightleftarrows <plug>\rightleftarrows '
|
||||||
|
exe s:pA1a.'Rrightarrow <plug>\Rrightarrow '
|
||||||
|
exe s:pA1a.'twoheadrightarrow <plug>\twoheadrightarrow '
|
||||||
|
exe s:pA1a.'rightarrowtail <plug>\rightarrowtail '
|
||||||
|
exe s:pA1a.'rightleftharpoons <plug>\rightleftharpoons '
|
||||||
|
exe s:pA1a.'Rsh <plug>\Rsh '
|
||||||
|
exe s:pA1a.'looparrowright <plug>\looparrowright '
|
||||||
|
exe s:pA1a.'curvearrowright <plug>\curvearrowright '
|
||||||
|
exe s:pA1a.'circlearrowright <plug>\circlearrowright '
|
||||||
|
exe s:pA1a.'multimap <plug>\multimap '
|
||||||
|
exe s:pA1a.'upuparrows <plug>\upuparrows '
|
||||||
|
exe s:pA1a.'downdownarrows <plug>\downdownarrows '
|
||||||
|
exe s:pA1a.'upharpoonleft <plug>\upharpoonleft '
|
||||||
|
exe s:pA1a.'upharpoonright <plug>\upharpoonright '
|
||||||
|
exe s:pA1a.'downharpoonleft <plug>\downharpoonleft '
|
||||||
|
exe s:pA1a.'downharpoonright <plug>\downharpoonright '
|
||||||
|
exe s:pA1a.'rightsquigarrow <plug>\rightsquigarrow '
|
||||||
|
exe s:pA1a.'leftrightsquigarrow <plug>\leftrightsquigarrow '
|
||||||
|
" }}}
|
||||||
|
" MATH Fonts {{{
|
||||||
|
let s:pA2a = s:pA."&MathFonts."
|
||||||
|
exe s:pA2a.'mathbf{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathbf{<++>}<++>")<cr>'
|
||||||
|
exe s:pA2a.'mathrm{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathrm{<++>}<++>")<cr>'
|
||||||
|
exe s:pA2a.'mathsf{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathsf{<++>}<++>")<cr>'
|
||||||
|
exe s:pA2a.'mathtt{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathtt{<++>}<++>")<cr>'
|
||||||
|
exe s:pA2a.'mathit{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathit{<++>}<++>")<cr>'
|
||||||
|
exe s:pA2a.'mathfrak{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathfrak{<++>}<++>")<cr>'
|
||||||
|
exe s:pA2a.'mathcal{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathcal{<++>}<++>")<cr>'
|
||||||
|
exe s:pA2a.'mathscr{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathscr{<++>}<++>")<cr>'
|
||||||
|
exe s:pA2a.'mathbb{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathbb{<++>}<++>")<cr>'
|
||||||
|
" }}}
|
||||||
|
" Greek Letters small {{{
|
||||||
|
let s:pA2 = s:pA."&Greek.&Small."
|
||||||
|
exe s:pA2.'alpha<Tab>`a <plug>\alpha '
|
||||||
|
exe s:pA2.'beta<Tab>`b <plug>\beta '
|
||||||
|
exe s:pA2.'gamma<Tab>`g <plug>\gamma '
|
||||||
|
exe s:pA2.'delta<Tab>`d <plug>\delta '
|
||||||
|
exe s:pA2.'epsilon <plug>\epsilon '
|
||||||
|
exe s:pA2.'varepsilon<Tab>`e <plug>\varepsilon '
|
||||||
|
exe s:pA2.'zeta<Tab>`z <plug>\zeta '
|
||||||
|
exe s:pA2.'eta<Tab>`h <plug>\eta '
|
||||||
|
exe s:pA2.'theta<Tab>`q <plug>\theta '
|
||||||
|
exe s:pA2.'vartheta <plug>\vartheta '
|
||||||
|
exe s:pA2.'iota<Tab>`i <plug>\iota '
|
||||||
|
exe s:pA2.'kappa<Tab>`k <plug>\kappa '
|
||||||
|
exe s:pA2.'lambda<Tab>`l <plug>\lambda '
|
||||||
|
exe s:pA2.'mu<Tab>`m <plug>\mu '
|
||||||
|
exe s:pA2.'nu<Tab>`n <plug>\nu '
|
||||||
|
exe s:pA2.'xi<Tab>`x <plug>\xi '
|
||||||
|
exe s:pA2.'pi<Tab>`p <plug>\pi '
|
||||||
|
exe s:pA2.'varpi <plug>\varpi '
|
||||||
|
exe s:pA2.'rho<Tab>`r <plug>\rho '
|
||||||
|
exe s:pA2.'varrho <plug>\varrho '
|
||||||
|
exe s:pA2.'sigma<Tab>`s <plug>\sigma '
|
||||||
|
exe s:pA2.'varsigma<Tab>`v <plug>\varsigma '
|
||||||
|
exe s:pA2.'tau<Tab>`t <plug>\tau '
|
||||||
|
exe s:pA2.'upsilon<Tab>`u <plug>\upsilon '
|
||||||
|
exe s:pA2.'phi <plug>\phi '
|
||||||
|
exe s:pA2.'varphi<Tab>`f <plug>\varphi '
|
||||||
|
exe s:pA2.'chi<Tab>`c <plug>\chi '
|
||||||
|
exe s:pA2.'psi<Tab>`y <plug>\psi '
|
||||||
|
exe s:pA2.'omega<Tab>`w <plug>\omega '
|
||||||
|
" }}}
|
||||||
|
" Greek Letters big {{{
|
||||||
|
let s:pA3 = s:pA.'&Greek.&Big.'
|
||||||
|
exe s:pA3.'Alpha<Tab>`A <plug>\Alpha '
|
||||||
|
exe s:pA3.'Beta<Tab>`B <plug>\Beta '
|
||||||
|
exe s:pA3.'Gamma<Tab>`G <plug>\Gamma '
|
||||||
|
exe s:pA3.'Delta<Tab>`D <plug>\Delta '
|
||||||
|
exe s:pA3.'Epsilon<Tab>`E <plug>\Epsilon '
|
||||||
|
exe s:pA3.'Zeta<Tab>`Z <plug>\mathrm{Z} '
|
||||||
|
exe s:pA3.'Eta<Tab>`H <plug>\Eta '
|
||||||
|
exe s:pA3.'Theta <plug>\Theta '
|
||||||
|
exe s:pA3.'Iota <plug>\mathrm{I} '
|
||||||
|
exe s:pA3.'Kappa<Tab>`K <plug>\Kappa '
|
||||||
|
exe s:pA3.'Lambda<Tab>`L <plug>\Lambda '
|
||||||
|
exe s:pA3.'Mu<Tab>`M <plug>\Mu '
|
||||||
|
exe s:pA3.'Nu<Tab>`N <plug>\Nu '
|
||||||
|
exe s:pA3.'Xi<Tab>`X <plug>\Xi '
|
||||||
|
exe s:pA3.'Pi<Tab>`P <plug>\Pi '
|
||||||
|
exe s:pA3.'Rho<Tab>`R <plug>\Rho '
|
||||||
|
exe s:pA3.'Sigma<Tab>`S <plug>\Sigma '
|
||||||
|
exe s:pA3.'Tau<Tab>`T <plug>\Tau '
|
||||||
|
exe s:pA3.'Upsilon<Tab>`U <plug>\Upsilon '
|
||||||
|
exe s:pA3.'Phi <plug>\Phi '
|
||||||
|
exe s:pA3.'Chi<Tab>`C <plug>\Chi '
|
||||||
|
exe s:pA3.'Psi<Tab>`Y <plug>\Psi '
|
||||||
|
exe s:pA3.'Omega<Tab>`W <plug>\Omega '
|
||||||
|
" }}}
|
||||||
|
" BinaryRel1 {{{
|
||||||
|
let s:pA4 = s:pA."&BinaryRel1."
|
||||||
|
exe s:pA4.'ll <plug>\ll '
|
||||||
|
exe s:pA4.'lll <plug>\lll '
|
||||||
|
exe s:pA4.'leqslant <plug>\leqslant '
|
||||||
|
exe s:pA4.'leq <plug>\leq '
|
||||||
|
exe s:pA4.'leqq <plug>\leqq '
|
||||||
|
exe s:pA4.'eqslantless <plug>\eqslantless '
|
||||||
|
exe s:pA4.'lessdot <plug>\lessdot '
|
||||||
|
exe s:pA4.'prec <plug>\prec '
|
||||||
|
exe s:pA4.'preceq <plug>\preceq '
|
||||||
|
exe s:pA4.'preccurlyeq <plug>\preccurlyeq '
|
||||||
|
exe s:pA4.'curlyeqprec <plug>\curlyeqprec '
|
||||||
|
exe s:pA4.'lesssim <plug>\lesssim '
|
||||||
|
exe s:pA4.'lessapprox <plug>\lessapprox '
|
||||||
|
exe s:pA4.'precsim <plug>\precsim '
|
||||||
|
exe s:pA4.'precapprox <plug>\precapprox '
|
||||||
|
exe s:pA4.'in <plug>\in '
|
||||||
|
exe s:pA4.'subset<Tab>`( <plug>\subset '
|
||||||
|
exe s:pA4.'Subset<Tab>`) <plug>\Subset '
|
||||||
|
exe s:pA4.'subseteq <plug>\subseteq '
|
||||||
|
exe s:pA4.'subseteqq <plug>\subseteqq '
|
||||||
|
exe s:pA4.'sqsubset <plug>\sqsubset '
|
||||||
|
exe s:pA4.'sqsubseteq <plug>\sqsubseteq '
|
||||||
|
exe s:pA4.'smile <plug>\smile '
|
||||||
|
exe s:pA4.'smallsmile <plug>\smallsmile '
|
||||||
|
exe s:pA4.'parallel <plug>\parallel '
|
||||||
|
exe s:pA4.'shortparallel <plug>\shortparallel '
|
||||||
|
exe s:pA4.'dashv <plug>\dashv '
|
||||||
|
exe s:pA4.'vdash <plug>\vdash '
|
||||||
|
exe s:pA4.'vDash <plug>\vDash '
|
||||||
|
exe s:pA4.'models <plug>\models '
|
||||||
|
exe s:pA4.'therefore <plug>\therefore '
|
||||||
|
exe s:pA4.'backepsilon <plug>\backepsilon '
|
||||||
|
" }}}
|
||||||
|
" nBinaryRel1 {{{
|
||||||
|
let s:pA4a = s:pA."&nBinaryRel1."
|
||||||
|
exe s:pA4a.'nless <plug>\nless '
|
||||||
|
exe s:pA4a.'nleqslant <plug>\nleqslant '
|
||||||
|
exe s:pA4a.'nleq <plug>\nleq '
|
||||||
|
exe s:pA4a.'lneq <plug>\lneq '
|
||||||
|
exe s:pA4a.'nleqq <plug>\nleqq '
|
||||||
|
exe s:pA4a.'lneqq <plug>\lneqq '
|
||||||
|
exe s:pA4a.'lvertneqq <plug>\lvertneqq '
|
||||||
|
exe s:pA4a.'nprec <plug>\nprec '
|
||||||
|
exe s:pA4a.'npreceq <plug>\npreceq '
|
||||||
|
exe s:pA4a.'precneqq <plug>\precneqq '
|
||||||
|
exe s:pA4a.'lnsim <plug>\lnsim '
|
||||||
|
exe s:pA4a.'lnapprox <plug>\lnapprox '
|
||||||
|
exe s:pA4a.'precnsim <plug>\precnsim '
|
||||||
|
exe s:pA4a.'precnapprox <plug>\precnapprox '
|
||||||
|
exe s:pA4a.'notin <plug>\notin '
|
||||||
|
exe s:pA4a.'nsubseteq <plug>\nsubseteq '
|
||||||
|
exe s:pA4a.'varsubsetneq <plug>\varsubsetneq '
|
||||||
|
exe s:pA4a.'subsetneq <plug>\subsetneq '
|
||||||
|
exe s:pA4a.'nsubseteqq <plug>\nsubseteqq '
|
||||||
|
exe s:pA4a.'varsubsetneqq <plug>\varsubsetneqq '
|
||||||
|
exe s:pA4a.'subsetneqq <plug>\subsetneqq '
|
||||||
|
exe s:pA4a.'nparallel <plug>\nparallel '
|
||||||
|
exe s:pA4a.'nshortparallel <plug>\nshortparallel '
|
||||||
|
exe s:pA4a.'nvdash <plug>\nvdash '
|
||||||
|
exe s:pA4a.'nvDash <plug>\nvDash '
|
||||||
|
" }}}
|
||||||
|
" BinaryRel2 {{{
|
||||||
|
let s:pA5 = s:pA."&BinaryRel2."
|
||||||
|
exe s:pA5.'gg <plug>\gg '
|
||||||
|
exe s:pA5.'ggg <plug>\ggg '
|
||||||
|
exe s:pA5.'gggtr <plug>\gggtr '
|
||||||
|
exe s:pA5.'geqslant <plug>\geqslant '
|
||||||
|
exe s:pA5.'geq <plug>\geq '
|
||||||
|
exe s:pA5.'geqq <plug>\geqq '
|
||||||
|
exe s:pA5.'eqslantgtr <plug>\eqslantgtr '
|
||||||
|
exe s:pA5.'gtrdot <plug>\gtrdot '
|
||||||
|
exe s:pA5.'succ <plug>\succ '
|
||||||
|
exe s:pA5.'succeq <plug>\succeq '
|
||||||
|
exe s:pA5.'succcurlyeq <plug>\succcurlyeq '
|
||||||
|
exe s:pA5.'curlyeqsucc <plug>\curlyeqsucc '
|
||||||
|
exe s:pA5.'gtrsim <plug>\gtrsim '
|
||||||
|
exe s:pA5.'gtrapprox <plug>\gtrapprox '
|
||||||
|
exe s:pA5.'succsim <plug>\succsim '
|
||||||
|
exe s:pA5.'succapprox <plug>\succapprox '
|
||||||
|
exe s:pA5.'ni <plug>\ni '
|
||||||
|
exe s:pA5.'owns <plug>\owns '
|
||||||
|
exe s:pA5.'supset <plug>\supset '
|
||||||
|
exe s:pA5.'Supset <plug>\Supset '
|
||||||
|
exe s:pA5.'supseteq <plug>\supseteq '
|
||||||
|
exe s:pA5.'supseteqq <plug>\supseteqq '
|
||||||
|
exe s:pA5.'sqsupset <plug>\sqsupset '
|
||||||
|
exe s:pA5.'sqsupseteq <plug>\sqsupseteq '
|
||||||
|
exe s:pA5.'frown <plug>\frown '
|
||||||
|
exe s:pA5.'smallfrown <plug>\smallfrown '
|
||||||
|
exe s:pA5.'mid <plug>\mid '
|
||||||
|
exe s:pA5.'shortmid <plug>\shortmid '
|
||||||
|
exe s:pA5.'between <plug>\between '
|
||||||
|
exe s:pA5.'Vdash <plug>\Vdash '
|
||||||
|
exe s:pA5.'bowtie <plug>\bowtie '
|
||||||
|
exe s:pA5.'Join <plug>\Join '
|
||||||
|
exe s:pA5.'pitchfork <plug>\pitchfork '
|
||||||
|
" }}}
|
||||||
|
" {{{ nBinaryRel2
|
||||||
|
let s:pA5a = s:pA."n&BinaryRel2." "TODO: dorobiæ logarytmy
|
||||||
|
exe s:pA5a.'ngtr <plug>\ngtr '
|
||||||
|
exe s:pA5a.'ngeqslant <plug>\ngeqslant '
|
||||||
|
exe s:pA5a.'ngeq <plug>\ngeq '
|
||||||
|
exe s:pA5a.'gneq <plug>\gneq '
|
||||||
|
exe s:pA5a.'ngeqq <plug>\ngeqq '
|
||||||
|
exe s:pA5a.'gneqq <plug>\gneqq '
|
||||||
|
exe s:pA5a.'nsucc <plug>\nsucc '
|
||||||
|
exe s:pA5a.'nsucceq <plug>\nsucceq '
|
||||||
|
exe s:pA5a.'succneqq <plug>\succneqq '
|
||||||
|
exe s:pA5a.'gnsim <plug>\gnsim '
|
||||||
|
exe s:pA5a.'gnapprox <plug>\gnapprox '
|
||||||
|
exe s:pA5a.'succnsim <plug>\succnsim '
|
||||||
|
exe s:pA5a.'succnapprox <plug>\succnapprox '
|
||||||
|
exe s:pA5a.'nsupseteq <plug>\nsupseteq '
|
||||||
|
exe s:pA5a.'varsupsetneq <plug>\varsupsetneq '
|
||||||
|
exe s:pA5a.'supsetneq <plug>\supsetneq '
|
||||||
|
exe s:pA5a.'nsupseteqq <plug>\nsupseteqq '
|
||||||
|
exe s:pA5a.'varsupsetneqq <plug>\varsupsetneqq '
|
||||||
|
exe s:pA5a.'supsetneqq <plug>\supsetneqq '
|
||||||
|
exe s:pA5a.'nmid <plug>\nmid '
|
||||||
|
exe s:pA5a.'nshortmid <plug>\nshortmid '
|
||||||
|
exe s:pA5a.'nVdash <plug>\nVdash '
|
||||||
|
" }}}
|
||||||
|
" {{{ BinaryRel3
|
||||||
|
let s:pA6 = s:pA."&BinaryRel3."
|
||||||
|
exe s:pA6.'doteq <plug>\doteq '
|
||||||
|
exe s:pA6.'circeq <plug>\circeq '
|
||||||
|
exe s:pA6.'eqcirc <plug>\eqcirc '
|
||||||
|
exe s:pA6.'risingdotseq <plug>\risingdotseq '
|
||||||
|
exe s:pA6.'doteqdot <plug>\doteqdot '
|
||||||
|
exe s:pA6.'Doteq <plug>\Doteq '
|
||||||
|
exe s:pA6.'fallingdotseq <plug>\fallingdotseq '
|
||||||
|
exe s:pA6.'triangleq <plug>\triangleq '
|
||||||
|
exe s:pA6.'bumpeq <plug>\bumpeq '
|
||||||
|
exe s:pA6.'Bumpeq <plug>\Bumpeq '
|
||||||
|
exe s:pA6.'equiv<Tab>`= <plug>\equiv '
|
||||||
|
exe s:pA6.'sim <plug>\sim '
|
||||||
|
exe s:pA6.'thicksim <plug>\thicksim '
|
||||||
|
exe s:pA6.'backsim <plug>\backsim '
|
||||||
|
exe s:pA6.'simeq <plug>\simeq '
|
||||||
|
exe s:pA6.'backsimeq <plug>\backsimeq '
|
||||||
|
exe s:pA6.'cong <plug>\cong '
|
||||||
|
exe s:pA6.'approx<tab>=~ <plug>\approx '
|
||||||
|
exe s:pA6.'thickapprox <plug>\thickapprox '
|
||||||
|
exe s:pA6.'approxeq <plug>\approxeq '
|
||||||
|
exe s:pA6.'blacktriangleleft <plug>\blacktriangleleft '
|
||||||
|
exe s:pA6.'vartriangleleft <plug>\vartriangleleft '
|
||||||
|
exe s:pA6.'trianglelefteq <plug>\trianglelefteq '
|
||||||
|
exe s:pA6.'blacktriangleright <plug>\blacktriangleright '
|
||||||
|
exe s:pA6.'vartriangleright <plug>\vartriangleright '
|
||||||
|
exe s:pA6.'trianglerighteq <plug>\trianglerighteq '
|
||||||
|
exe s:pA6.'perp <plug>\perp '
|
||||||
|
exe s:pA6.'asymp <plug>\asymp '
|
||||||
|
exe s:pA6.'Vvdash <plug>\Vvdash '
|
||||||
|
exe s:pA6.'propto <plug>\propto '
|
||||||
|
exe s:pA6.'varpropto <plug>\varpropto '
|
||||||
|
exe s:pA6.'because <plug>\because '
|
||||||
|
" }}}
|
||||||
|
" {{{ nBinaryRel3
|
||||||
|
let s:pA6a = s:pA."&nBinaryRel3."
|
||||||
|
exe s:pA6a.'neq <plug>\neq '
|
||||||
|
exe s:pA6a.'nsim <plug>\nsim '
|
||||||
|
exe s:pA6a.'ncong <plug>\ncong '
|
||||||
|
exe s:pA6a.'ntriangleleft <plug>\ntriangleleft '
|
||||||
|
exe s:pA6a.'ntrianglelefteq <plug>\ntrianglelefteq '
|
||||||
|
exe s:pA6a.'ntriangleright <plug>\ntriangleright '
|
||||||
|
exe s:pA6a.'ntrianglerighteq <plug>\ntrianglerighteq '
|
||||||
|
" }}}
|
||||||
|
" {{{ BinaryRel4
|
||||||
|
let s:pA7 = s:pA."&BinaryRel4."
|
||||||
|
exe s:pA7.'lessgtr <plug>\lessgtr '
|
||||||
|
exe s:pA7.'gtrless <plug>\gtrless '
|
||||||
|
exe s:pA7.'lesseqgtr <plug>\lesseqgtr '
|
||||||
|
exe s:pA7.'gtreqless <plug>\gtreqless '
|
||||||
|
exe s:pA7.'lesseqqgtr <plug>\lesseqqgtr '
|
||||||
|
exe s:pA7.'gtreqqless <plug>\gtreqqless '
|
||||||
|
" }}}
|
||||||
|
" {{{ BigOp
|
||||||
|
let s:pA8a = s:pA."&BigOp."
|
||||||
|
exe s:pA8a.'limits <plug>\limits'
|
||||||
|
exe s:pA8a.'nolimits <plug>\nolimits'
|
||||||
|
exe s:pA8a.'displaylimits <plug>\displaylimits'
|
||||||
|
exe s:pA8a.'-seplimits- :'
|
||||||
|
exe s:pA8a.'bigcap<Tab>`- <plug>\bigcap'
|
||||||
|
exe s:pA8a.'bigcup<Tab>`+ <plug>\bigcup'
|
||||||
|
exe s:pA8a.'bigodot <plug>\bigodot'
|
||||||
|
exe s:pA8a.'bigoplus <plug>\bigoplus'
|
||||||
|
exe s:pA8a.'bigotimes <plug>\bigotimes'
|
||||||
|
exe s:pA8a.'bigsqcup <plug>\bigsqcup'
|
||||||
|
exe s:pA8a.'biguplus <plug>\biguplus'
|
||||||
|
exe s:pA8a.'bigvee <plug>\bigvee'
|
||||||
|
exe s:pA8a.'bigwedge <plug>\bigwedge'
|
||||||
|
exe s:pA8a.'coprod <plug>\coprod'
|
||||||
|
exe s:pA8a.'int <plug>\int'
|
||||||
|
exe s:pA8a.'oint <plug>\oint'
|
||||||
|
exe s:pA8a.'prod <plug>\prod'
|
||||||
|
exe s:pA8a.'sum <plug>\sum'
|
||||||
|
" }}}
|
||||||
|
" {{{ BinaryOp
|
||||||
|
let s:pA8 = s:pA."&BinaryOp."
|
||||||
|
exe s:pA8.'pm <plug>\pm '
|
||||||
|
exe s:pA8.'mp <plug>\mp '
|
||||||
|
exe s:pA8.'dotplus <plug>\dotplus '
|
||||||
|
exe s:pA8.'cdot<Tab>`. <plug>\cdot '
|
||||||
|
exe s:pA8.'centerdot <plug>\centerdot '
|
||||||
|
exe s:pA8.'times<Tab>`* <plug>\times '
|
||||||
|
exe s:pA8.'ltimes <plug>\ltimes '
|
||||||
|
exe s:pA8.'rtimes <plug>\rtimes '
|
||||||
|
exe s:pA8.'leftthreetimes <plug>\leftthreetimes '
|
||||||
|
exe s:pA8.'rightthreetimes <plug>\rightthreetimes '
|
||||||
|
exe s:pA8.'div <plug>\div '
|
||||||
|
exe s:pA8.'divideontimes <plug>\divideontimes '
|
||||||
|
exe s:pA8.'bmod <plug>\bmod '
|
||||||
|
exe s:pA8.'ast <plug>\ast '
|
||||||
|
exe s:pA8.'star <plug>\star '
|
||||||
|
exe s:pA8.'setminus<Tab>`\\ <plug>\setminus '
|
||||||
|
exe s:pA8.'smallsetminus <plug>\smallsetminus '
|
||||||
|
exe s:pA8.'diamond <plug>\diamond '
|
||||||
|
exe s:pA8.'wr <plug>\wr '
|
||||||
|
exe s:pA8.'intercal <plug>\intercal '
|
||||||
|
exe s:pA8.'circ<Tab>`@ <plug>\circ '
|
||||||
|
exe s:pA8.'bigcirc <plug>\bigcirc '
|
||||||
|
exe s:pA8.'bullet <plug>\bullet '
|
||||||
|
exe s:pA8.'cap <plug>\cap '
|
||||||
|
exe s:pA8.'Cap <plug>\Cap '
|
||||||
|
exe s:pA8.'cup <plug>\cup '
|
||||||
|
exe s:pA8.'Cup <plug>\Cup '
|
||||||
|
exe s:pA8.'sqcap <plug>\sqcap '
|
||||||
|
exe s:pA8.'sqcup <plug>\sqcup'
|
||||||
|
exe s:pA8.'amalg <plug>\amalg '
|
||||||
|
exe s:pA8.'uplus <plug>\uplus '
|
||||||
|
exe s:pA8.'triangleleft <plug>\triangleleft '
|
||||||
|
exe s:pA8.'triangleright <plug>\triangleright '
|
||||||
|
exe s:pA8.'bigtriangleup <plug>\bigtriangleup '
|
||||||
|
exe s:pA8.'bigtriangledown <plug>\bigtriangledown '
|
||||||
|
exe s:pA8.'vee <plug>\vee '
|
||||||
|
exe s:pA8.'veebar <plug>\veebar '
|
||||||
|
exe s:pA8.'curlyvee <plug>\curlyvee '
|
||||||
|
exe s:pA8.'wedge<Tab>`& <plug>\wedge '
|
||||||
|
exe s:pA8.'barwedge <plug>\barwedge '
|
||||||
|
exe s:pA8.'doublebarwedge <plug>\doublebarwedge '
|
||||||
|
exe s:pA8.'curlywedge <plug>\curlywedge '
|
||||||
|
exe s:pA8.'oplus <plug>\oplus '
|
||||||
|
exe s:pA8.'ominus <plug>\ominus '
|
||||||
|
exe s:pA8.'otimes <plug>\otimes '
|
||||||
|
exe s:pA8.'oslash <plug>\oslash '
|
||||||
|
exe s:pA8.'boxplus <plug>\boxplus '
|
||||||
|
exe s:pA8.'boxminus <plug>\boxminus '
|
||||||
|
exe s:pA8.'boxtimes <plug>\boxtimes '
|
||||||
|
exe s:pA8.'boxdot <plug>\boxdot '
|
||||||
|
exe s:pA8.'odot <plug>\odot '
|
||||||
|
exe s:pA8.'circledast <plug>\circledast '
|
||||||
|
exe s:pA8.'circleddash <plug>\circleddash '
|
||||||
|
exe s:pA8.'circledcirc <plug>\circledcirc '
|
||||||
|
exe s:pA8.'dagger <plug>\dagger '
|
||||||
|
exe s:pA8.'ddagger <plug>\ddagger '
|
||||||
|
exe s:pA8.'lhd <plug>\lhd '
|
||||||
|
exe s:pA8.'unlhd <plug>\unlhd '
|
||||||
|
exe s:pA8.'rhd <plug>\rhd '
|
||||||
|
exe s:pA8.'unrhd <plug>\unrhd '
|
||||||
|
" }}}
|
||||||
|
" {{{ Other1
|
||||||
|
let s:pA9 = s:pA."&Other1."
|
||||||
|
exe s:pA9.'hat <plug>\hat '
|
||||||
|
exe s:pA9.'check <plug>\check '
|
||||||
|
exe s:pA9.'grave <plug>\grave '
|
||||||
|
exe s:pA9.'acute <plug>\acute '
|
||||||
|
exe s:pA9.'dot <plug>\dot '
|
||||||
|
exe s:pA9.'ddot <plug>\ddot '
|
||||||
|
exe s:pA9.'tilde<Tab>`, <plug>\tilde '
|
||||||
|
exe s:pA9.'breve <plug>\breve '
|
||||||
|
exe s:pA9.'bar <plug>\bar '
|
||||||
|
exe s:pA9.'vec <plug>\vec '
|
||||||
|
exe s:pA9.'aleph <plug>\aleph '
|
||||||
|
exe s:pA9.'hbar <plug>\hbar '
|
||||||
|
exe s:pA9.'imath <plug>\imath '
|
||||||
|
exe s:pA9.'jmath <plug>\jmath '
|
||||||
|
exe s:pA9.'ell <plug>\ell '
|
||||||
|
exe s:pA9.'wp <plug>\wp '
|
||||||
|
exe s:pA9.'Re <plug>\Re '
|
||||||
|
exe s:pA9.'Im <plug>\Im '
|
||||||
|
exe s:pA9.'partial <plug>\partial '
|
||||||
|
exe s:pA9.'infty<Tab>`8 <plug>\infty '
|
||||||
|
exe s:pA9.'prime <plug>\prime '
|
||||||
|
exe s:pA9.'emptyset <plug>\emptyset '
|
||||||
|
exe s:pA9.'nabla <plug>\nabla '
|
||||||
|
exe s:pA9.'surd <plug>\surd '
|
||||||
|
exe s:pA9.'top <plug>\top '
|
||||||
|
exe s:pA9.'bot <plug>\bot '
|
||||||
|
exe s:pA9.'angle <plug>\angle '
|
||||||
|
exe s:pA9.'triangle <plug>\triangle '
|
||||||
|
exe s:pA9.'backslash <plug>\backslash '
|
||||||
|
exe s:pA9.'forall <plug>\forall '
|
||||||
|
exe s:pA9.'exists <plug>\exists '
|
||||||
|
exe s:pA9.'neg <plug>\neg '
|
||||||
|
exe s:pA9.'flat <plug>\flat '
|
||||||
|
exe s:pA9.'natural <plug>\natural '
|
||||||
|
exe s:pA9.'sharp <plug>\sharp '
|
||||||
|
exe s:pA9.'clubsuit <plug>\clubsuit '
|
||||||
|
exe s:pA9.'diamondsuit <plug>\diamondsuit '
|
||||||
|
exe s:pA9.'heartsuit <plug>\heartsuit '
|
||||||
|
exe s:pA9.'spadesuit <plug>\spadesuit '
|
||||||
|
exe s:pA9.'S <plug>\S '
|
||||||
|
exe s:pA9.'P <plug>\P'
|
||||||
|
" }}}
|
||||||
|
" {{{ MathCreating
|
||||||
|
let s:pA10 = s:pA."&MathCreating."
|
||||||
|
exe s:pA10.'not <plug>\not'
|
||||||
|
exe s:pA10.'mkern <plug>\mkern'
|
||||||
|
exe s:pA10.'mathbin <plug>\mathbin'
|
||||||
|
exe s:pA10.'mathrel <plug>\mathrel'
|
||||||
|
exe s:pA10.'stackrel <plug>\stackrel'
|
||||||
|
exe s:pA10.'mathord <plug>\mathord'
|
||||||
|
" }}}
|
||||||
|
" {{{ Styles
|
||||||
|
let s:pA11 = s:pA."&Styles."
|
||||||
|
exe s:pA11.'displaystyle <plug>\displaystyle'
|
||||||
|
exe s:pA11.'textstyle <plug>\textstyle'
|
||||||
|
exe s:pA11.'scritpstyle <plug>\scritpstyle'
|
||||||
|
exe s:pA11.'scriptscriptstyle <plug>\scriptscriptstyle'
|
||||||
|
" }}}
|
||||||
|
" {{{ MathDiacritics
|
||||||
|
let s:pA12 = s:pA."&MathDiacritics."
|
||||||
|
exe s:pA12.'acute{} <plug><C-r>=IMAP_PutTextWithMovement("\\acute{<++>}<++>")<cr>'
|
||||||
|
exe s:pA12.'bar{}<Tab>`_ <plug><C-r>=IMAP_PutTextWithMovement("\\bar{<++>}<++>")<cr>'
|
||||||
|
exe s:pA12.'breve{} <plug><C-r>=IMAP_PutTextWithMovement("\\breve{<++>}<++>")<cr>'
|
||||||
|
exe s:pA12.'check{} <plug><C-r>=IMAP_PutTextWithMovement("\\check{<++>}<++>")<cr>'
|
||||||
|
exe s:pA12.'ddot{}<Tab>`: <plug><C-r>=IMAP_PutTextWithMovement("\\ddot{<++>}<++>")<cr>'
|
||||||
|
exe s:pA12.'dot{}<Tab>`; <plug><C-r>=IMAP_PutTextWithMovement("\\dot{<++>}<++>")<cr>'
|
||||||
|
exe s:pA12.'grave{} <plug><C-r>=IMAP_PutTextWithMovement("\\grave{<++>}<++>")<cr>'
|
||||||
|
exe s:pA12.'hat{}<Tab>`^ <plug><C-r>=IMAP_PutTextWithMovement("\\hat{<++>}<++>")<cr>'
|
||||||
|
exe s:pA12.'tilde{}<tab>`~ <plug><C-r>=IMAP_PutTextWithMovement("\\tilde{<++>}<++>")<cr>'
|
||||||
|
exe s:pA12.'vec{} <plug><C-r>=IMAP_PutTextWithMovement("\\vec{<++>}<++>")<cr>'
|
||||||
|
exe s:pA12.'widehat{} <plug><C-r>=IMAP_PutTextWithMovement("\\widehat{<++>}<++>")<cr>'
|
||||||
|
exe s:pA12.'widetilde{} <plug><C-r>=IMAP_PutTextWithMovement("\\widetilde{<++>}<++>")<cr>'
|
||||||
|
exe s:pA12.'imath <plug><C-r>=IMAP_PutTextWithMovement("\\imath")<cr>'
|
||||||
|
exe s:pA12.'jmath <plug><C-r>=IMAP_PutTextWithMovement("\\jmath")<cr>'
|
||||||
|
" }}}
|
||||||
|
" {{{ OverlineAndCo
|
||||||
|
let s:pA13 = s:pA."&OverlineAndCo."
|
||||||
|
exe s:pA13.'overline{} <plug><C-r>=IMAP_PutTextWithMovement("\\overline{}")<cr>'
|
||||||
|
exe s:pA13.'underline{} <plug><C-r>=IMAP_PutTextWithMovement("\\underline{}")<cr>'
|
||||||
|
exe s:pA13.'overrightarrow{} <plug><C-r>=IMAP_PutTextWithMovement("\\overrightarrow{}")<cr>'
|
||||||
|
exe s:pA13.'overleftarrow{} <plug><C-r>=IMAP_PutTextWithMovement("\\overleftarrow{}")<cr>'
|
||||||
|
exe s:pA13.'overbrace{} <plug><C-r>=IMAP_PutTextWithMovement("\\overbrace{}")<cr>'
|
||||||
|
exe s:pA13.'underbrace{} <plug><C-r>=IMAP_PutTextWithMovement("\\underbrace{}")<cr>'
|
||||||
|
" }}}
|
||||||
|
" {{{ Symbols1
|
||||||
|
let s:pA14a = s:pA."&Symbols1."
|
||||||
|
exe s:pA14a.'forall <plug>\forall '
|
||||||
|
exe s:pA14a.'exists <plug>\exists '
|
||||||
|
exe s:pA14a.'nexists <plug>\nexists '
|
||||||
|
exe s:pA14a.'neg <plug>\neg '
|
||||||
|
exe s:pA14a.'top <plug>\top '
|
||||||
|
exe s:pA14a.'bot <plug>\bot '
|
||||||
|
exe s:pA14a.'emptyset <plug>\emptyset '
|
||||||
|
exe s:pA14a.'varnothing <plug>\varnothing '
|
||||||
|
exe s:pA14a.'infty <plug>\infty '
|
||||||
|
exe s:pA14a.'aleph <plug>\aleph '
|
||||||
|
exe s:pA14a.'beth <plug>\beth '
|
||||||
|
exe s:pA14a.'gimel <plug>\gimel '
|
||||||
|
exe s:pA14a.'daleth <plug>\daleth '
|
||||||
|
exe s:pA14a.'hbar <plug>\hbar '
|
||||||
|
exe s:pA14a.'hslash <plug>\hslash '
|
||||||
|
exe s:pA14a.'diagup <plug>\diagup '
|
||||||
|
exe s:pA14a.'vert <plug>\vert '
|
||||||
|
exe s:pA14a.'Vert <plug>\Vert '
|
||||||
|
exe s:pA14a.'backslash <plug>\backslash '
|
||||||
|
exe s:pA14a.'diagdown <plug>\diagdown '
|
||||||
|
exe s:pA14a.'Bbbk <plug>\Bbbk '
|
||||||
|
exe s:pA14a.'P <plug>\P '
|
||||||
|
exe s:pA14a.'S <plug>\S '
|
||||||
|
" }}}
|
||||||
|
" {{{ Symbols2
|
||||||
|
let s:pA14b = s:pA."&Symbols2."
|
||||||
|
exe s:pA14b.'# <plug>\# '
|
||||||
|
exe s:pA14b.'% <plug>\% '
|
||||||
|
exe s:pA14b.'_ <plug>\_ '
|
||||||
|
exe s:pA14b.'$ <plug>\$ '
|
||||||
|
exe s:pA14b.'& <plug>\& '
|
||||||
|
exe s:pA14b.'imath <plug>\imath '
|
||||||
|
exe s:pA14b.'jmath <plug>\jmath '
|
||||||
|
exe s:pA14b.'ell <plug>\ell '
|
||||||
|
exe s:pA14b.'wp <plug>\wp '
|
||||||
|
exe s:pA14b.'Re <plug>\Re '
|
||||||
|
exe s:pA14b.'Im <plug>\Im '
|
||||||
|
exe s:pA14b.'prime <plug>\prime '
|
||||||
|
exe s:pA14b.'backprime <plug>\backprime '
|
||||||
|
exe s:pA14b.'nabla <plug>\nabla '
|
||||||
|
exe s:pA14b.'surd <plug>\surd '
|
||||||
|
exe s:pA14b.'flat <plug>\flat '
|
||||||
|
exe s:pA14b.'sharp <plug>\sharp '
|
||||||
|
exe s:pA14b.'natural <plug>\natural '
|
||||||
|
exe s:pA14b.'eth <plug>\eth '
|
||||||
|
exe s:pA14b.'bigstar <plug>\bigstar '
|
||||||
|
exe s:pA14b.'circledS <plug>\circledS '
|
||||||
|
exe s:pA14b.'Finv <plug>\Finv '
|
||||||
|
exe s:pA14b.'dag <plug>\dag '
|
||||||
|
exe s:pA14b.'ddag <plug>\ddag '
|
||||||
|
" }}}
|
||||||
|
" {{{ Symbols3
|
||||||
|
let s:pA14c = s:pA."&Symbols3."
|
||||||
|
exe s:pA14c.'angle <plug>\angle '
|
||||||
|
exe s:pA14c.'measuredangle <plug>\measuredangle '
|
||||||
|
exe s:pA14c.'sphericalangle <plug>\sphericalangle '
|
||||||
|
exe s:pA14c.'spadesuit <plug>\spadesuit '
|
||||||
|
exe s:pA14c.'heartsuit <plug>\heartsuit '
|
||||||
|
exe s:pA14c.'diamondsuit <plug>\diamondsuit '
|
||||||
|
exe s:pA14c.'clubsuit <plug>\clubsuit '
|
||||||
|
exe s:pA14c.'lozenge <plug>\lozenge '
|
||||||
|
exe s:pA14c.'blacklozenge <plug>\blacklozenge '
|
||||||
|
exe s:pA14c.'Diamond <plug>\Diamond '
|
||||||
|
exe s:pA14c.'triangle <plug>\triangle '
|
||||||
|
exe s:pA14c.'vartriangle <plug>\vartriangle '
|
||||||
|
exe s:pA14c.'blacktriangle <plug>\blacktriangle '
|
||||||
|
exe s:pA14c.'triangledown <plug>\triangledown '
|
||||||
|
exe s:pA14c.'blacktriangledown <plug>\blacktriangledown '
|
||||||
|
exe s:pA14c.'Box <plug>\Box '
|
||||||
|
exe s:pA14c.'square <plug>\square '
|
||||||
|
exe s:pA14c.'blacksquare <plug>\blacksquare '
|
||||||
|
exe s:pA14c.'complement <plug>\complement '
|
||||||
|
exe s:pA14c.'mho <plug>\mho '
|
||||||
|
exe s:pA14c.'Game <plug>\Game '
|
||||||
|
exe s:pA14c.'partial<Tab>`6 <plug>\partial '
|
||||||
|
exe s:pA14c.'smallint <plug>\smallint '
|
||||||
|
" }}}
|
||||||
|
" {{{ Logic
|
||||||
|
let s:pA15 = s:pA."&Logic."
|
||||||
|
exe s:pA15.'lnot <plug>\lnot '
|
||||||
|
exe s:pA15.'lor <plug>\lor '
|
||||||
|
exe s:pA15.'land <plug>\land '
|
||||||
|
" }}}
|
||||||
|
" {{{ Limits1
|
||||||
|
let s:pA16 = s:pA."&Limits1."
|
||||||
|
exe s:pA16.'left <plug>\left'
|
||||||
|
exe s:pA16.'right <plug>\right'
|
||||||
|
exe s:pA16.'-sepbigl- :'
|
||||||
|
exe s:pA16.'bigl <plug>\bigl'
|
||||||
|
exe s:pA16.'Bigl <plug>\Bigl'
|
||||||
|
exe s:pA16.'biggl <plug>\biggl'
|
||||||
|
exe s:pA16.'Biggl <plug>\Biggl'
|
||||||
|
exe s:pA16.'-sepbigr- :'
|
||||||
|
exe s:pA16.'bigr <plug>\bigr'
|
||||||
|
exe s:pA16.'Bigr <plug>\Bigr'
|
||||||
|
exe s:pA16.'biggr <plug>\biggr'
|
||||||
|
exe s:pA16.'Biggr <plug>\Biggr'
|
||||||
|
exe s:pA16.'-sepbig- :'
|
||||||
|
exe s:pA16.'big <plug>\big'
|
||||||
|
exe s:pA16.'bigm <plug>\bigm'
|
||||||
|
exe s:pA16.'-sepfloor- :'
|
||||||
|
exe s:pA16.'lfloor <plug>\lfloor '
|
||||||
|
exe s:pA16.'lceil <plug>\lceil '
|
||||||
|
exe s:pA16.'rfloor <plug>\rfloor '
|
||||||
|
exe s:pA16.'rceil <plug>\rceil '
|
||||||
|
exe s:pA16.'-sepangle- :'
|
||||||
|
exe s:pA16.'langle <plug>\langle '
|
||||||
|
exe s:pA16.'rangle <plug>\rangle '
|
||||||
|
" }}}
|
||||||
|
" {{{ Limits2
|
||||||
|
let s:pA16a = s:pA."&Limits2."
|
||||||
|
exe s:pA16a.'ulcorner <plug>\ulcorner '
|
||||||
|
exe s:pA16a.'urcorner <plug>\urcorner '
|
||||||
|
exe s:pA16a.'llcorner <plug>\llcorner '
|
||||||
|
exe s:pA16a.'rlcorner <plug>\rlcorner '
|
||||||
|
exe s:pA16a.'-sepcorner- :'
|
||||||
|
exe s:pA16a.'vert <plug>\vert '
|
||||||
|
exe s:pA16a.'Vert <plug>\Vert '
|
||||||
|
exe s:pA16a.'lvert <plug>\lvert '
|
||||||
|
exe s:pA16a.'lVert <plug>\lVert '
|
||||||
|
exe s:pA16a.'rvert <plug>\rvert '
|
||||||
|
exe s:pA16a.'rVert <plug>\rVert '
|
||||||
|
exe s:pA16a.'uparrow <plug>\uparrow '
|
||||||
|
exe s:pA16a.'Uparrow <plug>\Uparrow '
|
||||||
|
exe s:pA16a.'downarrow <plug>\downarrow '
|
||||||
|
exe s:pA16a.'Downarrow <plug>\Downarrow '
|
||||||
|
exe s:pA16a.'updownarrow <plug>\updownarrow '
|
||||||
|
exe s:pA16a.'Updownarrow <plug>\Updownarrow '
|
||||||
|
exe s:pA16a.'lgroup <plug>\lgroup '
|
||||||
|
exe s:pA16a.'rgroup <plug>\rgroup '
|
||||||
|
exe s:pA16a.'lmoustache <plug>\lmoustache '
|
||||||
|
exe s:pA16a.'rmoustache <plug>\rmoustache '
|
||||||
|
exe s:pA16a.'arrowvert <plug>\arrowvert '
|
||||||
|
exe s:pA16a.'Arrowvert <plug>\Arrowvert '
|
||||||
|
exe s:pA16a.'bracevert <plug>\bracevert '
|
||||||
|
" }}}
|
||||||
|
" {{{ Log-likes
|
||||||
|
let s:pA17 = s:pA."Lo&g-likes."
|
||||||
|
exe s:pA17.'arccos <plug>\arccos '
|
||||||
|
exe s:pA17.'arcsin <plug>\arcsin '
|
||||||
|
exe s:pA17.'arctan <plug>\arctan '
|
||||||
|
exe s:pA17.'arg <plug>\arg '
|
||||||
|
exe s:pA17.'cos <plug>\cos '
|
||||||
|
exe s:pA17.'cosh <plug>\cosh '
|
||||||
|
exe s:pA17.'cot <plug>\cot '
|
||||||
|
exe s:pA17.'coth <plug>\coth '
|
||||||
|
exe s:pA17.'csc <plug>\csc '
|
||||||
|
exe s:pA17.'deg <plug>\deg '
|
||||||
|
exe s:pA17.'det <plug>\det '
|
||||||
|
exe s:pA17.'dim <plug>\dim '
|
||||||
|
exe s:pA17.'exp <plug>\exp '
|
||||||
|
exe s:pA17.'gcd <plug>\gcd '
|
||||||
|
exe s:pA17.'hom <plug>\hom '
|
||||||
|
exe s:pA17.'inf <plug>\inf '
|
||||||
|
exe s:pA17.'injlim <plug>\injlim '
|
||||||
|
exe s:pA17.'ker <plug>\ker '
|
||||||
|
exe s:pA17.'lg <plug>\lg '
|
||||||
|
exe s:pA17.'lim <plug>\lim '
|
||||||
|
exe s:pA17.'liminf <plug>\liminf '
|
||||||
|
exe s:pA17.'limsup <plug>\limsup '
|
||||||
|
exe s:pA17.'ln <plug>\ln '
|
||||||
|
exe s:pA17.'log <plug>\log '
|
||||||
|
exe s:pA17.'max <plug>\max '
|
||||||
|
exe s:pA17.'min <plug>\min '
|
||||||
|
exe s:pA17.'Pr <plug>\Pr '
|
||||||
|
exe s:pA17.'projlim <plug>\projlim '
|
||||||
|
exe s:pA17.'sec <plug>\sec '
|
||||||
|
exe s:pA17.'sin <plug>\sin '
|
||||||
|
exe s:pA17.'sinh <plug>\sinh '
|
||||||
|
exe s:pA17.'sup <plug>\sup '
|
||||||
|
exe s:pA17.'tan <plug>\tan '
|
||||||
|
exe s:pA17.'tanh <plug>\tanh '
|
||||||
|
exe s:pA17.'varlimsup <plug>\varlimsup '
|
||||||
|
exe s:pA17.'varliminf <plug>\varliminf '
|
||||||
|
exe s:pA17.'varinjlim <plug>\varinjlim '
|
||||||
|
exe s:pA17.'varprojlim <plug>\varprojlim '
|
||||||
|
" }}}
|
||||||
|
" {{{ MathSpacing
|
||||||
|
let s:pA18 = s:pA."MathSpacing."
|
||||||
|
exe s:pA18.', <plug>\, '
|
||||||
|
exe s:pA18.': <plug>\: '
|
||||||
|
exe s:pA18.'; <plug>\; '
|
||||||
|
exe s:pA18.'[space] <plug>\ '
|
||||||
|
exe s:pA18.'quad <plug>\quad '
|
||||||
|
exe s:pA18.'qquad <plug>\qquad '
|
||||||
|
exe s:pA18.'! <plug>\! '
|
||||||
|
exe s:pA18.'thinspace <plug>\thinspace '
|
||||||
|
exe s:pA18.'medspace <plug>\medspace '
|
||||||
|
exe s:pA18.'thickspace <plug>\thickspace '
|
||||||
|
exe s:pA18.'negthinspace <plug>\negthinspace '
|
||||||
|
exe s:pA18.'negmedspace <plug>\negmedspace '
|
||||||
|
exe s:pA18.'negthickspace <plug>\negthickspace '
|
||||||
|
" 1}}}
|
||||||
|
|
||||||
|
" vim:fdm=marker:ff=unix:noet:ts=4:sw=4
|
16
vim/vim-latex/ftplugin/latex-suite/multicompile.vim
Executable file
16
vim/vim-latex/ftplugin/latex-suite/multicompile.vim
Executable file
|
@ -0,0 +1,16 @@
|
||||||
|
" ============================================================================
|
||||||
|
" File: multicompile.vim
|
||||||
|
" Author: Srinath Avadhanula
|
||||||
|
" Created: Sat Jul 05 03:00 PM 2003
|
||||||
|
" Description: compile a .tex file multiple times to get cross references
|
||||||
|
" right.
|
||||||
|
" License: Vim Charityware License
|
||||||
|
" Part of vim-latexSuite: http://vim-latex.sourceforge.net
|
||||||
|
" ============================================================================
|
||||||
|
|
||||||
|
" The contents of this file have been moved to compiler.vim, the file which
|
||||||
|
" contains all functions relevant to compiling and viewing.
|
||||||
|
" This file is kept empty on purpose so that it will over-write previous
|
||||||
|
" versions of multicompile.vim, therby preventing conflicts.
|
||||||
|
|
||||||
|
" vim:fdm=marker:nowrap:noet:ff=unix:ts=4:sw=4
|
194
vim/vim-latex/ftplugin/latex-suite/outline.py
Executable file
194
vim/vim-latex/ftplugin/latex-suite/outline.py
Executable file
|
@ -0,0 +1,194 @@
|
||||||
|
#!/usr/bin/python
|
||||||
|
|
||||||
|
# Part of Latex-Suite
|
||||||
|
#
|
||||||
|
# Copyright: Srinath Avadhanula
|
||||||
|
# Description:
|
||||||
|
# This file implements a simple outline creation for latex documents.
|
||||||
|
|
||||||
|
import re
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import StringIO
|
||||||
|
|
||||||
|
# getFileContents {{{
|
||||||
|
def getFileContents(fname):
|
||||||
|
if type(fname) is not str:
|
||||||
|
fname = fname.group(3)
|
||||||
|
|
||||||
|
# If neither the file or file.tex exists, then we just give up.
|
||||||
|
if not os.path.isfile(fname):
|
||||||
|
if os.path.isfile(fname + '.tex'):
|
||||||
|
fname += '.tex'
|
||||||
|
else:
|
||||||
|
return ''
|
||||||
|
|
||||||
|
try:
|
||||||
|
# This longish thing is to make sure that all files are converted into
|
||||||
|
# \n seperated lines.
|
||||||
|
contents = '\n'.join(open(fname).read().splitlines())
|
||||||
|
except IOError:
|
||||||
|
return ''
|
||||||
|
|
||||||
|
# TODO what are all the ways in which a tex file can include another?
|
||||||
|
pat = re.compile(r'^\\(@?)(include|input){(.*?)}', re.M)
|
||||||
|
contents = re.sub(pat, getFileContents, contents)
|
||||||
|
|
||||||
|
return ('%%==== FILENAME: %s' % fname) + '\n' + contents
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
# stripComments {{{
|
||||||
|
def stripComments(contents):
|
||||||
|
# remove all comments except those of the form
|
||||||
|
# %%==== FILENAME: <filename.tex>
|
||||||
|
# BUG: This comment right after a new paragraph is not recognized: foo\\%comment
|
||||||
|
uncomm = [re.sub('(?<!\\\\)%(?!==== FILENAME: ).*', '', line) for line in contents.splitlines()]
|
||||||
|
# also remove all only-whitespace lines.
|
||||||
|
nonempty = [line for line in uncomm if line.strip()]
|
||||||
|
|
||||||
|
return nonempty
|
||||||
|
# }}}
|
||||||
|
# addFileNameAndNumber {{{
|
||||||
|
def addFileNameAndNumber(lines):
|
||||||
|
filename = ''
|
||||||
|
retval = ''
|
||||||
|
for line in lines:
|
||||||
|
if re.match('%==== FILENAME: ', line):
|
||||||
|
filename = line.split('%==== FILENAME: ')[1]
|
||||||
|
else:
|
||||||
|
retval += '<%s>%s\n' % (filename, line)
|
||||||
|
|
||||||
|
return retval
|
||||||
|
# }}}
|
||||||
|
# getSectionLabels_Root {{{
|
||||||
|
def getSectionLabels_Root(lineinfo, section_prefix, label_prefix):
|
||||||
|
prev_txt = ''
|
||||||
|
inside_env = 0
|
||||||
|
prev_env = ''
|
||||||
|
outstr = StringIO.StringIO('')
|
||||||
|
pres_depth = len(section_prefix)
|
||||||
|
|
||||||
|
#print '+getSectionLabels_Root: lineinfo = [%s]' % lineinfo
|
||||||
|
for line in lineinfo.splitlines():
|
||||||
|
if not line:
|
||||||
|
continue
|
||||||
|
|
||||||
|
# throw away leading white-space
|
||||||
|
m = re.search('<(.*?)>(.*)', line)
|
||||||
|
|
||||||
|
fname = m.group(1)
|
||||||
|
line = m.group(2).lstrip()
|
||||||
|
|
||||||
|
# we found a label!
|
||||||
|
m = re.search(r'\\label{(%s.*?)}' % label_prefix, line)
|
||||||
|
if m:
|
||||||
|
# add the current line (except the \label command) to the text
|
||||||
|
# which will be displayed below this label
|
||||||
|
prev_txt += re.search(r'(^.*?)\\label{', line).group(1)
|
||||||
|
|
||||||
|
# for the figure environment however, just display the caption.
|
||||||
|
# instead of everything since the \begin command.
|
||||||
|
if prev_env == 'figure':
|
||||||
|
cm = re.search(r'\caption(\[.*?\]\s*)?{(.*?)}', prev_txt)
|
||||||
|
if cm:
|
||||||
|
prev_txt = cm.group(2)
|
||||||
|
|
||||||
|
# print a nice formatted text entry like so
|
||||||
|
#
|
||||||
|
# > eqn:label
|
||||||
|
# : e^{i\pi} + 1 = 0
|
||||||
|
#
|
||||||
|
# Use the current "section depth" for the leading indentation.
|
||||||
|
print >>outstr, '>%s%s\t\t<%s>' % (' '*(2*pres_depth+2),
|
||||||
|
m.group(1), fname)
|
||||||
|
print >>outstr, ':%s%s' % (' '*(2*pres_depth+4), prev_txt)
|
||||||
|
prev_txt = ''
|
||||||
|
|
||||||
|
# If we just encoutered the start or end of an environment or a
|
||||||
|
# label, then do not remember this line.
|
||||||
|
# NOTE: This assumes that there is no equation text on the same
|
||||||
|
# line as the \begin or \end command. The text on the same line as
|
||||||
|
# the \label was already handled.
|
||||||
|
if re.search(r'\\begin{(equation|eqnarray|align|figure)', line):
|
||||||
|
prev_txt = ''
|
||||||
|
prev_env = re.search(r'\\begin{(.*?)}', line).group(1)
|
||||||
|
inside_env = 1
|
||||||
|
|
||||||
|
elif re.search(r'\\label', line):
|
||||||
|
prev_txt = ''
|
||||||
|
|
||||||
|
elif re.search(r'\\end{(equation|eqnarray|align|figure)', line):
|
||||||
|
inside_env = 0
|
||||||
|
prev_env = ''
|
||||||
|
|
||||||
|
else:
|
||||||
|
# If we are inside an environment, then the text displayed with
|
||||||
|
# the label is the complete text within the environment,
|
||||||
|
# otherwise its just the previous line.
|
||||||
|
if inside_env:
|
||||||
|
prev_txt += line
|
||||||
|
else:
|
||||||
|
prev_txt = line
|
||||||
|
|
||||||
|
return outstr.getvalue()
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
# getSectionLabels {{{
|
||||||
|
def getSectionLabels(lineinfo,
|
||||||
|
sectypes=['chapter', 'section', 'subsection', 'subsubsection'],
|
||||||
|
section_prefix='', label_prefix=''):
|
||||||
|
|
||||||
|
if not sectypes:
|
||||||
|
return getSectionLabels_Root(lineinfo, section_prefix, label_prefix)
|
||||||
|
|
||||||
|
##print 'sectypes[0] = %s, section_prefix = [%s], lineinfo = [%s]' % (
|
||||||
|
## sectypes[0], section_prefix, lineinfo)
|
||||||
|
|
||||||
|
sections = re.split(r'(<.*?>\\%s{.*})' % sectypes[0], lineinfo)
|
||||||
|
|
||||||
|
# there will 1+2n sections, the first containing the "preamble" and the
|
||||||
|
# others containing the child sections as paris of [section_name,
|
||||||
|
# section_text]
|
||||||
|
|
||||||
|
rettext = getSectionLabels(sections[0], sectypes[1:], section_prefix, label_prefix)
|
||||||
|
|
||||||
|
for i in range(1,len(sections),2):
|
||||||
|
sec_num = (i+1)/2
|
||||||
|
section_name = re.search(r'\\%s{(.*?)}' % sectypes[0], sections[i]).group(1)
|
||||||
|
section_label_text = getSectionLabels(sections[i] + sections[i+1], sectypes[1:],
|
||||||
|
section_prefix+('%d.' % sec_num), label_prefix)
|
||||||
|
|
||||||
|
if section_label_text:
|
||||||
|
sec_heading = 2*' '*len(section_prefix) + section_prefix
|
||||||
|
sec_heading += '%d. %s' % (sec_num, section_name)
|
||||||
|
sec_heading += '<<<%d\n' % (len(section_prefix)/2+1)
|
||||||
|
|
||||||
|
rettext += sec_heading + section_label_text
|
||||||
|
|
||||||
|
return rettext
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
# main {{{
|
||||||
|
def main(fname, label_prefix):
|
||||||
|
[head, tail] = os.path.split(fname)
|
||||||
|
if head:
|
||||||
|
os.chdir(head)
|
||||||
|
|
||||||
|
contents = getFileContents(fname)
|
||||||
|
nonempty = stripComments(contents)
|
||||||
|
lineinfo = addFileNameAndNumber(nonempty)
|
||||||
|
|
||||||
|
return getSectionLabels(lineinfo, label_prefix=label_prefix)
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
if len(sys.argv) > 2:
|
||||||
|
prefix = sys.argv[2]
|
||||||
|
else:
|
||||||
|
prefix = ''
|
||||||
|
|
||||||
|
print main(sys.argv[1], prefix)
|
||||||
|
|
||||||
|
|
||||||
|
# vim: fdm=marker
|
676
vim/vim-latex/ftplugin/latex-suite/packages.vim
Executable file
676
vim/vim-latex/ftplugin/latex-suite/packages.vim
Executable file
|
@ -0,0 +1,676 @@
|
||||||
|
"=============================================================================
|
||||||
|
" File: packages.vim
|
||||||
|
" Author: Mikolaj Machowski
|
||||||
|
" Created: Tue Apr 23 06:00 PM 2002 PST
|
||||||
|
"
|
||||||
|
" Description: handling packages from within vim
|
||||||
|
"=============================================================================
|
||||||
|
|
||||||
|
" avoid reinclusion.
|
||||||
|
if !g:Tex_PackagesMenu || exists('s:doneOnce')
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let s:doneOnce = 1
|
||||||
|
|
||||||
|
let s:path = fnameescape(expand("<sfile>:p:h"))
|
||||||
|
|
||||||
|
let s:menu_div = 20
|
||||||
|
|
||||||
|
com! -nargs=0 TPackageUpdate :silent! call Tex_pack_updateall(1)
|
||||||
|
com! -nargs=0 TPackageUpdateAll :silent! call Tex_pack_updateall(1)
|
||||||
|
|
||||||
|
" Custom command-line completion of Tcommands is very useful but this feature
|
||||||
|
" is available only in Vim 6.2 and above. Check number of version and choose
|
||||||
|
" proper command and function.
|
||||||
|
if v:version >= 602
|
||||||
|
com! -complete=custom,Tex_CompletePackageName -nargs=* TPackage let s:retVal = Tex_pack_one(<f-args>) <bar> normal! i<C-r>=s:retVal<CR>
|
||||||
|
|
||||||
|
" Tex_CompletePackageName: for completing names in TPackage command {{{
|
||||||
|
" Description: get list of package names with globpath(), remove full path
|
||||||
|
" and return list of names separated with newlines.
|
||||||
|
"
|
||||||
|
function! Tex_CompletePackageName(A,P,L)
|
||||||
|
" Get name of packages from all runtimepath directories
|
||||||
|
let packnames = Tex_FindInRtp('', 'packages')
|
||||||
|
let packnames = substitute(packnames, '^,', '', 'e')
|
||||||
|
" Separate names with \n not ,
|
||||||
|
let packnames = substitute(packnames,',','\n','g')
|
||||||
|
return packnames
|
||||||
|
endfunction
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
else
|
||||||
|
com! -nargs=* TPackage let s:retVal = Tex_pack_one(<f-args>) <bar> normal! i<C-r>=s:retVal<CR>
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
imap <silent> <plug> <Nop>
|
||||||
|
nmap <silent> <plug> i
|
||||||
|
|
||||||
|
let g:Tex_package_supported = ''
|
||||||
|
let g:Tex_package_detected = ''
|
||||||
|
" Remember the defaults because we want g:Tex_PromptedEnvironments to contain
|
||||||
|
" in addition to the default, \newenvironments, and the \newenvironments might
|
||||||
|
" change...
|
||||||
|
let g:Tex_PromptedEnvironmentsDefault = g:Tex_PromptedEnvironments
|
||||||
|
let g:Tex_PromptedCommandsDefault = g:Tex_PromptedCommands
|
||||||
|
|
||||||
|
|
||||||
|
" Tex_pack_check: creates the package menu and adds to 'dict' setting. {{{
|
||||||
|
"
|
||||||
|
function! Tex_pack_check(package)
|
||||||
|
" Use Tex_FindInRtp() function to get first name from packages list in all
|
||||||
|
" rtp directories conforming with latex-suite directories hierarchy
|
||||||
|
" Store names in variables to process functions only once.
|
||||||
|
let packname = Tex_FindInRtp(a:package, 'packages')
|
||||||
|
if packname != ''
|
||||||
|
exe 'runtime! ftplugin/latex-suite/packages/' . a:package
|
||||||
|
if has("gui_running")
|
||||||
|
call Tex_pack(a:package)
|
||||||
|
endif
|
||||||
|
if g:Tex_package_supported !~ a:package
|
||||||
|
let g:Tex_package_supported = g:Tex_package_supported.','.a:package
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
" Return full list of dictionaries (separated with ,) for package in &rtp
|
||||||
|
call Tex_Debug("Tex_pack_check: searching for ".a:package." in dictionaries/ in &rtp", "pack")
|
||||||
|
let dictname = Tex_FindInRtp(a:package, 'dictionaries', ':p')
|
||||||
|
if dictname != ''
|
||||||
|
exe 'setlocal dict^=' . dictname
|
||||||
|
call Tex_Debug('Tex_pack_check: setlocal dict^=' . dictname, 'pack')
|
||||||
|
if g:Tex_package_supported !~ a:package
|
||||||
|
let g:Tex_package_supported = g:Tex_package_supported.','.a:package
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
if g:Tex_package_detected !~ '\<'.a:package.'\>'
|
||||||
|
let g:Tex_package_detected = g:Tex_package_detected.','.a:package
|
||||||
|
endif
|
||||||
|
let g:Tex_package_detected = substitute(g:Tex_package_detected, '^,', '', '')
|
||||||
|
let g:Tex_package_supported = substitute(g:Tex_package_supported, '^,', '', '')
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
" Tex_pack_uncheck: removes package from menu and 'dict' settings. {{{
|
||||||
|
function! Tex_pack_uncheck(package)
|
||||||
|
if has("gui_running") && Tex_FindInRtp(a:package, 'packages') != ''
|
||||||
|
exe 'silent! aunmenu '.g:Tex_PackagesMenuLocation.'-sep'.a:package.'-'
|
||||||
|
exe 'silent! aunmenu '.g:Tex_PackagesMenuLocation.a:package.'\ Options'
|
||||||
|
exe 'silent! aunmenu '.g:Tex_PackagesMenuLocation.a:package.'\ Commands'
|
||||||
|
endif
|
||||||
|
if Tex_FindInRtp(a:package, 'dictionaries') != ''
|
||||||
|
exe 'setlocal dict-='.Tex_FindInRtp(a:package, 'dictionaries')
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
" Tex_pack_updateall: updates the TeX-Packages menu {{{
|
||||||
|
" Description:
|
||||||
|
" This function first calls Tex_pack_all to scan for \usepackage's etc if
|
||||||
|
" necessary. After that, it 'supports' and 'unsupports' packages as needed
|
||||||
|
" in such a way as to not repeat work.
|
||||||
|
function! Tex_pack_updateall(force)
|
||||||
|
call Tex_Debug('+Tex_pack_updateall', 'pack')
|
||||||
|
|
||||||
|
" Find out which file we need to scan.
|
||||||
|
let fname = Tex_GetMainFileName(':p')
|
||||||
|
|
||||||
|
" If this is the same as last time, don't repeat.
|
||||||
|
if !a:force && exists('s:lastScannedFile') &&
|
||||||
|
\ s:lastScannedFile == fname
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
" Remember which file we scanned for next time.
|
||||||
|
let s:lastScannedFile = fname
|
||||||
|
|
||||||
|
" Remember which packages we detected last time.
|
||||||
|
if exists('g:Tex_package_detected')
|
||||||
|
let oldpackages = g:Tex_package_detected
|
||||||
|
else
|
||||||
|
let oldpackages = ''
|
||||||
|
endif
|
||||||
|
|
||||||
|
" This sets up a global variable of all detected packages.
|
||||||
|
let g:Tex_package_detected = ''
|
||||||
|
" reset the environments and commands.
|
||||||
|
let g:Tex_PromptedEnvironments = g:Tex_PromptedEnvironmentsDefault
|
||||||
|
let g:Tex_PromptedCommands = g:Tex_PromptedCommandsDefault
|
||||||
|
|
||||||
|
if expand('%:p') != fname
|
||||||
|
call Tex_Debug(':Tex_pack_updateall: sview '.Tex_EscapeSpaces(fname), 'pack')
|
||||||
|
exe 'sview '.Tex_EscapeSpaces(fname)
|
||||||
|
else
|
||||||
|
call Tex_Debug(':Tex_pack_updateall: split', 'pack')
|
||||||
|
split
|
||||||
|
endif
|
||||||
|
|
||||||
|
call Tex_ScanForPackages()
|
||||||
|
q
|
||||||
|
|
||||||
|
call Tex_Debug(':Tex_pack_updateall: detected ['.g:Tex_package_detected.'] in first run', 'pack')
|
||||||
|
|
||||||
|
" Now for each package find out if this is a custom package and if so,
|
||||||
|
" scan that as well. We will use the ':find' command in vim to let vim
|
||||||
|
" search through the file paths for us.
|
||||||
|
"
|
||||||
|
" NOTE: This while loop will also take into account packages included
|
||||||
|
" within packages to any level of recursion as long as
|
||||||
|
" g:Tex_package_detected is always padded with new package names
|
||||||
|
" from the end.
|
||||||
|
"
|
||||||
|
" First set the &path setting to the user's TEXINPUTS setting.
|
||||||
|
let _path = &path
|
||||||
|
let _suffixesadd = &suffixesadd
|
||||||
|
|
||||||
|
let &path = '.,'.g:Tex_TEXINPUTS
|
||||||
|
let &suffixesadd = '.sty,.tex'
|
||||||
|
|
||||||
|
let scannedPackages = ''
|
||||||
|
|
||||||
|
let i = 1
|
||||||
|
let packname = Tex_Strntok(g:Tex_package_detected, ',', i)
|
||||||
|
while packname != ''
|
||||||
|
|
||||||
|
call Tex_Debug(':Tex_pack_updateall: scanning package '.packname, 'pack')
|
||||||
|
|
||||||
|
" Scan this package only if we have not scanned it before in this
|
||||||
|
" run.
|
||||||
|
if scannedPackages =~ '\<'.packname.'\>'
|
||||||
|
let i = i + 1
|
||||||
|
|
||||||
|
call Tex_Debug(':Tex_pack_updateall: '.packname.' already scanned', 'pack')
|
||||||
|
let packname = Tex_Strntok(g:Tex_package_detected, ',', i)
|
||||||
|
continue
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Split this window in two. The packages/files being found will open
|
||||||
|
" in this new window and we also need not bother with files being
|
||||||
|
" modified etc.
|
||||||
|
split
|
||||||
|
|
||||||
|
call Tex_Debug(':Tex_pack_updateall: silent! find '.Tex_EscapeSpaces(packname).'.sty', 'pack')
|
||||||
|
let thisbufnum = bufnr('%')
|
||||||
|
exec 'silent! find '.Tex_EscapeSpaces(packname).'.sty'
|
||||||
|
call Tex_Debug(':Tex_pack_updateall: present file = '.bufname('%'), 'pack')
|
||||||
|
|
||||||
|
" If this file was not found, assume that it means its not a
|
||||||
|
" custom package and mark it "scanned".
|
||||||
|
" A package is not found if we stay in the same buffer as before and
|
||||||
|
" its not the one where we want to go.
|
||||||
|
if bufnr('%') == thisbufnum && bufnr('%') != bufnr(packname.'.sty')
|
||||||
|
let scannedPackages = scannedPackages.','.packname
|
||||||
|
q
|
||||||
|
|
||||||
|
call Tex_Debug(':Tex_pack_updateall: '.packname.' not found anywhere', 'pack')
|
||||||
|
let i = i + 1
|
||||||
|
let packname = Tex_Strntok(g:Tex_package_detected, ',', i)
|
||||||
|
continue
|
||||||
|
endif
|
||||||
|
|
||||||
|
" otherwise we are presently editing a custom package, scan it for
|
||||||
|
" more \usepackage lines from the first line to the last.
|
||||||
|
let packpath = expand('%:p')
|
||||||
|
let &complete = &complete.'s'.packpath
|
||||||
|
|
||||||
|
call Tex_Debug(':Tex_pack_updateall: found custom package '.packpath, 'pack')
|
||||||
|
call Tex_ScanForPackages(line('$'), line('$'))
|
||||||
|
call Tex_Debug(':Tex_pack_updateall: After scanning, g:Tex_package_detected = '.g:Tex_package_detected, 'pack')
|
||||||
|
|
||||||
|
let scannedPackages = scannedPackages.','.packname
|
||||||
|
" Do not use bwipe, but that leads to excessive buffer number
|
||||||
|
" consumption. Besides, its intuitive for a custom package to remain
|
||||||
|
" on the buffer list.
|
||||||
|
q
|
||||||
|
|
||||||
|
let i = i + 1
|
||||||
|
let packname = Tex_Strntok(g:Tex_package_detected, ',', i)
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
let &path = _path
|
||||||
|
let &suffixesadd = _suffixesadd
|
||||||
|
|
||||||
|
" Now only support packages we didn't last time.
|
||||||
|
" First remove packages which were used last time but are no longer used.
|
||||||
|
let i = 1
|
||||||
|
let oldPackName = Tex_Strntok(oldpackages, ',', i)
|
||||||
|
while oldPackName != ''
|
||||||
|
if g:Tex_package_detected !~ oldPackName
|
||||||
|
call Tex_pack_uncheck(oldPackName)
|
||||||
|
endif
|
||||||
|
let i = i + 1
|
||||||
|
let oldPackName = Tex_Strntok(oldpackages, ',', i)
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
" Then support packages which are used this time but weren't used last
|
||||||
|
" time.
|
||||||
|
let i = 1
|
||||||
|
let newPackName = Tex_Strntok(g:Tex_package_detected, ',', i)
|
||||||
|
while newPackName != ''
|
||||||
|
if oldpackages !~ newPackName
|
||||||
|
call Tex_pack_one(newPackName)
|
||||||
|
endif
|
||||||
|
let i = i + 1
|
||||||
|
let newPackName = Tex_Strntok(g:Tex_package_detected, ',', i)
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
" Throw an event that we are done scanning packages. Some packages might
|
||||||
|
" use this to change behavior based on which options have been used etc.
|
||||||
|
call Tex_Debug(":Tex_pack_updateall: throwing LatexSuiteScannedPackages event", "pack")
|
||||||
|
silent! do LatexSuite User LatexSuiteScannedPackages
|
||||||
|
|
||||||
|
call Tex_Debug("-Tex_pack_updateall", "pack")
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
" Tex_pack_one: supports each package in the argument list.{{{
|
||||||
|
" Description:
|
||||||
|
" If no arguments are supplied, then the user is asked to choose from the
|
||||||
|
" packages found in the packages/ directory
|
||||||
|
function! Tex_pack_one(...)
|
||||||
|
if a:0 == 0 || (a:0 > 0 && a:1 == '')
|
||||||
|
let packlist = Tex_FindInRtp('', 'packages')
|
||||||
|
let packname = Tex_ChooseFromPrompt(
|
||||||
|
\ "Choose a package: \n" .
|
||||||
|
\ Tex_CreatePrompt(packlist, '3', ',') .
|
||||||
|
\ "\nEnter number or filename :",
|
||||||
|
\ packlist, ',')
|
||||||
|
if packname != ''
|
||||||
|
return Tex_pack_one(packname)
|
||||||
|
else
|
||||||
|
return ''
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
" Support the packages supplied. This function can be called with
|
||||||
|
" multiple arguments in which case, support each of them in turn.
|
||||||
|
let retVal = ''
|
||||||
|
let omega = 1
|
||||||
|
while omega <= a:0
|
||||||
|
let packname = a:{omega}
|
||||||
|
if Tex_FindInRtp(packname, 'packages') != ''
|
||||||
|
call Tex_pack_check(packname)
|
||||||
|
if exists('g:TeX_package_option_'.packname)
|
||||||
|
\ && g:TeX_package_option_{packname} != ''
|
||||||
|
let retVal = retVal.'\usepackage[<++>]{'.packname.'}<++>'
|
||||||
|
else
|
||||||
|
let retVal = retVal.'\usepackage{'.packname.'}'."\<CR>"
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
let retVal = retVal.'\usepackage{'.packname.'}'."\<CR>"
|
||||||
|
endif
|
||||||
|
let omega = omega + 1
|
||||||
|
endwhile
|
||||||
|
return IMAP_PutTextWithMovement(substitute(retVal, "\<CR>$", '', ''), '<+', '+>')
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
" }}}
|
||||||
|
" Tex_ScanForPackages: scans the current file for \usepackage{} lines {{{
|
||||||
|
" and if supported, loads the options and commands found in the
|
||||||
|
" corresponding package file. Also scans for \newenvironment and
|
||||||
|
" \newcommand lines and adds names to g:Tex_Prompted variables, they can be
|
||||||
|
" easy available through <F5> and <F7> shortcuts
|
||||||
|
function! Tex_ScanForPackages(...)
|
||||||
|
call Tex_Debug("+Tex_ScanForPackages", "pack")
|
||||||
|
|
||||||
|
let pos = Tex_GetPos()
|
||||||
|
|
||||||
|
" For package files without \begin and \end{document}, we might be told to
|
||||||
|
" search from beginning to end.
|
||||||
|
if a:0 < 2
|
||||||
|
0
|
||||||
|
let beginline = search('\\begin{document}', 'W')
|
||||||
|
let endline = search('\\end{document}', 'W')
|
||||||
|
0
|
||||||
|
else
|
||||||
|
let beginline = a:1
|
||||||
|
let endline = a:2
|
||||||
|
endif
|
||||||
|
|
||||||
|
call Tex_Debug(":Tex_ScanForPackages: Begining scans in [".bufname('%')."], beginline = ".beginline, "pack")
|
||||||
|
|
||||||
|
|
||||||
|
" Scan the file. First open up all the folds, because the command
|
||||||
|
" /somepattern
|
||||||
|
" issued in a closed fold _always_ goes to the first match.
|
||||||
|
let erm = v:errmsg
|
||||||
|
silent! normal! ggVGzO
|
||||||
|
let v:errmsg = erm
|
||||||
|
|
||||||
|
call Tex_Debug(":Tex_ScanForPackages: beginning scan for \\usepackage lines", "pack")
|
||||||
|
" The wrap trick enables us to match \usepackage on the first line as
|
||||||
|
" well.
|
||||||
|
let wrap = 'w'
|
||||||
|
while search('^\s*\\usepackage\_.\{-}{\_.\+}', wrap)
|
||||||
|
let wrap = 'W'
|
||||||
|
|
||||||
|
if line('.') > beginline
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
|
||||||
|
let saveUnnamed = @"
|
||||||
|
let saveA = @a
|
||||||
|
|
||||||
|
" If there are options, then find those.
|
||||||
|
if getline('.') =~ '\\usepackage\[.\{-}\]'
|
||||||
|
let options = matchstr(getline('.'), '\\usepackage\[\zs.\{-}\ze\]')
|
||||||
|
elseif getline('.') =~ '\\usepackage\['
|
||||||
|
" Entering here means that the user has split the \usepackage
|
||||||
|
" across newlines. Therefore, use yank.
|
||||||
|
exec "normal! /{\<CR>\"ayi}"
|
||||||
|
let options = @a
|
||||||
|
else
|
||||||
|
let options = ''
|
||||||
|
endif
|
||||||
|
|
||||||
|
" The following statement puts the stuff between the { }'s of a
|
||||||
|
" \usepackage{stuff,foo} into @a. Do not use matchstr() and the like
|
||||||
|
" because we can have things split across lines and such.
|
||||||
|
exec "normal! /{\<CR>\"ay/}\<CR>"
|
||||||
|
|
||||||
|
" now remove all whitespace from @a. We need to remove \n and \r
|
||||||
|
" because we can encounter stuff like
|
||||||
|
" \usepackage{pack1,
|
||||||
|
" newpackonanotherline}
|
||||||
|
let @a = substitute(@a, "[ \t\n\r]", '', 'g')
|
||||||
|
|
||||||
|
" Now we have something like pack1,pack2,pack3 with possibly commas
|
||||||
|
" and stuff before the first package and after the last package name.
|
||||||
|
" Remove those.
|
||||||
|
let @a = substitute(@a, '\(^\W*\|\W*$\)', '', 'g')
|
||||||
|
|
||||||
|
" This gets us a string like 'pack1,pack2,pack3'
|
||||||
|
" TODO: This will contain duplicates if the user has duplicates.
|
||||||
|
" Should we bother taking care of this?
|
||||||
|
let g:Tex_package_detected = g:Tex_package_detected.','.@a
|
||||||
|
|
||||||
|
" For each package found, form a global variable of the form
|
||||||
|
" g:Tex_{packagename}_options
|
||||||
|
" which contains a list of the options.
|
||||||
|
let j = 1
|
||||||
|
while Tex_Strntok(@a, ',', j) != ''
|
||||||
|
let g:Tex_{Tex_Strntok(@a, ',', j)}_options = options
|
||||||
|
let j = j + 1
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
" Finally convert @a into something like '"pack1","pack2"'
|
||||||
|
let @a = substitute(@a, '^\|$', '"', 'g')
|
||||||
|
let @a = substitute(@a, ',', '","', 'g')
|
||||||
|
|
||||||
|
call Tex_Debug(":Tex_ScanForPackages: found package(s) [".@a."] on line ".line('.'), "pack")
|
||||||
|
|
||||||
|
" restore @a
|
||||||
|
let @a = saveA
|
||||||
|
let @" = saveUnnamed
|
||||||
|
endwhile
|
||||||
|
call Tex_Debug(":Tex_ScanForPackages: End scan \\usepackage, detected packages = ".g:Tex_package_detected, "pack")
|
||||||
|
|
||||||
|
" TODO: This needs to be changed. In the future, we might have
|
||||||
|
" functionality to remember the fold-state before opening up all the folds
|
||||||
|
" and then re-creating them. Use mkview.vim.
|
||||||
|
let erm = v:errmsg
|
||||||
|
silent! normal! ggVGzC
|
||||||
|
let v:errmsg = erm
|
||||||
|
|
||||||
|
" Because creating list of detected packages gives string
|
||||||
|
" ',pack1,pack2,pack3' remove leading ,
|
||||||
|
let g:Tex_package_detected = substitute(g:Tex_package_detected, '^,', '', '')
|
||||||
|
|
||||||
|
call Tex_Debug(":Tex_ScanForPackages: Beginning scan for \\newcommand's", "pack")
|
||||||
|
" Scans whole file (up to \end{document}) for \newcommand and adds this
|
||||||
|
" commands to g:Tex_PromptedCommands variable, it is easily available
|
||||||
|
" through <F7>
|
||||||
|
0
|
||||||
|
while search('^\s*\\newcommand\*\?{.\{-}}', 'W')
|
||||||
|
|
||||||
|
if line('.') > endline
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
|
||||||
|
let newcommand = matchstr(getline('.'), '\\newcommand\*\?{\\\zs.\{-}\ze}')
|
||||||
|
let g:Tex_PromptedCommands = g:Tex_PromptedCommands . ',' . newcommand
|
||||||
|
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
" Scans whole file (up to \end{document}) for \newenvironment and adds this
|
||||||
|
" environments to g:Tex_PromptedEnvironments variable, it is easily available
|
||||||
|
" through <F5>
|
||||||
|
0
|
||||||
|
call Tex_Debug(":Tex_ScanForPackages: Beginning scan for \\newenvironment's", 'pack')
|
||||||
|
|
||||||
|
while search('^\s*\\newenvironment\*\?{.\{-}}', 'W')
|
||||||
|
call Tex_Debug('found newenvironment on '.line('.'), 'pack')
|
||||||
|
|
||||||
|
if line('.') > endline
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
|
||||||
|
let newenvironment = matchstr(getline('.'), '\\newenvironment\*\?{\zs.\{-}\ze}')
|
||||||
|
let g:Tex_PromptedEnvironments = g:Tex_PromptedEnvironments . ',' . newenvironment
|
||||||
|
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
call Tex_SetPos(pos)
|
||||||
|
" first make a random search so that we push at least one item onto the
|
||||||
|
" search history. Since vim puts only one item in the history per function
|
||||||
|
" call, this way we make sure that one and only item is put into the
|
||||||
|
" search history.
|
||||||
|
normal! /^<CR>
|
||||||
|
" now delete it...
|
||||||
|
call histdel('/', -1)
|
||||||
|
|
||||||
|
call Tex_Debug("-Tex_ScanForPackages", "pack")
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
" Tex_pack_supp_menu: sets up a menu for package files {{{
|
||||||
|
" found in the packages directory groups the packages thus found into groups
|
||||||
|
" of 20...
|
||||||
|
function! Tex_pack_supp_menu()
|
||||||
|
let suplist = Tex_FindInRtp('', 'packages')
|
||||||
|
|
||||||
|
call Tex_MakeSubmenu(suplist, g:Tex_PackagesMenuLocation.'Supported.',
|
||||||
|
\ '<plug><C-r>=Tex_pack_one("', '")<CR>')
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
" Tex_pack: loads the options (and commands) for the given package {{{
|
||||||
|
function! Tex_pack(pack)
|
||||||
|
if exists('g:TeX_package_'.a:pack)
|
||||||
|
|
||||||
|
let optionList = g:TeX_package_option_{a:pack}.','
|
||||||
|
let commandList = g:TeX_package_{a:pack}.','
|
||||||
|
|
||||||
|
" Don't create separator if in package file are only Vim commands.
|
||||||
|
" Rare but possible.
|
||||||
|
if !(commandList == ',' && optionList == ',')
|
||||||
|
exec 'amenu '.g:Tex_PackagesMenuLocation.'-sep'.a:pack.'- <Nop>'
|
||||||
|
endif
|
||||||
|
|
||||||
|
if optionList != ''
|
||||||
|
|
||||||
|
let mainMenuName = g:Tex_PackagesMenuLocation.a:pack.'\ Options.'
|
||||||
|
call s:GroupPackageMenuItems(optionList, mainMenuName,
|
||||||
|
\ '<plug><C-r>=IMAP_PutTextWithMovement("', ',")<CR>')
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
if commandList != ''
|
||||||
|
|
||||||
|
let mainMenuName = g:Tex_PackagesMenuLocation.a:pack.'\ Commands.'
|
||||||
|
call s:GroupPackageMenuItems(commandList, mainMenuName,
|
||||||
|
\ '<plug><C-r>=Tex_ProcessPackageCommand("', '")<CR>',
|
||||||
|
\ '<SID>FilterPackageMenuLHS')
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
" ==============================================================================
|
||||||
|
" Menu Functions
|
||||||
|
" Creating menu items for the all the package files found in the packages/
|
||||||
|
" directory as well as creating menus for each supported package found in the
|
||||||
|
" preamble.
|
||||||
|
" ==============================================================================
|
||||||
|
" Tex_MakeSubmenu: makes a submenu given a list of items {{{
|
||||||
|
" Description:
|
||||||
|
" This function takes a comma seperated list of menu items and creates a
|
||||||
|
" 'grouped' menu. i.e, it groups the items into s:menu_div items each and
|
||||||
|
" puts them in submenus of the given mainMenu.
|
||||||
|
" Each menu item is linked to the HandlerFunc.
|
||||||
|
" If an additional argument is supplied, then it is used to filter each of
|
||||||
|
" the menu items to generate better names for the menu display.
|
||||||
|
"
|
||||||
|
function! Tex_MakeSubmenu(menuList, mainMenuName,
|
||||||
|
\ handlerFuncLHS, handlerFuncRHS, ...)
|
||||||
|
|
||||||
|
let extractFunction = (a:0 > 0 ? a:1 : '' )
|
||||||
|
let menuList = substitute(a:menuList, '[^,]$', ',', '')
|
||||||
|
|
||||||
|
let doneMenuSubmenu = 0
|
||||||
|
|
||||||
|
while menuList != ''
|
||||||
|
|
||||||
|
" Extract upto s:menu_div menus at once.
|
||||||
|
let menuBunch = matchstr(menuList, '\v(.{-},){,'.s:menu_div.'}')
|
||||||
|
|
||||||
|
" The remaining menus go into the list.
|
||||||
|
let menuList = strpart(menuList, strlen(menuBunch))
|
||||||
|
|
||||||
|
let submenu = ''
|
||||||
|
" If there is something remaining, then we got s:menu_div items.
|
||||||
|
" therefore put these menu items into a submenu.
|
||||||
|
if strlen(menuList) || doneMenuSubmenu
|
||||||
|
exec 'let firstMenu = '.extractFunction."(matchstr(menuBunch, '\\v^.{-}\\ze,'))"
|
||||||
|
exec 'let lastMenu = '.extractFunction."(matchstr(menuBunch, '\\v[^,]{-}\\ze,$'))"
|
||||||
|
|
||||||
|
let submenu = firstMenu.'\ \-\ '.lastMenu.'.'
|
||||||
|
|
||||||
|
let doneMenuSubmenu = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Now for each menu create a menu under the submenu
|
||||||
|
let i = 1
|
||||||
|
let menuName = Tex_Strntok(menuBunch, ',', i)
|
||||||
|
while menuName != ''
|
||||||
|
exec 'let menuItem = '.extractFunction.'(menuName)'
|
||||||
|
execute 'amenu '.a:mainMenuName.submenu.menuItem
|
||||||
|
\ ' '.a:handlerFuncLHS.menuName.a:handlerFuncRHS
|
||||||
|
|
||||||
|
let i = i + 1
|
||||||
|
let menuName = Tex_Strntok(menuBunch, ',', i)
|
||||||
|
endwhile
|
||||||
|
endwhile
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
" GroupPackageMenuItems: uses the sbr: to split menus into groups {{{
|
||||||
|
" Description:
|
||||||
|
" This function first splits up the menuList into groups based on the
|
||||||
|
" special sbr: tag and then calls Tex_MakeSubmenu
|
||||||
|
"
|
||||||
|
function! <SID>GroupPackageMenuItems(menuList, menuName,
|
||||||
|
\ handlerFuncLHS, handlerFuncRHS,...)
|
||||||
|
|
||||||
|
if a:0 > 0
|
||||||
|
let extractFunction = a:1
|
||||||
|
else
|
||||||
|
let extractFunction = ''
|
||||||
|
endif
|
||||||
|
let menuList = a:menuList
|
||||||
|
|
||||||
|
while matchstr(menuList, 'sbr:') != ''
|
||||||
|
let groupName = matchstr(menuList, '\v^sbr:\zs.{-}\ze,')
|
||||||
|
let menuList = strpart(menuList, strlen('sbr:'.groupName.','))
|
||||||
|
if matchstr(menuList, 'sbr:') != ''
|
||||||
|
let menuGroup = matchstr(menuList, '\v^.{-},\zesbr:')
|
||||||
|
else
|
||||||
|
let menuGroup = menuList
|
||||||
|
endif
|
||||||
|
|
||||||
|
call Tex_MakeSubmenu(menuGroup, a:menuName.groupName.'.',
|
||||||
|
\ a:handlerFuncLHS, a:handlerFuncRHS, extractFunction)
|
||||||
|
|
||||||
|
let menuList = strpart(menuList, strlen(menuGroup))
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
call Tex_MakeSubmenu(menuList, a:menuName,
|
||||||
|
\ a:handlerFuncLHS, a:handlerFuncRHS, extractFunction)
|
||||||
|
|
||||||
|
endfunction " }}}
|
||||||
|
" Definition of what to do for various package commands {{{
|
||||||
|
let s:CommandSpec_brs = '\<+replace+><++>'
|
||||||
|
let s:CommandSpec_bra = '\<+replace+>{<++>}<++>'
|
||||||
|
let s:CommandSpec_brd = '\<+replace+>{<++>}{<++>}<++>'
|
||||||
|
|
||||||
|
let s:CommandSpec_nor = '\<+replace+>'
|
||||||
|
let s:CommandSpec_noo = '\<+replace+>[<++>]'
|
||||||
|
let s:CommandSpec_nob = '\<+replace+>[<++>]{<++>}{<++>}<++>'
|
||||||
|
|
||||||
|
let s:CommandSpec_env = '\begin{<+replace+>}'."\<CR><++>\<CR>".'\end{<+replace+>}<++>'
|
||||||
|
let s:CommandSpec_ens = '\begin{<+replace+>}<+extra+>'."\<CR><++>\<CR>".'\end{<+replace+>}<++>'
|
||||||
|
let s:CommandSpec_eno = '\begin[<++>]{<+replace+>}'."\<CR><++>\<CR>".'\end{<+replace+>}'
|
||||||
|
|
||||||
|
let s:CommandSpec_spe = '<+replace+>'
|
||||||
|
let s:CommandSpec_ = '\<+replace+>'
|
||||||
|
|
||||||
|
let s:MenuLHS_bra = '\\&<+replace+>{}'
|
||||||
|
let s:MenuLHS_brs = '\\&<+replace+>{}'
|
||||||
|
let s:MenuLHS_brd = '\\&<+replace+>{}{}'
|
||||||
|
let s:MenuLHS_env = '&<+replace+>\ (E)'
|
||||||
|
let s:MenuLHS_ens = '&<+replace+>\ (E)'
|
||||||
|
let s:MenuLHS_eno = '&<+replace+>\ (E)'
|
||||||
|
let s:MenuLHS_nor = '\\&<+replace+>'
|
||||||
|
let s:MenuLHS_noo = '\\&<+replace+>[]'
|
||||||
|
let s:MenuLHS_nob = '\\&<+replace+>[]{}{}'
|
||||||
|
let s:MenuLHS_spe = '&<+replace+>'
|
||||||
|
let s:MenuLHS_sep = '-sep<+replace+>-'
|
||||||
|
let s:MenuLHS_ = '\\&<+replace+>'
|
||||||
|
" }}}
|
||||||
|
" Tex_ProcessPackageCommand: processes a command from the package menu {{{
|
||||||
|
" Description:
|
||||||
|
function! Tex_ProcessPackageCommand(command)
|
||||||
|
if a:command =~ ':'
|
||||||
|
let commandType = matchstr(a:command, '^\w\+\ze:')
|
||||||
|
let commandName = matchstr(a:command, '^\w\+:\zs[^:]\+\ze:\?')
|
||||||
|
let extrapart = strpart(a:command, strlen(commandType.':'.commandName.':'))
|
||||||
|
else
|
||||||
|
let commandType = ''
|
||||||
|
let commandName = a:command
|
||||||
|
let extrapart = ''
|
||||||
|
endif
|
||||||
|
|
||||||
|
let command = s:CommandSpec_{commandType}
|
||||||
|
let command = substitute(command, '<+replace+>', commandName, 'g')
|
||||||
|
let command = substitute(command, '<+extra+>', extrapart, 'g')
|
||||||
|
return IMAP_PutTextWithMovement(command)
|
||||||
|
endfunction
|
||||||
|
" }}}
|
||||||
|
" FilterPackageMenuLHS: filters the command description to provide a better menu item {{{
|
||||||
|
" Description:
|
||||||
|
function! <SID>FilterPackageMenuLHS(command)
|
||||||
|
let commandType = matchstr(a:command, '^\w\+\ze:')
|
||||||
|
if commandType != ''
|
||||||
|
let commandName = strpart(a:command, strlen(commandType.':'))
|
||||||
|
else
|
||||||
|
let commandName = a:command
|
||||||
|
endif
|
||||||
|
|
||||||
|
return substitute(s:MenuLHS_{commandType}, '<+replace+>', commandName, 'g')
|
||||||
|
endfunction " }}}
|
||||||
|
|
||||||
|
if g:Tex_Menus
|
||||||
|
exe 'amenu '.g:Tex_PackagesMenuLocation.'&UpdatePackage :call Tex_pack(expand("<cword>"))<cr>'
|
||||||
|
exe 'amenu '.g:Tex_PackagesMenuLocation.'&UpdateAll :call Tex_pack_updateall(1)<cr>'
|
||||||
|
|
||||||
|
call Tex_pack_supp_menu()
|
||||||
|
endif
|
||||||
|
|
||||||
|
augroup LatexSuite
|
||||||
|
au LatexSuite User LatexSuiteFileType
|
||||||
|
\ call Tex_Debug('packages.vim: Catching LatexSuiteFileType event', 'pack') |
|
||||||
|
\ let s:save_clipboard = &clipboard |
|
||||||
|
\ set clipboard= |
|
||||||
|
\ call Tex_pack_updateall(0) |
|
||||||
|
\ let &clipboard=s:save_clipboard
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
" vim:fdm=marker:ts=4:sw=4:noet:ff=unix
|
315
vim/vim-latex/ftplugin/latex-suite/packages/SIunits
Executable file
315
vim/vim-latex/ftplugin/latex-suite/packages/SIunits
Executable file
|
@ -0,0 +1,315 @@
|
||||||
|
if exists("SIunits_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let SIunits_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_SIunits =
|
||||||
|
\'nor:addprefix,'.
|
||||||
|
\'nor:addunit,'.
|
||||||
|
\'nor:ampere,'.
|
||||||
|
\'nor:amperemetresecond,'.
|
||||||
|
\'nor:amperepermetre,'.
|
||||||
|
\'nor:amperepermetrenp,'.
|
||||||
|
\'nor:amperepersquaremetre,'.
|
||||||
|
\'nor:amperepersquaremetrenp,'.
|
||||||
|
\'nor:angstrom,'.
|
||||||
|
\'nor:arad,'.
|
||||||
|
\'nor:arcminute,'.
|
||||||
|
\'nor:arcsecond,'.
|
||||||
|
\'nor:are,'.
|
||||||
|
\'nor:atomicmass,'.
|
||||||
|
\'nor:atto,'.
|
||||||
|
\'nor:attod,'.
|
||||||
|
\'nor:barn,'.
|
||||||
|
\'nor:bbar,'.
|
||||||
|
\'nor:becquerel,'.
|
||||||
|
\'nor:becquerelbase,'.
|
||||||
|
\'nor:bel,'.
|
||||||
|
\'nor:candela,'.
|
||||||
|
\'nor:candelapersquaremetre,'.
|
||||||
|
\'nor:candelapersquaremetrenp,'.
|
||||||
|
\'nor:celsius,'.
|
||||||
|
\'nor:Celsius,'.
|
||||||
|
\'nor:celsiusbase,'.
|
||||||
|
\'nor:centi,'.
|
||||||
|
\'nor:centid,'.
|
||||||
|
\'nor:coulomb,'.
|
||||||
|
\'nor:coulombbase,'.
|
||||||
|
\'nor:coulombpercubicmetre,'.
|
||||||
|
\'nor:coulombpercubicmetrenp,'.
|
||||||
|
\'nor:coulombperkilogram,'.
|
||||||
|
\'nor:coulombperkilogramnp,'.
|
||||||
|
\'nor:coulombpermol,'.
|
||||||
|
\'nor:coulombpermolnp,'.
|
||||||
|
\'nor:coulombpersquaremetre,'.
|
||||||
|
\'nor:coulombpersquaremetrenp,'.
|
||||||
|
\'nor:cubed,'.
|
||||||
|
\'nor:cubic,'.
|
||||||
|
\'nor:cubicmetre,'.
|
||||||
|
\'nor:cubicmetreperkilogram,'.
|
||||||
|
\'nor:cubicmetrepersecond,'.
|
||||||
|
\'nor:curie,'.
|
||||||
|
\'nor:dday,'.
|
||||||
|
\'nor:deca,'.
|
||||||
|
\'nor:decad,'.
|
||||||
|
\'nor:deci,'.
|
||||||
|
\'nor:decid,'.
|
||||||
|
\'nor:degree,'.
|
||||||
|
\'nor:degreecelsius,'.
|
||||||
|
\'nor:deka,'.
|
||||||
|
\'nor:dekad,'.
|
||||||
|
\'nor:derbecquerel,'.
|
||||||
|
\'nor:dercelsius,'.
|
||||||
|
\'nor:dercoulomb,'.
|
||||||
|
\'nor:derfarad,'.
|
||||||
|
\'nor:dergray,'.
|
||||||
|
\'nor:derhenry,'.
|
||||||
|
\'nor:derhertz,'.
|
||||||
|
\'nor:derjoule,'.
|
||||||
|
\'nor:derkatal,'.
|
||||||
|
\'nor:derlumen,'.
|
||||||
|
\'nor:derlux,'.
|
||||||
|
\'nor:dernewton,'.
|
||||||
|
\'nor:derohm,'.
|
||||||
|
\'nor:derpascal,'.
|
||||||
|
\'nor:derradian,'.
|
||||||
|
\'nor:dersiemens,'.
|
||||||
|
\'nor:dersievert,'.
|
||||||
|
\'nor:dersteradian,'.
|
||||||
|
\'nor:dertesla,'.
|
||||||
|
\'nor:dervolt,'.
|
||||||
|
\'nor:derwatt,'.
|
||||||
|
\'nor:derweber,'.
|
||||||
|
\'nor:electronvolt,'.
|
||||||
|
\'nor:exa,'.
|
||||||
|
\'nor:exad,'.
|
||||||
|
\'nor:farad,'.
|
||||||
|
\'nor:faradbase,'.
|
||||||
|
\'nor:faradpermetre,'.
|
||||||
|
\'nor:faradpermetrenp,'.
|
||||||
|
\'nor:femto,'.
|
||||||
|
\'nor:femtod,'.
|
||||||
|
\'nor:fourth,'.
|
||||||
|
\'nor:gal,'.
|
||||||
|
\'nor:giga,'.
|
||||||
|
\'nor:gigad,'.
|
||||||
|
\'nor:gram,'.
|
||||||
|
\'nor:graybase,'.
|
||||||
|
\'nor:graypersecond,'.
|
||||||
|
\'nor:graypersecondnp,'.
|
||||||
|
\'nor:hectare,'.
|
||||||
|
\'nor:hecto,'.
|
||||||
|
\'nor:hectod,'.
|
||||||
|
\'nor:henry,'.
|
||||||
|
\'nor:henrybase,'.
|
||||||
|
\'nor:henrypermetre,'.
|
||||||
|
\'nor:henrypermetrenp,'.
|
||||||
|
\'nor:hertz,'.
|
||||||
|
\'nor:hertzbase,'.
|
||||||
|
\'nor:hour,'.
|
||||||
|
\'nor:joule,'.
|
||||||
|
\'nor:joulebase,'.
|
||||||
|
\'nor:joulepercubicmetre,'.
|
||||||
|
\'nor:joulepercubicmetrenp,'.
|
||||||
|
\'nor:jouleperkelvin,'.
|
||||||
|
\'nor:jouleperkelvinnp,'.
|
||||||
|
\'nor:jouleperkilogram,'.
|
||||||
|
\'nor:jouleperkilogramkelvin,'.
|
||||||
|
\'nor:jouleperkilogramkelvinnp,'.
|
||||||
|
\'nor:jouleperkilogramnp,'.
|
||||||
|
\'nor:joulepermole,'.
|
||||||
|
\'nor:joulepermolekelvin,'.
|
||||||
|
\'nor:joulepermolekelvinnp,'.
|
||||||
|
\'nor:joulepermolenp,'.
|
||||||
|
\'nor:joulepersquaremetre,'.
|
||||||
|
\'nor:joulepersquaremetrenp,'.
|
||||||
|
\'nor:joulepertesla,'.
|
||||||
|
\'nor:jouleperteslanp,'.
|
||||||
|
\'nor:katal,'.
|
||||||
|
\'nor:katalbase,'.
|
||||||
|
\'nor:katalpercubicmetre,'.
|
||||||
|
\'nor:katalpercubicmetrenp,'.
|
||||||
|
\'nor:kelvin,'.
|
||||||
|
\'nor:kilo,'.
|
||||||
|
\'nor:kilod,'.
|
||||||
|
\'nor:kilogram,'.
|
||||||
|
\'nor:kilogrammetrepersecond,'.
|
||||||
|
\'nor:kilogrammetrepersecondnp,'.
|
||||||
|
\'nor:kilogrammetrepersquaresecond,'.
|
||||||
|
\'nor:kilogrammetrepersquaresecondnp,'.
|
||||||
|
\'nor:kilogrampercubicmetre,'.
|
||||||
|
\'nor:kilogrampercubicmetrecoulomb,'.
|
||||||
|
\'nor:kilogrampercubicmetrecoulombnp,'.
|
||||||
|
\'nor:kilogrampercubicmetrenp,'.
|
||||||
|
\'nor:kilogramperkilomole,'.
|
||||||
|
\'nor:kilogramperkilomolenp,'.
|
||||||
|
\'nor:kilogrampermetre,'.
|
||||||
|
\'nor:kilogrampermetrenp,'.
|
||||||
|
\'nor:kilogrampersecond,'.
|
||||||
|
\'nor:kilogrampersecondcubicmetre,'.
|
||||||
|
\'nor:kilogrampersecondcubicmetrenp,'.
|
||||||
|
\'nor:kilogrampersecondnp,'.
|
||||||
|
\'nor:kilogrampersquaremetre,'.
|
||||||
|
\'nor:kilogrampersquaremetrenp,'.
|
||||||
|
\'nor:kilogrampersquaremetresecond,'.
|
||||||
|
\'nor:kilogrampersquaremetresecondnp,'.
|
||||||
|
\'nor:kilogramsquaremetre,'.
|
||||||
|
\'nor:kilogramsquaremetrenp,'.
|
||||||
|
\'nor:kilogramsquaremetrepersecond,'.
|
||||||
|
\'nor:kilogramsquaremetrepersecondnp,'.
|
||||||
|
\'nor:kilowatthour,'.
|
||||||
|
\'nor:liter,'.
|
||||||
|
\'nor:litre,'.
|
||||||
|
\'nor:lumen,'.
|
||||||
|
\'nor:lumenbase,'.
|
||||||
|
\'nor:lux,'.
|
||||||
|
\'nor:luxbase,'.
|
||||||
|
\'nor:mega,'.
|
||||||
|
\'nor:megad,'.
|
||||||
|
\'nor:meter,'.
|
||||||
|
\'nor:metre,'.
|
||||||
|
\'nor:metrepersecond,'.
|
||||||
|
\'nor:metrepersecondnp,'.
|
||||||
|
\'nor:metrepersquaresecond,'.
|
||||||
|
\'nor:metrepersquaresecondnp,'.
|
||||||
|
\'nor:micro,'.
|
||||||
|
\'nor:microd,'.
|
||||||
|
\'nor:milli,'.
|
||||||
|
\'nor:millid,'.
|
||||||
|
\'nor:minute,'.
|
||||||
|
\'nor:mole,'.
|
||||||
|
\'nor:molepercubicmetre,'.
|
||||||
|
\'nor:molepercubicmetrenp,'.
|
||||||
|
\'nor:nano,'.
|
||||||
|
\'nor:nanod,'.
|
||||||
|
\'nor:neper,'.
|
||||||
|
\'nor:newton,'.
|
||||||
|
\'nor:newtonbase,'.
|
||||||
|
\'nor:newtonmetre,'.
|
||||||
|
\'nor:newtonpercubicmetre,'.
|
||||||
|
\'nor:newtonpercubicmetrenp,'.
|
||||||
|
\'nor:newtonperkilogram,'.
|
||||||
|
\'nor:newtonperkilogramnp,'.
|
||||||
|
\'nor:newtonpermetre,'.
|
||||||
|
\'nor:newtonpermetrenp,'.
|
||||||
|
\'nor:newtonpersquaremetre,'.
|
||||||
|
\'nor:newtonpersquaremetrenp,'.
|
||||||
|
\'nor:NoAMS,'.
|
||||||
|
\'nor:no@qsk,'.
|
||||||
|
\'nor:ohm,'.
|
||||||
|
\'nor:ohmbase,'.
|
||||||
|
\'nor:ohmmetre,'.
|
||||||
|
\'nor:one,'.
|
||||||
|
\'nor:paminute,'.
|
||||||
|
\'nor:pascal,'.
|
||||||
|
\'nor:pascalbase,'.
|
||||||
|
\'nor:pascalsecond,'.
|
||||||
|
\'nor:pasecond,'.
|
||||||
|
\'nor:per,'.
|
||||||
|
\'nor:period@active,'.
|
||||||
|
\'nor:persquaremetresecond,'.
|
||||||
|
\'nor:persquaremetresecondnp,'.
|
||||||
|
\'nor:peta,'.
|
||||||
|
\'nor:petad,'.
|
||||||
|
\'nor:pico,'.
|
||||||
|
\'nor:picod,'.
|
||||||
|
\'nor:power,'.
|
||||||
|
\'nor:@qsk,'.
|
||||||
|
\'nor:quantityskip,'.
|
||||||
|
\'nor:rad,'.
|
||||||
|
\'nor:radian,'.
|
||||||
|
\'nor:radianbase,'.
|
||||||
|
\'nor:radianpersecond,'.
|
||||||
|
\'nor:radianpersecondnp,'.
|
||||||
|
\'nor:radianpersquaresecond,'.
|
||||||
|
\'nor:radianpersquaresecondnp,'.
|
||||||
|
\'nor:reciprocal,'.
|
||||||
|
\'nor:rem,'.
|
||||||
|
\'nor:roentgen,'.
|
||||||
|
\'nor:rp,'.
|
||||||
|
\'nor:rpcubed,'.
|
||||||
|
\'nor:rpcubic,'.
|
||||||
|
\'nor:rpcubicmetreperkilogram,'.
|
||||||
|
\'nor:rpcubicmetrepersecond,'.
|
||||||
|
\'nor:rperminute,'.
|
||||||
|
\'nor:rpersecond,'.
|
||||||
|
\'nor:rpfourth,'.
|
||||||
|
\'nor:rpsquare,'.
|
||||||
|
\'nor:rpsquared,'.
|
||||||
|
\'nor:rpsquaremetreperkilogram,'.
|
||||||
|
\'nor:second,'.
|
||||||
|
\'nor:siemens,'.
|
||||||
|
\'nor:siemensbase,'.
|
||||||
|
\'nor:sievert,'.
|
||||||
|
\'nor:sievertbase,'.
|
||||||
|
\'nor:square,'.
|
||||||
|
\'nor:squared,'.
|
||||||
|
\'nor:squaremetre,'.
|
||||||
|
\'nor:squaremetrepercubicmetre,'.
|
||||||
|
\'nor:squaremetrepercubicmetrenp,'.
|
||||||
|
\'nor:squaremetrepercubicsecond,'.
|
||||||
|
\'nor:squaremetrepercubicsecondnp,'.
|
||||||
|
\'nor:squaremetreperkilogram,'.
|
||||||
|
\'nor:squaremetrepernewtonsecond,'.
|
||||||
|
\'nor:squaremetrepernewtonsecondnp,'.
|
||||||
|
\'nor:squaremetrepersecond,'.
|
||||||
|
\'nor:squaremetrepersecondnp,'.
|
||||||
|
\'nor:squaremetrepersquaresecond,'.
|
||||||
|
\'nor:squaremetrepersquaresecondnp,'.
|
||||||
|
\'nor:steradian,'.
|
||||||
|
\'nor:steradianbase,'.
|
||||||
|
\'nor:tera,'.
|
||||||
|
\'nor:terad,'.
|
||||||
|
\'nor:tesla,'.
|
||||||
|
\'nor:teslabase,'.
|
||||||
|
\'nor:ton,'.
|
||||||
|
\'nor:tonne,'.
|
||||||
|
\'nor:unit,'.
|
||||||
|
\'nor:unitskip,'.
|
||||||
|
\'nor:usk,'.
|
||||||
|
\'nor:volt,'.
|
||||||
|
\'nor:voltbase,'.
|
||||||
|
\'nor:voltpermetre,'.
|
||||||
|
\'nor:voltpermetrenp,'.
|
||||||
|
\'nor:watt,'.
|
||||||
|
\'nor:wattbase,'.
|
||||||
|
\'nor:wattpercubicmetre,'.
|
||||||
|
\'nor:wattpercubicmetrenp,'.
|
||||||
|
\'nor:wattperkilogram,'.
|
||||||
|
\'nor:wattperkilogramnp,'.
|
||||||
|
\'nor:wattpermetrekelvin,'.
|
||||||
|
\'nor:wattpermetrekelvinnp,'.
|
||||||
|
\'nor:wattpersquaremetre,'.
|
||||||
|
\'nor:wattpersquaremetrenp,'.
|
||||||
|
\'nor:wattpersquaremetresteradian,'.
|
||||||
|
\'nor:wattpersquaremetresteradiannp,'.
|
||||||
|
\'nor:weber,'.
|
||||||
|
\'nor:weberbase,'.
|
||||||
|
\'nor:yocto,'.
|
||||||
|
\'nor:yoctod,'.
|
||||||
|
\'nor:yotta,'.
|
||||||
|
\'nor:yottad,'.
|
||||||
|
\'nor:zepto,'.
|
||||||
|
\'nor:zeptod,'.
|
||||||
|
\'nor:zetta,'.
|
||||||
|
\'nor:zettad'
|
||||||
|
|
||||||
|
let g:TeX_package_option_SIunits =
|
||||||
|
\'amssymb,'.
|
||||||
|
\'binary,'.
|
||||||
|
\'cdot,'.
|
||||||
|
\'derived,'.
|
||||||
|
\'derivedinbase,'.
|
||||||
|
\'Gray,'.
|
||||||
|
\'mediumqspace,'.
|
||||||
|
\'mediumspace,'.
|
||||||
|
\'noams,'.
|
||||||
|
\'pstricks,'.
|
||||||
|
\'squaren,'.
|
||||||
|
\'textstyle,'.
|
||||||
|
\'thickqspace,'.
|
||||||
|
\'thickspace,'.
|
||||||
|
\'thinqspace,'.
|
||||||
|
\'thinspace'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
28
vim/vim-latex/ftplugin/latex-suite/packages/accents
Executable file
28
vim/vim-latex/ftplugin/latex-suite/packages/accents
Executable file
|
@ -0,0 +1,28 @@
|
||||||
|
if exists("accents_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let accents_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_accents =
|
||||||
|
\ 'nonscript,'
|
||||||
|
\.'single'
|
||||||
|
|
||||||
|
let g:TeX_package_accents =
|
||||||
|
\ 'bra:grave,'
|
||||||
|
\.'bra:acute,'
|
||||||
|
\.'bra:check,'
|
||||||
|
\.'bra:breve,'
|
||||||
|
\.'bra:bar,'
|
||||||
|
\.'bra:ring,'
|
||||||
|
\.'bra:hat,'
|
||||||
|
\.'bra:dot,'
|
||||||
|
\.'bra:tilde,'
|
||||||
|
\.'bra:undertilde,'
|
||||||
|
\.'bra:ddot,'
|
||||||
|
\.'bra:dddot,'
|
||||||
|
\.'bra:ddddot,'
|
||||||
|
\.'bra:vec,'
|
||||||
|
\.'brd:accentset,'
|
||||||
|
\.'brd:underaccent'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
10
vim/vim-latex/ftplugin/latex-suite/packages/acromake
Executable file
10
vim/vim-latex/ftplugin/latex-suite/packages/acromake
Executable file
|
@ -0,0 +1,10 @@
|
||||||
|
if exists("acromake_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let acromake_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_acromake = ''
|
||||||
|
|
||||||
|
let g:TeX_package_acromake = 'brs:acromake{<++>}{<++>}{<++>}'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
10
vim/vim-latex/ftplugin/latex-suite/packages/afterpage
Executable file
10
vim/vim-latex/ftplugin/latex-suite/packages/afterpage
Executable file
|
@ -0,0 +1,10 @@
|
||||||
|
if exists("afterpage_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let afterpage_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_afterpage = ''
|
||||||
|
|
||||||
|
let g:TeX_package_afterpage = 'bra:afterpage'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
12
vim/vim-latex/ftplugin/latex-suite/packages/alltt
Executable file
12
vim/vim-latex/ftplugin/latex-suite/packages/alltt
Executable file
|
@ -0,0 +1,12 @@
|
||||||
|
if exists("alltt_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let alltt_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_alltt = ''
|
||||||
|
|
||||||
|
let g:TeX_package_alltt = 'env:alltt'
|
||||||
|
|
||||||
|
syn region texZone start="\\begin{alltt}" end="\\end{alltt}\|%stopzone\>" fold
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
106
vim/vim-latex/ftplugin/latex-suite/packages/amsmath
Executable file
106
vim/vim-latex/ftplugin/latex-suite/packages/amsmath
Executable file
|
@ -0,0 +1,106 @@
|
||||||
|
if exists("amsmath_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let amsmath_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_amsmath =
|
||||||
|
\ 'centertags,'
|
||||||
|
\.'tbtags,'
|
||||||
|
\.'sumlimits,'
|
||||||
|
\.'nosumlimits,'
|
||||||
|
\.'intlimits,'
|
||||||
|
\.'nointlimits,'
|
||||||
|
\.'namelimits,'
|
||||||
|
\.'nonamelimits,'
|
||||||
|
\.'leqno,'
|
||||||
|
\.'reqno,'
|
||||||
|
\.'fleqno'
|
||||||
|
|
||||||
|
let g:TeX_package_amsmath =
|
||||||
|
\ 'sbr:Environments,'
|
||||||
|
\.'env:equation,'
|
||||||
|
\.'env:equation*,'
|
||||||
|
\.'env:align,'
|
||||||
|
\.'env:align*,'
|
||||||
|
\.'env:gather,'
|
||||||
|
\.'env:gather*,'
|
||||||
|
\.'env:flalign,'
|
||||||
|
\.'env:flalign*,'
|
||||||
|
\.'env:multline,'
|
||||||
|
\.'env:multline*,'
|
||||||
|
\.'ens:alignat:{<+arg1+>}{<+arg2+>},'
|
||||||
|
\.'env:alignat,'
|
||||||
|
\.'ens:alignat*:{<+arg1+>}{<+arg2+>},,'
|
||||||
|
\.'env:alignat*,'
|
||||||
|
\.'env:subequations,'
|
||||||
|
\.'env:subarray,'
|
||||||
|
\.'env:split,'
|
||||||
|
\.'env:cases,'
|
||||||
|
\.'sbr:Matrices,'
|
||||||
|
\.'env:matrix,'
|
||||||
|
\.'env:pmatrix,'
|
||||||
|
\.'env:bmatrix,'
|
||||||
|
\.'env:Bmatrix,'
|
||||||
|
\.'env:vmatrix,'
|
||||||
|
\.'env:Vmatrix,'
|
||||||
|
\.'env:smallmatrix,'
|
||||||
|
\.'bra:hdotsfor,'
|
||||||
|
\.'sbr:Dots,'
|
||||||
|
\.'dotsc,'
|
||||||
|
\.'dotsb,'
|
||||||
|
\.'dotsm,'
|
||||||
|
\.'dotsi,'
|
||||||
|
\.'dotso,'
|
||||||
|
\.'sbr:ItalicGreek,'
|
||||||
|
\.'nor:varGamma,'
|
||||||
|
\.'nor:varDelta,'
|
||||||
|
\.'nor:varTheta,'
|
||||||
|
\.'nor:varLambda,'
|
||||||
|
\.'nor:varXi,'
|
||||||
|
\.'nor:varPi,'
|
||||||
|
\.'nor:varSigma,'
|
||||||
|
\.'nor:varUpsilon,'
|
||||||
|
\.'nor:varPhi,'
|
||||||
|
\.'nor:varPsi,'
|
||||||
|
\.'nor:varOmega,'
|
||||||
|
\.'sbr:Mod,'
|
||||||
|
\.'nor:mod,'
|
||||||
|
\.'nor:bmod,'
|
||||||
|
\.'nor:pmod,'
|
||||||
|
\.'nor:pod,'
|
||||||
|
\.'sbr:CreatingSymbols,'
|
||||||
|
\.'brd:overset,'
|
||||||
|
\.'brd:underset,'
|
||||||
|
\.'brd:sideset,'
|
||||||
|
\.'sbr:Fractions,'
|
||||||
|
\.'brd:frac,'
|
||||||
|
\.'brd:dfrac,'
|
||||||
|
\.'brd:tfrac,'
|
||||||
|
\.'brd:cfrac,'
|
||||||
|
\.'brd:binom,'
|
||||||
|
\.'brd:dbinom,'
|
||||||
|
\.'brd:tbinom,'
|
||||||
|
\.'brs:genfrac{<+ldelim+>}{<+rdelim+>}{<+thick+>}{<+style+>}{<+numer+>}{<+denom+>},'
|
||||||
|
\.'sbr:Commands,'
|
||||||
|
\.'nob:smash,'
|
||||||
|
\.'bra:substack,'
|
||||||
|
\.'bra:tag,'
|
||||||
|
\.'bra:tag*,'
|
||||||
|
\.'nor:notag,'
|
||||||
|
\.'bra:raisetag,'
|
||||||
|
\.'bra:shoveleft,'
|
||||||
|
\.'bra:shoveright,'
|
||||||
|
\.'bra:intertext,'
|
||||||
|
\.'bra:text,'
|
||||||
|
\.'nor:displaybreak,'
|
||||||
|
\.'noo:displaybreak,'
|
||||||
|
\.'noo:allowdisplaybreaks,'
|
||||||
|
\.'nor:nobreakdash,'
|
||||||
|
\.'brs:numberwithin{<+env+>}{<+parent+>},'
|
||||||
|
\.'bra:leftroot,'
|
||||||
|
\.'bra:uproot,'
|
||||||
|
\.'bra:boxed,'
|
||||||
|
\.'brs:DeclareMathSymbol{<++>}{<++>}{<++>}{<++>},'
|
||||||
|
\.'bra:eqref'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
21
vim/vim-latex/ftplugin/latex-suite/packages/amsthm
Executable file
21
vim/vim-latex/ftplugin/latex-suite/packages/amsthm
Executable file
|
@ -0,0 +1,21 @@
|
||||||
|
if exists("amsthm_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let amsthm_package_file = 1
|
||||||
|
|
||||||
|
let TeX_package_option_amsthm = ''
|
||||||
|
|
||||||
|
let TeX_package_amsthm =
|
||||||
|
\ 'env:proof,'
|
||||||
|
\.'nor:swapnumbers,'
|
||||||
|
\.'brd:newtheorem,'
|
||||||
|
\.'brd:newtheorem*,'
|
||||||
|
\.'nor:theoremstyle{plain},'
|
||||||
|
\.'nor:theoremstyle{definition},'
|
||||||
|
\.'nor:theoremstyle{remark},'
|
||||||
|
\.'nor:newtheoremstyle,'
|
||||||
|
\.'nor:qedsymbol,'
|
||||||
|
\.'nor:qed,'
|
||||||
|
\.'nor:qedhere'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
12
vim/vim-latex/ftplugin/latex-suite/packages/amsxtra
Executable file
12
vim/vim-latex/ftplugin/latex-suite/packages/amsxtra
Executable file
|
@ -0,0 +1,12 @@
|
||||||
|
if exists("amsxtra_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let amsxtra_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_amsxtra = ''
|
||||||
|
|
||||||
|
let g:TeX_package_amsxtra =
|
||||||
|
\ 'nor:sphat,'
|
||||||
|
\.'nor:sptilde'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
10
vim/vim-latex/ftplugin/latex-suite/packages/arabic
Executable file
10
vim/vim-latex/ftplugin/latex-suite/packages/arabic
Executable file
|
@ -0,0 +1,10 @@
|
||||||
|
if exists("arabic_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let arabic_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_arabic = ''
|
||||||
|
|
||||||
|
let g:TeX_package_arabic = 'bra:arabicnumeral'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
17
vim/vim-latex/ftplugin/latex-suite/packages/array
Executable file
17
vim/vim-latex/ftplugin/latex-suite/packages/array
Executable file
|
@ -0,0 +1,17 @@
|
||||||
|
if exists("array_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let array_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_array = ''
|
||||||
|
|
||||||
|
let g:TeX_package_array =
|
||||||
|
\ 'brs:newcolumntype{<+type+>}[<+no+>]{<+preamble+>},'
|
||||||
|
\.'arraycolsep,'
|
||||||
|
\.'tabcolsep,'
|
||||||
|
\.'arrayrulewidth,'
|
||||||
|
\.'doublerulesep,'
|
||||||
|
\.'arraystretch,'
|
||||||
|
\.'extrarowheight'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
98
vim/vim-latex/ftplugin/latex-suite/packages/babel
Executable file
98
vim/vim-latex/ftplugin/latex-suite/packages/babel
Executable file
|
@ -0,0 +1,98 @@
|
||||||
|
if exists("babel_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let babel_package_file = 1
|
||||||
|
|
||||||
|
" This package sets some language specific options.
|
||||||
|
" Since it needs to find out which options the user used with the babel
|
||||||
|
" package, it needs to wait till latex-suite is done scanning packages. It
|
||||||
|
" then catches the LatexSuiteScannedPackages event which
|
||||||
|
" Tex_pack_updateall() throws at which time g:Tex_pack_detected and
|
||||||
|
" g:Tex_babel_options contain the necessary information.
|
||||||
|
|
||||||
|
let g:TeX_package_option_babel =
|
||||||
|
\ 'afrikaans,'
|
||||||
|
\.'bahasa,'
|
||||||
|
\.'basque,'
|
||||||
|
\.'breton,'
|
||||||
|
\.'bulgarian,'
|
||||||
|
\.'catalan,'
|
||||||
|
\.'croatian,'
|
||||||
|
\.'chech,'
|
||||||
|
\.'danish,'
|
||||||
|
\.'dutch,'
|
||||||
|
\.'english,USenglish,american,UKenglish,british,canadian,'
|
||||||
|
\.'esperanto,'
|
||||||
|
\.'estonian,'
|
||||||
|
\.'finnish,'
|
||||||
|
\.'french,francais,canadien,acadian,'
|
||||||
|
\.'galician,'
|
||||||
|
\.'austrian,german,germanb,ngerman,naustrian,'
|
||||||
|
\.'greek,polutonikogreek,'
|
||||||
|
\.'hebrew,'
|
||||||
|
\.'magyar,hungarian,'
|
||||||
|
\.'icelandic,'
|
||||||
|
\.'irish,'
|
||||||
|
\.'italian,'
|
||||||
|
\.'latin,'
|
||||||
|
\.'lowersorbian,'
|
||||||
|
\.'samin,'
|
||||||
|
\.'norsk,nynorsk,'
|
||||||
|
\.'polish,'
|
||||||
|
\.'portuges,portuguese,brazilian,brazil,'
|
||||||
|
\.'romanian,'
|
||||||
|
\.'russian,'
|
||||||
|
\.'scottish,'
|
||||||
|
\.'spanish,'
|
||||||
|
\.'slovak,'
|
||||||
|
\.'slovene,'
|
||||||
|
\.'swedish,'
|
||||||
|
\.'serbian,'
|
||||||
|
\.'turkish,'
|
||||||
|
\.'ukrainian,'
|
||||||
|
\.'uppersorbian,'
|
||||||
|
\.'welsh'
|
||||||
|
|
||||||
|
let g:TeX_package_babel =
|
||||||
|
\ 'bra:selectlanguage,'
|
||||||
|
\.'env:otherlanguage,'
|
||||||
|
\.'env:otherlanguage*,'
|
||||||
|
\.'env:hyphenrules,'
|
||||||
|
\.'brd:foreignlanguage,'
|
||||||
|
\.'spe:iflanguage{<+name+>}{<+true+>}{<+false+>},'
|
||||||
|
\.'languagename,'
|
||||||
|
\.'bra:useshorthands,'
|
||||||
|
\.'brd:defineshorthand,'
|
||||||
|
\.'brd:aliasshorthand,'
|
||||||
|
\.'bra:languageshorthans,'
|
||||||
|
\.'bra:shorthandon,'
|
||||||
|
\.'bra:shorthandoff,'
|
||||||
|
\.'brd:languageattribute'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
||||||
|
if exists('s:doneOnce')
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let s:doneOnce = 1
|
||||||
|
|
||||||
|
augroup LatexSuite
|
||||||
|
au LatexSuite User LatexSuiteScannedPackages
|
||||||
|
\ call Tex_Debug('babel: catching LatexSuiteScannedPackages event') |
|
||||||
|
\ call s:SetQuotes()
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
let s:path = expand('<sfile>:p:h')
|
||||||
|
|
||||||
|
" SetQuotes: sets quotes for various languages {{{
|
||||||
|
" Description:
|
||||||
|
function! <SID>SetQuotes()
|
||||||
|
if g:Tex_package_detected =~ '\<babel\>'
|
||||||
|
if g:Tex_babel_options =~ '\<german\>'
|
||||||
|
exec 'so '.s:path.'/german'
|
||||||
|
elseif g:Tex_babel_options =~ '\<ngerman\>'
|
||||||
|
exec 'so '.s:path.'/ngerman'
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfunction " }}}
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
27
vim/vim-latex/ftplugin/latex-suite/packages/bar
Executable file
27
vim/vim-latex/ftplugin/latex-suite/packages/bar
Executable file
|
@ -0,0 +1,27 @@
|
||||||
|
if exists("bar_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let bar_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_bar = ''
|
||||||
|
|
||||||
|
let g:TeX_package_bar =
|
||||||
|
\ 'env:barenv,'
|
||||||
|
\.'brs:bar{<+height+>}{<+index+>}[<+desc+>],'
|
||||||
|
\.'hlineon,'
|
||||||
|
\.'brs:legend{<+index+>}{<+text+>},'
|
||||||
|
\.'bra:setdepth,'
|
||||||
|
\.'bra:sethspace,'
|
||||||
|
\.'brs:setlinestyle{<+solid-dotted+>},'
|
||||||
|
\.'brs:setnumberpos{<+empty-axis-down-inside-outside-up+>},'
|
||||||
|
\.'bra:setprecision,'
|
||||||
|
\.'bra:setstretch,'
|
||||||
|
\.'bra:setstyle,'
|
||||||
|
\.'bra:setwidth,'
|
||||||
|
\.'brs:setxaxis{<+w1+>}{<+w2+>}{<+step+>},'
|
||||||
|
\.'brs:setyaxis[<+n+>]{<+w1+>}{<+w2+>}{<+step+>},'
|
||||||
|
\.'brs:setxname[<+lrbt+>]{<+etiquette+>},'
|
||||||
|
\.'brs:setyname[<+lrbt+>]{<+etiquette+>},'
|
||||||
|
\.'brs:setxvaluetyp{<+day-month+>}'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
159
vim/vim-latex/ftplugin/latex-suite/packages/biblatex
Executable file
159
vim/vim-latex/ftplugin/latex-suite/packages/biblatex
Executable file
|
@ -0,0 +1,159 @@
|
||||||
|
" Biblatex package support v 0.1 2010-02-17
|
||||||
|
" This file has been written by
|
||||||
|
" Andreas Wagner <Andreas dot Wagner at em dot uni-frankfurt dot de>
|
||||||
|
" based on the documentation of
|
||||||
|
" biblatex 0.8e, July 4 2009.
|
||||||
|
" It can be used, modified and distributed according to the vim license.
|
||||||
|
|
||||||
|
|
||||||
|
if exists("biblatex_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let biblatex_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_biblatex =
|
||||||
|
\ 'style=,'
|
||||||
|
\.'citestyle=,'
|
||||||
|
\.'bibstyle=,'
|
||||||
|
\.'natbib=,'
|
||||||
|
\.'sorting=,'
|
||||||
|
\.'sortlos=,'
|
||||||
|
\.'sortcites=,'
|
||||||
|
\.'maxnames=,'
|
||||||
|
\.'minnames=,'
|
||||||
|
\.'maxitems=,'
|
||||||
|
\.'minitems=,'
|
||||||
|
\.'autocite=,'
|
||||||
|
\.'autopunct=,'
|
||||||
|
\.'babel=,'
|
||||||
|
\.'block=,'
|
||||||
|
\.'hyperref=,'
|
||||||
|
\.'backref=,'
|
||||||
|
\.'indexing=,'
|
||||||
|
\.'loadfiles=,'
|
||||||
|
\.'refsection=,'
|
||||||
|
\.'refsegment=,'
|
||||||
|
\.'citereset=,'
|
||||||
|
\.'abbreviate=,'
|
||||||
|
\.'date=,'
|
||||||
|
\.'urldate=,'
|
||||||
|
\.'defernums=,'
|
||||||
|
\.'punctfont=,'
|
||||||
|
\.'arxiv=,'
|
||||||
|
\.'backend=,'
|
||||||
|
\.'mincrossrefs=,'
|
||||||
|
\.'bibencoding=,'
|
||||||
|
\.'useauthor=,'
|
||||||
|
\.'useeditor=,'
|
||||||
|
\.'usetranslator=,'
|
||||||
|
\.'useprefix=,'
|
||||||
|
\.'skipbib=,'
|
||||||
|
\.'skiplos=,'
|
||||||
|
\.'skiplab=,'
|
||||||
|
\.'dataonly=,'
|
||||||
|
\.'pagetracker=,'
|
||||||
|
\.'citetracker=,'
|
||||||
|
\.'ibidtracker=,'
|
||||||
|
\.'idemtracker=,'
|
||||||
|
\.'opcittracker=,'
|
||||||
|
\.'loccittracker=,'
|
||||||
|
\.'firstinits=,'
|
||||||
|
\.'terseinits=,'
|
||||||
|
\.'labelalpha=,'
|
||||||
|
\.'labelnumber=,'
|
||||||
|
\.'labelyear=,'
|
||||||
|
\.'singletitle=,'
|
||||||
|
\.'uniquename=,'
|
||||||
|
\.'openbib'
|
||||||
|
|
||||||
|
let g:TeX_package_biblatex =
|
||||||
|
\ 'sbr:preamble,'
|
||||||
|
\.'bra:ExecuteBibliographyOptions{<+key=value+>},'
|
||||||
|
\.'bra:Bibliography{<+file+>},'
|
||||||
|
\.'sbr:localization,'
|
||||||
|
\.'brd:DefineBibliographyStrings{<+lang+>}{<+definitions+>},'
|
||||||
|
\.'brd:DefineBibliographyExtras{<+lang+>}{<+code+>},'
|
||||||
|
\.'brd:UndefineBibliographyExtras{<+lang+>}{<+code+>},'
|
||||||
|
\.'brd:DefineHyphenationExceptions{<+lang+>}{<+text+>},'
|
||||||
|
\.'bra:NewBibliographyString{<+key+>},'
|
||||||
|
\.'sbr:main_commands,'
|
||||||
|
\.'brs:cite[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:Cite[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:cite*[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:parencite[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:Parencite[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:parencite*[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:footcite[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:Footcite[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:textcite[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:Textcite[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'bra:supercite{<+key+>},'
|
||||||
|
\.'brs:autocite[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:Autocite[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:autocite*[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:Autocite*[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'sbr:multicites,'
|
||||||
|
\.'brs:cites(<+prenote+>)(<+postnote+>)[<+prenote+>][<+postnote+>]{<+key+>}[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:Cites(<+prenote+>)(<+postnote+>)[<+prenote+>][<+postnote+>]{<+key+>}[<+prenote+>][<+postnote+>]{<+key+>}[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:parencites(<+prenote+>)(<+postnote+>)[<+prenote+>][<+postnote+>]{<+key+>}[<+prenote+>][<+postnote+>]{<+key+>}[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:Parencites(<+prenote+>)(<+postnote+>)[<+prenote+>][<+postnote+>]{<+key+>}[<+prenote+>][<+postnote+>]{<+key+>}[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:footcites(<+prenote+>)(<+postnote+>)[<+prenote+>][<+postnote+>]{<+key+>}[<+prenote+>][<+postnote+>]{<+key+>}[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:Footcites(<+prenote+>)(<+postnote+>)[<+prenote+>][<+postnote+>]{<+key+>}[<+prenote+>][<+postnote+>]{<+key+>}[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:textcites(<+prenote+>)(<+postnote+>)[<+prenote+>][<+postnote+>]{<+key+>}[<+prenote+>][<+postnote+>]{<+key+>}[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:Textcites(<+prenote+>)(<+postnote+>)[<+prenote+>][<+postnote+>]{<+key+>}[<+prenote+>][<+postnote+>]{<+key+>}[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:supercites(<+prenote+>)(<+postnote+>){<+key+>}{<+key+>},'
|
||||||
|
\.'brs:autocites(<+prenote+>)(<+postnote+>)[<+prenote+>][<+postnote+>]{<+key+>}[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:Autocites(<+prenote+>)(<+postnote+>)[<+prenote+>][<+postnote+>]{<+key+>}[<+prenote+>][<+postnote+>]{<+key+>}[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'sbr:text_commands,'
|
||||||
|
\.'brs:citeauthor[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:Citeauthor[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:citetitle[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:citetitle*[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:citeyear[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:citeurl[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'sbr:special_commands,'
|
||||||
|
\.'bra:nocite{<+key+>},'
|
||||||
|
\.'nor:citereset,'
|
||||||
|
\.'nor:citereset*,'
|
||||||
|
\.'nor:mancite,'
|
||||||
|
\.'brs:fullcite[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:footfullcite[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:volcite[<+prenote+>]{<+volume+>}[<+page+>]{<+key+>},'
|
||||||
|
\.'brs:Volcite[<+prenote+>]{<+volume+>}[<+page+>]{<+key+>},'
|
||||||
|
\.'brs:pvolcite[<+prenote+>]{<+volume+>}[<+page+>]{<+key+>},'
|
||||||
|
\.'brs:Pvolcite[<+prenote+>]{<+volume+>}[<+page+>]{<+key+>},'
|
||||||
|
\.'brs:fvolcite[<+prenote+>]{<+volume+>}[<+page+>]{<+key+>},'
|
||||||
|
\.'brs:Fvolcite[<+prenote+>]{<+volume+>}[<+page+>]{<+key+>},'
|
||||||
|
\.'brs:tvolcite[<+prenote+>]{<+volume+>}[<+page+>]{<+key+>},'
|
||||||
|
\.'brs:Tvolcite[<+prenote+>]{<+volume+>}[<+page+>]{<+key+>},'
|
||||||
|
\.'brs:avolcite[<+prenote+>]{<+volume+>}[<+page+>]{<+key+>},'
|
||||||
|
\.'brs:Avolcite[<+prenote+>]{<+volume+>}[<+page+>]{<+key+>},'
|
||||||
|
\.'brs:notecite[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:Notecite[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:pnotecite[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:Pnotecite[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:fnotecite[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:Fnotecite[<+prenote+>][<+postnote+>]{<+key+>},'
|
||||||
|
\.'brs:citename[<+prenote+>][<+postnote+>]{<+key+>}[<+format+>]{<+list+>},'
|
||||||
|
\.'brs:citelist[<+prenote+>][<+postnote+>]{<+key+>}[<+format+>]{<+list+>},'
|
||||||
|
\.'brs:citefield[<+prenote+>][<+postnote+>]{<+key+>}[<+format+>]{<+field+>},'
|
||||||
|
\.'sbr:sorting,'
|
||||||
|
\.'eno:refsection[<+bibfiles+>],'
|
||||||
|
\.'noo:newrefsection[<+bibfiles+>],'
|
||||||
|
\.'eno:refsegment[<+bibfiles+>],'
|
||||||
|
\.'noo:newsegment[<+bibfiles+>],'
|
||||||
|
\.'bra:DeclareBibliographyCategory{<+category+>},'
|
||||||
|
\.'brd:addtocategory{<+category+>}{<+key+>},'
|
||||||
|
\.'brd:defbibheading{<+name+>}{<+code+>},'
|
||||||
|
\.'brd:defbibnote{<+name+>}{<+text+>},'
|
||||||
|
\.'bra:segment,'
|
||||||
|
\.'bra:type,'
|
||||||
|
\.'bra:keyword,'
|
||||||
|
\.'bra:category,'
|
||||||
|
\.'sbr:endmatter,'
|
||||||
|
\.'noo:printbibliography[<+key=value+>],'
|
||||||
|
\.'noo:printshorthands[<+key=value+>],'
|
||||||
|
\.'noo:bibbysection[<+key=value+>],'
|
||||||
|
\.'noo:bibbysegment[<+key=value+>],'
|
||||||
|
\.'noo:bibbycategory[<+key=value+>]'
|
||||||
|
|
10
vim/vim-latex/ftplugin/latex-suite/packages/bm
Executable file
10
vim/vim-latex/ftplugin/latex-suite/packages/bm
Executable file
|
@ -0,0 +1,10 @@
|
||||||
|
if exists("bm_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let bm_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_bm = ''
|
||||||
|
|
||||||
|
let g:TeX_package_bm = 'bra:bm'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
12
vim/vim-latex/ftplugin/latex-suite/packages/bophook
Executable file
12
vim/vim-latex/ftplugin/latex-suite/packages/bophook
Executable file
|
@ -0,0 +1,12 @@
|
||||||
|
if exists("bophook_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let bophook_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_bophook = ''
|
||||||
|
|
||||||
|
let g:TeX_package_bophook =
|
||||||
|
\ 'bra:AtBeginPage,'
|
||||||
|
\.'bra:PageLayout'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
10
vim/vim-latex/ftplugin/latex-suite/packages/boxedminipage
Executable file
10
vim/vim-latex/ftplugin/latex-suite/packages/boxedminipage
Executable file
|
@ -0,0 +1,10 @@
|
||||||
|
if exists("boxedminipage_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let boxedminipage_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_boxedminipage = ''
|
||||||
|
|
||||||
|
let g:TeX_package_boxedminipage = 'ens:boxedminipage:[<+pos+>]{<+size+>}'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
43
vim/vim-latex/ftplugin/latex-suite/packages/caption2
Executable file
43
vim/vim-latex/ftplugin/latex-suite/packages/caption2
Executable file
|
@ -0,0 +1,43 @@
|
||||||
|
if exists("caption2_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let caption2_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_caption2 =
|
||||||
|
\ 'scriptsize,'
|
||||||
|
\.'footnotesize,'
|
||||||
|
\.'small,'
|
||||||
|
\.'normalsize,'
|
||||||
|
\.'large,'
|
||||||
|
\.'Large,'
|
||||||
|
\.'up,'
|
||||||
|
\.'it,'
|
||||||
|
\.'sl,'
|
||||||
|
\.'sc,'
|
||||||
|
\.'md,'
|
||||||
|
\.'bf,'
|
||||||
|
\.'rm,'
|
||||||
|
\.'sf,'
|
||||||
|
\.'tt,'
|
||||||
|
\.'ruled,'
|
||||||
|
\.'boxed,'
|
||||||
|
\.'centerlast,'
|
||||||
|
\.'anne,'
|
||||||
|
\.'center,'
|
||||||
|
\.'flushleft,'
|
||||||
|
\.'flushright,'
|
||||||
|
\.'oneline,'
|
||||||
|
\.'nooneline,'
|
||||||
|
\.'hang,'
|
||||||
|
\.'isu,'
|
||||||
|
\.'indent,'
|
||||||
|
\.'longtable'
|
||||||
|
|
||||||
|
let g:TeX_package_caption2 =
|
||||||
|
\ 'bra:captionsize,'
|
||||||
|
\.'bra:captionfont,'
|
||||||
|
\.'bra:captionlabelfont,'
|
||||||
|
\.'bra:setcaptionmargin,'
|
||||||
|
\.'bra:setcaptionwidth'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
12
vim/vim-latex/ftplugin/latex-suite/packages/cases
Executable file
12
vim/vim-latex/ftplugin/latex-suite/packages/cases
Executable file
|
@ -0,0 +1,12 @@
|
||||||
|
if exists("cases_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let cases_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_cases = ''
|
||||||
|
|
||||||
|
let g:TeX_package_cases =
|
||||||
|
\ 'ens:numcases:{<+label+>},'
|
||||||
|
\.'ens:subnumcases:{<+label+>}'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
20
vim/vim-latex/ftplugin/latex-suite/packages/ccaption
Executable file
20
vim/vim-latex/ftplugin/latex-suite/packages/ccaption
Executable file
|
@ -0,0 +1,20 @@
|
||||||
|
if exists("ccaption_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let ccaption_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_ccaption = ''
|
||||||
|
|
||||||
|
let g:TeX_package_ccaption =
|
||||||
|
\ 'bra:contcaption,'
|
||||||
|
\.'bra:legend,'
|
||||||
|
\.'bra:namedlegend,'
|
||||||
|
\.'abovelegendskip,'
|
||||||
|
\.'belowlegendskip,'
|
||||||
|
\.'brd:newfixedcaption,'
|
||||||
|
\.'brd:renewfixedcaption,'
|
||||||
|
\.'brd:providefixedcaption,'
|
||||||
|
\.'brs:newfloatenv[<+counter+>]{<+name+>}{<+ext+>}{<+etiq+>},'
|
||||||
|
\.'brd:listfloats'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
35
vim/vim-latex/ftplugin/latex-suite/packages/changebar
Executable file
35
vim/vim-latex/ftplugin/latex-suite/packages/changebar
Executable file
|
@ -0,0 +1,35 @@
|
||||||
|
if exists("changebar_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let changebar_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_changebar =
|
||||||
|
\ 'DVItoLN03,'
|
||||||
|
\.'dvitoln03,'
|
||||||
|
\.'DVItoPS,'
|
||||||
|
\.'dvitops,'
|
||||||
|
\.'DVIps,'
|
||||||
|
\.'dvips,'
|
||||||
|
\.'emTeX,'
|
||||||
|
\.'emtex,'
|
||||||
|
\.'textures,'
|
||||||
|
\.'Textures,'
|
||||||
|
\.'outerbars,'
|
||||||
|
\.'innerbars,'
|
||||||
|
\.'leftbars,'
|
||||||
|
\.'rightbars,'
|
||||||
|
\.'traceon,'
|
||||||
|
\.'traceoff'
|
||||||
|
|
||||||
|
let g:TeX_package_changebar =
|
||||||
|
\ 'ens:changebar:[<+thickness+>],'
|
||||||
|
\.'noo:cbstart,'
|
||||||
|
\.'cbend,'
|
||||||
|
\.'cbdelete,'
|
||||||
|
\.'changebarwidth,'
|
||||||
|
\.'deletebarwidth,'
|
||||||
|
\.'changebarsep,'
|
||||||
|
\.'spe:changebargrey,'
|
||||||
|
\.'nochangebars'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
24
vim/vim-latex/ftplugin/latex-suite/packages/chapterbib
Executable file
24
vim/vim-latex/ftplugin/latex-suite/packages/chapterbib
Executable file
|
@ -0,0 +1,24 @@
|
||||||
|
if exists("chapterbib_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let chapterbib_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_chapterbib =
|
||||||
|
\ 'sectionbib,'
|
||||||
|
\.'rootbib,'
|
||||||
|
\.'gather,'
|
||||||
|
\.'duplicate'
|
||||||
|
|
||||||
|
let g:TeX_package_chapterbib =
|
||||||
|
\ 'env:cbunit,'
|
||||||
|
\.'brd:sectionbib,'
|
||||||
|
\.'bra:cbinput,'
|
||||||
|
\.'sep:redefine,'
|
||||||
|
\.'bra:citeform,'
|
||||||
|
\.'bra:citepunct,'
|
||||||
|
\.'bra:citeleft,'
|
||||||
|
\.'bra:citeright,'
|
||||||
|
\.'bra:citemid,'
|
||||||
|
\.'bra:citedash'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
32
vim/vim-latex/ftplugin/latex-suite/packages/cite
Executable file
32
vim/vim-latex/ftplugin/latex-suite/packages/cite
Executable file
|
@ -0,0 +1,32 @@
|
||||||
|
if exists("cite_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let cite_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_cite =
|
||||||
|
\ 'verbose,'
|
||||||
|
\.'nospace,'
|
||||||
|
\.'space,'
|
||||||
|
\.'nosort,'
|
||||||
|
\.'sort,'
|
||||||
|
\.'noadjust'
|
||||||
|
|
||||||
|
let g:TeX_package_cite =
|
||||||
|
\ 'bra:cite,'
|
||||||
|
\.'bra:citen,'
|
||||||
|
\.'bra:citenum,'
|
||||||
|
\.'bra:citeonline,'
|
||||||
|
\.'bra:nocite,'
|
||||||
|
\.'sep:redefine,'
|
||||||
|
\.'bra:citeform,'
|
||||||
|
\.'bra:citepunct,'
|
||||||
|
\.'bra:citeleft,'
|
||||||
|
\.'bra:citeright,'
|
||||||
|
\.'bra:citemid,'
|
||||||
|
\.'bra:citedash'
|
||||||
|
|
||||||
|
syn region texRefZone matchgroup=texStatement start="\\citen\([tp]\*\=\)\={" keepend end="}\|%stopzone\>" contains=texComment,texDelimiter
|
||||||
|
syn region texRefZone matchgroup=texStatement start="\\citenum\([tp]\*\=\)\={" keepend end="}\|%stopzone\>" contains=texComment,texDelimiter
|
||||||
|
syn region texRefZone matchgroup=texStatement start="\\citeonline\([tp]\*\=\)\={" keepend end="}\|%stopzone\>" contains=texComment,texDelimiter
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
43
vim/vim-latex/ftplugin/latex-suite/packages/color
Executable file
43
vim/vim-latex/ftplugin/latex-suite/packages/color
Executable file
|
@ -0,0 +1,43 @@
|
||||||
|
if exists("color_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let color_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_color =
|
||||||
|
\ 'monochrome,'
|
||||||
|
\.'debugshow,'
|
||||||
|
\.'dvips,'
|
||||||
|
\.'xdvi,'
|
||||||
|
\.'dvipdf,'
|
||||||
|
\.'pdftex,'
|
||||||
|
\.'dvipsone,'
|
||||||
|
\.'dviwindo,'
|
||||||
|
\.'emtex,'
|
||||||
|
\.'dviwin,'
|
||||||
|
\.'oztex,'
|
||||||
|
\.'textures,'
|
||||||
|
\.'pctexps,'
|
||||||
|
\.'pctexwin,'
|
||||||
|
\.'pctexhp,'
|
||||||
|
\.'pctex32,'
|
||||||
|
\.'truetex,'
|
||||||
|
\.'tcidvi,'
|
||||||
|
\.'dvipsnames,'
|
||||||
|
\.'nodvipsnames,'
|
||||||
|
\.'usenames'
|
||||||
|
|
||||||
|
let g:TeX_package_color =
|
||||||
|
\ 'brs:definecolor{<++>}{<++>}{<++>},'
|
||||||
|
\.'brs:DefineNamedColor{<++>}{<++>}{<++>}{<++>},'
|
||||||
|
\.'bra:color,'
|
||||||
|
\.'nob:color,'
|
||||||
|
\.'brd:textcolor,'
|
||||||
|
\.'brs:textcolor[<++>]{<++>}{<++>},'
|
||||||
|
\.'brd:colorbox,'
|
||||||
|
\.'brs:colorbox[<++>]{<++>}{<++>},'
|
||||||
|
\.'brs:fcolorbox{<++>}{<++>}{<++>},'
|
||||||
|
\.'brs:fcolorbox[<++>]{<++>}{<++>}{<++>},'
|
||||||
|
\.'brd:pagecolor,'
|
||||||
|
\.'nob:pagecolor'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
12
vim/vim-latex/ftplugin/latex-suite/packages/comma
Executable file
12
vim/vim-latex/ftplugin/latex-suite/packages/comma
Executable file
|
@ -0,0 +1,12 @@
|
||||||
|
if exists("comma_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let comma_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_comma = ''
|
||||||
|
|
||||||
|
let g:TeX_package_comma =
|
||||||
|
\ 'bra:commaform,'
|
||||||
|
\.'bra:commaformtoken'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
104
vim/vim-latex/ftplugin/latex-suite/packages/csquotes
Executable file
104
vim/vim-latex/ftplugin/latex-suite/packages/csquotes
Executable file
|
@ -0,0 +1,104 @@
|
||||||
|
" Csquotes package support v 0.1 2010-02-17
|
||||||
|
" This file has been written by
|
||||||
|
" Andreas Wagner <Andreas dot Wagner at em dot uni-frankfurt dot de>
|
||||||
|
" based on the documentation of
|
||||||
|
" csquotes 4.4a, July 4 2009
|
||||||
|
" It can be used, modified and distributed according to the vim license.
|
||||||
|
|
||||||
|
|
||||||
|
if exists("csquotes_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let csquotes_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_csquotes =
|
||||||
|
\ 'strict=,'
|
||||||
|
\.'babel=,'
|
||||||
|
\.'maxlevel=,'
|
||||||
|
\.'style=,'
|
||||||
|
\.'danish=,'
|
||||||
|
\.'english=,'
|
||||||
|
\.'french=,'
|
||||||
|
\.'german=,'
|
||||||
|
\.'italian=,'
|
||||||
|
\.'norwegian=,'
|
||||||
|
\.'portuguese=,'
|
||||||
|
\.'spanish=,'
|
||||||
|
\.'swedish='
|
||||||
|
|
||||||
|
let g:TeX_package_csquotes =
|
||||||
|
\ 'sbr:basic,'
|
||||||
|
\.'bra:enquote{<+text+>},'
|
||||||
|
\.'bra:enquote*{<+text+>},'
|
||||||
|
\.'brs:textquote[<+cite+>][<+punct+>]{<+text+>},'
|
||||||
|
\.'brs:textquote*[<+cite+>][<+punct+>]{<+text+>},'
|
||||||
|
\.'brs:blockquote[<+cite+>][<+punct+>]{<+text+>},'
|
||||||
|
\.'sbr:foreign_text,'
|
||||||
|
\.'brd:foreignquote{<+lang+>}{<+text+>},'
|
||||||
|
\.'brd:foreignquote*{<+lang+>}{<+text+>},'
|
||||||
|
\.'brd:hyphenquote{<+lang+>}{<+text+>},'
|
||||||
|
\.'brd:hyphenquote*{<+lang+>}{<+text+>},'
|
||||||
|
\.'brs:foreigntextquote{<+lang+>}[<+cite+>][<+punct+>]{<+text+>},'
|
||||||
|
\.'brs:foreigntextquote*{<+lang+>}[<+cite+>][<+punct+>]{<+text+>},'
|
||||||
|
\.'brs:hyphentextquote{<+lang+>}[<+cite+>][<+punct+>]{<+text+>},'
|
||||||
|
\.'brs:hyphentextquote*{<+lang+>}[<+cite+>][<+punct+>]{<+text+>},'
|
||||||
|
\.'brs:foreignblockquote{<+lang+>}[<+cite+>][<+punct+>]{<+text+>},'
|
||||||
|
\.'brs:hyphenblockquote{<+lang+>}[<+cite+>][<+punct+>]{<+text+>},'
|
||||||
|
\.'sbr:active_quotes,'
|
||||||
|
\.'bra:MakeOuterQuote{<+character+>},'
|
||||||
|
\.'bra:MakeInnerQuote{<+character+>},'
|
||||||
|
\.'brd:MakeAutoQuote{<+opening_character+>}{<+closing_character+>},'
|
||||||
|
\.'brd:MakeAutoQuote*{<+opening_character+>}{<+closing_character+>},'
|
||||||
|
\.'brs:MakeForeignQuote{<+lang+>}{<+opening_character+>}{<+closing_character+>},'
|
||||||
|
\.'brs:MakeForeignQuote*{<+lang+>}{<+opening_character+>}{<+closing_character+>},'
|
||||||
|
\.'brs:MakeHyphenQuote{<+lang+>}{<+opening_character+>}{<+closing_character+>},'
|
||||||
|
\.'brs:MakeHyphenQuote*{<+lang+>}{<+opening_character+>}{<+closing_character+>},'
|
||||||
|
\.'brs:MakeBlockQuote{<+opening_character+>}{<+delimiter+>}{<+closing_character+>},'
|
||||||
|
\.'brs:MakeForeignBlockQuote{<+lang+>}{<+opening_character+>}{<+delimiter+>}{<+closing_character+>},'
|
||||||
|
\.'brs:MakeHyphenBlockQuote{<+lang+>}{<+opening_character+>}{<+delimiter+>}{<+closing_character+>},'
|
||||||
|
\.'nor:EnableQuote,'
|
||||||
|
\.'nor:DisableQuotes,'
|
||||||
|
\.'nor:VerbatimQuotes,'
|
||||||
|
\.'nor:DeleteQuotes,'
|
||||||
|
\.'sbr:automatic_citation,'
|
||||||
|
\.'brs:textcquote[<+prenote+>][<+postnote+>]{<+key+>}[<+punct+>]{<+text+>},'
|
||||||
|
\.'brs:textcquote*[<+prenote+>][<+postnote+>]{<+key+>}[<+punct+>]{<+text+>},'
|
||||||
|
\.'brs:foreigntextcquote{<+lang+>}[<+prenote+>][<+postnote+>]{<+key+>}[<+punct+>]{<+text+>},'
|
||||||
|
\.'brs:foreigntextcquote*{<+lang+>}[<+prenote+>][<+postnote+>]{<+key+>}[<+punct+>]{<+text+>},'
|
||||||
|
\.'brs:hyphentextcquote{<+lang+>}[<+prenote+>][<+postnote+>]{<+key+>}[<+punct+>]{<+text+>},'
|
||||||
|
\.'brs:hyphentextcquote*{<+x+>}[<+prenote+>][<+postnote+>]{<+key+>}[<+punct+>]{<+text+>},'
|
||||||
|
\.'brs:blockcquote[<+prenote+>][<+postnote+>]{<+key+>}[<+punct+>]{<+text+>},'
|
||||||
|
\.'brs:foreignblockcquote{<+lang+>}[<+prenote+>][<+postnote+>]{<+key+>}[<+punct+>]{<+text+>},'
|
||||||
|
\.'brs:hyphenblockcquote{<+lang+>}[<+prenote+>][<+postnote+>]{<+key+>}[<+punct+>]{<+text+>},'
|
||||||
|
\.'sbr:display_quotes,'
|
||||||
|
\.'ens:displayquote:[<+cite+>][<+punct+>],'
|
||||||
|
\.'ens:foreigndisplayquote:{<+lang+>}[<+cite+>][<+punct+>],'
|
||||||
|
\.'ens:hyphendisplayquote:{<+lang+>}[<+cite+>][<+punct+>],'
|
||||||
|
\.'ens:displaycquote:[<+prenote+>][<+postnote+>]{<+key+>}[<+punct+>],'
|
||||||
|
\.'ens:foreigndisplaycquote:{<+lang+>}[<+prenote+>][<+postnote+>]{<+key+>}[<+punct+>],'
|
||||||
|
\.'ens:hyphendisplaycquote:{<+lang+>}[<+prenote+>][<+postnote+>]{<+key+>}[<+punct+>],'
|
||||||
|
\.'sbr:config,'
|
||||||
|
\.'nob:setquotestyle,'
|
||||||
|
\.'nor:setquotestyle*,'
|
||||||
|
\.'brs:DeclareQuoteStyle[<+variant+>]{<+style+>}[<+outer_init+>][<+inner_init+>]{<+opening_outer_mark+>}[<+middle_outer_mark+>]{<+closing_outer_mark+>}[<+kern+>]{<+opening_inner_mark+>}[<+middle_inner_mark+>]{<+closing_inner_mark+>},'
|
||||||
|
\.'brs:DeclareQuoteAlias[<+variant+>]{<+style+>}{<+alias+>},'
|
||||||
|
\.'bra:DeclareQuoteOption{<+style+>},'
|
||||||
|
\.'bra:ExecuteQuoteOptions{<+key=value+>},'
|
||||||
|
\.'brs:DeclarePlainStyle{<+opening_outer_mark+>}{<+closing_outer_mark+>}{<+opening_inner_mark+>}{<+closing_inner_mark+>},'
|
||||||
|
\.'bra:SetBlockThreshold{<+integer+>},'
|
||||||
|
\.'bra:SetBlockEnvironment{<+environment+>},'
|
||||||
|
\.'bra:SetCiteCommand{<+command+>},'
|
||||||
|
\.'sbr:helper_expressions,'
|
||||||
|
\.'brd:ifblockquote,'
|
||||||
|
\.'brd:ifquotepunct,'
|
||||||
|
\.'brd:ifquoteterm,'
|
||||||
|
\.'brd:ifquotecolon,'
|
||||||
|
\.'brd:ifquotecomma,'
|
||||||
|
\.'brd:ifquoteexcmlam,'
|
||||||
|
\.'brd:ifquotequestion,'
|
||||||
|
\.'brd:ifquotesemicolon,'
|
||||||
|
\.'brs:ifstringblank{<+string+>}{<+true+>}{<+false+>}'
|
||||||
|
|
||||||
|
let g:TeX_SmartQuoteOpen = "\\enquote\{"
|
||||||
|
let g:TeX_SmartQuoteClose = "\}"
|
||||||
|
|
36
vim/vim-latex/ftplugin/latex-suite/packages/deleq
Executable file
36
vim/vim-latex/ftplugin/latex-suite/packages/deleq
Executable file
|
@ -0,0 +1,36 @@
|
||||||
|
if exists("deleq_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let deleq_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_deleq = ''
|
||||||
|
|
||||||
|
let g:TeX_package_deleq =
|
||||||
|
\.'env:deqn,'
|
||||||
|
\.'env:ddeqn,'
|
||||||
|
\.'env:deqarr,'
|
||||||
|
\.'env:ddeqar,'
|
||||||
|
\.'env:deqrarr,'
|
||||||
|
\.'nor:nydeqno,'
|
||||||
|
\.'nor:heqno,'
|
||||||
|
\.'bra:reqno,'
|
||||||
|
\.'bra:rndeqno,'
|
||||||
|
\.'bra:rdeqno,'
|
||||||
|
\.'nob:eqreqno,'
|
||||||
|
\.'nob:deqreqno,'
|
||||||
|
\.'nob:ddeqreqno,'
|
||||||
|
\.'bra:arrlabel,'
|
||||||
|
\.'nor:where,'
|
||||||
|
\.'bra:remtext,'
|
||||||
|
\.'nor:nydeleqno,'
|
||||||
|
\.'nor:deleqno,'
|
||||||
|
\.'nor:jotbaseline'
|
||||||
|
|
||||||
|
if !exists("tex_no_math")
|
||||||
|
syn region texMathZoneA start="\\begin\s*{\s*deqn\*\s*}" end="\\end\s*{\s*deqn\*\s*}" keepend fold contains=@texMathZoneGroup
|
||||||
|
syn region texMathZoneB start="\\begin\s*{\s*ddeqn\*\s*}" end="\\end\s*{\s*ddeqn\*\s*}" keepend fold contains=@texMathZoneGroup
|
||||||
|
syn region texMathZoneC start="\\begin\s*{\s*deqarr\s*}" end="\\end\s*{\s*deqarr\s*}" keepend fold contains=@texMathZoneGroup
|
||||||
|
syn region texMathZoneD start="\\begin\s*{\s*ddeqar\s*}" end="\\end\s*{\s*ddeqar\s*}" keepend fold contains=@texMathZoneGroup
|
||||||
|
syn region texMathZoneE start="\\begin\s*{\s*deqrarr\*\s*}" end="\\end\s*{\s*deqrarr\*\s*}" keepend fold contains=@texMathZoneGroup
|
||||||
|
endif
|
||||||
|
" vim:ft=vim:ff=unix:noet:ts=4:
|
29
vim/vim-latex/ftplugin/latex-suite/packages/drftcite
Executable file
29
vim/vim-latex/ftplugin/latex-suite/packages/drftcite
Executable file
|
@ -0,0 +1,29 @@
|
||||||
|
if exists("drftcite_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let drftcite_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_drftcite =
|
||||||
|
\ 'verbose,'
|
||||||
|
\.'nospace,'
|
||||||
|
\.'space,'
|
||||||
|
\.'breakcites,'
|
||||||
|
\.'manualsort,'
|
||||||
|
\.'tt,'
|
||||||
|
\.'shownumbers,'
|
||||||
|
\.'nocitecount'
|
||||||
|
|
||||||
|
let g:TeX_package_drftcite =
|
||||||
|
\ 'bra:cite,'
|
||||||
|
\.'bra:citen,'
|
||||||
|
\.'sep:redefine,'
|
||||||
|
\.'bra:citeform,'
|
||||||
|
\.'bra:citepunct,'
|
||||||
|
\.'bra:citeleft,'
|
||||||
|
\.'bra:citeright,'
|
||||||
|
\.'bra:citemid,'
|
||||||
|
\.'bra:citedash'
|
||||||
|
|
||||||
|
syn region texRefZone matchgroup=texStatement start="\\citen\([tp]\*\=\)\={" keepend end="}\|%stopzone\>" contains=texComment,texDelimiter
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
12
vim/vim-latex/ftplugin/latex-suite/packages/dropping
Executable file
12
vim/vim-latex/ftplugin/latex-suite/packages/dropping
Executable file
|
@ -0,0 +1,12 @@
|
||||||
|
if exists("dropping_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let dropping_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_dropping = ''
|
||||||
|
|
||||||
|
let g:TeX_package_dropping =
|
||||||
|
\ 'brs:bigdrop{<+indent+>}{<+big+>}{<+font+>}{<+text+>},'
|
||||||
|
\.'brs:dropping[<+indent+>]{<+big+>}{<+text+>}'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
10
vim/vim-latex/ftplugin/latex-suite/packages/enumerate
Executable file
10
vim/vim-latex/ftplugin/latex-suite/packages/enumerate
Executable file
|
@ -0,0 +1,10 @@
|
||||||
|
if exists("enumerate_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let enumerate_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_enumerate = ''
|
||||||
|
|
||||||
|
let g:TeX_package_enumerate = 'ens:enumerate:[<+prefix+>]'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
19
vim/vim-latex/ftplugin/latex-suite/packages/eqlist
Executable file
19
vim/vim-latex/ftplugin/latex-suite/packages/eqlist
Executable file
|
@ -0,0 +1,19 @@
|
||||||
|
if exists("eqlist_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let eqlist_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_eqlist = ''
|
||||||
|
|
||||||
|
let g:TeX_package_eqlist =
|
||||||
|
\ 'env:eqlist,'
|
||||||
|
\.'env:eqlist*,'
|
||||||
|
\.'env:Eqlist,'
|
||||||
|
\.'env:Eqlist*,'
|
||||||
|
\.'sep:modificators,'
|
||||||
|
\.'eqlistinit,'
|
||||||
|
\.'eqliststarinit,'
|
||||||
|
\.'eqlistinitpar,'
|
||||||
|
\.'eqlistlabel'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
12
vim/vim-latex/ftplugin/latex-suite/packages/eqparbox
Executable file
12
vim/vim-latex/ftplugin/latex-suite/packages/eqparbox
Executable file
|
@ -0,0 +1,12 @@
|
||||||
|
if exists("eqparbox_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let eqparbox_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_eqparbox = ''
|
||||||
|
|
||||||
|
let g:TeX_package_eqparbox =
|
||||||
|
\ 'brs:eqparbox[<+pos+>][<+height+>][<+inner-pos+>]{<+tag+>}{<+text+>},'
|
||||||
|
\.'bra:eqboxwidth'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
10
vim/vim-latex/ftplugin/latex-suite/packages/everyshi
Executable file
10
vim/vim-latex/ftplugin/latex-suite/packages/everyshi
Executable file
|
@ -0,0 +1,10 @@
|
||||||
|
if exists("everyshi_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let everyshi_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_everyshi = ''
|
||||||
|
|
||||||
|
let g:TeX_package_everyshi = 'bra:EveryShipOut'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
55
vim/vim-latex/ftplugin/latex-suite/packages/exmpl
Executable file
55
vim/vim-latex/ftplugin/latex-suite/packages/exmpl
Executable file
|
@ -0,0 +1,55 @@
|
||||||
|
if exists("exmpl_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let exmpl_package_file = 1
|
||||||
|
|
||||||
|
" Author: Mikolaj Machowski
|
||||||
|
" Date: 10.04.2002
|
||||||
|
" Example plugin for packages in latexSuite
|
||||||
|
"
|
||||||
|
|
||||||
|
" This variable creates Options submenu in package menu. Even when no options are
|
||||||
|
" given for this package it HAS to exist in form
|
||||||
|
" let TeX_package_option_exmpl = ""
|
||||||
|
" Options and commands are delimited with comma ,
|
||||||
|
|
||||||
|
let g:TeX_package_option_exmpl = "OpcjaA=,OpcjaB,OpcjaC"
|
||||||
|
|
||||||
|
" Most command should have some definition before. Package menu system can
|
||||||
|
" recognize type of command and behave in good manner:
|
||||||
|
" env: (environment) creates simple environment template
|
||||||
|
" \begin{command}
|
||||||
|
" x <- cursor here
|
||||||
|
" \end{command}
|
||||||
|
"
|
||||||
|
" bra: (brackets) useful when inserting brackets commands
|
||||||
|
" \command{x}<<>> <- cursor at x, and placeholders as in other menu entries
|
||||||
|
"
|
||||||
|
" nor: (normal) nor: and pla: are `highlighted' in menu with `''
|
||||||
|
" \command<Space>
|
||||||
|
"
|
||||||
|
" pla: (plain)
|
||||||
|
" command<Space>
|
||||||
|
"
|
||||||
|
" spe: (special)
|
||||||
|
" command <-literal insertion of command, in future here should go
|
||||||
|
" commands with special characters
|
||||||
|
"
|
||||||
|
" sep: (separator) creates separator. Good for aesthetics and usability :)
|
||||||
|
"
|
||||||
|
" Command can be also given with no prefix:. The result is
|
||||||
|
" \command (as in nor: but without <Space>)
|
||||||
|
|
||||||
|
|
||||||
|
let g:TeX_package_exmpl = "env:AEnvFirst,env:aEnvSec,env:BThi,"
|
||||||
|
\ . "sep:a,env:zzzz,"
|
||||||
|
\ . "bra:aBraFirst,bra:bBraSec,bra:cBraThi,"
|
||||||
|
\ . "sep:b,"
|
||||||
|
\ . "nor:aNorPri,nor:bNorSec,nor:cNorTer,"
|
||||||
|
\ . "sep:c,"
|
||||||
|
\ . "pla:aPla1,pla:bPla2,pla:cPla3,"
|
||||||
|
\ . "sep:d,"
|
||||||
|
\ . "spe:aSpe1,spe:bSpe2,spe:cSpe3,"
|
||||||
|
\ . "sep:e,"
|
||||||
|
\ . "aNo1,bNo2,cNo3"
|
||||||
|
" vim:ft=vim
|
42
vim/vim-latex/ftplugin/latex-suite/packages/fixme
Executable file
42
vim/vim-latex/ftplugin/latex-suite/packages/fixme
Executable file
|
@ -0,0 +1,42 @@
|
||||||
|
" Fixme package support v 0.1 2010-02-17
|
||||||
|
" This file has been written by
|
||||||
|
" Andreas Wagner <Andreas dot Wagner at em dot uni-frankfurt dot de>
|
||||||
|
" based on the documentation of
|
||||||
|
" fixme November 28 2007
|
||||||
|
" It can be used, modified and distributed according to the vim license.
|
||||||
|
|
||||||
|
|
||||||
|
if exists("fixme_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let fixme_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_fixme =
|
||||||
|
\ 'draft,'
|
||||||
|
\.'final,'
|
||||||
|
\.'silent,'
|
||||||
|
\.'nosilent,'
|
||||||
|
\.'inline,'
|
||||||
|
\.'margin,'
|
||||||
|
\.'marginclue,'
|
||||||
|
\.'footnote,'
|
||||||
|
\.'index,'
|
||||||
|
\.'noinline,'
|
||||||
|
\.'nomargin,'
|
||||||
|
\.'nomarginclue,'
|
||||||
|
\.'nofootnote,'
|
||||||
|
\.'noindex'
|
||||||
|
|
||||||
|
let g:TeX_package_fixme =
|
||||||
|
\ 'sbr:simple,'
|
||||||
|
\.'nob:fixme[<+layout+>]{<+note+>},'
|
||||||
|
\.'nob:fxnote[<+layout+>]{<+note+>},'
|
||||||
|
\.'nob:fxwarning[<+layout+>]{<+note+>},'
|
||||||
|
\.'nob:fxerror[<+layout+>]{<+note+>},'
|
||||||
|
\.'sbr:environments,'
|
||||||
|
\.'eno:afixme[<+summary+>],'
|
||||||
|
\.'eno:anfxnote[<+summary+>],'
|
||||||
|
\.'eno:anfxwarning[<+summary+>],'
|
||||||
|
\.'eno:anfxerror[<+summary+>],'
|
||||||
|
\.'sbr:other,'
|
||||||
|
\.'nor:listoffixmes'
|
10
vim/vim-latex/ftplugin/latex-suite/packages/flafter
Executable file
10
vim/vim-latex/ftplugin/latex-suite/packages/flafter
Executable file
|
@ -0,0 +1,10 @@
|
||||||
|
if exists("flafter_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let flafter_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_flafter = ''
|
||||||
|
|
||||||
|
let g:TeX_package_flafter = 'noo:suppressfloats,noo:suppress'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
16
vim/vim-latex/ftplugin/latex-suite/packages/float
Executable file
16
vim/vim-latex/ftplugin/latex-suite/packages/float
Executable file
|
@ -0,0 +1,16 @@
|
||||||
|
if exists("float_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let float_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_float = ''
|
||||||
|
|
||||||
|
let g:TeX_package_float =
|
||||||
|
\ 'bra:floatstyle,'
|
||||||
|
\.'brs:newfloat{<++>}{<++>}{<++>}[<++>],'
|
||||||
|
\.'brd:floatname,'
|
||||||
|
\.'brd:listof,'
|
||||||
|
\.'bra:restylefloat,'
|
||||||
|
\.'brd:floatplacement'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
12
vim/vim-latex/ftplugin/latex-suite/packages/floatflt
Executable file
12
vim/vim-latex/ftplugin/latex-suite/packages/floatflt
Executable file
|
@ -0,0 +1,12 @@
|
||||||
|
if exists("floatflt_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let floatflt_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_floatflt = 'rflt,lflt,vflt'
|
||||||
|
|
||||||
|
let g:TeX_package_floatflt =
|
||||||
|
\ 'ens:floatingfigure:[<+loc+>]{<+spec+>},'
|
||||||
|
\.'ens:floatingtable:[<+loc+>]{<+spec+>}'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
10
vim/vim-latex/ftplugin/latex-suite/packages/fn2end
Executable file
10
vim/vim-latex/ftplugin/latex-suite/packages/fn2end
Executable file
|
@ -0,0 +1,10 @@
|
||||||
|
if exists("fn2end_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let fn2end_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_fn2end = ''
|
||||||
|
|
||||||
|
let g:TeX_package_fn2end = 'makeendnotes,theendnotes'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
21
vim/vim-latex/ftplugin/latex-suite/packages/footmisc
Executable file
21
vim/vim-latex/ftplugin/latex-suite/packages/footmisc
Executable file
|
@ -0,0 +1,21 @@
|
||||||
|
if exists("footmisc_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let footmisc_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_footmisc =
|
||||||
|
\ 'bottom,'
|
||||||
|
\.'flushmargin,'
|
||||||
|
\.'marginal,'
|
||||||
|
\.'multiple,'
|
||||||
|
\.'norule,'
|
||||||
|
\.'para,'
|
||||||
|
\.'perpage,'
|
||||||
|
\.'splitrule,'
|
||||||
|
\.'stable,'
|
||||||
|
\.'symbol,'
|
||||||
|
\.'symbol+'
|
||||||
|
|
||||||
|
let g:TeX_package_footmisc = ''
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
93
vim/vim-latex/ftplugin/latex-suite/packages/geometry
Executable file
93
vim/vim-latex/ftplugin/latex-suite/packages/geometry
Executable file
|
@ -0,0 +1,93 @@
|
||||||
|
if exists("geometry_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let geometry_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_geometry =
|
||||||
|
\ 'sbr:Boolean,'
|
||||||
|
\.'verbose,'
|
||||||
|
\.'landscape,'
|
||||||
|
\.'portrait,'
|
||||||
|
\.'twoside,'
|
||||||
|
\.'includemp,'
|
||||||
|
\.'reversemp,'
|
||||||
|
\.'reversemarginpar,'
|
||||||
|
\.'nohead,'
|
||||||
|
\.'nofoot,'
|
||||||
|
\.'noheadfoot,'
|
||||||
|
\.'dvips,'
|
||||||
|
\.'pdftex,'
|
||||||
|
\.'vtex,'
|
||||||
|
\.'truedimen,'
|
||||||
|
\.'reset,'
|
||||||
|
\.'sbr:BooleanDimensions,'
|
||||||
|
\.'a0paper,'
|
||||||
|
\.'a1paper,'
|
||||||
|
\.'a2paper,'
|
||||||
|
\.'a3paper,'
|
||||||
|
\.'a4paper,'
|
||||||
|
\.'a5paper,'
|
||||||
|
\.'a6paper,'
|
||||||
|
\.'b0paper,'
|
||||||
|
\.'b1paper,'
|
||||||
|
\.'b2paper,'
|
||||||
|
\.'b3paper,'
|
||||||
|
\.'b4paper,'
|
||||||
|
\.'b5paper,'
|
||||||
|
\.'b6paper,'
|
||||||
|
\.'letterpaper,'
|
||||||
|
\.'executivepaper,'
|
||||||
|
\.'legalpaper,'
|
||||||
|
\.'sbr:SingleValueOption,'
|
||||||
|
\.'paper=,'
|
||||||
|
\.'papername=,'
|
||||||
|
\.'paperwidth=,'
|
||||||
|
\.'paperheight=,'
|
||||||
|
\.'width=,'
|
||||||
|
\.'totalwidth=,'
|
||||||
|
\.'height=,'
|
||||||
|
\.'totalheight=,'
|
||||||
|
\.'left=,'
|
||||||
|
\.'lmargin=,'
|
||||||
|
\.'right=,'
|
||||||
|
\.'rmargin=,'
|
||||||
|
\.'top=,'
|
||||||
|
\.'tmargin=,'
|
||||||
|
\.'bottom=,'
|
||||||
|
\.'bmargin=,'
|
||||||
|
\.'hscale=,'
|
||||||
|
\.'vscale=,'
|
||||||
|
\.'textwidth=,'
|
||||||
|
\.'textheight=,'
|
||||||
|
\.'marginparwidth=,'
|
||||||
|
\.'marginpar=,'
|
||||||
|
\.'marginparsep=,'
|
||||||
|
\.'headheight=,'
|
||||||
|
\.'head=,'
|
||||||
|
\.'headsep=,'
|
||||||
|
\.'footskip=,'
|
||||||
|
\.'hoffset=,'
|
||||||
|
\.'voffset=,'
|
||||||
|
\.'twosideshift=,'
|
||||||
|
\.'mag=,'
|
||||||
|
\.'columnsep=,'
|
||||||
|
\.'footnotesep=,'
|
||||||
|
\.'sbr:TwoValueOptions,'
|
||||||
|
\.'papersize={<++>},'
|
||||||
|
\.'total={<++>},'
|
||||||
|
\.'body={<++>},'
|
||||||
|
\.'text={<++>},'
|
||||||
|
\.'scale={<++>},'
|
||||||
|
\.'hmargin={<++>},'
|
||||||
|
\.'vmargin={<++>},'
|
||||||
|
\.'margin={<++>},'
|
||||||
|
\.'offset={<++>},'
|
||||||
|
\.'sbr:ThreeValueOptions,'
|
||||||
|
\.'hdivide={<++>},'
|
||||||
|
\.'vdivide={<++>},'
|
||||||
|
\.'divide={<++>}'
|
||||||
|
|
||||||
|
let g:TeX_package_geometry =
|
||||||
|
\ 'bra:geometry'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
12
vim/vim-latex/ftplugin/latex-suite/packages/german
Executable file
12
vim/vim-latex/ftplugin/latex-suite/packages/german
Executable file
|
@ -0,0 +1,12 @@
|
||||||
|
if exists("german_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let german_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_german = ''
|
||||||
|
let g:TeX_package_option_german = ''
|
||||||
|
" For now just define the smart quotes.
|
||||||
|
let b:Tex_SmartQuoteOpen = '"`'
|
||||||
|
let b:Tex_SmartQuoteClose = "\"'"
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
69
vim/vim-latex/ftplugin/latex-suite/packages/graphicx
Executable file
69
vim/vim-latex/ftplugin/latex-suite/packages/graphicx
Executable file
|
@ -0,0 +1,69 @@
|
||||||
|
if exists("graphicx_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let graphicx_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_graphicx =
|
||||||
|
\ 'sbr:Drivers,'
|
||||||
|
\.'xdvi,'
|
||||||
|
\.'dvipdf,'
|
||||||
|
\.'dvipdfm,'
|
||||||
|
\.'pdftex,'
|
||||||
|
\.'dvipsone,'
|
||||||
|
\.'dviwindo,'
|
||||||
|
\.'emtex,'
|
||||||
|
\.'dviwin,'
|
||||||
|
\.'oztex,'
|
||||||
|
\.'textures,'
|
||||||
|
\.'pctexps,'
|
||||||
|
\.'pctexwin,'
|
||||||
|
\.'pctexhp,'
|
||||||
|
\.'pctex32,'
|
||||||
|
\.'truetex,'
|
||||||
|
\.'tcidvi,'
|
||||||
|
\.'vtex,'
|
||||||
|
\.'sbr:Rest,'
|
||||||
|
\.'debugshow,'
|
||||||
|
\.'draft,'
|
||||||
|
\.'final,'
|
||||||
|
\.'hiderotate,'
|
||||||
|
\.'hiresbb,'
|
||||||
|
\.'hidescale,'
|
||||||
|
\.'unknownkeysallowed,'
|
||||||
|
\.'unknownkeyserror'
|
||||||
|
|
||||||
|
let g:TeX_package_graphicx =
|
||||||
|
\ 'sbr:Includegraphics,'
|
||||||
|
\.'brs:includegraphics[<++>]{<++>},'
|
||||||
|
\.'spe:height=,'
|
||||||
|
\.'spe:width=,'
|
||||||
|
\.'spe:keepaspectratio=,'
|
||||||
|
\.'spe:totalheight=,'
|
||||||
|
\.'spe:angle=,'
|
||||||
|
\.'spe:scale=,'
|
||||||
|
\.'spe:origin=,'
|
||||||
|
\.'spe:clip,'
|
||||||
|
\.'spe:bb=,'
|
||||||
|
\.'spe:viewport=,'
|
||||||
|
\.'spe:trim=,'
|
||||||
|
\.'spe:draft,'
|
||||||
|
\.'spe:hiresbb,'
|
||||||
|
\.'spe:type=,'
|
||||||
|
\.'spe:ext=,'
|
||||||
|
\.'spe:read=,'
|
||||||
|
\.'spe:command=,'
|
||||||
|
\.'sbr:Rotatebox,'
|
||||||
|
\.'brs:rotatebox[<++>]{<++>}{<++>},'
|
||||||
|
\.'spe:origin=,'
|
||||||
|
\.'spe:x=,'
|
||||||
|
\.'spe:y=,'
|
||||||
|
\.'spe:units=,'
|
||||||
|
\.'sbr:Rest,'
|
||||||
|
\.'brs:scalebox{<++>}[<++>]{<++>},'
|
||||||
|
\.'brs:resizebox{<++>}{<++>}{<++>},'
|
||||||
|
\.'brs:resizebox*{<++>}{<++>}{<++>},'
|
||||||
|
\.'bra:DeclareGraphicsExtensions,'
|
||||||
|
\.'brs:DeclareGraphicsRule{<++>}{<++>}{<++>}{<++>},'
|
||||||
|
\.'bra:graphicspath'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
10
vim/vim-latex/ftplugin/latex-suite/packages/graphpap
Executable file
10
vim/vim-latex/ftplugin/latex-suite/packages/graphpap
Executable file
|
@ -0,0 +1,10 @@
|
||||||
|
if exists("graphpap_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let graphpap_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_graphpap = ''
|
||||||
|
|
||||||
|
let g:TeX_package_graphpap = 'brs:graphpaper[<+step+>](<+x1,y1+>)(<+x2,y2+>)'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
18
vim/vim-latex/ftplugin/latex-suite/packages/harpoon
Executable file
18
vim/vim-latex/ftplugin/latex-suite/packages/harpoon
Executable file
|
@ -0,0 +1,18 @@
|
||||||
|
if exists("harpoon_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let harpoon_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_harpoon = ''
|
||||||
|
|
||||||
|
let g:TeX_package_harpoon =
|
||||||
|
\ 'bra:overleftharp,'
|
||||||
|
\.'bra:overrightharp,'
|
||||||
|
\.'bra:overleftharpdown,'
|
||||||
|
\.'bra:overrightharpdown,'
|
||||||
|
\.'bra:underleftharp,'
|
||||||
|
\.'bra:underrightharp,'
|
||||||
|
\.'bra:underleftharpdown,'
|
||||||
|
\.'bra:underrightharpdown'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
21
vim/vim-latex/ftplugin/latex-suite/packages/hhline
Executable file
21
vim/vim-latex/ftplugin/latex-suite/packages/hhline
Executable file
|
@ -0,0 +1,21 @@
|
||||||
|
if exists("hhline_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let hhline_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_hhline = ''
|
||||||
|
|
||||||
|
let g:TeX_package_hhline =
|
||||||
|
\ 'bra:hhline,'
|
||||||
|
\.'sep:a,'
|
||||||
|
\.'spe:=,'
|
||||||
|
\.'spe:-,'
|
||||||
|
\.'spe:~,'
|
||||||
|
\."spe:\\\|,"
|
||||||
|
\.'spe::,'
|
||||||
|
\.'spe:#,'
|
||||||
|
\.'spe:t,'
|
||||||
|
\.'spe:b,'
|
||||||
|
\.'spe:*'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
13
vim/vim-latex/ftplugin/latex-suite/packages/histogram
Executable file
13
vim/vim-latex/ftplugin/latex-suite/packages/histogram
Executable file
|
@ -0,0 +1,13 @@
|
||||||
|
if exists("histogram_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let histogram_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_histogram = ''
|
||||||
|
|
||||||
|
let g:TeX_package_histogram =
|
||||||
|
\ 'histogram,'
|
||||||
|
\.'noverticallines,'
|
||||||
|
\.'verticallines'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
167
vim/vim-latex/ftplugin/latex-suite/packages/hyperref
Executable file
167
vim/vim-latex/ftplugin/latex-suite/packages/hyperref
Executable file
|
@ -0,0 +1,167 @@
|
||||||
|
if exists("hyperref_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let hyperref_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_hyperref =
|
||||||
|
\ '4=,'
|
||||||
|
\.'a4paper,'
|
||||||
|
\.'a5paper,'
|
||||||
|
\.'anchorcolor=,'
|
||||||
|
\.'b5paper,'
|
||||||
|
\.'backref=,'
|
||||||
|
\.'baseurl={<++>},'
|
||||||
|
\.'bookmarks=,'
|
||||||
|
\.'bookmarksnumbered=,'
|
||||||
|
\.'bookmarksopen=,'
|
||||||
|
\.'bookmarksopenlevel=,'
|
||||||
|
\.'bookmarkstype=,'
|
||||||
|
\.'breaklinks=,'
|
||||||
|
\.'citebordercolor=,'
|
||||||
|
\.'citecolor=,'
|
||||||
|
\.'colorlinks=,'
|
||||||
|
\.'debug=,'
|
||||||
|
\.'draft,'
|
||||||
|
\.'dvipdf,'
|
||||||
|
\.'dvipdfm,'
|
||||||
|
\.'dvips,'
|
||||||
|
\.'dvipsone,'
|
||||||
|
\.'dviwindo,'
|
||||||
|
\.'executivepaper,'
|
||||||
|
\.'extension=,'
|
||||||
|
\.'filebordercolor=,'
|
||||||
|
\.'filecolor=,'
|
||||||
|
\.'frenchlinks=,'
|
||||||
|
\.'hyperfigures=,'
|
||||||
|
\.'hyperindex=,'
|
||||||
|
\.'hypertex,'
|
||||||
|
\.'hypertexnames=,'
|
||||||
|
\.'implicit=,'
|
||||||
|
\.'latex2html,'
|
||||||
|
\.'legalpaper,'
|
||||||
|
\.'letterpaper,'
|
||||||
|
\.'linkbordercolor=,'
|
||||||
|
\.'linkcolor=,'
|
||||||
|
\.'linktocpage=,'
|
||||||
|
\.'menubordercolor=,'
|
||||||
|
\.'menucolor=,'
|
||||||
|
\.'naturalnames,'
|
||||||
|
\.'nesting=,'
|
||||||
|
\.'pageanchor=,'
|
||||||
|
\.'pagebackref=,'
|
||||||
|
\.'pagebordercolor=,'
|
||||||
|
\.'pagecolor=,'
|
||||||
|
\.'pdfauthor={<++>},'
|
||||||
|
\.'pdfborder=,'
|
||||||
|
\.'pdfcenterwindow=,'
|
||||||
|
\.'pdfcreator={<++>},'
|
||||||
|
\.'pdffitwindow,'
|
||||||
|
\.'pdfhighlight=,'
|
||||||
|
\.'pdfkeywords={<++>},'
|
||||||
|
\.'pdfmenubar=,'
|
||||||
|
\.'pdfnewwindow=,'
|
||||||
|
\.'pdfpagelabels=,'
|
||||||
|
\.'pdfpagelayout=,'
|
||||||
|
\.'pdfpagemode=,'
|
||||||
|
\.'pdfpagescrop=,'
|
||||||
|
\.'pdfpagetransition=,'
|
||||||
|
\.'pdfproducer={<++>},'
|
||||||
|
\.'pdfstartpage={<++>},'
|
||||||
|
\.'pdfstartview={<++>},'
|
||||||
|
\.'pdfsubject={<++>},'
|
||||||
|
\.'pdftex,'
|
||||||
|
\.'pdftitle={<++>},'
|
||||||
|
\.'pdftoolbar=,'
|
||||||
|
\.'pdfusetitle=,'
|
||||||
|
\.'pdfview,'
|
||||||
|
\.'pdfwindowui=,'
|
||||||
|
\.'plainpages=,'
|
||||||
|
\.'ps2pdf,'
|
||||||
|
\.'raiselinks=,'
|
||||||
|
\.'runbordercolor,'
|
||||||
|
\.'tex4ht,'
|
||||||
|
\.'textures,'
|
||||||
|
\.'unicode=,'
|
||||||
|
\.'urlbordercolor=,'
|
||||||
|
\.'urlcolor=,'
|
||||||
|
\.'verbose=,'
|
||||||
|
\.'vtex'
|
||||||
|
|
||||||
|
let g:TeX_package_hyperref =
|
||||||
|
\ 'sbr:Preamble,'
|
||||||
|
\.'bra:hypersetup,'
|
||||||
|
\.'wwwbrowser,'
|
||||||
|
\.'sbr:Links,'
|
||||||
|
\.'bra:hyperbaseurl,'
|
||||||
|
\.'brs:href{<+URL+>}{<+text+>},'
|
||||||
|
\.'bra:hyperimage,'
|
||||||
|
\.'brs:hyperdef{<+category+>}{<+name+>}{<+text+>},'
|
||||||
|
\.'brs:hyperref{<+URL+>}{<+category+>}{<+name+>}{<+text+>},'
|
||||||
|
\.'brs:hyperlink{<+name+>}{<+text+>},'
|
||||||
|
\.'brs:hypertarget{<+name+>}{<+text+>},'
|
||||||
|
\.'bra:url,'
|
||||||
|
\.'bra:htmladdnormallink,'
|
||||||
|
\.'brs:Acrobatmenu{<+option+>}{<+tekst+>},'
|
||||||
|
\.'brs:pdfbookmark[<++>]{<++>}{<++>},'
|
||||||
|
\.'bra:thispdfpagelabel,'
|
||||||
|
\.'sbr:Forms,'
|
||||||
|
\.'env:Form,'
|
||||||
|
\.'sep:Forms1,'
|
||||||
|
\.'brs:TextField[<+parameters+>]{<+label+>},'
|
||||||
|
\.'brs:CheckBox[<+parameters+>]{<+label+>},'
|
||||||
|
\.'brs:ChoiceMenu[<+parameters+>]{<+label+>}{<+choices+>},'
|
||||||
|
\.'brs:PushButton[<+parameters+>]{<+label+>},'
|
||||||
|
\.'brs:Submit[<+parameters+>]{<+label+>},'
|
||||||
|
\.'brs:Reset[<+parameters+>]{<+label+>},'
|
||||||
|
\.'sep:Forms2,'
|
||||||
|
\.'brs:LayoutTextField{<+label+>}{<+field+>},'
|
||||||
|
\.'brs:LayoutChoiceField{<+label+>}{<+field+>},'
|
||||||
|
\.'brs:LayoutCheckboxField{<+label+>}{<+field+>},'
|
||||||
|
\.'sep:Forms3,'
|
||||||
|
\.'brs:MakeRadioField{<+width+>}{<+height+>},'
|
||||||
|
\.'brs:MakeCheckField{<+width+>}{<+height+>},'
|
||||||
|
\.'brs:MakeTextField{<+width+>}{<+height+>},'
|
||||||
|
\.'brs:MakeChoiceField{<+width+>}{<+height+>},'
|
||||||
|
\.'brs:MakeButtonField{<+text+>},'
|
||||||
|
\.'sbr:Parameters,'
|
||||||
|
\.'spe:accesskey,'
|
||||||
|
\.'spe:align,'
|
||||||
|
\.'spe:backgroundcolor,'
|
||||||
|
\.'spe:bordercolor,'
|
||||||
|
\.'spe:bordersep,'
|
||||||
|
\.'spe:borderwidth,'
|
||||||
|
\.'spe:charsize,'
|
||||||
|
\.'spe:checked,'
|
||||||
|
\.'spe:color,'
|
||||||
|
\.'spe:combo,'
|
||||||
|
\.'spe:default,'
|
||||||
|
\.'spe:disabled,'
|
||||||
|
\.'spe:height,'
|
||||||
|
\.'spe:hidden,'
|
||||||
|
\.'spe:maxlen,'
|
||||||
|
\.'spe:menulength,'
|
||||||
|
\.'spe:multiline,'
|
||||||
|
\.'spe:name,'
|
||||||
|
\.'spe:onblur,'
|
||||||
|
\.'spe:onchange,'
|
||||||
|
\.'spe:onclick,'
|
||||||
|
\.'spe:ondblclick,'
|
||||||
|
\.'spe:onfocus,'
|
||||||
|
\.'spe:onkeydown,'
|
||||||
|
\.'spe:onkeypress,'
|
||||||
|
\.'spe:onkeyup,'
|
||||||
|
\.'spe:onmousedown,'
|
||||||
|
\.'spe:onmousemove,'
|
||||||
|
\.'spe:onmouseout,'
|
||||||
|
\.'spe:onmouseover,'
|
||||||
|
\.'spe:onmouseup,'
|
||||||
|
\.'spe:onselect,'
|
||||||
|
\.'spe:password,'
|
||||||
|
\.'spe:popdown,'
|
||||||
|
\.'spe:radio,'
|
||||||
|
\.'spe:readonly,'
|
||||||
|
\.'spe:tabkey,'
|
||||||
|
\.'spe:value,'
|
||||||
|
\.'spe:width'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
21
vim/vim-latex/ftplugin/latex-suite/packages/ifthen
Executable file
21
vim/vim-latex/ftplugin/latex-suite/packages/ifthen
Executable file
|
@ -0,0 +1,21 @@
|
||||||
|
if exists("ifthen_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let ifthen_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_ifthen = ''
|
||||||
|
|
||||||
|
let g:TeX_package_ifthen =
|
||||||
|
\ 'brs:ifthenelse{<++>}{<++>}{<++>},'
|
||||||
|
\.'brd:equal,'
|
||||||
|
\.'bra:boolean,'
|
||||||
|
\.'bra:lengthtest,'
|
||||||
|
\.'bra:isodd,'
|
||||||
|
\.'brd:whiledo,'
|
||||||
|
\.'bra:newboolean,'
|
||||||
|
\.'brd:setboolean,'
|
||||||
|
\.'nor:and,'
|
||||||
|
\.'nor:or,'
|
||||||
|
\.'nor:not'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
29
vim/vim-latex/ftplugin/latex-suite/packages/inputenc
Executable file
29
vim/vim-latex/ftplugin/latex-suite/packages/inputenc
Executable file
|
@ -0,0 +1,29 @@
|
||||||
|
if exists("inputenc_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let inputenc_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_inputenc =
|
||||||
|
\ 'ascii,'
|
||||||
|
\.'latin1,'
|
||||||
|
\.'latin2,'
|
||||||
|
\.'latin3,'
|
||||||
|
\.'latin4,'
|
||||||
|
\.'latin5,'
|
||||||
|
\.'latin9,'
|
||||||
|
\.'decmulti,'
|
||||||
|
\.'cp850,'
|
||||||
|
\.'cp852,'
|
||||||
|
\.'cp437,'
|
||||||
|
\.'cp437de,'
|
||||||
|
\.'cp865,'
|
||||||
|
\.'applemac,'
|
||||||
|
\.'next,'
|
||||||
|
\.'ansinew,'
|
||||||
|
\.'cp1250,'
|
||||||
|
\.'cp1252'
|
||||||
|
|
||||||
|
let g:TeX_package_inputenc =
|
||||||
|
\ 'bra:inputencoding'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
10
vim/vim-latex/ftplugin/latex-suite/packages/letterspace
Executable file
10
vim/vim-latex/ftplugin/latex-suite/packages/letterspace
Executable file
|
@ -0,0 +1,10 @@
|
||||||
|
if exists("letterspace_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let letterspace_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_letterspace = ''
|
||||||
|
|
||||||
|
let g:TeX_package_letterspace = 'nor:letterspace'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
60
vim/vim-latex/ftplugin/latex-suite/packages/lineno
Executable file
60
vim/vim-latex/ftplugin/latex-suite/packages/lineno
Executable file
|
@ -0,0 +1,60 @@
|
||||||
|
if exists("lineno_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let lineno_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_lineno =
|
||||||
|
\ 'left,'
|
||||||
|
\.'right,'
|
||||||
|
\.'switch,'
|
||||||
|
\.'switch*,'
|
||||||
|
\.'pagewise,'
|
||||||
|
\.'running,'
|
||||||
|
\.'modulo,'
|
||||||
|
\.'mathlines,'
|
||||||
|
\.'displaymath,'
|
||||||
|
\.'hyperref'
|
||||||
|
|
||||||
|
let g:TeX_package_lineno =
|
||||||
|
\ 'sbr:Environments,'
|
||||||
|
\.'env:linenumbers,'
|
||||||
|
\.'env:linenumbers*,'
|
||||||
|
\.'env:numquote,'
|
||||||
|
\.'env:numquote*,'
|
||||||
|
\.'env:numquotation,'
|
||||||
|
\.'env:numquotation*,'
|
||||||
|
\.'env:bframe,'
|
||||||
|
\.'env:linenomath,'
|
||||||
|
\.'env:linenomath*,'
|
||||||
|
\.'bra:linelabel,'
|
||||||
|
\.'sbr:Commands,'
|
||||||
|
\.'nor:linenumbers,'
|
||||||
|
\.'nor:linenumbers*,'
|
||||||
|
\.'noo:linenumbers,'
|
||||||
|
\.'nor:nolinenumbers,'
|
||||||
|
\.'nor:runninglinenumbers,'
|
||||||
|
\.'nor:runninglinenumbers*,'
|
||||||
|
\.'noo:runninglinenumbers,'
|
||||||
|
\.'nor:pagewiselinenumbers,'
|
||||||
|
\.'nor:resetlinenumber,'
|
||||||
|
\.'noo:resetlinenumber,'
|
||||||
|
\.'nor:setrunninglinenumbers,'
|
||||||
|
\.'nor:setpagewiselinenumbers,'
|
||||||
|
\.'nor:switchlinenumbers,'
|
||||||
|
\.'nor:switchlinenumbers*,'
|
||||||
|
\.'nor:leftlinenumbers,'
|
||||||
|
\.'nor:leftlinenumbers*,'
|
||||||
|
\.'nor:rightlinenumbers,'
|
||||||
|
\.'nor:rightlinenumbers*,'
|
||||||
|
\.'nor:runningpagewiselinenumbers,'
|
||||||
|
\.'nor:realpagewiselinenumbers,'
|
||||||
|
\.'nor:modulolinenumbers,'
|
||||||
|
\.'noo:modulolinenumbers,'
|
||||||
|
\.'nor:linenumberdisplaymath,'
|
||||||
|
\.'nor:nolinenumberdisplaymath,'
|
||||||
|
\.'nor:thelinenumber,'
|
||||||
|
\.'nob:linerefp,'
|
||||||
|
\.'nob:linerefr,'
|
||||||
|
\.'nob:lineref'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
35
vim/vim-latex/ftplugin/latex-suite/packages/longtable
Executable file
35
vim/vim-latex/ftplugin/latex-suite/packages/longtable
Executable file
|
@ -0,0 +1,35 @@
|
||||||
|
if exists("longtable_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let longtable_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_longtable =
|
||||||
|
\ 'errorshow,'
|
||||||
|
\.'pausing,'
|
||||||
|
\.'set,'
|
||||||
|
\.'final'
|
||||||
|
|
||||||
|
let g:TeX_package_longtable =
|
||||||
|
\ 'sbr:Commands,'
|
||||||
|
\.'nor:setlongtables,'
|
||||||
|
\.'bra:LTleft,'
|
||||||
|
\.'bra:LTright,'
|
||||||
|
\.'bra:LTpre,'
|
||||||
|
\.'bra:LTpost,'
|
||||||
|
\.'bra:LTchunksize,'
|
||||||
|
\.'bra:LTcapwidth,'
|
||||||
|
\.'bra:LTcapwidth,'
|
||||||
|
\.'sbr:Longtable,'
|
||||||
|
\.'env:longtable,'
|
||||||
|
\.'sep:lt,'
|
||||||
|
\.'nor:endhead,'
|
||||||
|
\.'nor:endfirsthead,'
|
||||||
|
\.'nor:endfoot,'
|
||||||
|
\.'nor:endlastfoot,'
|
||||||
|
\.'nor:kill,'
|
||||||
|
\.'bra:caption,'
|
||||||
|
\.'nob:caption,'
|
||||||
|
\.'bra:caption*,'
|
||||||
|
\.'nor:newpage'
|
||||||
|
|
||||||
|
" vim:ft=vim:ts=4:sw=4:noet:ff=unix:
|
10
vim/vim-latex/ftplugin/latex-suite/packages/lscape
Executable file
10
vim/vim-latex/ftplugin/latex-suite/packages/lscape
Executable file
|
@ -0,0 +1,10 @@
|
||||||
|
if exists("lscape_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let lscape_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_lscape = ''
|
||||||
|
|
||||||
|
let g:TeX_package_lscape = 'env:landscape'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
15
vim/vim-latex/ftplugin/latex-suite/packages/manyfoot
Executable file
15
vim/vim-latex/ftplugin/latex-suite/packages/manyfoot
Executable file
|
@ -0,0 +1,15 @@
|
||||||
|
if exists("manyfoot_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let manyfoot_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_manyfoot = 'para'
|
||||||
|
|
||||||
|
let g:TeX_package_manyfoot =
|
||||||
|
\ 'bra:newfootnote,bra:newfootnote[para],'
|
||||||
|
\.'bra:footnoteA,bra:footnoteB,'
|
||||||
|
\.'bra:FootnoteA,bra:FootnoteB,'
|
||||||
|
\.'bra:Footnotemark,bra:Footnotetext,'
|
||||||
|
\.'SplitNote'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
28
vim/vim-latex/ftplugin/latex-suite/packages/moreverb
Executable file
28
vim/vim-latex/ftplugin/latex-suite/packages/moreverb
Executable file
|
@ -0,0 +1,28 @@
|
||||||
|
if exists("moreverb_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let moreverb_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_moreverb = ''
|
||||||
|
|
||||||
|
let g:TeX_package_moreverb =
|
||||||
|
\ 'ens:verbatimwrite:{<++>},'
|
||||||
|
\.'ens:verbatimtab:[<++>],'
|
||||||
|
\.'ens:listing:[<+step+>]{<+number+>},'
|
||||||
|
\.'ens:listing*:[<+step+>]{<+number+>},'
|
||||||
|
\.'env:boxedverbatim,'
|
||||||
|
\.'bra:verbatimtabsize,'
|
||||||
|
\.'bra:listingoffset,'
|
||||||
|
\.'brs:listinginput[<++>]{<++>}{<++>},'
|
||||||
|
\.'brs:verbatimtabinput[<++>]{<++>}'
|
||||||
|
|
||||||
|
let g:Tex_completion_explorer = g:Tex_completion_explorer.'verbatimtabinput,'
|
||||||
|
|
||||||
|
syn region texZone start="\\begin{verbatimwrite}" end="\\end{verbatimwrite}\|%stopzone\>" fold
|
||||||
|
syn region texZone start="\\begin{verbatimtab}" end="\\end{verbatimtab}\|%stopzone\>" fold
|
||||||
|
syn region texZone start="\\begin{boxedverbatim}" end="\\end{boxedverbatim}\|%stopzone\>" fold
|
||||||
|
syn region texZone start="\\begin{listing}" end="\\end{listing}\|%stopzone\>" fold
|
||||||
|
syn region texZone start="\\begin{listing*}" end="\\end{listing*}\|%stopzone\>" fold
|
||||||
|
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
10
vim/vim-latex/ftplugin/latex-suite/packages/multibox
Executable file
10
vim/vim-latex/ftplugin/latex-suite/packages/multibox
Executable file
|
@ -0,0 +1,10 @@
|
||||||
|
if exists("multibox_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let multibox_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_multibox = ''
|
||||||
|
|
||||||
|
let g:TeX_package_multibox = 'multimake,multiframe'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
21
vim/vim-latex/ftplugin/latex-suite/packages/multicol
Executable file
21
vim/vim-latex/ftplugin/latex-suite/packages/multicol
Executable file
|
@ -0,0 +1,21 @@
|
||||||
|
if exists("multicol_package_file")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let multicol_package_file = 1
|
||||||
|
|
||||||
|
let g:TeX_package_option_multicol = ''
|
||||||
|
|
||||||
|
let g:TeX_package_multicol =
|
||||||
|
\ 'ens:multicols:{<+cols+>}[<+text+>][<+sep+>],'
|
||||||
|
\.'columnbreak,'
|
||||||
|
\.'premulticols,'
|
||||||
|
\.'postmulticols,'
|
||||||
|
\.'multicolsep,'
|
||||||
|
\.'columnsep,'
|
||||||
|
\.'linewidth,'
|
||||||
|
\.'columnseprule,'
|
||||||
|
\.'flushcolumnt,'
|
||||||
|
\.'raggedcolumns,'
|
||||||
|
\.'unbalanced'
|
||||||
|
|
||||||
|
" vim:ft=vim:ff=unix:
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue