mirror of
https://github.com/amix/vimrc
synced 2025-07-10 11:44:59 +08:00
rename vim_plugins_src to vim_plugin_candinates_src and used as an plugin candinate dir
This commit is contained in:
285
vim_plugin_candinates_src/latexSuite-1.5/compiler/tex.vim
Normal file
285
vim_plugin_candinates_src/latexSuite-1.5/compiler/tex.vim
Normal file
@ -0,0 +1,285 @@
|
||||
" File: tex.vim
|
||||
" Type: compiler plugin for LaTeX
|
||||
" Original Author: Artem Chuprina <ran@ran.pp.ru>
|
||||
" Customization: Srinath Avadhanula <srinath@fastmail.fm>
|
||||
" CVS: $Id: tex.vim,v 1.6 2003/07/24 02:52:35 srinathava Exp $
|
||||
" 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 <20> 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 ? '+' : '-' )
|
||||
|
||||
set efm=
|
||||
|
||||
if !g:Tex_ShowallLines
|
||||
call s:IgnoreWarnings()
|
||||
endif
|
||||
|
||||
setlocal efm+=%E!\ LaTeX\ %trror:\ %m
|
||||
setlocal efm+=%E!\ %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.'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()
|
||||
|
||||
" vim: fdm=marker:commentstring=\ \"\ %s
|
116
vim_plugin_candinates_src/latexSuite-1.5/doc/imaps.txt
Normal file
116
vim_plugin_candinates_src/latexSuite-1.5/doc/imaps.txt
Normal 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| sufffers 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 sytax: >
|
||||
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 hoders.
|
||||
|
||||
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*\\*.*',"",""),'^--','--\ \ \ \ ','')
|
||||
================================================================================
|
2921
vim_plugin_candinates_src/latexSuite-1.5/doc/latex-suite.txt
Normal file
2921
vim_plugin_candinates_src/latexSuite-1.5/doc/latex-suite.txt
Normal file
File diff suppressed because it is too large
Load Diff
2430
vim_plugin_candinates_src/latexSuite-1.5/doc/latexhelp.txt
Normal file
2430
vim_plugin_candinates_src/latexSuite-1.5/doc/latexhelp.txt
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,16 @@
|
||||
" 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.
|
||||
"
|
||||
" CVS: $Id: bib_latexSuite.vim,v 1.1 2003/06/15 08:09:28 srinathava Exp $
|
||||
|
||||
" 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
|
@ -0,0 +1,229 @@
|
||||
After 6 Jun 2003
|
||||
|
||||
10 Aug 2003
|
||||
Changes
|
||||
* texrc, compiler.vim:
|
||||
Make g:Tex_IgnoredWarnings use "\n" as the pattern seperator instead
|
||||
of the inverted exclamation mark to avoid i18n issues. (Pan Shizhu,
|
||||
SA)
|
||||
* main.vim:
|
||||
Use :runtime instead of :source in order to avoid problems when
|
||||
latex-suite is installed in places other than ~/vimfiles or ~/.vim.
|
||||
(Chris Greenwood, SA)
|
||||
|
||||
Bugfixes
|
||||
* texproject.vim, main.vim:
|
||||
Escape ' ' in a couple of places when defining filenames and dirnames
|
||||
in order to avoid problems while issuing :cd etc. (Diego Carafini)
|
||||
* texmenuconf.vim:
|
||||
A couple of bug-fixes in the main latex-suite menu (SA)
|
||||
* latex-suite.txt:
|
||||
Fixed documentation about folding (SA)
|
||||
|
||||
17 Jul 2003
|
||||
Features
|
||||
* packages.vim:
|
||||
Add custom completion to TPackage command.
|
||||
It works only for Vim 6.2 or later. (MM)
|
||||
|
||||
Changes
|
||||
* main.vim:
|
||||
make Tex_GetMainFile() recursively search upwards for a *.latexmain
|
||||
file. (SA)
|
||||
* texmenuconf.vim:
|
||||
Peter Heslin (maintaining the cream port of latex-suite says that the
|
||||
Windows menu from cream appears in the middle of the latex-suite
|
||||
menus). A new variable g:Tex_MainMenuLocation is used to find the
|
||||
location of the latex-suite menus. (SA)
|
||||
* packages/polski:
|
||||
Update to cover version 1.3 of package. (MM)
|
||||
|
||||
Bugfixes
|
||||
* main.vim:
|
||||
Bug: If g:Tex_SmartQuoteOpen/Close contain the '~' character (french quotes
|
||||
are "<22>~" and "~<7E>", then we get an error in quotations (Mathieu
|
||||
CLABAUT).
|
||||
Solution: escape ~ in the search() function (Mathieu CLABAUT).
|
||||
* compiler.vim:
|
||||
Bug: Sometimes moving up and down in the error list window causes a regexp
|
||||
error.
|
||||
Solution: properly escape backslashes in the regexp. (SA)
|
||||
|
||||
28 Jun 2003
|
||||
Features
|
||||
* latex-suite.txt:
|
||||
vastly improved the latex-suite documentation. Now all documentation
|
||||
is first written in docbook xml and then converted into html and
|
||||
vim-help using saxon and db2vim respectively.
|
||||
* bib_latexSuite.vim:
|
||||
A new ftplugin file to trigger the bibtex mappings. (SA)
|
||||
|
||||
Changes
|
||||
* compiler.vim:
|
||||
change the behavior of the part compilation and viewing as documented.
|
||||
Remove the "part view" feature because it does not make sense. (SA)
|
||||
* packages.vim:
|
||||
change the behavior of finding custom packages. Use vim's native :find
|
||||
command instead of some complicated parsing of $TEXINPUTS. Introduce a
|
||||
new g:Tex_TEXINPUTS variable which should be set in the same format as
|
||||
vim's 'path' setting. (SA)
|
||||
* texviewer.vim:
|
||||
Change the way <F9> works for \cite completion. Change the way
|
||||
g:Tex_BIBINPUTS variable has to be set. The new \cite completion
|
||||
method is described in detail in the manual.
|
||||
* envmacros.vim:
|
||||
changed ETR to insert a more complete template using Tex_SpecialMacros
|
||||
(Mathieu CLABAUT)
|
||||
|
||||
Bugfixes
|
||||
* packages.vim:
|
||||
Bug: When a \usepackage{} line is inside a fold, then we go into an
|
||||
infinite loop. (Lin-bo Zhang)
|
||||
Solution: A temporary hack of first opening up all folds before scanning
|
||||
and then closing them. This needs to be robustified in the future
|
||||
using mkview.vim (SA)
|
||||
* envmacros.vim:
|
||||
Bug: <F5> did not work for inserting environments which latex-suite
|
||||
does not recognize. (bug introduced in version 1.32)
|
||||
Solution: make <F5> insert at least a minimal environment template if
|
||||
all other methods fail. (SA)
|
||||
* texviewer.vim:
|
||||
Bug: Pressing <F9> at the end of a line like
|
||||
This is a \ref{eqn:something} and this is a comp
|
||||
would cause errors.
|
||||
Why: The substitute() command returns the original string if the pattern
|
||||
does not match causing us to wrongly infer a match.
|
||||
Fix: Therefore first check if there is a match.
|
||||
|
||||
Bug: Once we complete an equation, we can never complete a word.
|
||||
Why: s:type is never unlet
|
||||
Fix: unlet! s:type if there is no match on current line to any known
|
||||
command.
|
||||
|
||||
Bug: Pressing <CR> during word completion does not take us to the location
|
||||
of the match, as claimed.
|
||||
Why: <CR> does "cc <num> | pclose! | cclose!". Because the preview window
|
||||
with the match is open, therefore cc will take us to the match in
|
||||
the preview window, after which pclose closes it up!
|
||||
Fix: Do 'pclose! cc <num> | cclose' instead...
|
||||
* compiler.vim:
|
||||
Bug: If we used :TTarget ps, then the compiler would be called as:
|
||||
dvips -o file.tex.ps file.tex.dvi
|
||||
instead of
|
||||
dvips -o file.ps file.dvi
|
||||
Why: In a recent change, we made RunLaTeX() use filenames with extension.
|
||||
However, some compilation rules might require filenames w/o extensions
|
||||
(such as Tex_CompileRule_ps which is 'dvips -o $*.ps $*.dvi')
|
||||
Fix: Try to guess if the &makeprg requires files w/o extensions by seeing
|
||||
if it matches '\$\*\.\w\+'. If so, use file-name w/o extension.
|
||||
Otherwise, retain extension in 'make '.fname
|
||||
* imaps.vim:
|
||||
Bug: IMAP_Jumpfunc() and VEnclose() do not work with &selection =
|
||||
'exclusive' (Jannie Hofmeyr, Pierre Antoine Champin)
|
||||
Fix: Select one more character in 'exclusive' mode. (suggested by Pierre
|
||||
Antoine Champin).
|
||||
* texviewer.vim:
|
||||
Bug: On windows gvim +cygwin, \cite completion does not work when the bib
|
||||
file is in a completeley different location.
|
||||
Cause: gvim calls grep as "grep -nH @.*{ /path/to/file"
|
||||
which does not work because grep thinks / corresponds to something
|
||||
like c:/cygwin, so it looks for the file in the wrong place.
|
||||
Fix: Always lcd to the current directory of the bib file being searched.
|
||||
This avoids any path issues.
|
||||
|
||||
13 Jun 2003
|
||||
Features
|
||||
* remoteOpen.vim:
|
||||
Add a command :RemoteOpen which is to be used in applications such as
|
||||
YAP to make vim use the same session to open files. (SA)
|
||||
|
||||
Bugfixes
|
||||
* texviewer.vim:
|
||||
Problem: <F9> did not work in standard vim + cygwin combination.
|
||||
Solution: Use single quotes instead of double-quotes when issuing
|
||||
shell commands. (SA)
|
||||
* texviewer.vim:
|
||||
Problem: <F9> did not work for \includegraphics[0.8\columnwidth]{}
|
||||
because it would confuse \columnwidth for a command instead
|
||||
of an option.
|
||||
Solution: improve regexp for extracting command from a line. (SA)
|
||||
* envmacros.vim:
|
||||
Problem: the maps in envmacros.vim got applied only to the first file
|
||||
which latex-suite sees.
|
||||
Solution: fix a typo in the autocommand line. (SA)
|
||||
* compiler.vim,wizardfuncs.vim:
|
||||
Problem: the log preview window did not appear during part
|
||||
compilation.
|
||||
Solution: rearranged code in the files so the main filename was
|
||||
defined even for part compilation. (SA)
|
||||
* texviewer.vim:
|
||||
Problem: <F9> only works for the first file.
|
||||
Solution: call the function to set the maps every time. (SA)
|
||||
* compiler.vim:
|
||||
Problem: sometimes, <F9> would try to search for completions in /*.tex
|
||||
and would therefore fail.
|
||||
Solution: use expand('%:p:h') instead of expand('%;h') to calculate
|
||||
directory because the latter can sometimes evaluate to ''. (SA)
|
||||
* texviewer.vim:
|
||||
Problem: 'scrolloff' remains at 1000 even after <F9> returns (Jakub
|
||||
Turski)
|
||||
Solution: reset 'scrolloff' before quitting any of the windows created
|
||||
during searching.
|
||||
* packages.vim:
|
||||
Problem: A spurious '{' is sometimes inserted into the search history.
|
||||
... (A. S. Budden, Mpiktas)
|
||||
Solution: call histdel once at the end of Tex_pack_all.
|
||||
|
||||
|
||||
After 8 May 2003
|
||||
|
||||
Features
|
||||
* texviewer.vim:
|
||||
Look for bibfiles in $BIBINPUTS env variable (Soren Debois)
|
||||
* envmacros.vim:
|
||||
Check in package variables for templates for environments inserted
|
||||
from line with <F5> (MM)
|
||||
* packages/amsmath:
|
||||
Templates for alignat and alignat* envs in amsmath package file (MM)
|
||||
* compiler.vim:
|
||||
Added support for regular viewing and forward searching for kdvi (KDE
|
||||
viewer of .dvi files) (MM)
|
||||
* compiler.vim:
|
||||
Show default target enclosed in [] after calling :TTarget, :TCTarget
|
||||
or :TVTarget. Allow no argument for :TTarget.
|
||||
* mathmacros.vim, main.vim, texrc, latex-suite.txt:
|
||||
Added utf-8 menus for math (MM)
|
||||
* ChangeLog:
|
||||
Add ChangeLog file in ftplugin/latex-suite directory (MM)
|
||||
* wizardfuncs.vim, latex-suite.txt:
|
||||
Tshortcuts - new command show various shortcuts (MM, SA)
|
||||
* latex-suite.txt:
|
||||
More cross-references with main Vim help, corrected mispells (MM)
|
||||
* texmenuconf.vim:
|
||||
Show value of <mapleader> in General menu instead of hardcoded \ (it
|
||||
caused confusion) (MM, SA)
|
||||
* texmenuconf.vim, mathmacros.vim:
|
||||
Add accels for for Suite, Elements end Environments menus.
|
||||
Changed accel in Math (Animesh Nerurkar)
|
||||
|
||||
Bugfixes
|
||||
* compiler.vim:
|
||||
Problem: Compile file with current file expansion, not always .tex
|
||||
file (Animesh N Nerurkar)
|
||||
Solution: When looking for file to compile don't remove extension (if
|
||||
*.latexmain doesn't exist) (MM)
|
||||
* texviewer.vim:
|
||||
Problem: :TLook doesn't work (Animesh N Nerurkar)
|
||||
Solution: Check if s:type exists in UpdateViewerWindow (MM)
|
||||
* compiler.vim:
|
||||
Problem: Text is messed after calling external command in terminal
|
||||
version of Vim (Jess Thrysoee)
|
||||
Solution: Add redraw! after calling compilers and viewers (partial
|
||||
implementation of JT patch, MM)
|
||||
* texrc:
|
||||
Problem: Compiling pdf didn't succed because of double file extension,
|
||||
eg. myfile.tex.tex (Animesh N Nerurkar)
|
||||
Solution: Remove hardcoded .tex in CompilerRule_pdf. NOTE: Update of
|
||||
personal texrc is required! (Animesh N Nerurkar)
|
||||
|
||||
vim: et:sts=4:tw=78
|
@ -0,0 +1,246 @@
|
||||
"=============================================================================
|
||||
" File: bibtex.vim
|
||||
" Function: BibT
|
||||
" Author: Alan G Isaac <aisaac@american.edu>
|
||||
" modified by Srinath Avadhanula <srinath AT fastmail DOT fm>
|
||||
" for latex-suite.
|
||||
" License: Vim Charityware license.
|
||||
" CVS: $Id: bibtex.vim,v 1.5 2003/06/15 08:23:14 srinathava Exp $
|
||||
"=============================================================================
|
||||
|
||||
" 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
|
||||
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
|
@ -0,0 +1,586 @@
|
||||
"=============================================================================
|
||||
" File: compiler.vim
|
||||
" Author: Srinath Avadhanula
|
||||
" Created: Tue Apr 23 05:00 PM 2002 PST
|
||||
"
|
||||
" Description: functions for compiling/viewing/searching latex documents
|
||||
" CVS: $Id: compiler.vim,v 1.47 2003/09/07 17:22:09 srinathava Exp $
|
||||
"=============================================================================
|
||||
|
||||
" SetTeXCompilerTarget: sets the 'target' for the next call to RunLaTeX() {{{
|
||||
function! SetTeXCompilerTarget(type, target)
|
||||
if a:target == ''
|
||||
if g:Tex_DefaultTargetFormat == 'dvi'
|
||||
let target = input('Enter the target ([dvi]/ps/pdf/...) for '.a:type.'r: ')
|
||||
elseif g:Tex_DefaultTargetFormat == 'ps'
|
||||
let target = input('Enter the target (dvi/[ps]/pdf/...) for '.a:type.'r: ')
|
||||
elseif g:Tex_DefaultTargetFormat =~ 'pdf'
|
||||
let target = input('Enter the target (dvi/ps/[pdf]/...) for '.a:type.'r: ')
|
||||
else
|
||||
let target = input('Enter the target (dvi/ps/pdf/['.g:Tex_DefaultTargetFormat.']) for '.a:type.'r: ')
|
||||
endif
|
||||
else
|
||||
let target = a:target
|
||||
endif
|
||||
if target == ''
|
||||
let target = 'dvi'
|
||||
endif
|
||||
if exists('g:Tex_'.a:type.'Rule_'.target)
|
||||
if a:type == 'Compile'
|
||||
let &l:makeprg = escape(g:Tex_CompileRule_{target}, g:Tex_EscapeChars)
|
||||
elseif a:type == 'View'
|
||||
exec 'let s:viewer = g:Tex_'.a:type.'Rule_'.target
|
||||
endif
|
||||
let s:target = target
|
||||
else
|
||||
let curd = getcwd()
|
||||
exe 'cd '.expand('%:p:h')
|
||||
if glob('makefile*') == '' && glob('Makefile*') == ''
|
||||
if has('gui_running')
|
||||
call confirm(
|
||||
\'No '.a:type.' rule defined for target '.target."\n".
|
||||
\'Please specify a rule in texrc.vim'."\n".
|
||||
\' :help Tex_CompileRule_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 texrc.vim'."\n".
|
||||
\' :help Tex_ViewRule_format'."\n".
|
||||
\'for more information'
|
||||
\)
|
||||
endif
|
||||
else
|
||||
echomsg 'assuming target is for makefile'
|
||||
let s:target = target
|
||||
endif
|
||||
exe 'cd '.curd
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! SetTeXTarget(...)
|
||||
if a:0 < 1
|
||||
if g:Tex_DefaultTargetFormat == 'dvi'
|
||||
let target = input('Enter the target for compiler and viewer ([dvi]/ps/pdf/...): ')
|
||||
elseif g:Tex_DefaultTargetFormat == 'ps'
|
||||
let target = input('Enter the target for compiler and viewer (dvi/[ps]/pdf/...): ')
|
||||
elseif g:Tex_DefaultTargetFormat =~ 'pdf'
|
||||
let target = input('Enter the target for compiler and viewer (dvi/ps/[pdf]/...): ')
|
||||
else
|
||||
let target = input('Enter the target for compiler and viewer (dvi/ps/pdf/['.g:Tex_DefaultTargetFormat.']): ')
|
||||
endif
|
||||
else
|
||||
let target = a:1
|
||||
endif
|
||||
if target == ''
|
||||
let target = 'dvi'
|
||||
endif
|
||||
call SetTeXCompilerTarget('Compile', target)
|
||||
call SetTeXCompilerTarget('View', target)
|
||||
endfunction
|
||||
|
||||
com! -nargs=1 TCTarget :call SetTeXCompilerTarget('Compile', <f-args>)
|
||||
com! -nargs=1 TVTarget :call 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 RunLaTeX from a non-tex file"
|
||||
return
|
||||
end
|
||||
|
||||
" close any preview windows left open.
|
||||
pclose!
|
||||
|
||||
" Logic to choose how to compile:
|
||||
" if b:fragmentFile exists, then this is a fragment
|
||||
" therefore, just compile this file
|
||||
" else
|
||||
" if makefile or Makefile exists, then use that
|
||||
" elseif *.latexmain exists
|
||||
" use that
|
||||
" else use current file
|
||||
"
|
||||
" if mainfname exists, then it means it was supplied to RunLaTeX().
|
||||
" Extract the complete file name including the extension.
|
||||
let mainfname = Tex_GetMainFileName(':r')
|
||||
call Tex_Debug('Tex_CompileLatex: getting mainfname = ['.mainfname.'] from Tex_GetMainFileName', 'comp')
|
||||
if exists('b:fragmentFile') || mainfname == ''
|
||||
let mainfname = escape(expand('%:t'), ' ')
|
||||
endif
|
||||
|
||||
" 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 g:Tex_UseMakefile && (glob('makefile') != '' || glob('Makefile') != '')
|
||||
let _makeprg = &l:makeprg
|
||||
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!
|
||||
endfunction " }}}
|
||||
" Tex_SetupErrorWindow: sets up the cwindow and preview of the .log file {{{
|
||||
" Description:
|
||||
function! Tex_SetupErrorWindow()
|
||||
let mainfname = Tex_GetMainFileName(':r')
|
||||
if exists('b:fragmentFile') || mainfname == ''
|
||||
let mainfname = expand('%:t')
|
||||
endif
|
||||
|
||||
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('mfnlog = '.mfnlog, 'comp')
|
||||
" if we moved to a different window, then it means we had some errors.
|
||||
if winnum != winnr()
|
||||
call UpdatePreviewWindow(mfnlog)
|
||||
exe 'nnoremap <buffer> <silent> j j:call UpdatePreviewWindow("'.mfnlog.'")<CR>'
|
||||
exe 'nnoremap <buffer> <silent> k k:call UpdatePreviewWindow("'.mfnlog.'")<CR>'
|
||||
exe 'nnoremap <buffer> <silent> <up> <up>:call UpdatePreviewWindow("'.mfnlog.'")<CR>'
|
||||
exe 'nnoremap <buffer> <silent> <down> <down>:call UpdatePreviewWindow("'.mfnlog.'")<CR>'
|
||||
exe 'nnoremap <buffer> <silent> <enter> :call GotoErrorLocation("'.mfnlog.'")<CR>'
|
||||
|
||||
setlocal nowrap
|
||||
|
||||
" resize the window to just fit in with the number of lines.
|
||||
exec ( line('$') < 4 ? line('$') : 4 ).' wincmd _'
|
||||
call GotoErrorLocation(mfnlog)
|
||||
endif
|
||||
|
||||
endfunction " }}}
|
||||
" 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
|
||||
" RunLaTeX() is called.
|
||||
function! RunLaTeX()
|
||||
call Tex_Debug('getting to RunLaTeX, b:fragmentFile = '.exists('b:fragmentFile'), 'comp')
|
||||
|
||||
let dir = expand("%:p:h").'/'
|
||||
let curd = getcwd()
|
||||
exec 'cd '.expand("%:p:h")
|
||||
|
||||
" first get the dependency chain of this format.
|
||||
let dependency = s:target
|
||||
if exists('g:Tex_FormatDependency_'.s:target)
|
||||
if g:Tex_FormatDependency_{s:target} !~ ','.s:target.'$'
|
||||
let dependency = g:Tex_FormatDependency_{s:target}.','.s:target
|
||||
else
|
||||
let dependency = g:Tex_FormatDependency_{s:target}
|
||||
endif
|
||||
endif
|
||||
|
||||
call Tex_Debug('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 SetTeXCompilerTarget('Compile', s:target)
|
||||
call Tex_Debug('setting target to '.s:target, 'comp')
|
||||
|
||||
if g:Tex_MultipleCompileFormats =~ '\<'.s:target.'\>'
|
||||
call Tex_CompileMultipleTimes()
|
||||
else
|
||||
call Tex_CompileLatex()
|
||||
endif
|
||||
|
||||
let i = i + 1
|
||||
endwhile
|
||||
|
||||
call Tex_SetupErrorWindow()
|
||||
|
||||
exec 'cd '.curd
|
||||
endfunction
|
||||
|
||||
" }}}
|
||||
" 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
|
||||
" RunLaTeX() to see how to set this information.
|
||||
" If ViewLaTeX was called with argument "part" show file which name is stored
|
||||
" in g:tfile variable. If g:tfile doesnt exist, no problem. Function is called
|
||||
" as silent.
|
||||
function! ViewLaTeX()
|
||||
if &ft != 'tex'
|
||||
echo "calling ViewLaTeX from a non-tex file"
|
||||
return
|
||||
end
|
||||
|
||||
let dir = expand("%:p:h").'/'
|
||||
let curd = getcwd()
|
||||
exec 'cd '.expand("%:p:h")
|
||||
|
||||
" 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 Tex_GetMainFileName() != '' && !exists('b:fragmentFile')
|
||||
let mainfname = Tex_GetMainFileName()
|
||||
else
|
||||
let mainfname = expand("%:p:t:r")
|
||||
endif
|
||||
|
||||
if 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.
|
||||
exec '!start' s:viewer mainfname . '.' . s:target
|
||||
elseif has('macunix')
|
||||
if strlen(s:viewer)
|
||||
let s:viewer = '-a ' . s:viewer
|
||||
endif
|
||||
execute '!open' s:viewer mainfname . '.' . 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 exists('g:Tex_UseEditorSettingInDVIViewer') &&
|
||||
\ g:Tex_UseEditorSettingInDVIViewer == 1 &&
|
||||
\ exists('v:servername') &&
|
||||
\ (s:viewer == "xdvi" || s:viewer == "xdvik")
|
||||
exec '!'.s:viewer.' -editor "gvim --servername '.v:servername.' --remote-silent +\%l \%f" '.mainfname.'.dvi &'
|
||||
elseif exists('g:Tex_UseEditorSettingInDVIViewer') &&
|
||||
\ g:Tex_UseEditorSettingInDVIViewer == 1 &&
|
||||
\ s:viewer == "kdvi"
|
||||
exec '!kdvi --unique '.mainfname.'.dvi &'
|
||||
else
|
||||
exec '!'.s:viewer.' '.mainfname.'.dvi &'
|
||||
endif
|
||||
redraw!
|
||||
else
|
||||
exec '!'.s:viewer.' '.mainfname.'.'.s:target.' &'
|
||||
redraw!
|
||||
endif
|
||||
end
|
||||
|
||||
exec 'cd '.curd
|
||||
endfunction
|
||||
|
||||
" }}}
|
||||
" Tex_ForwardSearchLaTeX: searches for current location in dvi file. {{{
|
||||
" Description: if the DVI viewr is compatible, then take the viewer to that
|
||||
" position in the dvi file. see docs for 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 ViewLaTeX from a non-tex file"
|
||||
return
|
||||
end
|
||||
" only know how to do forward search for yap on windows and xdvik (and
|
||||
" some newer versions of xdvi) on unices.
|
||||
if !exists('g:Tex_ViewRule_dvi')
|
||||
return
|
||||
endif
|
||||
let viewer = g:Tex_ViewRule_dvi
|
||||
|
||||
let dir = expand("%:p:h").'/'
|
||||
let curd = getcwd()
|
||||
exec 'cd '.expand("%:p:h")
|
||||
|
||||
if Tex_GetMainFileName() != ''
|
||||
let mainfname = Tex_GetMainFileName()
|
||||
else
|
||||
let mainfname = expand("%:p:t:r")
|
||||
endif
|
||||
|
||||
" 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')
|
||||
exec '!start '.viewer.' -s '.line('.').expand('%:p:t').' '.mainfname
|
||||
else
|
||||
if exists('g:Tex_UseEditorSettingInDVIViewer') &&
|
||||
\ g:Tex_UseEditorSettingInDVIViewer == 1 &&
|
||||
\ exists('v:servername') &&
|
||||
\ (viewer == "xdvi" || viewer == "xdvik")
|
||||
exec '!'.viewer.' -name xdvi -sourceposition '.line('.').expand('%').' -editor "gvim --servername '.v:servername.' --remote-silent +\%l \%f" '.mainfname.'.dvi &'
|
||||
elseif exists('g:Tex_UseEditorSettingInDVIViewer') &&
|
||||
\ g:Tex_UseEditorSettingInDVIViewer == 1 &&
|
||||
\ viewer == "kdvi"
|
||||
exec '!kdvi --unique file:'.mainfname.'.dvi\#src:'.line('.').Tex_GetMainFileName(":p:t:r").' &'
|
||||
else
|
||||
exec '!'.viewer.' -name xdvi -sourceposition '.line('.').expand('%').' '.mainfname.'.dvi &'
|
||||
endif
|
||||
redraw!
|
||||
end
|
||||
|
||||
exec 'cd '.curd
|
||||
endfunction
|
||||
|
||||
" }}}
|
||||
" 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 RunLaTeX() to
|
||||
" compile it.
|
||||
function! Tex_PartCompile() range
|
||||
|
||||
call Tex_Debug('getting to Tex_PartCompile', 'comp')
|
||||
" Save position
|
||||
let pos = line('.').' | normal! '.virtcol('.').'|'
|
||||
|
||||
" Create temporary file and save its name into global variable to use in
|
||||
" compiler.vim
|
||||
let tmpfile = tempname().'.tex'
|
||||
|
||||
" If mainfile exists open it in tiny window and extract preamble there,
|
||||
" otherwise do it from current file
|
||||
let mainfile = Tex_GetMainFileName(":p:r")
|
||||
if mainfile != ''
|
||||
exe 'bot 1 split '.mainfile
|
||||
exe '1,/\s*\\begin{document}/w '.tmpfile
|
||||
wincmd q
|
||||
else
|
||||
exe '1,/\s*\\begin{document}/w '.tmpfile
|
||||
endif
|
||||
|
||||
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 RunLaTeX()
|
||||
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.
|
||||
" ==============================================================================
|
||||
" 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! PositionPreviewWindow(filename)
|
||||
|
||||
if getline('.') !~ '|\d\+ \(error\|warning\)|'
|
||||
if !search('|\d\+ \(error\|warning\)|')
|
||||
echomsg "not finding error pattern anywhere in quickfix window :".bufname(bufnr('%'))
|
||||
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 " }}}
|
||||
" 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! UpdatePreviewWindow(filename)
|
||||
call PositionPreviewWindow(a:filename)
|
||||
|
||||
if &previewwindow
|
||||
6 wincmd _
|
||||
wincmd p
|
||||
endif
|
||||
endfunction " }}}
|
||||
" 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! 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 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
|
||||
|
||||
endfunction " }}}
|
||||
" SetCompilerMaps: sets maps for compiling/viewing/searching {{{
|
||||
" Description:
|
||||
function! <SID>SetCompilerMaps()
|
||||
if exists('b:Tex_doneCompilerMaps')
|
||||
return
|
||||
endif
|
||||
nnoremap <buffer> <Leader>ll :call RunLaTeX()<cr>
|
||||
vnoremap <buffer> <Leader>ll :call Tex_PartCompile()<cr>
|
||||
nnoremap <buffer> <Leader>lv :call ViewLaTeX()<cr>
|
||||
nnoremap <buffer> <Leader>ls :call Tex_ForwardSearchLaTeX()<cr>
|
||||
endif
|
||||
|
||||
endfunction
|
||||
" }}}
|
||||
|
||||
augroup LatexSuite
|
||||
au LatexSuite User LatexSuiteFileType
|
||||
\ call Tex_Debug('compiler.vim: Catching LatexSuiteFileType event') |
|
||||
\ call <SID>SetCompilerMaps()
|
||||
augroup END
|
||||
|
||||
command! -nargs=0 -range=% TPartCompile :<line1>, <line2> silent! call Tex_PartCompile()
|
||||
|
||||
" vim:fdm=marker:ff=unix:noet:ts=4:sw=4
|
@ -0,0 +1,155 @@
|
||||
"=============================================================================
|
||||
" File: custommacros.vim
|
||||
" Author: Mikolaj Machowski
|
||||
" CVS: $Id: custommacros.vim,v 1.14.4.1 2003/11/07 06:37:12 srinathava Exp $
|
||||
"
|
||||
" Description: functions for processing custom macros in the
|
||||
" latex-suite/macros directory
|
||||
"=============================================================================
|
||||
|
||||
let s:path = expand('<sfile>:p:h')
|
||||
|
||||
" Tex_SetCustomMacrosMenu: sets up the menu for Macros {{{
|
||||
function! Tex_SetCustomMacrosMenu()
|
||||
let flist = glob(s:path."/macros/*")
|
||||
exe 'amenu '.g:Tex_MacrosMenuLocation.'&New :call Tex_NewMacro()<CR>'
|
||||
exe 'amenu '.g:Tex_MacrosMenuLocation.'&Redraw :call Tex_RedrawMacro()<CR>'
|
||||
|
||||
let i = 1
|
||||
while 1
|
||||
let fname = Tex_Strntok(flist, "\n", i)
|
||||
if fname == ''
|
||||
break
|
||||
endif
|
||||
let fnameshort = fnamemodify(fname, ':p:t:r')
|
||||
exe "amenu ".g:Tex_MacrosMenuLocation."&Delete.&".i.":<tab>".fnameshort." :call Tex_DeleteMacro('".fnameshort."')<CR>"
|
||||
exe "amenu ".g:Tex_MacrosMenuLocation."&Edit.&".i.":<tab>".fnameshort." :call Tex_EditMacro('".fnameshort."')<CR>"
|
||||
exe "imenu ".g:Tex_MacrosMenuLocation."&".i.":<tab>".fnameshort." <C-r>=Tex_ReadMacro('".fnameshort."')<CR>"
|
||||
exe "nmenu ".g:Tex_MacrosMenuLocation."&".i.":<tab>".fnameshort." i<C-r>=Tex_ReadMacro('".fnameshort."')<CR>"
|
||||
let i = i + 1
|
||||
endwhile
|
||||
endfunction
|
||||
|
||||
if g:Tex_Menus
|
||||
call Tex_SetCustomMacrosMenu()
|
||||
endif
|
||||
|
||||
" }}}
|
||||
" Tex_NewMacro: opens new file in macros directory {{{
|
||||
function! Tex_NewMacro()
|
||||
exe "cd ".s:path."/macros"
|
||||
new
|
||||
set filetype=tex
|
||||
endfunction
|
||||
|
||||
" }}}
|
||||
" Tex_RedrawMacro: refreshes macro menu {{{
|
||||
function! Tex_RedrawMacro()
|
||||
aunmenu TeX-Suite.Macros
|
||||
call Tex_SetCustomMacrosMenu()
|
||||
endfunction
|
||||
|
||||
" }}}
|
||||
" Tex_ChooseMacro: choose a macro file {{{
|
||||
" Description:
|
||||
function! Tex_ChooseMacro(ask)
|
||||
let pwd = getcwd()
|
||||
exe 'cd '.s:path.'/macros'
|
||||
let filename = Tex_ChooseFromPrompt(
|
||||
\ a:ask."\n" .
|
||||
\ Tex_CreatePrompt(glob('*'), 2, "\n") .
|
||||
\ "\nEnter number or filename :",
|
||||
\ glob('*'), "\n")
|
||||
exe 'cd '.pwd
|
||||
|
||||
return filename
|
||||
endfunction " }}}
|
||||
" Tex_DeleteMacro: deletes macro file {{{
|
||||
function! Tex_DeleteMacro(...)
|
||||
if a:0 > 0
|
||||
let filename = a:1
|
||||
else
|
||||
let pwd = getcwd()
|
||||
exe 'cd '.s:path.'/macros'
|
||||
let filename = Tex_ChooseMacro('Choose a macro file for deletion :')
|
||||
exe 'cd '.pwd
|
||||
endif
|
||||
|
||||
let ch = confirm('Really delete '.filename.' ?',
|
||||
\"Yes\nNo", 2)
|
||||
if ch == 1
|
||||
call delete(s:path.'/macros/'.filename)
|
||||
endif
|
||||
call Tex_RedrawMacro()
|
||||
endfunction
|
||||
|
||||
" }}}
|
||||
" Tex_EditMacro: edits macro file {{{
|
||||
function! Tex_EditMacro(...)
|
||||
if a:0 > 0
|
||||
let filename = a:1
|
||||
else
|
||||
let pwd = getcwd()
|
||||
exe 'cd '.s:path.'/macros'
|
||||
let filename = Tex_ChooseMacro('Choose a macro file for insertion:')
|
||||
exe 'cd '.pwd
|
||||
endif
|
||||
|
||||
exe "split ".s:path."/macros/".filename
|
||||
exe "lcd ".s:path."/macros/"
|
||||
set filetype=tex
|
||||
endfunction
|
||||
|
||||
" }}}
|
||||
" Tex_ReadMacro: reads in a macro from a macro file. {{{
|
||||
" allowing for placement via placeholders.
|
||||
function! Tex_ReadMacro(...)
|
||||
|
||||
if a:0 > 0
|
||||
let filename = a:1
|
||||
else
|
||||
let pwd = getcwd()
|
||||
exe 'cd '.s:path.'/macros'
|
||||
let filename = Tex_ChooseMacro('Choose a macro file for insertion:')
|
||||
exe 'cd '.pwd
|
||||
|
||||
if filename == ''
|
||||
return ''
|
||||
endif
|
||||
endif
|
||||
|
||||
let fname = s:path.'/macros/'.filename
|
||||
|
||||
let markerString = '<---- Latex Suite End Macro ---->'
|
||||
let _a = @a
|
||||
let position = line('.').' | normal! '.virtcol('.').'|'
|
||||
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=? TMacro :let s:retVal = Tex_ReadMacro(<f-args>) <bar> exec "normal! i\<C-r>=s:retVal<CR>\<right>" <bar> startinsert
|
||||
com! -nargs=0 TMacroNew :call Tex_NewMacro()
|
||||
com! -nargs=? TMacroEdit :call Tex_EditMacro(<f-args>)
|
||||
com! -nargs=? TMacroDelete :call Tex_DeleteMacro(<f-args>)
|
||||
|
||||
" }}}
|
||||
|
||||
" vim:fdm=marker:ff=unix:noet:ts=4:sw=4
|
@ -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
|
@ -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
|
@ -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
|
@ -0,0 +1,338 @@
|
||||
"=============================================================================
|
||||
" 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
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,324 @@
|
||||
"=============================================================================
|
||||
" File: folding.vim
|
||||
" Author: Srinath Avadhanula
|
||||
" Version: $Id: folding.vim,v 1.12.2.1 2003/11/25 20:34:54 srinathava Exp $
|
||||
" 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') |
|
||||
\ call s:SetFoldOptions()
|
||||
augroup END
|
||||
|
||||
" SetFoldOptions: sets maps for every buffer {{{
|
||||
" Description:
|
||||
function! <SID>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
|
||||
|
||||
if g:Tex_Folding && !hasmapto('<Plug>Tex_RefreshFolds')
|
||||
nmap <silent> <buffer> <Leader>rf <Plug>Tex_RefreshFolds
|
||||
endif
|
||||
|
||||
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
|
||||
|
||||
" 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.
|
||||
"
|
||||
"
|
||||
" }}}
|
||||
" ========================================================================
|
||||
" {{{ footnote
|
||||
call AddSyntaxFoldItem (
|
||||
\ '^\s*\\footnote{',
|
||||
\ '^\s*}',
|
||||
\ 0,
|
||||
\ 0
|
||||
\ )
|
||||
" }}}
|
||||
" {{{ intertext
|
||||
call AddSyntaxFoldItem (
|
||||
\ '^\s*\\intertext{',
|
||||
\ '^\s*}',
|
||||
\ 0,
|
||||
\ 0
|
||||
\ )
|
||||
" }}}
|
||||
" {{{ abstract
|
||||
call AddSyntaxFoldItem (
|
||||
\ '^\s*\\begin{abstract}',
|
||||
\ '^\s*\\end{abstract}',
|
||||
\ 0,
|
||||
\ 0
|
||||
\ )
|
||||
" }}}
|
||||
" {{{ keywords
|
||||
call AddSyntaxFoldItem (
|
||||
\ '^\s*\\begin{keywords}',
|
||||
\ '^\s*\\end{keywords}',
|
||||
\ 0,
|
||||
\ 0
|
||||
\ )
|
||||
" }}}
|
||||
" {{{ thebibliography
|
||||
call AddSyntaxFoldItem (
|
||||
\ '^\s*\\begin{thebibliography}',
|
||||
\ '^\s*\\end{thebibliography}',
|
||||
\ 0,
|
||||
\ 0
|
||||
\ )
|
||||
" }}}
|
||||
" {{{ table
|
||||
call AddSyntaxFoldItem (
|
||||
\ '^\s*\\begin{table}',
|
||||
\ '^\s*\\end{table}',
|
||||
\ 0,
|
||||
\ 0
|
||||
\ )
|
||||
" }}}
|
||||
" {{{ figure
|
||||
call AddSyntaxFoldItem (
|
||||
\ '^\s*\\begin{figure',
|
||||
\ '^\s*\\end{figure}',
|
||||
\ 0,
|
||||
\ 0
|
||||
\ )
|
||||
" }}}
|
||||
" {{{ align/alignat
|
||||
call AddSyntaxFoldItem (
|
||||
\ '^\s*\\begin{align',
|
||||
\ '^\s*\\end{align',
|
||||
\ 0,
|
||||
\ 0
|
||||
\ )
|
||||
" }}}
|
||||
" {{{ gather
|
||||
call AddSyntaxFoldItem (
|
||||
\ '^\s*\\begin{gather',
|
||||
\ '^\s*\\end{gather',
|
||||
\ 0,
|
||||
\ 0
|
||||
\ )
|
||||
" }}}
|
||||
" {{{ equation/eqnarray
|
||||
call AddSyntaxFoldItem (
|
||||
\ '^\s*\\begin{eq',
|
||||
\ '^\s*\\end{eq',
|
||||
\ 0,
|
||||
\ 0
|
||||
\ )
|
||||
" }}}
|
||||
" {{{ items
|
||||
call AddSyntaxFoldItem (
|
||||
\ '^\s*\\item',
|
||||
\ '^\s*\\item\|^\s*\\end{\(enumerate\|itemize\|description\)}',
|
||||
\ 0,
|
||||
\ -1,
|
||||
\ '^\s*\\begin{\(enumerate\|itemize\|description\)}',
|
||||
\ '^\s*\\end{\(enumerate\|itemize\|description\)}'
|
||||
\ )
|
||||
" }}}
|
||||
" {{{ subsubsection
|
||||
call AddSyntaxFoldItem (
|
||||
\ '^\s*\\subsubsection\W',
|
||||
\ '^\s*\\appendix\W\|^\s*\\subsubsection\W\|^\s*\\subsection\W\|^\s*\\section\W\|^\s*%%fakesection\|^\s*\\chapter\W\|^\s*\\begin{slide\|^\s*\\end{document',
|
||||
\ 0,
|
||||
\ -1,
|
||||
\ )
|
||||
" }}}
|
||||
" {{{ subsection
|
||||
call AddSyntaxFoldItem (
|
||||
\ '^\s*\\subsection\W',
|
||||
\ '^\s*\\appendix\W\|^\s*\\subsection\W\|^\s*\\section\W\|^\s*%%fakesection\|^\s*\\bibliography\|^\s*\\chapter\W\|^\s*\\begin{slide\|^\s*\\begin{thebibliography\|^\s*\\end{document',
|
||||
\ 0,
|
||||
\ -1,
|
||||
\ )
|
||||
" }}}
|
||||
" {{{ section
|
||||
call AddSyntaxFoldItem (
|
||||
\ '^\s*\\section\W',
|
||||
\ '^\s*\\appendix\W\|^\s*\\section\W\|^\s*\\bibliography\|^\s*%%fakesection\|^\s*\\chapter\W\|^\s*\\begin{slide\|^\s*\\begin{thebibliography\|^\s*\\end{document',
|
||||
\ 0,
|
||||
\ -1,
|
||||
\ )
|
||||
" }}}
|
||||
" {{{ fakesection (for forcing a fold item manually)
|
||||
call AddSyntaxFoldItem (
|
||||
\ '^\s*%%fakesection',
|
||||
\ '^\s*\\appendix\W\|^\s*\\section\W\|^\s*%%fakesection\|^\s*\\bibliography\|^\s*\\chapter\W\|^\s*\\begin{slide\|^\s*\\begin{thebibliography\|^\s*\\end{document',
|
||||
\ 0,
|
||||
\ -1,
|
||||
\ )
|
||||
" }}}
|
||||
" {{{ chapter
|
||||
call AddSyntaxFoldItem(
|
||||
\ '^\s*\\chapter\W',
|
||||
\ '^\s*\\appendix\W\|^\s*\\chapter\W\|^\s*\\bibliography\|^\s*\\begin{slide\|^\s*\\begin{thebibliography\|^\s*\\end{document',
|
||||
\ 0,
|
||||
\ -1
|
||||
\ )
|
||||
" }}}
|
||||
" {{{ slide
|
||||
call AddSyntaxFoldItem (
|
||||
\ '^\s*\\begin{slide',
|
||||
\ '^\s*\\appendix\W\|^\s*\\chapter\W\|^\s*\\end{slide\|^\s*\\end{document',
|
||||
\ 0,
|
||||
\ 0
|
||||
\ )
|
||||
" }}}
|
||||
|
||||
call MakeSyntaxFolds(a:force)
|
||||
normal! zv
|
||||
endfunction
|
||||
|
||||
" }}}
|
||||
" TexFoldTextFunction: create fold text for folds {{{
|
||||
function! TexFoldTextFunction()
|
||||
if getline(v:foldstart) =~ '^\s*\\begin{'
|
||||
let header = matchstr(getline(v:foldstart), '^\s*\\begin{\zs\(figure\|sidewaysfigure\|table\|equation\|eqnarray\|gather\|align\|abstract\|keywords\|thebibliography\)[^}]*\ze}')
|
||||
|
||||
let caption = ''
|
||||
let label = ''
|
||||
let i = v:foldstart
|
||||
while i <= v:foldend
|
||||
if getline(i) =~ '\\caption'
|
||||
let caption = matchstr(getline(i), '\\caption{\zs.*')
|
||||
let caption = substitute(caption, '\zs}[^}]*$', '', '')
|
||||
elseif getline(i) =~ '\\label'
|
||||
let label = matchstr(getline(i), '\\label{\zs.*')
|
||||
let label = substitute(label, '\zs}[^}]*$', '', '')
|
||||
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 retText
|
||||
else
|
||||
return foldtext()
|
||||
end
|
||||
endfunction
|
||||
" }}}
|
||||
|
||||
" vim:fdm=marker:ff=unix:noet:ts=4:sw=4
|
@ -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}<++>
|
@ -0,0 +1,663 @@
|
||||
" LaTeX filetype
|
||||
" Language: LaTeX (ft=tex)
|
||||
" Maintainer: Srinath Avadhanula
|
||||
" Email: srinath@fastmail.fm
|
||||
" CVS: $Id: main.vim,v 1.47 2003/09/13 07:03:13 srinathava Exp $
|
||||
" URL:
|
||||
|
||||
" line continuation used here.
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" avoiding re-inclusion {{{
|
||||
" the avoiding re-inclusion statement is not provided here because the files
|
||||
" which call this file should in the normal course of events handle the
|
||||
" re-inclusion stuff.
|
||||
|
||||
" we definitely dont want to run through the entire file each and every time.
|
||||
" only once to define the functions. for successive latex files, just set up
|
||||
" the folding and mappings and quit.
|
||||
if exists('s:doneFunctionDefinitions') && !exists('b:forceRedoLocalTex')
|
||||
call s:SetTeXOptions()
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:doneFunctionDefinitions = 1
|
||||
|
||||
" get the place where this plugin resides for setting cpt and dict options.
|
||||
" these lines need to be outside the function.
|
||||
let s:path = expand('<sfile>:p:h')
|
||||
" set up personal defaults.
|
||||
runtime ftplugin/tex/texrc
|
||||
" set up global defaults.
|
||||
exe "so ".s:path.'/texrc'
|
||||
|
||||
" }}}
|
||||
|
||||
nmap <silent> <script> <plug> i
|
||||
imap <silent> <script> <C-o><plug> <Nop>
|
||||
|
||||
" ==============================================================================
|
||||
" mappings
|
||||
" ==============================================================================
|
||||
" {{{
|
||||
" calculate the mapleader character.
|
||||
let s:ml = exists('g:mapleader') ? g:mapleader : '\'
|
||||
|
||||
if !exists('s:doneMappings')
|
||||
let s:doneMappings = 1
|
||||
" short forms for latex formatting and math elements. {{{
|
||||
" taken from auctex.vim or miktexmacros.vim
|
||||
call IMAP ('__', '_{<++>}<++>', "tex")
|
||||
call IMAP ('()', '(<++>)<++>', "tex")
|
||||
call IMAP ('[]', '[<++>]<++>', "tex")
|
||||
call IMAP ('{}', '{<++>}<++>', "tex")
|
||||
call IMAP ('^^', '^{<++>}<++>', "tex")
|
||||
call IMAP ('$$', '$<++>$<++>', "tex")
|
||||
call IMAP ('==', '&=& ', "tex")
|
||||
call IMAP ('~~', '&\approx& ', "tex")
|
||||
call IMAP ('=~', '\approx', "tex")
|
||||
call IMAP ('::', '\dots', "tex")
|
||||
call IMAP ('((', '\left( <++> \right)<++>', "tex")
|
||||
call IMAP ('[[', '\left[ <++> \right]<++>', "tex")
|
||||
call IMAP ('{{', '\left\{ <++> \right\}<++>', "tex")
|
||||
call IMAP (g:Tex_Leader.'^', '\hat{<++>}<++>', "tex")
|
||||
call IMAP (g:Tex_Leader.'_', '\bar{<++>}<++>', "tex")
|
||||
call IMAP (g:Tex_Leader.'6', '\partial', "tex")
|
||||
call IMAP (g:Tex_Leader.'8', '\infty', "tex")
|
||||
call IMAP (g:Tex_Leader.'/', '\frac{<++>}{<++>}<++>', "tex")
|
||||
call IMAP (g:Tex_Leader.'%', '\frac{<++>}{<++>}<++>', "tex")
|
||||
call IMAP (g:Tex_Leader.'@', '\circ', "tex")
|
||||
call IMAP (g:Tex_Leader.'0', '^\circ', "tex")
|
||||
call IMAP (g:Tex_Leader.'=', '\equiv', "tex")
|
||||
call IMAP (g:Tex_Leader."\\",'\setminus', "tex")
|
||||
call IMAP (g:Tex_Leader.'.', '\cdot', "tex")
|
||||
call IMAP (g:Tex_Leader.'*', '\times', "tex")
|
||||
call IMAP (g:Tex_Leader.'&', '\wedge', "tex")
|
||||
call IMAP (g:Tex_Leader.'-', '\bigcap', "tex")
|
||||
call IMAP (g:Tex_Leader.'+', '\bigcup', "tex")
|
||||
call IMAP (g:Tex_Leader.'M', '\sum_{<++>}^{<++>}<++>', 'tex')
|
||||
call IMAP (g:Tex_Leader.'S', '\sum_{<++>}^{<++>}<++>', 'tex')
|
||||
call IMAP (g:Tex_Leader.'(', '\subset', "tex")
|
||||
call IMAP (g:Tex_Leader.')', '\supset', "tex")
|
||||
call IMAP (g:Tex_Leader.'<', '\le', "tex")
|
||||
call IMAP (g:Tex_Leader.'>', '\ge', "tex")
|
||||
call IMAP (g:Tex_Leader.',', '\nonumber', "tex")
|
||||
call IMAP (g:Tex_Leader.'~', '\tilde{<++>}<++>', "tex")
|
||||
call IMAP (g:Tex_Leader.';', '\dot{<++>}<++>', "tex")
|
||||
call IMAP (g:Tex_Leader.':', '\ddot{<++>}<++>', "tex")
|
||||
call IMAP (g:Tex_Leader.'2', '\sqrt{<++>}<++>', "tex")
|
||||
call IMAP (g:Tex_Leader.'|', '\Big|', "tex")
|
||||
call IMAP (g:Tex_Leader.'I', "\\int_{<++>}^{<++>}<++>", 'tex')
|
||||
" }}}
|
||||
" Greek Letters {{{
|
||||
call IMAP(g:Tex_Leader.'a', '\alpha', 'tex')
|
||||
call IMAP(g:Tex_Leader.'b', '\beta', 'tex')
|
||||
call IMAP(g:Tex_Leader.'c', '\chi', 'tex')
|
||||
call IMAP(g:Tex_Leader.'d', '\delta', 'tex')
|
||||
call IMAP(g:Tex_Leader.'e', '\varepsilon', 'tex')
|
||||
call IMAP(g:Tex_Leader.'f', '\varphi', 'tex')
|
||||
call IMAP(g:Tex_Leader.'g', '\gamma', 'tex')
|
||||
call IMAP(g:Tex_Leader.'h', '\eta', 'tex')
|
||||
call IMAP(g:Tex_Leader.'k', '\kappa', 'tex')
|
||||
call IMAP(g:Tex_Leader.'l', '\lambda', 'tex')
|
||||
call IMAP(g:Tex_Leader.'m', '\mu', 'tex')
|
||||
call IMAP(g:Tex_Leader.'n', '\nu', 'tex')
|
||||
call IMAP(g:Tex_Leader.'p', '\pi', 'tex')
|
||||
call IMAP(g:Tex_Leader.'q', '\theta', 'tex')
|
||||
call IMAP(g:Tex_Leader.'r', '\rho', 'tex')
|
||||
call IMAP(g:Tex_Leader.'s', '\sigma', 'tex')
|
||||
call IMAP(g:Tex_Leader.'t', '\tau', 'tex')
|
||||
call IMAP(g:Tex_Leader.'u', '\upsilon', 'tex')
|
||||
call IMAP(g:Tex_Leader.'v', '\varsigma', 'tex')
|
||||
call IMAP(g:Tex_Leader.'w', '\omega', 'tex')
|
||||
call IMAP(g:Tex_Leader.'w', '\wedge', 'tex') " AUCTEX style
|
||||
call IMAP(g:Tex_Leader.'x', '\xi', 'tex')
|
||||
call IMAP(g:Tex_Leader.'y', '\psi', 'tex')
|
||||
call IMAP(g:Tex_Leader.'z', '\zeta', 'tex')
|
||||
" not all capital greek letters exist in LaTeX!
|
||||
" reference: http://www.giss.nasa.gov/latex/ltx-405.html
|
||||
call IMAP(g:Tex_Leader.'D', '\Delta', 'tex')
|
||||
call IMAP(g:Tex_Leader.'F', '\Phi', 'tex')
|
||||
call IMAP(g:Tex_Leader.'G', '\Gamma', 'tex')
|
||||
call IMAP(g:Tex_Leader.'Q', '\Theta', 'tex')
|
||||
call IMAP(g:Tex_Leader.'L', '\Lambda', 'tex')
|
||||
call IMAP(g:Tex_Leader.'X', '\Xi', 'tex')
|
||||
call IMAP(g:Tex_Leader.'Y', '\Psi', 'tex')
|
||||
call IMAP(g:Tex_Leader.'S', '\Sigma', 'tex')
|
||||
call IMAP(g:Tex_Leader.'U', '\Upsilon', 'tex')
|
||||
call IMAP(g:Tex_Leader.'W', '\Omega', 'tex')
|
||||
" }}}
|
||||
" ProtectLetters: sets up indentity maps for things like ``a {{{
|
||||
" " Description: If we simply do
|
||||
" call IMAP('`a', '\alpha', 'tex')
|
||||
" then we will never be able to type 'a' after a tex-quotation. Since
|
||||
" IMAP() always uses the longest map ending in the letter, this problem
|
||||
" can be avoided by creating a fake map for ``a -> ``a.
|
||||
" This function sets up fake maps of the following forms:
|
||||
" ``[aA] -> ``[aA] (for writing in quotations)
|
||||
" \`[aA] -> \`[aA] (for writing diacritics)
|
||||
" "`[aA] -> "`[aA] (for writing german quotations)
|
||||
" It does this for all printable lower ascii characters just to make sure
|
||||
" we dont let anything slip by.
|
||||
function! s:ProtectLetters(first, last)
|
||||
let i = a:first
|
||||
while i <= a:last
|
||||
if nr2char(i) =~ '[[:print:]]'
|
||||
call IMAP('``'.nr2char(i), '``'.nr2char(i), 'tex')
|
||||
call IMAP('\`'.nr2char(i), '\`'.nr2char(i), 'tex')
|
||||
call IMAP('"`'.nr2char(i), '"`'.nr2char(i), 'tex')
|
||||
endif
|
||||
let i = i + 1
|
||||
endwhile
|
||||
endfunction
|
||||
call s:ProtectLetters(32, 127)
|
||||
" }}}
|
||||
" vmaps: enclose selected region in brackets, environments {{{
|
||||
" The action changes depending on whether the selection is character-wise
|
||||
" or line wise. for example, selecting linewise and pressing \v will
|
||||
" result in the region being enclosed in \begin{verbatim}, \end{verbatim},
|
||||
" whereas in characterise visual mode, the thingie is enclosed in \verb|
|
||||
" and |.
|
||||
exec 'vnoremap <silent> '.g:Tex_Leader."( \<C-\\>\<C-N>:call VEnclose('\\left( ', ' \\right)', '\\left(', '\\right)')\<CR>"
|
||||
exec 'vnoremap <silent> '.g:Tex_Leader."[ \<C-\\>\<C-N>:call VEnclose('\\left[ ', ' \\right]', '\\left[', '\\right]')\<CR>"
|
||||
exec 'vnoremap <silent> '.g:Tex_Leader."{ \<C-\\>\<C-N>:call VEnclose('\\left\\{ ', ' \\right\\}', '\\left\\{', '\\right\\}')\<CR>"
|
||||
exec 'vnoremap <silent> '.g:Tex_Leader."$ \<C-\\>\<C-N>:call VEnclose('$', '$', '\\[', '\\]')\<CR>"
|
||||
" }}}
|
||||
end
|
||||
|
||||
" }}}
|
||||
|
||||
" ==============================================================================
|
||||
" Smart key-mappings
|
||||
" ==============================================================================
|
||||
" TexQuotes: inserts `` or '' instead of " {{{
|
||||
if g:Tex_SmartKeyQuote
|
||||
|
||||
" TexQuotes: inserts `` or '' instead of "
|
||||
" Taken from texmacro.vim by Benji Fisher <benji@e-math.AMS.org>
|
||||
" TODO: Deal with nested quotes.
|
||||
" The :imap that calls this function should insert a ", move the cursor to
|
||||
" the left of that character, then call this with <C-R>= .
|
||||
function! s:TexQuotes()
|
||||
let l = line(".")
|
||||
let c = col(".")
|
||||
let restore_cursor = l . "G" . virtcol(".") . "|"
|
||||
normal! H
|
||||
let restore_cursor = "normal!" . line(".") . "Gzt" . restore_cursor
|
||||
execute restore_cursor
|
||||
" In math mode, or when preceded by a \, just move the cursor past the
|
||||
" already-inserted " character.
|
||||
if synIDattr(synID(l, c, 1), "name") =~ "^texMath"
|
||||
\ || (c > 1 && getline(l)[c-2] == '\')
|
||||
return "\<Right>"
|
||||
endif
|
||||
" Find the appropriate open-quote and close-quote strings.
|
||||
if exists("b:Tex_SmartQuoteOpen")
|
||||
let open = b:Tex_SmartQuoteOpen
|
||||
elseif exists("g:Tex_SmartQuoteOpen")
|
||||
let open = g:Tex_SmartQuoteOpen
|
||||
else
|
||||
let open = "``"
|
||||
endif
|
||||
if exists("b:Tex_SmartQuoteClose")
|
||||
let close = b:Tex_SmartQuoteClose
|
||||
elseif exists("g:Tex_SmartQuoteClose")
|
||||
let close = g:Tex_SmartQuoteClose
|
||||
else
|
||||
let close = "''"
|
||||
endif
|
||||
let boundary = '\|'
|
||||
" This code seems to be obsolete, since this script variable is never
|
||||
" set. The idea is that some languages use ",," as an open- or
|
||||
" close-quote string, and we want to avoid confusing ordinary ","
|
||||
" with a quote boundary.
|
||||
if exists("s:TeX_strictquote")
|
||||
if( s:TeX_strictquote == "open" || s:TeX_strictquote == "both" )
|
||||
let boundary = '\<' . boundary
|
||||
endif
|
||||
if( s:TeX_strictquote == "close" || s:TeX_strictquote == "both" )
|
||||
let boundary = boundary . '\>'
|
||||
endif
|
||||
endif
|
||||
" Eventually return q; set it to the default value now.
|
||||
let q = open
|
||||
while 1 " Look for preceding quote (open or close), ignoring
|
||||
" math mode and '\"' .
|
||||
call search(escape(open . boundary . close . '\|^$\|"', "~"), "bw")
|
||||
if synIDattr(synID(line("."), col("."), 1), "name") !~ "^texMath"
|
||||
\ && (col(".") == 1 || getline(".")[col(".")-2] != '\')
|
||||
break
|
||||
endif
|
||||
endwhile
|
||||
" Now, test whether we actually found a _preceding_ quote; if so, is it
|
||||
" an open quote?
|
||||
if ( line(".") < l || line(".") == l && col(".") < c )
|
||||
if strpart(getline("."), col(".")-1) =~
|
||||
\ '\V\^' . escape(open, '\')
|
||||
if line(".") == l && col(".") + strlen(open) == c
|
||||
" Insert "<++>''<++>" instead of just "''".
|
||||
let q = IMAP_PutTextWithMovement("<++>".close."<++>")
|
||||
else
|
||||
let q = close
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
" Return to line l, column c:
|
||||
execute restore_cursor
|
||||
" Start with <Del> to remove the " put in by the :imap .
|
||||
return "\<Del>" . q
|
||||
endfunction
|
||||
|
||||
endif
|
||||
" }}}
|
||||
" SmartBS: smart backspacing {{{
|
||||
if g:Tex_SmartKeyBS
|
||||
|
||||
" SmartBS: smart backspacing
|
||||
" SmartBS lets you treat diacritic characters (those \'{a} thingies) as a
|
||||
" single character. This is useful for example in the following situation:
|
||||
"
|
||||
" \v{s}\v{t}astn\'{y} ('happy' in Slovak language :-) )
|
||||
" If you will delete this normally (without using smartBS() function), you
|
||||
" must press <BS> about 19x. With function smartBS() you must press <BS> only
|
||||
" 7x. Strings like "\v{s}", "\'{y}" are considered like one character and are
|
||||
" deleted with one <BS>.
|
||||
"
|
||||
let s:smartBS_pat = '\(' .
|
||||
\ "\\\\[\"^'=v]{\\S}" . '\|' .
|
||||
\ "\\\\[\"^'=]\\S" . '\|' .
|
||||
\ '\\v \S' . '\|' .
|
||||
\ "\\\\[\"^'=v]{\\\\[iI]}" . '\|' .
|
||||
\ '\\v \\[iI]' . '\|' .
|
||||
\ '\\q \S' . '\|' .
|
||||
\ '\\-' .
|
||||
\ '\)' . "$"
|
||||
fun! s:SmartBS_pat()
|
||||
return s:smartBS_pat
|
||||
endfun
|
||||
|
||||
" This function comes from Benji Fisher <benji@e-math.AMS.org>
|
||||
" http://vim.sourceforge.net/scripts/download.php?src_id=409
|
||||
" (modified/patched by Lubomir Host 'rajo' <host8 AT keplerDOTfmphDOTuniba.sk>)
|
||||
function! s:SmartBS(pat)
|
||||
let init = strpart(getline("."), 0, col(".")-1)
|
||||
let matchtxt = matchstr(init, a:pat)
|
||||
if matchtxt != ''
|
||||
let bstxt = substitute(matchtxt, '.', "\<bs>", 'g')
|
||||
return bstxt
|
||||
else
|
||||
return "\<bs>"
|
||||
endif
|
||||
endfun
|
||||
|
||||
endif " }}}
|
||||
" SmartDots: inserts \cdots instead of ... in math mode otherwise \ldots {{{
|
||||
" if amsmath package is detected then just use \dots and let amsmath take care
|
||||
" of it.
|
||||
if g:Tex_SmartKeyDot
|
||||
|
||||
function! <SID>SmartDots()
|
||||
if strpart(getline('.'), col('.')-3, 2) == '..' &&
|
||||
\ g:Tex_package_detected =~ '\<amsmath\>'
|
||||
return "\<bs>\<bs>\\dots"
|
||||
elseif synIDattr(synID(line('.'),col('.')-1,0),"name") =~ '^texMath'
|
||||
\&& strpart(getline('.'), col('.')-3, 2) == '..'
|
||||
return "\<bs>\<bs>\\cdots"
|
||||
elseif strpart(getline('.'), col('.')-3, 2) == '..'
|
||||
return "\<bs>\<bs>\\ldots"
|
||||
else
|
||||
return '.'
|
||||
endif
|
||||
endfunction
|
||||
|
||||
endif
|
||||
" }}}
|
||||
|
||||
" ==============================================================================
|
||||
" Helper Functions
|
||||
" ==============================================================================
|
||||
" Tex_ShowVariableValue: debugging help {{{
|
||||
" provides a way to examine script local variables from outside the script.
|
||||
" very handy for debugging.
|
||||
function! Tex_ShowVariableValue(...)
|
||||
let i = 1
|
||||
while i <= a:0
|
||||
exe 'let arg = a:'.i
|
||||
if exists('s:'.arg) ||
|
||||
\ exists('*s:'.arg)
|
||||
exe 'let val = s:'.arg
|
||||
echomsg 's:'.arg.' = '.val
|
||||
end
|
||||
let i = i + 1
|
||||
endwhile
|
||||
endfunction
|
||||
|
||||
" }}}
|
||||
" Tex_Strntok: extract the n^th token from a list {{{
|
||||
" example: Strntok('1,23,3', ',', 2) = 23
|
||||
fun! Tex_Strntok(s, tok, n)
|
||||
return matchstr( a:s.a:tok[0], '\v(\zs([^'.a:tok.']*)\ze['.a:tok.']){'.a:n.'}')
|
||||
endfun
|
||||
|
||||
" }}}
|
||||
" Tex_CreatePrompt: creates a prompt string {{{
|
||||
" Description:
|
||||
" Arguments:
|
||||
" promptList: This is a string of the form:
|
||||
" 'item1,item2,item3,item4'
|
||||
" cols: the number of columns in the resultant prompt
|
||||
" sep: the list seperator token
|
||||
"
|
||||
" Example:
|
||||
" Tex_CreatePrompt('item1,item2,item3,item4', 2, ',')
|
||||
" returns
|
||||
" "(1) item1\t(2)item2\n(3)item3\t(4)item4"
|
||||
"
|
||||
" This string can be used in the input() function.
|
||||
function! Tex_CreatePrompt(promptList, cols, sep)
|
||||
|
||||
let g:listSep = a:sep
|
||||
let num_common = GetListCount(a:promptList)
|
||||
|
||||
let i = 1
|
||||
let promptStr = ""
|
||||
|
||||
while i <= num_common
|
||||
|
||||
let j = 0
|
||||
while j < a:cols && i + j <= num_common
|
||||
let com = Tex_Strntok(a:promptList, a:sep, i+j)
|
||||
let promptStr = promptStr.'('.(i+j).') '.
|
||||
\ com."\t".( strlen(com) < 4 ? "\t" : '' )
|
||||
|
||||
let j = j + 1
|
||||
endwhile
|
||||
|
||||
let promptStr = promptStr."\n"
|
||||
|
||||
let i = i + a:cols
|
||||
endwhile
|
||||
return promptStr
|
||||
endfunction
|
||||
|
||||
" }}}
|
||||
" Tex_CleanSearchHistory: removes last search item from search history {{{
|
||||
" Description: This function needs to be globally visible because its
|
||||
" called from outside the script during expansion.
|
||||
function! Tex_CleanSearchHistory()
|
||||
call histdel("/", -1)
|
||||
let @/ = histget("/", -1)
|
||||
endfunction
|
||||
nmap <silent> <script> <plug>cleanHistory :call Tex_CleanSearchHistory()<CR>
|
||||
|
||||
" }}}
|
||||
" Tex_GetVarValue: gets the value of the variable {{{
|
||||
" Description:
|
||||
" See if a window-local, buffer-local or global variable with the given name
|
||||
" exists and if so, returns the corresponding value. Otherwise return the
|
||||
" provided default value.
|
||||
function! Tex_GetVarValue(varname, default)
|
||||
if exists('w:'.a:varname)
|
||||
return w:{a:varname}
|
||||
elseif exists('b:'.a:varname)
|
||||
return b:{a:varname}
|
||||
elseif exists('g:'.a:varname)
|
||||
return g:{a:varname}
|
||||
else
|
||||
return a:default
|
||||
endif
|
||||
endfunction " }}}
|
||||
" Tex_GetMainFileName: gets the name (without extension) of the main file being compiled. {{{
|
||||
" Description: returns '' if .latexmain doesnt exist.
|
||||
" i.e if main.tex.latexmain exists, then returns:
|
||||
" d:/path/to/main
|
||||
" if a:1 is supplied, then it is used to modify the *.latexmain
|
||||
" file instead of using ':p:r:r'.
|
||||
function! Tex_GetMainFileName(...)
|
||||
if a:0 > 0
|
||||
let modifier = a:1
|
||||
else
|
||||
let modifier = ':p:r:r'
|
||||
endif
|
||||
|
||||
" If the user wants to use his own way to specify the main file name, then
|
||||
" use it straight away.
|
||||
if Tex_GetVarValue('Tex_MainFileExpression', '') != ''
|
||||
exec 'let retval = '.Tex_GetVarValue('Tex_MainFileExpression', '')
|
||||
return retval
|
||||
endif
|
||||
|
||||
let curd = getcwd()
|
||||
|
||||
let dirmodifier = '%:p:h'
|
||||
let dirLast = expand(dirmodifier)
|
||||
" escape spaces whenever we use cd (diego Caraffini)
|
||||
exe 'cd '.escape(dirLast, ' ')
|
||||
|
||||
" move up the directory tree until we find a .latexmain file.
|
||||
" TODO: Should we be doing this recursion by default, or should there be a
|
||||
" setting?
|
||||
while glob('*.latexmain') == ''
|
||||
let dirmodifier = dirmodifier.':h'
|
||||
" break from the loop if we cannot go up any further.
|
||||
if expand(dirmodifier) == dirLast
|
||||
break
|
||||
endif
|
||||
let dirLast = expand(dirmodifier)
|
||||
exec 'cd '.escape(dirLast, ' ')
|
||||
endwhile
|
||||
|
||||
let lheadfile = glob('*.latexmain')
|
||||
if lheadfile != ''
|
||||
let lheadfile = fnamemodify(lheadfile, modifier)
|
||||
endif
|
||||
|
||||
exe 'cd '.escape(curd, ' ')
|
||||
|
||||
return escape(lheadfile, ' ')
|
||||
endfunction
|
||||
|
||||
" }}}
|
||||
" Tex_ChooseFromPrompt: process a user input to a prompt string {{{
|
||||
" " Description:
|
||||
function! Tex_ChooseFromPrompt(dialog, list, sep)
|
||||
let inp = input(a:dialog)
|
||||
if inp =~ '\d\+'
|
||||
return Tex_Strntok(a:list, a:sep, inp)
|
||||
else
|
||||
return inp
|
||||
endif
|
||||
endfunction " }}}
|
||||
" Tex_ChooseFile: produces a file list and prompts for choice {{{
|
||||
" Description:
|
||||
function! Tex_ChooseFile(dialog)
|
||||
let files = glob('*')
|
||||
if files == ''
|
||||
return ''
|
||||
endif
|
||||
let s:incnum = 0
|
||||
echo a:dialog
|
||||
let filenames = substitute(files, "\\v(^|\n)", "\\=submatch(0).Tex_IncrementNumber(1).' : '", 'g')
|
||||
echo filenames
|
||||
let choice = input('Enter Choice : ')
|
||||
let g:choice = choice
|
||||
if choice == ''
|
||||
return ''
|
||||
endif
|
||||
if choice =~ '^\s*\d\+\s*$'
|
||||
let retval = Tex_Strntok(files, "\n", choice)
|
||||
else
|
||||
let filescomma = substitute(files, "\n", ",", "g")
|
||||
let retval = GetListMatchItem(filescomma, choice)
|
||||
endif
|
||||
if retval == ''
|
||||
return ''
|
||||
endif
|
||||
return retval
|
||||
endfunction
|
||||
|
||||
" }}}
|
||||
" Tex_IncrementNumber: returns an incremented number each time {{{
|
||||
" Description:
|
||||
let s:incnum = 0
|
||||
function! Tex_IncrementNumber(increm)
|
||||
let s:incnum = s:incnum + a:increm
|
||||
return s:incnum
|
||||
endfunction
|
||||
|
||||
" }}}
|
||||
" Tex_ResetIncrementNumber: increments s:incnum to zero {{{
|
||||
" Description:
|
||||
function! Tex_ResetIncrementNumber(val)
|
||||
let s:incnum = a:val
|
||||
endfunction " }}}
|
||||
" Tex_EscapeForGrep: escapes \ and " the correct number of times {{{
|
||||
" Description: This command escapes the backslash and double quotes in a
|
||||
" search pattern the correct number of times so it can be used in the :grep
|
||||
" command. This command is meant to be used as:
|
||||
" exec "silent! grep '".Tex_EscapeForGrep(pattern)."' file"
|
||||
" NOTE: The pattern in the grep command should _always_ be enclosed in
|
||||
" single quotes (not double quotes) for robust performance.
|
||||
function! Tex_EscapeForGrep(string)
|
||||
" This first escaping is so that grep gets a string like '\\bibitem' when
|
||||
" we want to search for a string like '\bibitem'.
|
||||
let retVal = escape(a:string, "\\")
|
||||
" The next escape is because when the shellxquote is ", then the grep
|
||||
" commad is usually called as bash -c "grep pattern filename" which means
|
||||
" that we need to escape backslashes (because they get halved) and also
|
||||
" double quotes.
|
||||
if &shellxquote == '"'
|
||||
let retVal = escape(retVal, "\"\\")
|
||||
endif
|
||||
return retVal
|
||||
endfunction " }}}
|
||||
" Functions for debugging {{{
|
||||
" Tex_Debug: appends the argument into s:debugString {{{
|
||||
" Description:
|
||||
"
|
||||
" Do not want a memory leak! Set this to zero so that latex-suite always
|
||||
" starts out in a non-debugging mode.
|
||||
if !exists('g:Tex_Debug')
|
||||
let g:Tex_Debug = 0
|
||||
endif
|
||||
function! Tex_Debug(str, ...)
|
||||
if !g:Tex_Debug
|
||||
return
|
||||
endif
|
||||
if a:0 > 0
|
||||
let pattern = a:1
|
||||
else
|
||||
let pattern = ''
|
||||
endif
|
||||
if !exists('s:debugString_'.pattern)
|
||||
let s:debugString_{pattern} = ''
|
||||
endif
|
||||
let s:debugString_{pattern} = s:debugString_{pattern}.a:str."\n"
|
||||
let s:debugString_ = s:debugString_.pattern.' : '.a:str."\n"
|
||||
endfunction " }}}
|
||||
" Tex_PrintDebug: prings s:debugString {{{
|
||||
" Description:
|
||||
"
|
||||
function! Tex_PrintDebug(...)
|
||||
if a:0 > 0
|
||||
let pattern = a:1
|
||||
else
|
||||
let pattern = ''
|
||||
endif
|
||||
if exists('s:debugString_'.pattern)
|
||||
echo s:debugString_{pattern}
|
||||
endif
|
||||
endfunction " }}}
|
||||
" Tex_ClearDebug: clears the s:debugString string {{{
|
||||
" Description:
|
||||
"
|
||||
function! Tex_ClearDebug(...)
|
||||
if a:0 > 0
|
||||
let pattern = a:1
|
||||
else
|
||||
let pattern = ''
|
||||
endif
|
||||
if exists('s:debugString_'.pattern)
|
||||
let s:debugString_{pattern} = ''
|
||||
endif
|
||||
endfunction " }}}
|
||||
" }}}
|
||||
|
||||
" source texproject.vim before other files
|
||||
exe 'source '.s:path.'/texproject.vim'
|
||||
|
||||
" source all the relevant files.
|
||||
exe 'source '.s:path.'/texmenuconf.vim'
|
||||
exe 'source '.s:path.'/envmacros.vim'
|
||||
exe 'source '.s:path.'/elementmacros.vim'
|
||||
|
||||
" source utf-8 or plain math menus
|
||||
if exists("g:Tex_UseUtfMenus") && g:Tex_UseUtfMenus != 0 && has("gui_running")
|
||||
exe 'source '.s:path.'/mathmacros-utf.vim'
|
||||
else
|
||||
exe 'source '.s:path.'/mathmacros.vim'
|
||||
endif
|
||||
|
||||
exe 'source '.s:path.'/multicompile.vim'
|
||||
exe 'source '.s:path.'/compiler.vim'
|
||||
exe 'source '.s:path.'/folding.vim'
|
||||
exe 'source '.s:path.'/templates.vim'
|
||||
exe 'source '.s:path.'/custommacros.vim'
|
||||
exe 'source '.s:path.'/bibtex.vim'
|
||||
|
||||
if g:Tex_Diacritics != 0
|
||||
exe 'source '.s:path.'/diacritics.vim'
|
||||
endif
|
||||
|
||||
" ==============================================================================
|
||||
" Finally set up the folding, options, mappings and quit.
|
||||
" ==============================================================================
|
||||
" SetTeXOptions: sets options/mappings for this file. {{{
|
||||
function! <SID>SetTeXOptions()
|
||||
" Avoid reinclusion.
|
||||
if exists('b:doneSetTeXOptions')
|
||||
return
|
||||
endif
|
||||
let b:doneSetTeXOptions = 1
|
||||
|
||||
exe 'setlocal dict+='.s:path.'/dictionaries/dictionary'
|
||||
|
||||
call Tex_Debug('SetTeXOptions: sourcing maps')
|
||||
" smart functions
|
||||
if g:Tex_SmartKeyQuote
|
||||
inoremap <buffer> <silent> " "<Left><C-R>=<SID>TexQuotes()<CR>
|
||||
endif
|
||||
if g:Tex_SmartKeyBS
|
||||
inoremap <buffer> <silent> <BS> <C-R>=<SID>SmartBS(<SID>SmartBS_pat())<CR>
|
||||
endif
|
||||
if g:Tex_SmartKeyDot
|
||||
inoremap <buffer> <silent> . <C-R>=<SID>SmartDots()<CR>
|
||||
endif
|
||||
|
||||
" This line seems to be necessary to source our compiler/tex.vim file.
|
||||
" The docs are unclear why this needs to be done even though this file is
|
||||
" the first compiler plugin in 'runtimepath'.
|
||||
runtime compiler/tex.vim
|
||||
|
||||
endfunction
|
||||
|
||||
augroup LatexSuite
|
||||
au LatexSuite User LatexSuiteFileType
|
||||
\ call Tex_Debug('main.vim: Catching LatexSuiteFileType event') |
|
||||
\ call <SID>SetTeXOptions()
|
||||
augroup END
|
||||
|
||||
" }}}
|
||||
|
||||
" This variable has to be set before sourcing package files to add names of
|
||||
" commands to completion
|
||||
let g:Tex_completion_explorer = ','
|
||||
|
||||
" Mappings defined in package files will overwrite all other
|
||||
|
||||
exe 'source '.s:path.'/packages.vim'
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
|
||||
" vim:fdm=marker:ff=unix:noet:ts=4:sw=4:nowrap
|
@ -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
|
@ -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<62> 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
|
@ -0,0 +1,232 @@
|
||||
" ============================================================================
|
||||
" File: latexm.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
|
||||
" CVS: $Id: multicompile.vim,v 1.7 2003/09/03 07:19:13 srinathava Exp $
|
||||
" ============================================================================
|
||||
|
||||
" Tex_CompileMultipleTimes: The main function {{{
|
||||
" Description: compiles a file multiple times to get cross-references right.
|
||||
function! Tex_CompileMultipleTimes()
|
||||
let mainFileName_root = Tex_GetMainFileName(':p:t:r:r')
|
||||
|
||||
if mainFileName_root == ''
|
||||
let mainFileName_root = expand("%:p:t:r")
|
||||
endif
|
||||
|
||||
" First ignore undefined references and the
|
||||
" "rerun to get cross-references right" message from
|
||||
" the compiler output.
|
||||
let origlevel = g:Tex_IgnoreLevel
|
||||
let origpats = g: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 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)
|
||||
|
||||
" first run latex.
|
||||
echomsg "latex run number : ".(runCount+1)
|
||||
silent! call Tex_CompileLatex()
|
||||
|
||||
" If there are errors in any latex compilation step, immediately
|
||||
" return.
|
||||
let _a = @a
|
||||
redir @a | silent! clist | redir END
|
||||
let errlist = @a
|
||||
let @a = _a
|
||||
|
||||
if errlist =~ '\d\+\s\f\+:\d\+\serror'
|
||||
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='makeindex $*.idx'
|
||||
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 bibtex..."
|
||||
let temp_mp = &mp | let &mp='bibtex'
|
||||
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...'
|
||||
let needToRerun = 1
|
||||
endif
|
||||
endif
|
||||
|
||||
" check if latex asks us to rerun
|
||||
if Tex_IsPresentInFile('Rerun to get cross-references right', mainFileName_root.'.log')
|
||||
echomsg "Need to rerun to get cross-references right..."
|
||||
let needToRerun = 1
|
||||
endif
|
||||
|
||||
let runCount = runCount + 1
|
||||
endwhile
|
||||
|
||||
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'
|
||||
endfunction " }}}
|
||||
|
||||
" Various helper functions used by Tex_CompileMultipleTimes(). These functions
|
||||
" use python where available (and allowed) otherwise do it in native vim at
|
||||
" the cost of some slowdown and a new temporary buffer being added to the
|
||||
" buffer list.
|
||||
" Tex_GotoTempFile: open a temp file. reuse from next time on {{{
|
||||
function! Tex_GotoTempFile()
|
||||
if !exists('s:tempFileName')
|
||||
let s:tempFileName = tempname()
|
||||
endif
|
||||
exec 'silent! split '.s:tempFileName
|
||||
endfunction " }}}
|
||||
" Tex_IsPresentInFile: finds if a string str, is present in filename {{{
|
||||
if has('python') && g:Tex_UsePython
|
||||
function! Tex_IsPresentInFile(regexp, filename)
|
||||
exec 'python isPresentInFile(r"'.a:regexp.'", r"'.a:filename.'")'
|
||||
|
||||
return retval
|
||||
endfunction
|
||||
else
|
||||
function! Tex_IsPresentInFile(regexp, filename)
|
||||
call Tex_GotoTempFile()
|
||||
|
||||
silent! 1,$ d _
|
||||
let _report = &report
|
||||
let _sc = &sc
|
||||
set report=9999999 nosc
|
||||
exec 'silent! 0r! '.g:Tex_CatCmd.' '.a:filename
|
||||
set nomod
|
||||
let &report = _report
|
||||
let &sc = _sc
|
||||
|
||||
if search(a:regexp, 'w')
|
||||
let retval = 1
|
||||
else
|
||||
let retval = 0
|
||||
endif
|
||||
silent! bd
|
||||
return retval
|
||||
endfunction
|
||||
endif " }}}
|
||||
" Tex_CatFile: returns the contents of a file in a <NL> seperated string {{{
|
||||
if has('python') && g:Tex_UsePython
|
||||
function! Tex_CatFile(filename)
|
||||
" catFile assigns a value to retval
|
||||
exec 'python catFile("'.a:filename.'")'
|
||||
|
||||
return retval
|
||||
endfunction
|
||||
else
|
||||
function! Tex_CatFile(filename)
|
||||
if glob(a:filename) == ''
|
||||
return ''
|
||||
endif
|
||||
|
||||
call Tex_GotoTempFile()
|
||||
|
||||
silent! 1,$ d _
|
||||
|
||||
let _report = &report
|
||||
let _sc = &sc
|
||||
set report=9999999 nosc
|
||||
exec 'silent! 0r! '.g:Tex_CatCmd.' '.a:filename
|
||||
|
||||
set nomod
|
||||
let _a = @a
|
||||
silent! normal! ggVG"ay
|
||||
let retval = @a
|
||||
let @a = _a
|
||||
|
||||
silent! bd
|
||||
let &report = _report
|
||||
let &sc = _sc
|
||||
return retval
|
||||
endfunction
|
||||
endif
|
||||
" }}}
|
||||
|
||||
" Define the functions in python if available.
|
||||
if !has('python') || !g:Tex_UsePython
|
||||
finish
|
||||
endif
|
||||
|
||||
python <<EOF
|
||||
import string, vim, re
|
||||
# catFile: assigns a local variable retval to the contents of a file {{{
|
||||
def catFile(filename):
|
||||
try:
|
||||
file = open(filename)
|
||||
lines = ''.join(file.readlines())
|
||||
file.close()
|
||||
except:
|
||||
lines = ''
|
||||
|
||||
# escape double quotes and backslashes before quoting the string so
|
||||
# everything passes throught.
|
||||
vim.command("""let retval = "%s" """ % re.sub(r'"|\\', r'\\\g<0>', lines))
|
||||
return lines
|
||||
|
||||
# }}}
|
||||
# isPresentInFile: check if regexp is present in the file {{{
|
||||
def isPresentInFile(regexp, filename):
|
||||
try:
|
||||
fp = open(filename)
|
||||
fcontents = string.join(fp.readlines(), '')
|
||||
fp.close()
|
||||
if re.search(regexp, fcontents):
|
||||
vim.command('let retval = 1')
|
||||
return 1
|
||||
else:
|
||||
vim.command('let retval = 0')
|
||||
return None
|
||||
except:
|
||||
vim.command('let retval = 0')
|
||||
return None
|
||||
|
||||
# }}}
|
||||
EOF
|
||||
|
||||
" vim:fdm=marker:nowrap:noet:ff=unix:ts=4:sw=4
|
@ -0,0 +1,663 @@
|
||||
"=============================================================================
|
||||
" File: packages.vim
|
||||
" Author: Mikolaj Machowski
|
||||
" Created: Tue Apr 23 06:00 PM 2002 PST
|
||||
" CVS: $Id: packages.vim,v 1.39 2003/08/04 20:18:53 mikmach Exp $
|
||||
"
|
||||
" Description: handling packages from within vim
|
||||
"=============================================================================
|
||||
|
||||
" avoid reinclusion.
|
||||
if !g:Tex_PackagesMenu || exists('s:doneOnce')
|
||||
finish
|
||||
endif
|
||||
let s:doneOnce = 1
|
||||
|
||||
let s:path = 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)
|
||||
let packnames = globpath(s:path.'/packages','*')
|
||||
let packnames = substitute(packnames,'\n',',','g')
|
||||
let packnames = substitute(packnames,'^\|,[^,]*/',',','g')
|
||||
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)
|
||||
if filereadable(s:path.'/packages/'.a:package)
|
||||
exe 'source ' . s:path . '/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
|
||||
if filereadable(s:path.'/dictionaries/'.a:package)
|
||||
exe 'setlocal dict+='.s:path.'/dictionaries/'.a:package
|
||||
if filereadable(s:path.'/dictionaries/'.a:package) && 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") && filereadable(s:path.'/packages/'.a:package)
|
||||
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 filereadable(s:path.'/dictionaries/'.a:package)
|
||||
exe 'setlocal dict-='.s:path.'/dictionaries/'.a:package
|
||||
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.
|
||||
if Tex_GetMainFileName() != ''
|
||||
let fname = Tex_GetMainFileName(':p:r')
|
||||
else
|
||||
let fname = expand('%:p')
|
||||
endif
|
||||
" 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
|
||||
|
||||
call Tex_ScanForPackages(fname)
|
||||
call Tex_Debug('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 ':wincmd f' command in vim to let vim
|
||||
" search for the file paths for us. We open up a new file, write down the
|
||||
" name of each package and ask vim to open it for us using the 'gf'
|
||||
" command.
|
||||
"
|
||||
" 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('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(packname.' already scanned', 'pack')
|
||||
let packname = Tex_Strntok(g:Tex_package_detected, ',', i)
|
||||
continue
|
||||
endif
|
||||
|
||||
split
|
||||
|
||||
call Tex_Debug('silent! find '.packname.'.sty', 'pack')
|
||||
let thisbufnum = bufnr('%')
|
||||
exec 'silent! find '.packname.'.sty'
|
||||
call Tex_Debug('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(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('found custom package '.packpath, 'pack')
|
||||
call Tex_ScanForPackages(packpath, line('$'), line('$'))
|
||||
call Tex_Debug('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.
|
||||
silent! do LatexSuite User LatexSuiteScannedPackages
|
||||
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 pwd = getcwd()
|
||||
exe 'cd '.s:path.'/packages'
|
||||
let packname = Tex_ChooseFromPrompt(
|
||||
\ "Choose a package: \n" .
|
||||
\ Tex_CreatePrompt(glob('*'), 3, "\n") .
|
||||
\ "\nEnter number or filename :",
|
||||
\ glob('*'), "\n")
|
||||
exe 'cd '.pwd
|
||||
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 filereadable(s:path.'/packages/'.packname)
|
||||
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(fname, ...)
|
||||
|
||||
let pos = line('.').' | normal! '.virtcol('.').'|'
|
||||
let currfile = expand('%:p')
|
||||
call Tex_Debug('currfile = '.currfile.', a:fname = '.a:fname, 'pack')
|
||||
|
||||
let toquit = 0
|
||||
if a:fname != currfile
|
||||
|
||||
call Tex_Debug('splitting file', 'pack')
|
||||
exe 'split '.a:fname
|
||||
let toquit = 1
|
||||
endif
|
||||
|
||||
" 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('beginline = '.beginline.', endline = '.endline, '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
|
||||
|
||||
" 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'
|
||||
|
||||
call Tex_Debug('finding package on '.line('.'), 'pack')
|
||||
if line('.') > beginline
|
||||
break
|
||||
endif
|
||||
|
||||
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')
|
||||
|
||||
" restore @a
|
||||
let @a = saveA
|
||||
endwhile
|
||||
|
||||
" 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, '^,', '', '')
|
||||
|
||||
" 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('looking for newenvironments in '.bufname('%'), '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
|
||||
|
||||
if toquit
|
||||
q
|
||||
endif
|
||||
|
||||
exe 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)
|
||||
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 pwd = getcwd()
|
||||
exec 'cd '.s:path.'/packages'
|
||||
let suplist = glob("*")
|
||||
exec 'cd '.pwd
|
||||
|
||||
let suplist = substitute(suplist, "\n", ',', 'g').','
|
||||
|
||||
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_bra = '\<+replace+>{<++>}<++>'
|
||||
let s:CommandSpec_brs = '\<+replace+><++>'
|
||||
let s:CommandSpec_brd = '\<+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_nor = '\<+replace+>'
|
||||
let s:CommandSpec_noo = '\<+replace+>[<++>]'
|
||||
let s:CommandSpec_nob = '\<+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') |
|
||||
\ call Tex_pack_updateall(0)
|
||||
augroup END
|
||||
|
||||
" vim:fdm=marker:ts=4:sw=4:noet:ff=unix
|
@ -0,0 +1,310 @@
|
||||
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:
|
@ -0,0 +1,23 @@
|
||||
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:
|
@ -0,0 +1,5 @@
|
||||
let g:TeX_package_option_acromake = ''
|
||||
|
||||
let g:TeX_package_acromake = 'brs:acromake{<++>}{<++>}{<++>}'
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,5 @@
|
||||
let g:TeX_package_option_afterpage = ''
|
||||
|
||||
let g:TeX_package_afterpage = 'bra:afterpage'
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,7 @@
|
||||
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:
|
@ -0,0 +1,101 @@
|
||||
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:
|
@ -0,0 +1,16 @@
|
||||
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:
|
@ -0,0 +1,7 @@
|
||||
let g:TeX_package_option_amsxtra = ''
|
||||
|
||||
let g:TeX_package_amsxtra =
|
||||
\ 'nor:sphat,'
|
||||
\.'nor:sptilde'
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,5 @@
|
||||
let g:TeX_package_option_arabic = ''
|
||||
|
||||
let g:TeX_package_arabic = 'bra:arabicnumeral'
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,12 @@
|
||||
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:
|
@ -0,0 +1,93 @@
|
||||
" 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:
|
@ -0,0 +1,22 @@
|
||||
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:
|
@ -0,0 +1,5 @@
|
||||
let g:TeX_package_option_bm = ''
|
||||
|
||||
let g:TeX_package_bm = 'bra:bm'
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,7 @@
|
||||
let g:TeX_package_option_bophook = ''
|
||||
|
||||
let g:TeX_package_bophook =
|
||||
\ 'bra:AtBeginPage,'
|
||||
\.'bra:PageLayout'
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,5 @@
|
||||
let g:TeX_package_option_boxedminipage = ''
|
||||
|
||||
let g:TeX_package_boxedminipage = 'ens:boxedminipage:[<+pos+>]{<+size+>}'
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,38 @@
|
||||
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:
|
@ -0,0 +1,7 @@
|
||||
let g:TeX_package_option_cases = ''
|
||||
|
||||
let g:TeX_package_cases =
|
||||
\ 'ens:numcases:{<+label+>},'
|
||||
\.'ens:subnumcases:{<+label+>}'
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,15 @@
|
||||
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:
|
@ -0,0 +1,30 @@
|
||||
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:
|
@ -0,0 +1,19 @@
|
||||
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:
|
@ -0,0 +1,27 @@
|
||||
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:
|
@ -0,0 +1,38 @@
|
||||
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:
|
@ -0,0 +1,7 @@
|
||||
let g:TeX_package_option_comma = ''
|
||||
|
||||
let g:TeX_package_comma =
|
||||
\ 'bra:commaform,'
|
||||
\.'bra:commaformtoken'
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,31 @@
|
||||
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:
|
@ -0,0 +1,24 @@
|
||||
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:
|
@ -0,0 +1,7 @@
|
||||
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:
|
@ -0,0 +1,5 @@
|
||||
let g:TeX_package_option_enumerate = ''
|
||||
|
||||
let g:TeX_package_enumerate = 'ens:enumerate:[<+prefix+>]'
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,14 @@
|
||||
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:
|
@ -0,0 +1,7 @@
|
||||
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:
|
@ -0,0 +1,5 @@
|
||||
let g:TeX_package_option_everyshi = ''
|
||||
|
||||
let g:TeX_package_everyshi = 'bra:EveryShipOut'
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,50 @@
|
||||
" 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
|
@ -0,0 +1,5 @@
|
||||
let g:TeX_package_option_flafter = ''
|
||||
|
||||
let g:TeX_package_flafter = 'noo:suppressfloats,noo:suppress'
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,11 @@
|
||||
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:
|
@ -0,0 +1,7 @@
|
||||
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:
|
@ -0,0 +1,5 @@
|
||||
let g:TeX_package_option_fn2end = ''
|
||||
|
||||
let g:TeX_package_fn2end = 'makeendnotes,theendnotes'
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,16 @@
|
||||
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:
|
@ -0,0 +1,88 @@
|
||||
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:
|
@ -0,0 +1,7 @@
|
||||
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:
|
@ -0,0 +1,64 @@
|
||||
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:
|
@ -0,0 +1,5 @@
|
||||
let g:TeX_package_option_graphpap = ''
|
||||
|
||||
let g:TeX_package_graphpap = 'brs:graphpaper[<+step+>](<+x1,y1+>)(<+x2,y2+>)'
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,13 @@
|
||||
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:
|
@ -0,0 +1,16 @@
|
||||
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:
|
@ -0,0 +1,8 @@
|
||||
let g:TeX_package_option_histogram = ''
|
||||
|
||||
let g:TeX_package_histogram =
|
||||
\ 'histogram,'
|
||||
\.'noverticallines,'
|
||||
\.'verticallines'
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,162 @@
|
||||
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:
|
@ -0,0 +1,16 @@
|
||||
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:
|
@ -0,0 +1,24 @@
|
||||
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:
|
@ -0,0 +1,5 @@
|
||||
let g:TeX_package_option_letterspace = ''
|
||||
|
||||
let g:TeX_package_letterspace = 'nor:letterspace'
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,55 @@
|
||||
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:
|
@ -0,0 +1,30 @@
|
||||
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:
|
@ -0,0 +1,5 @@
|
||||
let g:TeX_package_option_lscape = ''
|
||||
|
||||
let g:TeX_package_lscape = 'env:landscape'
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,10 @@
|
||||
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:
|
@ -0,0 +1,23 @@
|
||||
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:
|
@ -0,0 +1,21 @@
|
||||
let g:TeX_package_option_moreverbatim = ''
|
||||
|
||||
let g:TeX_package_moreverbatim =
|
||||
\ 'ens:verbatimwrite:{<++>},'
|
||||
\.'ens:verbatimtab:[<++>],'
|
||||
\.'ens:listing:[<+step+>]{<+number+>},'
|
||||
\.'ens:listing*:[<+step+>]{<+number+>},'
|
||||
\.'env:boxedverbatim,'
|
||||
\.'bra:verbatimtabsize,'
|
||||
\.'bra:listingoffset,'
|
||||
\.'brs:listinginput[<++>]{<++>}{<++>},'
|
||||
\.'brs: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:
|
@ -0,0 +1,5 @@
|
||||
let g:TeX_package_option_multibox = ''
|
||||
|
||||
let g:TeX_package_multibox = 'multimake,multiframe'
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,16 @@
|
||||
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:
|
@ -0,0 +1,21 @@
|
||||
let g:TeX_package_option_newalg = ''
|
||||
|
||||
let g:TeX_package_newalg =
|
||||
\ 'ens:algorithm:{<+name+>}{<++>},'
|
||||
\.'ens:IF:{<+cond+>},'
|
||||
\.'ens:FOR:{<+loop+>},'
|
||||
\.'ens:WHILE:{<+cond+>},'
|
||||
\.'bra:ERROR,'
|
||||
\.'nor:ELSE,'
|
||||
\.'nor:RETURN,'
|
||||
\.'nor:NIL,'
|
||||
\.'nor:TO,'
|
||||
\.'bra:CALL,'
|
||||
\.'bra:text,'
|
||||
\.'env:REPEAT,'
|
||||
\.'env:SWITCH,'
|
||||
\.'nor:=,'
|
||||
\.'bra:item,'
|
||||
\.'nor:algkey'
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,5 @@
|
||||
" For now just define the smart quotes.
|
||||
let b:Tex_SmartQuoteOpen = '"`'
|
||||
let b:Tex_SmartQuoteClose = "\"'"
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,13 @@
|
||||
let g:TeX_package_option_numprint = ''
|
||||
|
||||
let g:TeX_package_numprint =
|
||||
\ 'bra:numprint,'
|
||||
\.'nob:numprint,'
|
||||
\.'bra:thousandsep,'
|
||||
\.'bra:decimalsign,'
|
||||
\.'bra:productsign,'
|
||||
\.'bra:unitseparator,'
|
||||
\.'brd:expnumprint,'
|
||||
\.'global'
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,7 @@
|
||||
let g:TeX_package_option_oldstyle = ''
|
||||
|
||||
let g:TeX_package_oldstyle =
|
||||
\ 'bra:textos,'
|
||||
\.'bra:mathos'
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,14 @@
|
||||
let g:TeX_package_option_outliner = ''
|
||||
|
||||
let g:TeX_package_outliner =
|
||||
\ 'env:Outline,'
|
||||
\.'bra:Level,'
|
||||
\.'bra:SetBaseLevel,'
|
||||
\.'sep:preamble,'
|
||||
\.'bra:OutlinePageBreaks,'
|
||||
\.'bra:OutlinePageBreaks,'
|
||||
\.'bra:OutlineLevelStart,'
|
||||
\.'bra:OutlineLevelCont,'
|
||||
\.'bra:OutlineLevelEnd'
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,29 @@
|
||||
let g:TeX_package_option_overcite =
|
||||
\ 'verbose,'
|
||||
\.'ref,'
|
||||
\.'nospace,'
|
||||
\.'space,'
|
||||
\.'nosort,'
|
||||
\.'sort,'
|
||||
\.'nomove,'
|
||||
\.'noadjust'
|
||||
|
||||
let g:TeX_package_overcite =
|
||||
\ '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:
|
@ -0,0 +1,10 @@
|
||||
let g:TeX_package_option_parallel = ''
|
||||
|
||||
let g:TeX_package_parallel =
|
||||
\ 'env:Parallel,'
|
||||
\.'bra:ParallelLText,'
|
||||
\.'bra:ParallelRText,'
|
||||
\.'nor:ParallelPar,'
|
||||
\.'nor:tolerance'
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,5 @@
|
||||
let g:TeX_package_option_plain = ''
|
||||
|
||||
let g:TeX_package_plain = 'env:plain'
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,11 @@
|
||||
let g:TeX_package_option_plates = 'figures,onefloatperpage,memoir'
|
||||
|
||||
let g:TeX_package_plates =
|
||||
\ 'env:plate,'
|
||||
\.'listofplates,'
|
||||
\.'ProcessPlates,'
|
||||
\.'bra:setplatename,'
|
||||
\.'bra:setplatename,'
|
||||
\.'bra:atBeginPlates'
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,160 @@
|
||||
" Author: Mikolaj Machowski <mikmach@wp.pl>
|
||||
" (c) Copyright by Mikolaj Machowski 2002-2003
|
||||
" License: Vim Charityware
|
||||
" Version: 1.6
|
||||
"
|
||||
" Plik jest w kodowaniu iso-8859-2. Je<4A>li chcesz go uzywac w MS-Windows musisz
|
||||
" go przekonwertowac na cp-1250.
|
||||
"
|
||||
" Plik ten jest cz<63><7A>ci<63> vim-latexSuite, ale:
|
||||
" Nie u<>ywaj<61>cy vim-latexSuite (http://vim-latex.sourceforge.net) mog<6F> wyci<63><69>
|
||||
" oznaczon<6F> cz<63><7A><EFBFBD>. Reszta mo<6D>e by<62> kopiowana jako osobny plik pod warunkiem
|
||||
" niezmieniania tej notki i informacji o prawach autorskich.
|
||||
"
|
||||
" This file is in iso-8859-2 encoding. If you want to use it in MS-Windows you
|
||||
" have to convert it to cp-1250.
|
||||
"
|
||||
" This file is part of vim-latexSuite but:
|
||||
" Those who do not use vim-latexSuite (http://vim-latex.sourceforge.net) can
|
||||
" cut off marked part. Rest of the file can be copied as separate file under
|
||||
" condition of leaving this notice and information about copyrights unchanged.
|
||||
|
||||
" --------8<-------------
|
||||
" Czesc odpowiedzialna za menu
|
||||
let g:TeX_package_option_polski =
|
||||
\'OT1,OT4,T1,QX,plmath,nomathsymbols,MeX,prefixingverb,noprefixingverb'
|
||||
let g:TeX_package_polski =
|
||||
\'sbr:Dywiz&Ska,'.
|
||||
\'nor:dywiz,'.
|
||||
\'nor:ppauza,'.
|
||||
\'nor:pauza,'.
|
||||
\'nor:prefixing,'.
|
||||
\'nor:nonprefixing,'.
|
||||
\'nor:PLdateending,'.
|
||||
\'sbr:Matematyka,'.
|
||||
\'nor:arccos,'.
|
||||
\'nor:arcctan,'.
|
||||
\'nor:arcsin,'.
|
||||
\'nor:arctan,'.
|
||||
\'nor:cot,'.
|
||||
\'nor:ctanh,'.
|
||||
\'nor:tan,'.
|
||||
\'nor:tanh,'.
|
||||
\'bra:arc,'.
|
||||
\'nor:ctg,'.
|
||||
\'nor:ctgh,'.
|
||||
\'nor:tg,'.
|
||||
\'nor:tgh,'.
|
||||
\'nor:nwd'
|
||||
|
||||
" To wymaga calego pakietu vim-latexSuite - zakomentuj lub wytnij je<6A>li nie
|
||||
" u<>ywasz (albo go <20>ci<63>gnij z http://vim-latex.sf.net)
|
||||
function! TPackagePolskiTylda()
|
||||
call IMAP (" ---", "~---", "tex")
|
||||
endfunction
|
||||
call TPackagePolskiTylda()
|
||||
" --------8<-------------
|
||||
|
||||
" Polskie znaki cudzyslowow
|
||||
TexLet g:Tex_SmartQuoteOpen = ",,"
|
||||
TexLet g:Tex_SmartQuoteClose = "''"
|
||||
|
||||
" Zmodyfikowana i rozwinieta funkcja Andrzeja Ostruszki
|
||||
" Z dodatkiem od Benjiego Fishera (sprawdzanie sk<73>adni)
|
||||
"
|
||||
" Spacja
|
||||
inoremap <buffer> <silent> <Space> <C-R>=<SID>Tex_polish_space()<CR>
|
||||
inoremap <buffer> <silent> <CR> <C-R>=<SID>Tex_polish_space()<CR><BS><CR>
|
||||
|
||||
" Wymuszenie tyldy
|
||||
inoremap <buffer> <silent> <S-Space> ~
|
||||
|
||||
" Wymuszenie zwyklej spacji
|
||||
inoremap <buffer> <silent> <C-Space> <Space>
|
||||
|
||||
" Latwe przelaczanie sie miedzy magiczna spacja a zwykla
|
||||
inoremap <buffer> <silent> <F8> <C-R>=<SID>TogglePolishSpace()<CR>
|
||||
|
||||
function! s:TogglePolishSpace()
|
||||
if !exists("b:polishspace")
|
||||
iunmap <buffer> <Space>
|
||||
iunmap <buffer> <CR>
|
||||
let b:polishspace = 1
|
||||
return ''
|
||||
else
|
||||
inoremap <buffer> <silent> <Space> <C-R>=<SID>Tex_polish_space()<CR>
|
||||
inoremap <buffer> <silent> <CR> <C-R>=<SID>Tex_polish_space()<CR><BS><CR>
|
||||
unlet b:polishspace
|
||||
return ''
|
||||
endif
|
||||
endfunction
|
||||
|
||||
|
||||
function! s:Tex_polish_space()
|
||||
"Nic magicznego w matematyce
|
||||
if synIDattr(synID(line('.'),col('.')-1,0),"name") =~ '^texMath\|^texZone\^texRefZone'
|
||||
return ' '
|
||||
else
|
||||
let s:col = col('.')
|
||||
let s:linelength = strlen(getline('.')) + 1
|
||||
" Wstaw tylde po spojnikach
|
||||
if strpart(getline('.'), col('.') - 3, 2) =~? '^[[:space:]~(\[{]\?[aiouwz]$'
|
||||
return '~'
|
||||
" Wstaw tylde po inicjalach - konkretnie po pojedynczych wielkich
|
||||
" literach i kropce. Obs<62>uguje poprawnie wiekszosc sytuacji.
|
||||
elseif strpart(getline('.'), col('.') - 4, 3) =~? '^[[:space:]~(\[{]\?\u\.$'
|
||||
return '~'
|
||||
" Wstaw tylde po tytulach, skrotach bibliograficznych, podpisach
|
||||
elseif strpart(getline('.'), col('.') - 9, 8) =~? '\(\s\|^\|\~\)\(str\.\|ryc\.\|rys\.\|tab\.\|art\.\|vol\.\|nr\|tabl\.\|rozdz\.\|ss\.\|s\.\|t\.\|z\.\|sir\|prof\.\|hab\.\|red\.\|min\.\|gen\.\|kpt\.\|przew\.\|p<>k\|mjr\|mgr\|bp\|ks\.\|o\+\.\|<7C>w\.\|dr\)$'
|
||||
return '~'
|
||||
" Wstaw tylde miedzy rokiem, wiekiem, a odpowiednim skrotem
|
||||
elseif strpart(getline('.'), col('.') - 8, 7) =~? '[0-9IVXLCM]\s\+\(r\|w\)\.[^a-z<><7A><EFBFBD><EFBFBD><EFBFBD>]\{-}$'
|
||||
s/[0-9IVXLCM]\zs\s\+\ze\(w\|r\)\.[^a-z<><7A><EFBFBD><EFBFBD><EFBFBD>]\{-}\%#/\~/ei
|
||||
exe 'normal '.s:col.'|'
|
||||
if s:col == s:linelength
|
||||
startinsert!
|
||||
else
|
||||
startinsert
|
||||
endif
|
||||
return ' '
|
||||
" Wstaw tylde miedzy liczba a miara, itd.
|
||||
elseif strpart(getline('.'), col('.') - 10, 9) =~? '\(\d\|mln\|mld\|tys\.\)\s\+\(z<>\|gr\|ha\|t\|mies\|godz\|min\|sek\|cm\|km\|mln\|mld\|tys\.\)[^a-z<><7A><EFBFBD><EFBFBD><EFBFBD>]\{-}$'
|
||||
s/\(\d\|mln\|mld\|tys\.\)\zs\s\+\ze\(z<>\|gr\|ha\|m\|t\|mies\|godz\|min\|sek\|cm\|km\|mln\|mld\|tys\.\)[^a-z<><7A><EFBFBD><EFBFBD><EFBFBD>]\{-}\%#/\~/ei
|
||||
exe 'normal '.s:col.'|'
|
||||
if s:col == s:linelength
|
||||
startinsert!
|
||||
else
|
||||
startinsert
|
||||
endif
|
||||
return ' '
|
||||
" Rozwin myslnik w zbitkach w '\dywiz ':
|
||||
" bialo-czerwony -> bialo\dywiz czerwony
|
||||
elseif strpart(getline('.'), col('.') - 20, 19) =~? '[a-z<><7A><EFBFBD><EFBFBD><EFBFBD>]-[a-z<><7A><EFBFBD><EFBFBD><EFBFBD>]\{-}[^a-z<><7A><EFBFBD><EFBFBD><EFBFBD>]\{-}$'
|
||||
s/[a-z<><7A><EFBFBD><EFBFBD><EFBFBD>]\zs-\ze[a-z<><7A><EFBFBD><EFBFBD><EFBFBD>]\{-}[^a-z<><7A><EFBFBD><EFBFBD><EFBFBD>]\{-}\%#/\\dywiz /ei
|
||||
let colb = s:col + 6
|
||||
exe 'normal '.colb.'|'
|
||||
if s:col == s:linelength
|
||||
startinsert!
|
||||
else
|
||||
startinsert
|
||||
endif
|
||||
return ' '
|
||||
" Rozwin '--' miedzy liczbami w '\ppauza ':
|
||||
" 39--45 -> 39\ppauza 45
|
||||
elseif strpart(getline('.'), col('.') - 10, 9) =~? '[0-9IVXLCM]--[0-9IVXLCM]\{-}[^0-9IVXLCM]\{-}$'
|
||||
s/[0-9IVXLCM]\zs--\ze[0-9IVXLCM]\{-}[^0-9IVXLCM]\{-}\%#/\\ppauza /ei
|
||||
let colb = s:col + 6
|
||||
exe 'normal '.colb.'|'
|
||||
if s:col == s:linelength
|
||||
startinsert!
|
||||
else
|
||||
startinsert
|
||||
endif
|
||||
return ' '
|
||||
endif
|
||||
" Tu koncz komentowanie ostatniej sekcji
|
||||
endif
|
||||
return " "
|
||||
endfunction
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,22 @@
|
||||
let g:TeX_package_option_psgo = ''
|
||||
|
||||
let g:TeX_package_psgo =
|
||||
\ 'env:psgogoard,'
|
||||
\.'env:psgoboard*,'
|
||||
\.'brs:stone{<+color+>}{<+letter+>}{<+number+>},'
|
||||
\.'brs:stone[<+marker+>]{<+color+>}{<+letter+>}{<+number+>},'
|
||||
\.'brs:move{<+letter+>}{<+number+>},'
|
||||
\.'brs:move*{<+letter+>}{<+number+>},'
|
||||
\.'brs:goline{<+letter1+>}{<+number1+>}{<+letter2+>}{<+number2+>},'
|
||||
\.'brs:goarrow{<+letter1+>}{<+number1+>}{<+letter2+>}{<+number2+>},'
|
||||
\.'sbr:Markers,'
|
||||
\.'brs:markpos{<+marker+>}{<+letter+>}{<+number+>},'
|
||||
\.'markma,'
|
||||
\.'marktr,'
|
||||
\.'markcr,'
|
||||
\.'marksq,'
|
||||
\.'bra:marklb,'
|
||||
\.'marksl,'
|
||||
\.'markdd'
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,15 @@
|
||||
let g:TeX_package_option_schedule = ''
|
||||
|
||||
let g:TeX_package_schedule =
|
||||
\ 'ens:schedule:[<+title+>],'
|
||||
\.'bra:CellHeight,'
|
||||
\.'bra:CellWidth,'
|
||||
\.'bra:TimeRange,'
|
||||
\.'bra:SubUnits,'
|
||||
\.'bra:BeginOn,'
|
||||
\.'bra:TextSize,'
|
||||
\.'nor:FiveDay,'
|
||||
\.'nor:SevenDay,'
|
||||
\.'brs:NewAppointment{<+name+>}{<+bg+>}{<+fg+>}'
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,7 @@
|
||||
let g:TeX_package_option_textfit = ''
|
||||
|
||||
let g:TeX_package_textfit =
|
||||
\ 'brd:scaletowidth,'
|
||||
\.'brd:scaletoheight'
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,5 @@
|
||||
let g:TeX_package_option_times = ''
|
||||
|
||||
let g:TeX_package_times = ''
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,359 @@
|
||||
let g:TeX_package_option_tipa =
|
||||
\ 'T1,'
|
||||
\.'noenc,'
|
||||
\.'tone,'
|
||||
\.'extra,'
|
||||
\.'safe'
|
||||
|
||||
let g:TeX_package_tipa =
|
||||
\ 'sbr:Common,'
|
||||
\.'bra:textipa,'
|
||||
\.'env:IPA,'
|
||||
\.'tipaencoding,'
|
||||
\.'bra:super,'
|
||||
\.'nor:ipabar,'
|
||||
\.'brd:tipalowaraccent,'
|
||||
\.'brd:tipaupperaccent,'
|
||||
\.'brd:tipaLowaraccent,'
|
||||
\.'brd:tipaUpperaccent,'
|
||||
\.'brd:ipaclap,'
|
||||
\.'sbr:VowelsandConsonants,'
|
||||
\.'nor:textturna,'
|
||||
\.'nor:textrhooka,'
|
||||
\.'nor:textlhookfour,'
|
||||
\.'nor:textscripta,'
|
||||
\.'nor:textturnscripta,'
|
||||
\.'nor:textinvscripta,'
|
||||
\.'ae,'
|
||||
\.'nor:textaolig,'
|
||||
\.'nor:textsca,'
|
||||
\.'nor:textinvsca,'
|
||||
\.'nor:textscaolig,'
|
||||
\.'nor:textturnv,'
|
||||
\.'nor:textsoftsign,'
|
||||
\.'nor:texthardsign,'
|
||||
\.'nor:texthtb,'
|
||||
\.'nor:textscb,'
|
||||
\.'nor:textcrb,'
|
||||
\.'nor:textbarb,'
|
||||
\.'nor:textbeta,'
|
||||
\.'nor:textbarc,'
|
||||
\.'nor:texthtc,'
|
||||
\.'bra:v,'
|
||||
\.'bra:c,'
|
||||
\.'nor:textctc,'
|
||||
\.'nor:textstretchc,'
|
||||
\.'nor:textstretchcvar,'
|
||||
\.'nor:textctstretchc,'
|
||||
\.'nor:textctstretchcvar,'
|
||||
\.'nor:textcrd,'
|
||||
\.'nor:textbard,'
|
||||
\.'nor:texthtd,'
|
||||
\.'nor:textrtaild,'
|
||||
\.'nor:texthtrtaild,'
|
||||
\.'nor:textctd,'
|
||||
\.'nor:textfrhookd,'
|
||||
\.'nor:textfrhookdvar,'
|
||||
\.'nor:textdblig,'
|
||||
\.'nor:textdzlig,'
|
||||
\.'nor:textdctzlig,'
|
||||
\.'nor:textdyoghlig,'
|
||||
\.'nor:textctdctzlig,'
|
||||
\.'nor:textscdelta,'
|
||||
\.'nor:dh,'
|
||||
\.'nor:textrhooke,'
|
||||
\.'nor:textschwa,'
|
||||
\.'nor:textrhookschwa,'
|
||||
\.'nor:textreve,'
|
||||
\.'nor:textsce,'
|
||||
\.'nor:textepsilon,'
|
||||
\.'nor:textrhookepsilon,'
|
||||
\.'nor:textcloseepsilon,'
|
||||
\.'nor:textrevepsilon,'
|
||||
\.'nor:textrhookrevepsilon,'
|
||||
\.'nor:textcloserevepsilon,'
|
||||
\.'nor:textscf,'
|
||||
\.'nor:textscriptg,'
|
||||
\.'nor:textbarg,'
|
||||
\.'nor:textcrg,'
|
||||
\.'nor:texthtg,'
|
||||
\.'nor:textg,'
|
||||
\.'nor:textscg,'
|
||||
\.'nor:texthtscg,'
|
||||
\.'nor:textgamma,'
|
||||
\.'nor:textgrgamma,'
|
||||
\.'nor:textfrtailgamma,'
|
||||
\.'nor:textbktailgamma,'
|
||||
\.'nor:textbabygamma,'
|
||||
\.'nor:textramshorns,'
|
||||
\.'nor:texthvlig,'
|
||||
\.'nor:textcrh,'
|
||||
\.'nor:texthth,'
|
||||
\.'nor:textrtailhth,'
|
||||
\.'nor:textheng,'
|
||||
\.'nor:texththeng,'
|
||||
\.'nor:textturnh,'
|
||||
\.'nor:textsch,'
|
||||
\.'nor:i,'
|
||||
\.'nor:textbari,'
|
||||
\.'nor:textiota,'
|
||||
\.'nor:textlhti,'
|
||||
\.'nor:textlhtlongi,'
|
||||
\.'nor:textvibyi,'
|
||||
\.'nor:textraisevibyi,'
|
||||
\.'nor:textsci,'
|
||||
\.'nor:j,'
|
||||
\.'nor:textctj,'
|
||||
\.'nor:textctjvar,'
|
||||
\.'nor:textscj,'
|
||||
\.'bra:v,'
|
||||
\.'nor:textbardotlessj,'
|
||||
\.'nor:textObardotlessj,'
|
||||
\.'nor:texthtbardotlessj,'
|
||||
\.'nor:texthtbardotlessjvar,'
|
||||
\.'nor:texthtk,'
|
||||
\.'nor:textturnk,'
|
||||
\.'nor:textsck,'
|
||||
\.'nor:textturnsck,'
|
||||
\.'nor:textltilde,'
|
||||
\.'nor:textbarl,'
|
||||
\.'nor:textbeltl,'
|
||||
\.'nor:textrtaill,'
|
||||
\.'nor:textlyoghlig,'
|
||||
\.'nor:textOlyoghlig,'
|
||||
\.'nor:textscl,'
|
||||
\.'nor:textrevscl,'
|
||||
\.'nor:textlambda,'
|
||||
\.'nor:textcrlambda,'
|
||||
\.'nor:textltailm,'
|
||||
\.'nor:textturnm,'
|
||||
\.'nor:textturnmrleg,'
|
||||
\.'nor:texthmlig,'
|
||||
\.'nor:textscm,'
|
||||
\.'nor:textnrleg,'
|
||||
\.'~,'
|
||||
\.'nor:textltailn,'
|
||||
\.'nor:textfrbarn,'
|
||||
\.'nor:ng,'
|
||||
\.'nor:textrtailn,'
|
||||
\.'nor:textctn,'
|
||||
\.'nor:textnrleg,'
|
||||
\.'nor:textscn,'
|
||||
\.'nor:textbullseye,'
|
||||
\.'nor:textObullseye,'
|
||||
\.'nor:textbaro,'
|
||||
\.'nor:o,'
|
||||
\.'nor:textfemale,'
|
||||
\.'nor:textuncrfemale,'
|
||||
\.'nor:oe,'
|
||||
\.'nor:textscoelig,'
|
||||
\.'nor:textopeno,'
|
||||
\.'nor:textrhookopeno,'
|
||||
\.'nor:textturncelig,'
|
||||
\.'nor:textomega,'
|
||||
\.'nor:textinvomega,'
|
||||
\.'nor:textscomega,'
|
||||
\.'nor:textcloseomega,'
|
||||
\.'nor:textlhookp,'
|
||||
\.'nor:textscp,'
|
||||
\.'nor:textwynn,'
|
||||
\.'nor:textthorn,'
|
||||
\.'nor:textthornvari,'
|
||||
\.'nor:textthornvarii,'
|
||||
\.'nor:textthornvariii,'
|
||||
\.'nor:textthornvariv,'
|
||||
\.'nor:texthtp,'
|
||||
\.'nor:textphi,'
|
||||
\.'nor:texthtq,'
|
||||
\.'nor:textqplig,'
|
||||
\.'nor:textscq,'
|
||||
\.'nor:textfishhookr,'
|
||||
\.'nor:textlonglegr,'
|
||||
\.'nor:textrtailr,'
|
||||
\.'nor:textturnr,'
|
||||
\.'nor:textturnrrtail,'
|
||||
\.'nor:textturnlonglegr,'
|
||||
\.'nor:textscr,'
|
||||
\.'nor:textinvscr,'
|
||||
\.'nor:textrevscr,'
|
||||
\.'bra:v,'
|
||||
\.'nor:textrtails,'
|
||||
\.'nor:textesh,'
|
||||
\.'nor:textdoublebaresh,'
|
||||
\.'nor:textctesh,'
|
||||
\.'nor:textlooptoprevesh,'
|
||||
\.'nor:texthtt,'
|
||||
\.'nor:textlhookt,'
|
||||
\.'nor:textrtailt,'
|
||||
\.'nor:textfrhookt,'
|
||||
\.'nor:textctturnt,'
|
||||
\.'nor:texttctclig,'
|
||||
\.'nor:texttslig,'
|
||||
\.'nor:textteshlig,'
|
||||
\.'nor:textturnt,'
|
||||
\.'nor:textctt,'
|
||||
\.'nor:textcttctclig,'
|
||||
\.'nor:texttheta,'
|
||||
\.'nor:textbaru,'
|
||||
\.'nor:textupsilon,'
|
||||
\.'nor:textscu,'
|
||||
\.'nor:textturnscu,'
|
||||
\.'nor:textscriptv,'
|
||||
\.'nor:textturnw,'
|
||||
\.'nor:textchi,'
|
||||
\.'nor:textturny,'
|
||||
\.'nor:textscy,'
|
||||
\.'nor:textlhtlongy,'
|
||||
\.'nor:textvibyy,'
|
||||
\.'nor:textcommatailz,'
|
||||
\.'bra:v,'
|
||||
\.'nor:textctz,'
|
||||
\.'nor:textrtailz,'
|
||||
\.'nor:textcrtwo,'
|
||||
\.'nor:textturntwo,'
|
||||
\.'nor:textyogh,'
|
||||
\.'nor:textbenttailyogh,'
|
||||
\.'nor:textrevyogh,'
|
||||
\.'nor:textctyogh,'
|
||||
\.'nor:textturnthree,'
|
||||
\.'nor:textglotstop,'
|
||||
\.'nor:textraiseglotstop,'
|
||||
\.'nor:textbarglotstop,'
|
||||
\.'nor:textinvglotstop,'
|
||||
\.'nor:textcrinvglotstop,'
|
||||
\.'nor:textctinvglotstop,'
|
||||
\.'nor:textrevglotstop,'
|
||||
\.'nor:textturnglotstop,'
|
||||
\.'nor:textbarrevglotstop,'
|
||||
\.'nor:textpipe,'
|
||||
\.'nor:textpipevar,'
|
||||
\.'nor:textdoublebarpipe,'
|
||||
\.'nor:textdoublebarpipevar,'
|
||||
\.'nor:textdoublepipevar,'
|
||||
\.'nor:textdoublepipe,'
|
||||
\.'nor:textdoublebarslash,'
|
||||
\.'sbr:Suprasegmentals,'
|
||||
\.'nor:textprimstress,'
|
||||
\.'nor:textsecstress,'
|
||||
\.'nor:textlengthmark,'
|
||||
\.'nor:texthalflength,'
|
||||
\.'nor:textvertline,'
|
||||
\.'nor:textdoublevertline,'
|
||||
\.'bra:textbottomtiebar,'
|
||||
\.'nor:textdownstep,'
|
||||
\.'nor:textupstep,'
|
||||
\.'nor:textglobfall,'
|
||||
\.'nor:textglobrise,'
|
||||
\.'nor:textspleftarrow,'
|
||||
\.'nor:textdownfullarrow,'
|
||||
\.'nor:textupfullarrow,'
|
||||
\.'nor:textsubrightarrow,'
|
||||
\.'nor:textsubdoublearrow,'
|
||||
\.'sbr:AccentsandDiacritics,'
|
||||
\.'`,'
|
||||
\."',"
|
||||
\.'^,'
|
||||
\.'~,'
|
||||
\.'",'
|
||||
\.'bra:H,'
|
||||
\.'bra:r,'
|
||||
\.'bra:v,'
|
||||
\.'bra:u,'
|
||||
\.'=,'
|
||||
\.'.,'
|
||||
\.'bra:c,'
|
||||
\.'bra:textpolhook,'
|
||||
\.'nor:textrevpolhook{o,'
|
||||
\.'bra:textdoublegrave,'
|
||||
\.'bra:textsubgrave,'
|
||||
\.'bra:textsubacute,'
|
||||
\.'bra:textsubcircum,'
|
||||
\.'bra:textroundcap,'
|
||||
\.'bra:textacutemacron,'
|
||||
\.'bra:textgravemacron,'
|
||||
\.'bra:textvbaraccent,'
|
||||
\.'bra:textdoublevbaraccent,'
|
||||
\.'bra:textgravedot,'
|
||||
\.'bra:textdotacute,'
|
||||
\.'bra:textcircumdot,'
|
||||
\.'bra:texttildedot,'
|
||||
\.'bra:textbrevemacron,'
|
||||
\.'bra:textringmacron,'
|
||||
\.'bra:textacutewedge,'
|
||||
\.'bra:textdotbreve,'
|
||||
\.'bra:textsubbridge,'
|
||||
\.'bra:textinvsubbridge,'
|
||||
\.'sbr:SubscriptSquare,'
|
||||
\.'bra:textsubrhalfring,'
|
||||
\.'bra:textsublhalfring,'
|
||||
\.'bra:textsubw,'
|
||||
\.'bra:textoverw,'
|
||||
\.'bra:textseagull,'
|
||||
\.'bra:textovercross,'
|
||||
\.'bra:textsubplus,'
|
||||
\.'bra:textraising,'
|
||||
\.'bra:textlowering,'
|
||||
\.'bra:textadvancing,'
|
||||
\.'bra:textretracting,'
|
||||
\.'bra:textsubtilde,'
|
||||
\.'bra:textsubumlaut,'
|
||||
\.'bra:textsubring,'
|
||||
\.'bra:textsubwedge,'
|
||||
\.'bra:textsubbar,'
|
||||
\.'bra:textsubdot,'
|
||||
\.'bra:textsubarch,'
|
||||
\.'bra:textsyllabic,'
|
||||
\.'bra:textsuperimposetilde,'
|
||||
\.'nor:textcorner,'
|
||||
\.'nor:textopencorner,'
|
||||
\.'nor:textrhoticity,'
|
||||
\.'nor:textceltpal,'
|
||||
\.'nor:textlptr,'
|
||||
\.'nor:textrptr,'
|
||||
\.'nor:textrectangle,'
|
||||
\.'nor:textretractingvar,'
|
||||
\.'bra:texttoptiebar,'
|
||||
\.'nor:textrevapostrophe,'
|
||||
\.'nor:texthooktop,'
|
||||
\.'nor:textrthook,'
|
||||
\.'nor:textrthooklong,'
|
||||
\.'nor:textpalhook,'
|
||||
\.'nor:textpalhooklong,'
|
||||
\.'nor:textpalhookvar,'
|
||||
\.'bra:textsuperscript,'
|
||||
\.'sbr:ToneLetters,'
|
||||
\.'bra:tone,'
|
||||
\.'bra:stone,'
|
||||
\.'bra:rtone,'
|
||||
\.'nor:tone{55},'
|
||||
\.'nor:tone{44},'
|
||||
\.'nor:tone{33},'
|
||||
\.'nor:tone{22},'
|
||||
\.'nor:tone{11},'
|
||||
\.'nor:tone{51},'
|
||||
\.'nor:tone{15},'
|
||||
\.'nor:tone{45},'
|
||||
\.'nor:tone{12},'
|
||||
\.'nor:tone{454},'
|
||||
\.'sbr:DiacriticsExtIPA,'
|
||||
\.'bra:spreadlips,'
|
||||
\.'bra:overbridge,'
|
||||
\.'bra:bibridge,'
|
||||
\.'bra:subdoublebar,'
|
||||
\.'bra:subdoublevert,'
|
||||
\.'bra:subcorner,'
|
||||
\.'bra:whistle,'
|
||||
\.'bra:sliding,'
|
||||
\.'bra:crtilde,'
|
||||
\.'bra:dottedtilde,'
|
||||
\.'bra:doubletilde,'
|
||||
\.'bra:partvoiceless,'
|
||||
\.'bra:inipartvoiceless,'
|
||||
\.'bra:finpartvoiceless,'
|
||||
\.'bra:partvoice,'
|
||||
\.'bra:inipartvoice,'
|
||||
\.'bra:finpartvoice,'
|
||||
\.'bra:sublptr,'
|
||||
\.'bra:subrptr'
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,16 @@
|
||||
let g:TeX_package_option_ulem =
|
||||
\ 'normalem,'
|
||||
\.'ULforem,'
|
||||
\.'normalbf,'
|
||||
\.'UWforbf'
|
||||
|
||||
let g:TeX_package_ulem =
|
||||
\ 'bra:uwave,'
|
||||
\.'bra:uline,'
|
||||
\.'bra:uuline,'
|
||||
\.'bra:sout,'
|
||||
\.'bra:xout,'
|
||||
\.'ULthickness,'
|
||||
\.'ULdepth'
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,16 @@
|
||||
let g:TeX_package_option_url =
|
||||
\ 'hyphens,'
|
||||
\.'obeyspaces,'
|
||||
\.'spaces,'
|
||||
\.'T1'
|
||||
|
||||
let g:TeX_package_url =
|
||||
\ 'bra:urlstyle,'
|
||||
\.'bra:url,'
|
||||
\.'bra:path,'
|
||||
\.'bra:urldef'
|
||||
|
||||
syn region texZone start="\\url\z([^ \ta-zA-Z]\)" end="\z1\|%stopzone\>"
|
||||
syn region texZone start="\\path\z([^ \ta-zA-Z]\)" end="\z1\|%stopzone\>"
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,13 @@
|
||||
let g:TeX_package_option_verbatim = ''
|
||||
|
||||
let g:TeX_package_verbatim =
|
||||
\ 'env:comment,'
|
||||
\.'env:verbatim,'
|
||||
\.'env:verbatim*,'
|
||||
\.'bra:verbatiminput,'
|
||||
\.'bra:verbatiminput'
|
||||
|
||||
syn region texZone start="\\begin{comment}" end="\\end{comment}\|%stopzone\>" fold
|
||||
syn region texZone start="\\begin{verbatim}" end="\\end{verbatim}\|%stopzone\>" fold
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,7 @@
|
||||
let g:TeX_package_option_version = ''
|
||||
|
||||
let g:TeX_package_version =
|
||||
\ 'bra:includeversion,'
|
||||
\.'bra:excludeversion'
|
||||
|
||||
" vim:ft=vim:ff=unix:
|
@ -0,0 +1,11 @@
|
||||
" Project name
|
||||
" let g:projName = ''
|
||||
"
|
||||
" Project files
|
||||
" let g:projFiles = ''
|
||||
|
||||
|
||||
" Vim settings/maps/abbrs specific for this project
|
||||
|
||||
" Modeline for this file
|
||||
" vim:fdm=marker:ff=unix:noet:ts=4:sw=4:ft=vim
|
@ -0,0 +1,119 @@
|
||||
"=============================================================================
|
||||
" File: templates.vim
|
||||
" Author: Gergely Kontra
|
||||
" (minor modifications by Srinath Avadhanula)
|
||||
" Version: 1.0
|
||||
" Created: Tue Apr 23 05:00 PM 2002 PST
|
||||
"
|
||||
" Description: functions for handling templates in latex-suite/templates
|
||||
" directory.
|
||||
"=============================================================================
|
||||
|
||||
let s:path = expand("<sfile>:p:h")
|
||||
|
||||
" SetTemplateMenu: sets up the menu for templates {{{
|
||||
function! <SID>SetTemplateMenu()
|
||||
let flist = glob(s:path."/templates/*")
|
||||
let i = 1
|
||||
while 1
|
||||
let fname = Tex_Strntok(flist, "\n", i)
|
||||
if fname == ''
|
||||
break
|
||||
endif
|
||||
let fnameshort = fnamemodify(fname, ':p:t:r')
|
||||
if fnameshort == ''
|
||||
let i = i + 1
|
||||
continue
|
||||
endif
|
||||
exe "amenu ".g:Tex_TemplatesMenuLocation."&".i.":<Tab>".fnameshort." ".
|
||||
\":call <SID>ReadTemplate('".fnameshort."')<CR>".
|
||||
\":call <SID>ProcessTemplate()<CR>:0<CR>".
|
||||
\"i<C-r>=IMAP_Jumpfunc('', 1)<CR>"
|
||||
let i = i + 1
|
||||
endwhile
|
||||
endfunction
|
||||
|
||||
if g:Tex_Menus
|
||||
call <SID>SetTemplateMenu()
|
||||
endif
|
||||
|
||||
" }}}
|
||||
" ReadTemplate: reads in the template file from the template directory. {{{
|
||||
function! <SID>ReadTemplate(...)
|
||||
if a:0 > 0
|
||||
let filename = a:1.'.*'
|
||||
else
|
||||
let pwd = getcwd()
|
||||
exe 'cd '.s:path.'/templates'
|
||||
let filename =
|
||||
\ Tex_ChooseFromPrompt("Choose a template file:\n" .
|
||||
\ Tex_CreatePrompt(glob('*'), 2, "\n") .
|
||||
\ "\nEnter number or name of file :",
|
||||
\ glob('*'), "\n")
|
||||
exe 'cd '.pwd
|
||||
endif
|
||||
|
||||
let fname = glob(s:path."/templates/".filename)
|
||||
silent! exe "0read ".fname
|
||||
" The first line of the file contains the specifications of what the
|
||||
" placeholder characters and the other special characters are.
|
||||
let pattern = '\v(\S+)\t(\S+)\t(\S+)\t(\S+)'
|
||||
|
||||
let s:phsTemp = substitute(getline(1), pattern, '\1', '')
|
||||
let s:pheTemp = substitute(getline(1), pattern, '\2', '')
|
||||
let s:exeTemp = substitute(getline(1), pattern, '\3', '')
|
||||
let s:comTemp = substitute(getline(1), pattern, '\4', '')
|
||||
|
||||
call Tex_Debug('phs = '.s:phsTemp.', phe = '.s:pheTemp.', exe = '.s:exeTemp.', com = '.s:comTemp)
|
||||
|
||||
" delete the first line into ze blackhole.
|
||||
0 d _
|
||||
|
||||
call Tex_pack_updateall(1)
|
||||
endfunction
|
||||
|
||||
" }}}
|
||||
" ProcessTemplate: processes the special characters in template file. {{{
|
||||
" This implementation follows from Gergely Kontra's
|
||||
" mu-template.vim
|
||||
" http://vim.sourceforge.net/scripts/script.php?script_id=222
|
||||
function! <SID>ProcessTemplate()
|
||||
if exists('s:phsTemp') && s:phsTemp != ''
|
||||
|
||||
exec 'silent! %s/^'.s:comTemp.'\(\_.\{-}\)'.s:comTemp.'$/\=<SID>Compute(submatch(1))/ge'
|
||||
exec 'silent! %s/'.s:exeTemp.'\(.\{-}\)'.s:exeTemp.'/\=<SID>Exec(submatch(1))/ge'
|
||||
exec 'silent! g/'.s:comTemp.s:comTemp.'/d'
|
||||
|
||||
let phsUser = IMAP_GetPlaceHolderStart()
|
||||
let pheUser = IMAP_GetPlaceHolderEnd()
|
||||
|
||||
exec 'silent! %s/'.s:phsTemp.'\(.\{-}\)'.s:pheTemp.'/'.phsUser.'\1'.pheUser.'/ge'
|
||||
|
||||
" A function only puts one item into the search history...
|
||||
call Tex_CleanSearchHistory()
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! <SID>Exec(what)
|
||||
exec 'return '.a:what
|
||||
endfunction
|
||||
|
||||
" Back-Door to trojans !!!
|
||||
function! <SID>Compute(what)
|
||||
exe a:what
|
||||
if exists('s:comTemp')
|
||||
return s:comTemp.s:comTemp
|
||||
else
|
||||
return ''
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" }}}
|
||||
|
||||
com! -nargs=? TTemplate :call <SID>ReadTemplate(<f-args>)
|
||||
\| :call <SID>ProcessTemplate()
|
||||
\| :0
|
||||
\| :exec "normal! i\<C-r>=IMAP_Jumpfunc('', 1)\<CR>"
|
||||
\| :startinsert
|
||||
|
||||
" vim:fdm=marker:ff=unix:noet:ts=4:sw=4
|
@ -0,0 +1,146 @@
|
||||
<+ +> !comp! !exe!
|
||||
%% Based on <bare_jrnl.tex> in the ieee package available from CTAN,
|
||||
%% I have changed the options so that most useful ones are clubbed together,
|
||||
%% Have a look at <bare_jrnl.tex> to understand the function of each package.
|
||||
|
||||
%% This code is offered as-is - no warranty - user assumes all risk.
|
||||
%% Free to use, distribute and modify.
|
||||
|
||||
% *** Authors should verify (and, if needed, correct) their LaTeX system ***
|
||||
% *** with the testflow diagnostic prior to trusting their LaTeX platform ***
|
||||
% *** with production work. IEEE's font choices can trigger bugs that do ***
|
||||
% *** not appear when using other class files. ***
|
||||
% Testflow can be obtained at:
|
||||
% http://www.ctan.org/tex-archive/macros/latex/contrib/supported/IEEEtran/testflow
|
||||
|
||||
% File: !comp!expand("%:p:t")!comp!
|
||||
% Created: !comp!strftime("%a %b %d %I:00 %p %Y ").substitute(strftime('%Z'), '\<\(\w\)\(\w*\)\>\(\W\|$\)', '\1', 'g')!comp!
|
||||
% Last Change: !comp!strftime("%a %b %d %I:00 %p %Y ").substitute(strftime('%Z'), '\<\(\w\)\(\w*\)\>\(\W\|$\)', '\1', 'g')!comp!
|
||||
%
|
||||
\documentclass[journal]{IEEEtran}
|
||||
\begin{document}
|
||||
|
||||
|
||||
\usepackage{cite, graphicx, subfigure, amsmath}
|
||||
\interdisplaylinepenalty=2500
|
||||
|
||||
% *** Do not adjust lengths that control margins, column widths, etc. ***
|
||||
% *** Do not use packages that alter fonts (such as pslatex). ***
|
||||
% There should be no need to do such things with IEEEtran.cls V1.6 and later.
|
||||
|
||||
|
||||
% correct bad hyphenation here
|
||||
\hyphenation{<+op-tical net-works semi-conduc-tor+>}
|
||||
|
||||
|
||||
\begin{document}
|
||||
%
|
||||
% paper title
|
||||
\title{<+Skeleton of IEEEtran.cls for Journals in VIM-Latex+>}
|
||||
%
|
||||
%
|
||||
% author names and IEEE memberships
|
||||
% note positions of commas and nonbreaking spaces ( ~ ) LaTeX will not break
|
||||
% a structure at a ~ so this keeps an author's name from being broken across
|
||||
% two lines.
|
||||
% use \thanks{} to gain access to the first footnote area
|
||||
% a separate \thanks must be used for each paragraph as LaTeX2e's \thanks
|
||||
% was not built to handle multiple paragraphs
|
||||
\author{<+Sumit Bhardwaj+>~\IEEEmembership{<+Student~Member,~IEEE,+>}
|
||||
<+John~Doe+>,~\IEEEmembership{<+Fellow,~OSA,+>}
|
||||
<+and~Jane~Doe,+>~\IEEEmembership{<+Life~Fellow,~IEEE+>}% <-this % stops a space
|
||||
\thanks{<+Manuscript received January 20, 2002; revised August 13, 2002.
|
||||
This work was supported by the IEEE.+>}% <-this % stops a space
|
||||
\thanks{<+S. Bhardwaj is with the Indian Institute of Technology, Delhi.+>}}
|
||||
%
|
||||
% The paper headers
|
||||
\markboth{<+Journal of VIM-\LaTeX\ Class Files,~Vol.~1, No.~8,~August~2002+>}{
|
||||
<+Bhardwaj \MakeLowercase{\textit{et al.}+>}: <+Skeleton of IEEEtran.cls for Journals in VIM-Latex+>}
|
||||
% The only time the second header will appear is for the odd numbered pages
|
||||
% after the title page when using the twoside option.
|
||||
|
||||
|
||||
% If you want to put a publisher's ID mark on the page
|
||||
% (can leave text blank if you just want to see how the
|
||||
% text height on the first page will be reduced by IEEE)
|
||||
%\pubid{0000--0000/00\$00.00~\copyright~2002 IEEE}
|
||||
|
||||
% use only for invited papers
|
||||
%\specialpapernotice{(Invited Paper)}
|
||||
|
||||
% make the title area
|
||||
\maketitle
|
||||
|
||||
|
||||
\begin{abstract}
|
||||
<+The abstract goes here.+>
|
||||
\end{abstract}
|
||||
|
||||
\begin{keywords}
|
||||
<+IEEEtran, journal, \LaTeX, paper, template, VIM, VIM-\LaTeX+>.
|
||||
\end{keywords}
|
||||
|
||||
\section{Introduction}
|
||||
\PARstart{<+T+>}{<+his+>} <+demo file is intended to serve as a ``starter file"
|
||||
for IEEE journal papers produced under \LaTeX\ using IEEEtran.cls version
|
||||
1.6 and later.+>
|
||||
% You must have at least 2 lines in the paragraph with the drop letter
|
||||
% (should never be an issue)
|
||||
<+May all your publication endeavors be successful.+>
|
||||
|
||||
% needed in second column of first page if using \pubid
|
||||
%\pubidadjcol
|
||||
|
||||
% trigger a \newpage just before the given reference
|
||||
% number - used to balance the columns on the last page
|
||||
% adjust value as needed - may need to be readjusted if
|
||||
% the document is modified later
|
||||
%\IEEEtriggeratref{8}
|
||||
% The "triggered" command can be changed if desired:
|
||||
%\IEEEtriggercmd{\enlargethispage{-5in}}
|
||||
|
||||
% references section
|
||||
|
||||
%\bibliographystyle{IEEEtran.bst}
|
||||
%\bibliography{IEEEabrv,../bib/paper}
|
||||
\begin{thebibliography}{1}
|
||||
|
||||
\bibitem{IEEEhowto:kopka}
|
||||
H.~Kopka and P.~W. Daly, \emph{A Guide to {\LaTeX}}, 3rd~ed.\hskip 1em plus
|
||||
0.5em minus 0.4em\relax Harlow, England: Addison-Wesley, 1999.
|
||||
|
||||
\end{thebibliography}
|
||||
|
||||
% biography section
|
||||
%
|
||||
\begin{biography}{Sumit Bhardwaj}
|
||||
Biography text here.
|
||||
\end{biography}
|
||||
|
||||
% if you will not have a photo
|
||||
\begin{biographynophoto}{John Doe}
|
||||
Biography text here.
|
||||
\end{biographynophoto}
|
||||
|
||||
% insert where needed to balance the two columns on the last page
|
||||
%\newpage
|
||||
|
||||
\begin{biographynophoto}{Jane Doe}
|
||||
Biography text here.
|
||||
\end{biographynophoto}
|
||||
|
||||
% You can push biographies down or up by placing
|
||||
% a \vfill before or after them. The appropriate
|
||||
% use of \vfill depends on what kind of text is
|
||||
% on the last page and whether or not the columns
|
||||
% are being equalized.
|
||||
|
||||
%\vfill
|
||||
|
||||
% Can be used to pull up biographies so that the bottom of the last one
|
||||
% is flush with the other column.
|
||||
%\enlargethispage{-5in}
|
||||
|
||||
\end{document}
|
||||
|
||||
|
@ -0,0 +1,9 @@
|
||||
<+ +> !comp! !exe!
|
||||
% File: !comp!expand("%:p:t")!comp!
|
||||
% Created: !comp!strftime("%a %b %d %I:00 %p %Y ").substitute(strftime('%Z'), '\<\(\w\)\(\w*\)\>\(\W\|$\)', '\1', 'g')!comp!
|
||||
% Last Change: !comp!strftime("%a %b %d %I:00 %p %Y ").substitute(strftime('%Z'), '\<\(\w\)\(\w*\)\>\(\W\|$\)', '\1', 'g')!comp!
|
||||
%
|
||||
\documentclass[a4paper]{article}
|
||||
\begin{document}
|
||||
<++>
|
||||
\end{document}
|
@ -0,0 +1,9 @@
|
||||
<+ +> !comp! !exe!
|
||||
% File: !comp!expand("%")!comp!
|
||||
% Created: !comp!strftime("%a %b %d %I:00 %p %Y ").substitute(strftime('%Z'), '\<\(\w\)\(\w*\)\>\(\W\|$\)', '\1', 'g')!comp!
|
||||
% Last Change: !comp!strftime("%a %b %d %I:00 %p %Y ").substitute(strftime('%Z'), '\<\(\w\)\(\w*\)\>\(\W\|$\)', '\1', 'g')!comp!
|
||||
%
|
||||
\documentclass[a4paper]{report}
|
||||
\begin{document}
|
||||
<++>
|
||||
\end{document}
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user