mirror of
https://github.com/kastdeur/dotfiles.git
synced 2024-12-30 12:43:32 +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
|
||||
if [[ $(command -v vim) ]]; then
|
||||
alias vi='vim'
|
||||
else
|
||||
alias vim='vi'
|
||||
fi
|
||||
|
||||
# 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