2

Emacs 23.1 と ESS 5.4 を使用して Sweave ファイルを編集しています。バッファー内のデフォルトの AUCTeX インデント動作をオフにしたいので (項目別リストに含まれるコード チャンクによる煩わしさを避けるため)、ファイルの先頭に% -*- LaTeX-indent-level: 0; LaTeX-item-indent: 0; -*-. バッファを開いて を実行するとC-h v LaTeX-indent-level、必要なものが得られます。

LaTeX-indent-level is a variable defined in `latex.el'.
Its value is 0
Local in buffer test.Rnw; global value is 2

  This variable is a file local variable.

ただし、コード チャンクを編集すると、デフォルトの動作に戻ります。C-h v LaTeX-indent-level今は得られます:

LaTeX-indent-level is a variable defined in `latex.el'.
Its value is 2

noweb-mode FAQで提案されている修正を試してみました。

(add-hook 'noweb-select-mode-hook
              '(lambda () (hack-local-variables-prop-line)))

私の.emacsに。私がこれを行ったとき、上記の動作は持続しました。

この状況でバッファローカル変数を機能させる方法はありますか? LaTeX-indent-levelすべての Sweave/noweb バッファで.emacs を 0 に設定する必要はありません。

4

1 に答える 1

0

私はこれをテストしていませんが、代わりに次のことを試してください。

(add-hook 'noweb-select-mode-hook
              '(lambda () (hack-local-variables)))

おそらく hack-local-variables-prop-line は、値を設定するのではなく、単に解析するように変更されています。

于 2010-08-02T18:30:26.693 に答える