6

これらの行を使用してinit.el、Emacs LaTeX バッファーを Sumatra と同期できます。

(setq TeX-source-correlate-mode t)
(setq TeX-source-correlate-method 'synctex)
(setq TeX-view-program-list 
  '(("Sumatra PDF" ("\"C:/bin86/SumatraPDF/SumatraPDF.exe\" -reuse-instance" 
                      (mode-io-correlate " -forward-search %b %n ") " %o"))))
(setq TeX-view-program-selection  
      '(((output-dvi style-pstricks) "dvips and start") (output-dvi "Yap") 
       (output-pdf "Sumatra PDF") (output-html "start")))

PDF をダブルクリックして関連する LaTeX コードを表示するように設定するには、Sumatra オプションで次のように設定しますSet inverse search command line

"c:\bin86\GNU Emacs 24.2\bin\emacsclient.exe" --no-wait +%l "%f" 

同期は機能しますが、別の方法でコーディングしたいと思います。

最後の式 を設定しなかった場合(setq TeX-view-program-selection...、次の PDF 出力の値を除いて、上記と同じデフォルト値が取得されます(output-pdf "start")。これを「Sumatra PDF」に変更し、他の値はデフォルトのままにします。つまり、ビューアのデフォルト値を Emacs に問い合わせて、PDF 値のみを変更したいと思います。

これは主に、変数の操作に関する ELisp の質問ですTeX-view-program-selection。助けてくれてありがとう。

PSこの質問がtex.stackexchangeに最も適しているかどうか教えてください

lunaryorn のコメント/回答に基づく更新

更新するTeX-view-program-selectionには、次を使用できます。

(assq-delete-all 'output-pdf  TeX-view-program-selection)
(add-to-list 'TeX-view-program-selection   '(output-pdf "Sumatra PDF"))

最初の行はオプションですが、リストが「よりきれい」に見えます。

どちらの場合でも ( がある場合もない場合も)、は void であるassq-delete-allため、適切なフックにコードを挿入する必要があります。TeX-view-program-selectioninit.el

4

5 に答える 5

12

提案のためのlunaryornへの私のクレジット!他の人の利益に関連する手順を再パッケージ化しています。

Emacs側

あなたに追加init.el

(setq TeX-PDF-mode t)
(setq TeX-source-correlate-mode t)
(setq TeX-source-correlate-method 'synctex)
(setq TeX-view-program-list
   '(("Sumatra PDF" ("\"path/to/SumatraPDF/SumatraPDF.exe\" -reuse-instance"
                      (mode-io-correlate " -forward-search %b %n ") " %o"))))

(eval-after-load 'tex
  '(progn
     (assq-delete-all 'output-pdf TeX-view-program-selection)
     (add-to-list 'TeX-view-program-selection '(output-pdf "Sumatra PDF"))))

スマトラ側

[設定] -> [オプション] ダイアログで次のように設定Set inverse search command lineします。

"path\to\GNU Emacs ver\bin\emacsclient.exe" --no-wait +%l "%f" 

使い方

EmacsタイプのLaTeXドキュメントでC-c C-v、スマトラで関連するPDFをダブルクリックして...お楽しみください))

于 2013-01-31T15:53:27.673 に答える
1

add-to-listの代わりに使用しsetqます。詳細については、を参照C-h f add-to-listしてください。

TeX-view-program-selectionで定義されてtex.elいるため、このライブラリがロードされた後にこのコードを実行する必要があります。

(eval-after-load 'tex
  '(progn
     (assq-delete-all 'output-pdf TeX-view-program-selection)
     (add-to-list 'TeX-view-program-selection '(output-pdf "Sumatra PDF"))))
于 2013-01-23T09:37:38.417 に答える
0

バッチファイルを用意しましたEmacs_SumatraPDF.bat

sumatra-forward.el前方および後方検索を実現するのに最適です。

例えば:

ダウンロード

http://www.ai.soc.i.kyoto-u.ac.jp/~shi/files/Emacs_SumatraPDF.bat

http://william.famille-blum.org/software/sumatra/sumatra-forward.el


準備

入れEmacs_SumatraPDF.batSumatraPDF.exe--> %Emacs_Home%/bin.

置くsumatra-forward.el-->%Emacs_Home%/site-lisp


使用法

;Emacs_Home=C:/Program Files (x86)/GNU Emacs 23.4
;~\.emacs add following information


;;; Emacs_SumatraPDF.bat
;;  @info: pdf viewer 
;   @refer: 
(setq TeX-view-program-list '(
      ("Sumatra" "C:/Program Files (x86)/GNU Emacs 23.4/bin/Emacs_SumatraPDF.bat 
                   %o %t %n") ))         

(setq TeX-view-program-selection '(
     (output-pdf "Sumatra") 
     (output-dvi "Yap") 
     ((output-dvi style-pstricks) "dvips and start") 
     (output-html "start"))) 

 ;;; sumatra-forward.el
 ;;  @info: forward search. 
 ;   @refer: http:/william.famille-blum.org/blog/static.php?page=static081010-000413
 (require 'sumatra-forward)

それだけです。


その上

Windows 7 でのEmacs 4 Latex のサポート(Emacs の新規参入者向け)。

http://chunqishi.github.io/emacs4ls/


于 2013-04-25T17:53:57.947 に答える
0

デフォルトSet inverse search command lineではダイアログに表示されないことに注意してください。Settings->Optionsこのオプション フィールドを表示するには、 に移動するSettings->Advanced optionsか、 を開いSumatraPDF-settings.txtてオンにしEnableTeXEnhancements = trueます。

于 2014-06-24T11:30:58.187 に答える