vim-latex-suite使用手冊(cè)
tau@2015.8.2
導(dǎo)語(yǔ)
快捷鍵是提高效率的不二法則,畢竟十個(gè)手指頭比兩個(gè)手指頭要快得多瞎饲。
使用vim-latex-suite的關(guān)鍵亦是如此沈善。
說明:
-
||
中為在普通模式下輸入的命令乡数; -
<>
中為按鍵,C表示Ctrl闻牡,A表示Alt净赴,S表示Shift;
一澈侠、模板
1. 使用方法
模板存放在$VIM/ftplugin/latex-suite/templates/中劫侧,使用命令|:TTemplate|
或者從菜單中可以調(diào)出可用的模板。
2. 定制方法
在$VIM/ftplugin/latex-suite/templates/中建立相應(yīng)的文件即可哨啃。
二、包
1. 使用方法
宏包存放在$VIM/ftplugin/latex-suite/packages/中写妥,從菜單中或者使用按鍵<F5>
拳球、命令|:TPackage|
都可以調(diào)出可用宏包。
2. 定制方法
在$VIM/ftplugin/latex-suite/packages/中建立相應(yīng)的文件即可珍特,可參考exmpl祝峻。
三、環(huán)境
1. 使用方法
(1)插入
- 方法1:
<F5>
扎筒,讀取當(dāng)前行的單詞并形成環(huán)境莱找,如果是空行,則給出環(huán)境列表嗜桌; - 方法2:
<S-F1>
-<S-F4>
奥溺,每一個(gè)對(duì)應(yīng)一個(gè)自定義的環(huán)境; - 方法3:使3字母序列
Exx
骨宠,第一個(gè)字母E代表Environment浮定,后兩個(gè)字母是環(huán)境名的簡(jiǎn)寫相满,比如EFI插入figure環(huán)境。
(2)包圍
- 方法1:選中需要放入環(huán)境中的內(nèi)容桦卒,按
<F5>
立美; - 方法2:選中需要放入環(huán)境中的內(nèi)容,按3字母序列方灾,這里的3字母序列和插入中不同的在于首字母需要改為
<,>
建蹄,后兩個(gè)字母保持不變(小寫即可);
(3)修改
- 方法1:選中需要修改環(huán)境名的內(nèi)容裕偿,然后按
<S-F5>
躲撰,多重環(huán)境時(shí)先改變最內(nèi)層環(huán)境;
2.定制方法
設(shè)置變量g:Tex_Env_name
即可击费,其中'name'是環(huán)境名拢蛋,例如
let g:Tex_Env_frame = "\\begin{frame}\<cr>\\frametitle{<+title+>}\<cr><++>\<cr>\\end{frame}<++>"
有些帶標(biāo)簽的環(huán)境可設(shè)置變量g:Tex_EnvLabelprefix_name
,例如
figure, table, theorem, definition,lemma, proposition, corollary, assumption, remark, equation, eqnarray, align, multline
默認(rèn)給出的環(huán)境列表由變量g:Tex_PromptedEnvironments
設(shè)置蔫巩,默認(rèn)值為
'eqnarray\*,eqnarray, equation,equation\*,\[,$$,align,align\*'
<S-F1>
-<S-F4>
對(duì)應(yīng)的環(huán)境名由g:Tex_HotKeyMappings
設(shè)置谆棱,默認(rèn)值為
'eqnarray*,eqnarray,bmatrix'
四、命令
1. 使用方法
(1)插入
- 方法1:
<F7>
圆仔,提取當(dāng)前光標(biāo)所在單詞構(gòu)成命令垃瞧,如果是空單詞,則給出命令列表坪郭;
(2)包圍
- 方法1:選中需要放入命令的內(nèi)容个从,按
<F7>
;
(3)修改
- 方法1:選中需要修改命令名的內(nèi)容歪沃,按
<S-F7>
嗦锐。
2. 定制方法
設(shè)置變量g:Tex_Com_name
即可,其中'name'是變量名沪曙。
默認(rèn)給出的命令列表由變量g:Tex_PromptedCommands
控制奕污,默認(rèn)值為
'footnote,cite,pageref,label'
五、參考文獻(xiàn)
1. 使用方法
共提供四種插入模式:BBB
液走、BBL
碳默、BBH
和BBX
。
它們的插入方式是一致的缘眶,輸入后會(huì)提示需要插入的文獻(xiàn)類型嘱根。
-
BBB
僅插入該種文獻(xiàn)所需的最少字段; -
BBL
插入該種文獻(xiàn)常用的字段巷懈; -
BBH
插入一些更多的字段该抒; -
BBX
則插入所有的字段。
2. 定制方法
如果需要定制不同插入模式下的字段砸喻,那么需要修改全局變量g:Bib_{type}_options
該變量在文件$VIM/ftplugin/bib.vim中定義柔逼,{type}是文獻(xiàn)類型蒋譬,比如'article'、'book'等愉适。
變量取值如下表所示:
字符 | 對(duì)應(yīng)的字段 |
---|---|
w | address |
a | author |
b | booktitle |
c | chapter |
d | edition |
e | editor |
h | howpublished |
i | institution |
k | isbn |
j | journal |
m | month |
z | note |
n | number |
o | organization |
p | pages |
q | publisher |
r | school |
s | series |
t | title |
u | type |
v | volume |
y | year |
比如犯助,默認(rèn)條件下使用BBB
插入'article'
@ARTICLE{<+key+>,
author = {<++>},
title = {<++>},
journal = {<++>},
year = {<++>},
otherinfo = {<++>}
}<++>
當(dāng)定義g:Bib_article_options
為'mnp',則使用BBB
插入'article'為
@ARTICLE{<+key+>,
author = {<++>},
title = {<++>},
journal = {<++>},
year = {<++>},
month = {<++>},
number = {<++>},
pages = {<++>},
otherinfo = {<++>}
}<++>
如果還有一些上面沒有列出來(lái)的字段需要插入维咸,則需要定義全局變量
g:Bib_article_extrafields
比如定義
let g:Bib_article_extrafields = "crossref\nabstract"
則'article'的模板會(huì)多出兩個(gè)字段
crossref = {<++>},
abstract = {<++>},
六剂买、編譯及查看
使用按鍵\ll
開始編譯。
變量g:Tex_CompileRule_<format>
設(shè)置編譯規(guī)則癌蓖,<format>是"pdf"瞬哼、"dvi"等。
設(shè)置編譯依賴租副,比如
.tex -> .dvi -> .ps -> .pdf
可以設(shè)置為
let g:Tex_FormatDependency_pdf = 'dvi,ps,pdf'
同時(shí)需要設(shè)定編譯規(guī)則
let g:Tex_CompileRule_dvi = 'latex --interaction=nonstopmode $*'
let g:Tex_CompileRule_ps = 'dvips -Ppdf -o $*.ps $*.dvi'
let g:Tex_CompileRule_pdf = 'ps2pdf $*.ps'
只編譯部分文件坐慰,選擇模式下選擇一部分內(nèi)容,然后使用\ll編譯這一部分內(nèi)容用僧,用\lv來(lái)查看結(jié)果结胀。對(duì)應(yīng)的命令是|:TPartComp|
和|:TPartView|
。
查看使用\lv
责循。規(guī)則使用變量g:Tex_ViewRule_<format>
來(lái)定義糟港。
前向搜索使用\ls
。在Mac上院仿,需要設(shè)置g:Tex_TreatMacViewerAsUNIX
為1
反向搜索需要設(shè)置查看器與vim的溝通方式秸抚,比如
"C:\Program Files\vim\vim61\gvim" -c ":RemoteOpen +%l %f"
七、折疊
Latex-Suite用插件SyntaxFolds.vim來(lái)進(jìn)行語(yǔ)法折疊歹垫。
折疊是手動(dòng)的剥汤,新寫的內(nèi)容需要按<F6>
或\rf
來(lái)開啟折疊。
有一系列變量用來(lái)控制折疊
g:Tex_FoldedSections
控制哪些節(jié)需要折疊县钥,默認(rèn)值為
part,chapter,section,subsection,subsubsection,paragraph
g:Tex_FoldedEnvironments
控制哪些環(huán)境需要折疊秀姐,默認(rèn)值為
verbatim,comment,eq,gather,
align,figure,table,thebibliography,
keywords,abstract,titlepage
g:Tex_FoldedCommands
控制哪些命令需要折疊,默認(rèn)值為空若贮。
g:Tex_FoldedMisc
控制一些其他需要折疊的內(nèi)容,默認(rèn)值為
item,preamble,<<<
八痒留、多文件工程
假設(shè)有如下工程結(jié)構(gòu)
thesis/
main.tex
abstract.tex
intro/
intro.tex
figures/
fig1.eps
fig2.eps
chapter1/
chap1.tex
figures/
fig1.eps
conclusion/
conclusion.tex
figures/
main.tex文件如下
% file: main.tex
\documentclass{report}
\begin{document}
\input{abstract.tex}
\input{intro/intro.tex}
\input{chapter1/chap1.tex}
\input{conclusion/conclusion.tex}
\end{document}
只需要?jiǎng)?chuàng)建一個(gè)空文件main.tex.latexmain就可以表明main.tex是主文件谴麦。
九、常用快捷鍵
1. 章節(jié)
可使用3字母序列Sxx
進(jìn)行插入和修改伸头。
2. 字體
可使用3字母序列Fxx
進(jìn)行插入和修改匾效。
3. 希臘字母
`a至`z分別代表\alpha到\zeta,大寫情況也類似(但不支持所有大寫希臘字母)恤磷。
4. 智能按鍵
...
在數(shù)學(xué)模式外是\ldots面哼,在數(shù)學(xué)模式中是\cdots
5. 補(bǔ)全
用<F9>
可以進(jìn)行各種類型的補(bǔ)全野宜,包括引用補(bǔ)全(\ref、\eqref魔策、\cite)匈子、文件名補(bǔ)全、命令參數(shù)補(bǔ)全闯袒。通常需要設(shè)置
set grepprg=grep\ -nH\ $*
6. Auc-Tex中的一些快捷鍵
數(shù)學(xué)環(huán)境中:
快捷鍵 | 對(duì)應(yīng)的命令 | |
---|---|---|
`^ | \Hat{<++>}<++> | |
`_ | \bar{<++>}<++> | |
`6 | \partial | |
`8 | \infty | |
`/ | \frac{<++>}{<++>}<++> | |
`% | \frac{<++>}{<++>}<++> | |
`@ | \circ | |
`0 | ^\circ | |
`= | \equiv | |
`\ | \setminus | |
`. | \cdot | |
`* | \times | |
`& | \wedge | |
`- | \bigcap | |
`+ | \bigcup | |
`( | \subset | |
`) | \supset | |
`< | \le | |
`> | \ge | |
`, | \nonumber | |
`~ | \tilde{<++>}<++> | |
`; | \dot{<++>}<++> | |
`: | \ddot{<++>}<++> | |
`2 | \sqrt{<++>}<++> | |
` | \Big | |
`I | \int_{<++>}^{<++>}<++> |
visual模式下:
快捷鍵 | 對(duì)應(yīng)的命令 |
---|---|
`( | \left( \right) |
`[ | \left[ \right] |
`{ | \left\{ \right\} |
`$ | 普通選擇 $$虎敦,行選擇 \[ \] |
7. Alt相關(guān)
默認(rèn)條件下Alt鍵是菜單欄的熱鍵,如果有沖突則需要設(shè)置
set winaltkeys=no
-
<Alt-L>
在插入模式下政敢,根據(jù)當(dāng)前光標(biāo)前的字符其徙,插入不同的命令
光標(biāo)之前的字符 | 對(duì)應(yīng)的命令 | |
---|---|---|
( | \left( <++> \right) | |
[ | \left[ <++> \right] | |
\left | <++> \right | |
{ | \left{ <++> \right} | |
< | \langle <++> \rangle | |
q | \lefteqn{<++>}<++> |
如果當(dāng)前光標(biāo)前面沒有任何字符,則插入\label{<++>}喷户。
<Alt-B>
插入模式中將前面的字符包含在命令\mathbf{}中唾那。<Alt-C>
在插入模式下,
如果前面的字符是字母或數(shù)字褪尝,則變成大寫并包含在命令\mathcal{}中闹获;
其它情況下插入\cite{}。
在選擇模式下恼五,將選擇的字符包含在\mathcal{}中昌罩。<Alt-I>
根據(jù)不同的環(huán)境插入\item
環(huán)境名 | 樣式 |
---|---|
itemize | \item |
enumerate | \item |
theindex | \item |
thebibliography | \item[<+biblabel+>]{<+bibkey+>} <++> |
description | \item[<+label+>] <++> |
可以通過變量g:TeX_ItemStyle_environment
進(jìn)行修改。
十灾馒、宏定制方法
1. 宏文件
在$VIM/ftplugin/latex-suite/macros/中茎用,每一個(gè)文件就是一個(gè)宏。
用命令|:TMacro|
或從菜單上可以選擇使用哪個(gè)宏睬罗。
可以用|:TMacroNew|
轨功、|:TMacroEdit|
、|:TMacroDelete|
進(jìn)行操作容达。
2. IMAP
可以通過IMAP()定制宏古涧,其語(yǔ)法為
call IMAP (lhs, rhs, ft [, phs, phe])
lhs 縮寫
rhs 展開的代碼
ft 適用的文件類型
phs,phe 用來(lái)表示插入點(diǎn)的起始和終止符號(hào),默認(rèn)為<+和+>
例如
:call IMAP('EFE', "\\begin{figure}\<CR><++>\\end{figure}<++>", 'tex')
復(fù)雜一點(diǎn)的情況
call IMAP('FOO', "\<C-r>=AskVimFunc()\<CR>", 'vim')
" Askvimfunc: Asks For Function Name And Sets Up Template
" Description:
function! AskVimFunc()
let name = input('Name of the function : ')
if name == ''
let name = "<+Function Name+>"
end
let islocal = input('Is this function scriptlocal ? [y]/n : ', 'y')
if islocal == 'y'
let sidstr = '<SID>'
else
let sidstr = ''
endif
return IMAP_PutTextWithMovement(
\ "\" ".name.": <+short description+> \<cr>" .
\ "Description: <+long description+>\<cr>" .
\ "\<C-u>function! ".name."(<+arguments+>)<++>\<cr>" .
\ "<+function body+>\<cr>" .
\ "endfunction \" "
\ )
endfunction