2

次のようなドキュメントを変換する際に問題に直面しています:

この著者 {john, #99} は次のように述べています ... ... bla bla bla この他の著者は {barlic, #1508} について言及しました ...

vimに変換してもらいたい:

この著者 \cite{latexref99} は次のように述べています ... ... bla bla この他の著者は \cite{latexref1508} について述べました ...

それを行う方法はありますか?に戻す方法も:

この著者 {,#99} は次のように述べています ... ... bla bla この他の著者は {, #1508} について言及しました ..

4

2 に答える 2

1

に変換:

:%s/{[^#]*#\(\d\+\)}/\\cite{latexref\1}/g

元に戻す:

:%s/\\cite{latexref\(\d\+\)}/{,#\1}/g
于 2012-11-20T21:11:32.460 に答える
0

sed を使用できるプラグインは必要ありません。

sed -e 's/{[^}]*\#\([0-9]*\)}/\\cite\{latexref\1\}/g' < file.tex >new_ref.tex

これをvimのショートカットにマップすることもできます

nmap n :%w ! cat % \| sed -e 's/{[^}]*\#\([0-9]*\)}/\\cite\{latexref\1\}/g' > % <CR>
于 2012-11-20T18:28:45.140 に答える