f

2013-10-12

LyX 2.1でforward searchとinverse search[順検索・逆順検索]を導入

LyXの出力pdfと本文とで行ったり来たりするためにforward searchとinverse search (日本語では順検索・逆順検索)という機能がある。LaTeXを使った文書を作るときは以下の手順をとるのが一般的な流れだ。
  1. もとのソースコード(.tex, .lyxファイル)を書く
  2. ソースコードに(p)latexコマンドを実行(タイプセット)
  3. タイプセットでできるpdfやdviをプレビューして確認
この作業中に、プレビュー中のpdfで誤りや修正したい箇所を見つけたときにソースコード中での該当箇所へ素早く移動したいことがある。逆に、ソースコード中の該当箇所がプレビューでどのように表示されているかというのを素早く確認したいこともある。
これらの要望を実現する機能がforward searchとinverse searchだ。それぞれの機能は以下の機能を持つ。
forward search:
ソースコード⇒PDFへのジャンプ
inverse search:
PDF⇒ソースコードへのジャンプ
これら機能があれば、ダブルクリックなどをするだけで該当箇所へジャンプできる。この機能を使うには対応しているpdf viewerを使う必要がある。
以下のサイトを参考にLyXでこの機能を導入した。
参考:
http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?cmd=read&page=LyX%2F%E8%A8%AD%E5%AE%9A%2FWindows
  1. 作業環境
    PDF viewerとしてSumatraPDF version 2.4を使用した。今回作業を行ったPCのOSはWindows 7でありLyXのバージョンは2.1.0beta1である。なお、SumatraPDFはインストール済みとする。
  2. SumatraPDFとの同期設定
    Document⇒Settings…⇒Output
    Syncronize with Output
    Custom Macro:
    \synctex=1
  3. PDF設定
    dvipdfmとpdflatexで作ったpdfでforward/inverse searchできるようにするため設定する。
    Tools⇒Preferences…⇒File Handling⇒File Formats
    Format:
    PDF (dvipdfm)
    Viewer:
    Custom: start SumatraPDF -reuse-instance
    Format:
    PDF (pdflatex)
    Viewer:
    Custom: start SumatraPDF -reuse-instance
    Apply⇒Save
  4. forward search
    Tools⇒Preferences…⇒Output⇒General
    Forward search
    PDF comand:
    cmd /c start SumatraPDF -reuse-instance $$o -forward-search $$t $$n
    Apply⇒Save
    以上の操作でforward searchの設定は完了。
    実行方法:
    LyX中で以下のどちらかの方法でforward searchができる。
    • Navigate⇒Forward search
    • 右クリック⇒Forward search
  5. inverse search
    Tools⇒Preferences…⇒Paths
    LyxSever pipe:
    \\.\pipe\lyxpipe
    Apply⇒Save⇒LyXを再起動
    以下の内容のlyxeditor.cmdというファイルを作成。
    @echo off setlocal enabledelayedexpansion set file=%1 set row=%2 REM remove quotes from variables set file=!file:"=! set row=!row:"=! %comspec% /q /c (@echo LYXCMD:revdvi:server-goto-file-row:%file% %row%)> \\.\pipe\lyxpipe.in&&type \\.\pipe\lyxpipe.out endlocal
    作成したlyxeditor.cmdを以下の場所に配置。

    C:\Program Files\LyX 2.1\bin
    SumatraPDFを開く⇒設定⇒オプション⇒逆順検索コマンドラインの設定⇒以下の内容を記述。

    "C:\Program Files\LyX 2.1\bin\lyxeditor.cmd" "%f" %l
    以上でSumatraPDFのinverse searchの設定が完了。
    実行方法:
    SumatraPDFでダブルクリックするとLyX中の該当箇所にジャンプする。

0 件のコメント:

コメントを投稿