アウトラインのさまざまなレベルにさまざまな fill-column 値を設定できるかどうか疑問に思っていました。現在は78に設定していますが、下位レベル()では桁数の数え方が違うようで、結果的に下位レベルのテキストが78桁を超えてしまいます。
同じ質問がメーリング リストで尋ねられましたが、回答はありませんでした: http://lists.gnu.org/archive/html/emacs-orgmode/2011-05/msg00654.html
ベスト、ジュン
アウトラインのさまざまなレベルにさまざまな fill-column 値を設定できるかどうか疑問に思っていました。現在は78に設定していますが、下位レベル()では桁数の数え方が違うようで、結果的に下位レベルのテキストが78桁を超えてしまいます。
同じ質問がメーリング リストで尋ねられましたが、回答はありませんでした: http://lists.gnu.org/archive/html/emacs-orgmode/2011-05/msg00654.html
ベスト、ジュン
apt オフセットを計算し、通常の組織の塗りつぶしを呼び出す関数を追加しました。
(defun calc-offset-on-org-level ()
"Calculate offset (in chars) on current level in org mode file."
(* (or (org-current-level) 0) org-indent-indentation-per-level))
(defun my-org-fill-paragraph (&optional JUSTIFY)
"Calculate apt fill-column value and fill paragraph."
(let* ((fill-column (- fill-column (calc-offset-on-org-level))))
(org-fill-paragraph JUSTIFY)))
(defun my-org-auto-fill-function ()
"Calculate apt fill-column value and do auto-fill"
(let* ((fill-column (- fill-column (calc-offset-on-org-level))))
(org-auto-fill-function)))
そして、この関数を使用するために .emacs で org-mode をセットアップします (org.el、org-setup-filling を参照):
(defun my-org-mode-hook ()
(setq fill-paragraph-function 'my-org-fill-paragraph
normal-auto-fill-function 'my-org-auto-fill-function)
(add-hook 'org-load-hook 'my-org-mode-hook)
(add-hook 'org-mode-hook 'my-org-mode-hook)
その結果、私は(wysiwyg)を得ました:
* Top level heading
This is sufficiently long string, and, as you see fill-column is not far
from screen edge on the top level. My fill-column value is 77.
* Level 5
Offset is 12 chars on this level, but we set there fill column to
the 78 - 12 = 66 chars.
* Derived 18 (?)
Auto fill mode works too due to function
my-org-auto-fill-function.