次: , 前: Hebrew/Islamic Entries, 上: Calendar


39.8 装飾日誌表示

日誌表示は、日誌用バッファを準備してからフックdiary-display-hookを 実行することで動作します。 このフックのデフォルト値(simple-diary-display)は、 関係ない日誌記録を隠してからバッファを表示します。 しかし、つぎのようにフックを指定すると

     (add-hook 'diary-display-hook 'fancy-diary-display)

装飾日誌表示を行えます。 日誌記録と祝祭日を表示専用の特別なバッファにコピーして表示します。 別のバッファにコピーするので、表示テキストが綺麗になるように変更できます。 たとえば、日付順に記録をソートするなどです。

単純な日誌表示では、print-diary-entriesでバッファ内容を印刷できます。 1週間分の毎日の日誌を印刷するには、 その週の日曜日にポイントを置いて7 dと打ってから M-x print-diary-entriesを行います。 祝祭日が入っていると表示が遅くなりますが、 変数holidays-in-diary-buffernilを設定すると速くできます。

通常、装飾日誌用バッファでは、 たとえ祝祭日であっても日誌記録がない日は表示しません。 そのような日を装飾日誌用バッファに表示するには、 変数diary-list-include-blankstを設定します。

装飾日誌表示を使うときには、 ノーマルフックlist-diary-entries-hookを使って 各日誌記録を時刻でソートできます。 つぎのようにします。

     (add-hook 'list-diary-entries-hook 'sort-diary-entries t)

これは、各日ごとに認識できる時刻で始まる日誌記録をソートします。 各日の先頭には時刻のついていない日誌項目がきます。

装飾日誌表示には、取り込んだ日誌ファイルを処理する能力もあります。 これにより、グループのメンバは、グループに共通な行事を記述した 日誌ファイルを共有できます。 つぎのような行を日誌ファイルに書きます。

     #include "filename"

そうすると、ファイルfilenameから 日誌記録を装飾日誌用バッファに取り込みます。 取り込み機構は再帰的ですから、 取り込んだファイル内で別のファイルを取り込むことができます。 もちろん、取り込みが循環しないように注意してください。 取り込み機能をオンにするにはつぎのようにします。

     (add-hook 'list-diary-entries-hook 'include-other-diary-files)
     (add-hook 'mark-diary-entries-hook 'mark-included-diary-files)

通常の日誌表示は個人の日誌ファイルの記録を直接表示するため、 取り込み機構は装飾日誌表示でのみ動作します。