aboutsummaryrefslogtreecommitdiff
path: root/dot_vim/ftplugin/latex-suite/elementmacros.vim
diff options
context:
space:
mode:
Diffstat (limited to 'dot_vim/ftplugin/latex-suite/elementmacros.vim')
-rw-r--r--dot_vim/ftplugin/latex-suite/elementmacros.vim338
1 files changed, 338 insertions, 0 deletions
diff --git a/dot_vim/ftplugin/latex-suite/elementmacros.vim b/dot_vim/ftplugin/latex-suite/elementmacros.vim
new file mode 100644
index 0000000..8960a0f
--- /dev/null
+++ b/dot_vim/ftplugin/latex-suite/elementmacros.vim
@@ -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