1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165
|
" 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. Jeli chcesz go uzywac w MS-Windows musisz
" go przekonwertowac na cp-1250.
"
" Plik ten jest czci vim-latexSuite, ale:
" Nie uywajcy vim-latexSuite (http://vim-latex.sourceforge.net) mog wyci
" oznaczon cz. Reszta moe by 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.
if exists("acromake_package_file")
finish
endif
let acromake_package_file = 1
" --------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 jeli nie
" uywasz (albo go cignij 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 skadni)
"
" 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. Obsuguje 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\.\|pk\|mjr\|mgr\|bp\|ks\.\|o\+\.\|w\.\|dr\)$'
return '~'
" Wstaw tylde miedzy rokiem, wiekiem, a odpowiednim skrotem
elseif strpart(getline('.'), col('.') - 8, 7) =~? '[0-9IVXLCM]\s\+\(r\|w\)\.[^a-z]\{-}$'
s/[0-9IVXLCM]\zs\s\+\ze\(w\|r\)\.[^a-z]\{-}\%#/\~/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]\{-}$'
s/\(\d\|mln\|mld\|tys\.\)\zs\s\+\ze\(z\|gr\|ha\|m\|t\|mies\|godz\|min\|sek\|cm\|km\|mln\|mld\|tys\.\)[^a-z]\{-}\%#/\~/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]-[a-z]\{-}[^a-z]\{-}$'
s/[a-z]\zs-\ze[a-z]\{-}[^a-z]\{-}\%#/\\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:
|