VimとSumatraPDFを使いforward searchの設定をする

VimとSumatraPDFを使いforward searchの設定をする

- H R の投稿
返信数: 2
はじめまして。

LaTeXに直接関係することではないのですが、TeX Wikiにある説明に関することなので思い切って質問いたします。

Vimを使っているのですが、SumatraPDFを使いforward searchの設定を試みており、以下のページを参考にしています。

http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?Vim-LaTeX#wc3116fb

しかし、私のコンピュータに関する知識不足で、そのページにある「fwdsumatra.diff を見て,$HOME/vimfiles/ftplugin/latex-suite/compiler.vim を自分の環境に合わせて修正します.」のところを理解できません。どなたか、もう少し簡単に初心者にも理解できるように解説して頂けないでしょうか。

また、そのページで説明しているfwdsumatraは以下のサイトの一番下のリンクからDLできますが、

http://william.famille-blum.org/blog/static.php?page=static081010-000413

http://william.famille-blum.org/software/sumatra/vim-fwdsumatra.zip

その中に含まれているREADME.TXTの中に以下のようなパッチをあてる説明があります。

3. Apply patch to compiler.vim, by copying fwdsumatra.diff in
latex-suite folder and running
patch -p0 -c -b compiler.vim fwdsumatra.diff
(Note: the "patch" utility is avaiable for example in Cygwin)

何度も試しているのですが、完全にパッチをあてることでできませんでした。それで、TeX Wikiの説明に沿って設定してみようと思っています。

場違いかもしれませんが、宜しくお願い致します。
H R への返信

Re: VimとSumatraPDFを使いforward searchの設定をする

- 匿 名 の投稿
はじめまして.

TeX Wiki に Vim-LaTeX の説明を書いたものです.

簡単に初心者にも理解できるように解説できなくてすみません.

正直,書いてみて初心者には無理だろうなとは思っていました.

この作業は,難しい作業なので,できなくても気にする必要はありません.

とりあえず,fwdsumatra についてもう少し詳しく解説してみます.

fwdsumatra でやろうとしていることは DDE 通信で SumatraPDF の forward search を実現することです.

これは fwdsumatra.py で実装されています.

fwdsumatra.py は,引数に PDF ファイル,TeX ファイル,行番号 をとります.

SumatraPDF が DDE 通信で forward search をするには,これらの情報が必要だからです.

fwdsumatra.py を実行するには Python と pywin32 が必要です.

ファイルを表示する処理は $HOME/vimfiles/ftplugin/latex-suite/compiler.vim に記述されているので,ここを修正して fwdsumatra.py を呼び出せば OK です.

修正に関して README.txt には patch を当てるように記述されていますが,fwdsumatra.diff を見て,patch を当てるよりも手動で修正した方が速いと判断しました.

fwdsumatra.diff の修正内容では \lv したあと \ls しなければならず,使い勝手が悪いため \ls だけで,表示,検索ができるように call Tex_ViewLaTeX() を追加しました.

もし,SumatraPDF による forward search が目的で,修正方法が分からないのであれば,WinShell を使ってみることをお勧めします.

WinShell は SumatraPDF で forward search を最も簡単に実現できるエディタだからです.

私も Vim で TeX を書くことはありますが,正直 Vim は TeX で日本語の文書を書くのにはあまり向いていないと思います.

Vim はモードを意識しますが,日本語を使うときは,これに日本語入力モードが加わり,より多くのモードを意識しなければなりません.

ノーマルモードで日本語入力が ON の場合など英語圏では考えなくてもよい不要な場合も考慮しなくてはなりません.

Vim が最も力を発揮するのは Python, Ruby, Perl などのスクリプト言語でプログラムを書くときだと思います.

もし,どうしても Vim-LaTeX で forward search を使いたいのであれば,
SumatraPDF を起動して,コマンドラインから fwdsumatra.py を実行してみてどのように動作するのかを確認してみてください.

どのように動作するのかが分かれば,$HOME/vimfiles/ftplugin/latex-suite/compiler.vim の修正内容が分かるはずです.

そして,もし,あなたがプログラムを書いたことがなければ Python, Ruby, Perl のどれでもいいのでプラグラムを書いてみてください.

これらが使えれば Vim スクリプトを読むのはそんなに難い作業ではありません.
匿 名 への返信

Re: VimとSumatraPDFを使いforward searchの設定をする

- H R の投稿
早速のお返事、ありがとうございます。

ご指摘どおり、プログラムを書いたことはなく、たまたまLaTeXをVim(英語)で書くことになり現在に至っています。LaTeX用のhighlightもスクリプトを推測で判断し修正していました。やはり、これが限度のようです。プログラムの書き方を勉強して、再挑戦してみます。ありがとうございました。