[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4. 記事バッファー

記事は一つしかない記事バッファーに表示されます。すべての概略バッファー は (Gnus に指示しない限り) 同じ記事バッファーを共有します。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.1 余分なヘッダーを隠す

各記事の頭の部分はヘッダー (head) と呼ばれます。(残りの部分はボ ディー (body) です。すでにお気づきでしょうが。)

ヘッダーにはたくさんの有益な情報が含まれています。記事を書いた人の名前、 それが書かれた日付、および記事の表題です。これはとても良いのですが、ヘッ ダーには大部分の人にとっては見たくもない情報—記事があなたのところに着 くまでにどんなシステムを経由してきたか、Message-IDReferences などなど…もううんざりするくらい—たくさん含まれてい ます。たぶんあなたはこれらの行のいくつかは取り除いてしまいたいと思うでしょ う。もしこれらの行をすべて記事バッファー内に残しておきたければ、 gnus-show-all-headerst に設定してください。

Gnus はヘッダーを選り分けるために二つの変数を用意しています:

gnus-visible-headers

この変数が nil 以外であれば、どのヘッダーを記事バッファーに残した いかを指定する正規表現であるとみなされます。この変数に合致しないヘッダー はすべて隠されます。

例えば、記事を書いた人の名前と表題のみを見たければ、こう指定します:

 
(setq gnus-visible-headers "^From:\\|^Subject:")

この変数は、表示させたいヘッダーに合致する正規表現をリストで指定すること もできます。

gnus-ignored-headers

この変数は gnus-visible-headers の反対です。この変数が設定されて いれば (かつ gnus-visible-headersnil であれば)、これは 隠したいヘッダー行すべてに合致する正規表現であるとみなされます。この変数 に合致しないすべてのヘッダー行が表示されます。

例えば、単に References 欄と Xref 欄のみを消し去りたければ、 以下のようにします:

 
(setq gnus-ignored-headers "^References:\\|^Xref:")

この変数は消したいヘッダーに合致する正規表現のリストでも構いません。

なお、gnus-visible-headersnil 以外の場合は、この変数に は効果が無いことに注意してください。

Gnus はヘッダーの並べ替え (sort) も行ないます (これはディフォルトで行な われます)。この並べ替えは gnus-sorted-header-list 変数を設定する ことで制御することができます。これはヘッダーをどういう順序で表示するかを 指定する正規表現のリストです。

例えば、記事の著者名を最初に、次に表題を表示したければ、こんな風になるで しょう。

 
(setq gnus-sorted-header-list '("^From:" "^Subject:"))

表示するようになっているヘッダーでこの変数に指定されていないものは、この 変数に指定されているすべてのヘッダーの後に、適当な順序で表示されるでしょ う。

gnus-treat-hide-boring-headershead に設定することによっ て、もっとつまらないヘッダーを隠すことができます。この関数が何をするか は gnus-boring-article-headers 変数に依存します。この変数はリスト ですが、このリストには実際のヘッダーの名前が入るのではありません。代わり に Gnus がチェックして視界から消し去るためのさまざまな「つまらない条件」 (boring conditions) のリストを指定します。

この条件には以下のようなものがあります。

empty

空のヘッダーをすべて消去します。

followup-to

Followup-To 欄が Newsgroups 欄と同一である場合には消去しま す。

reply-to

Reply-To 欄が From 欄と同じアドレスを示しているか、 broken-reply-to グループパラメーターが設定されている場合には消去 します。

newsgroups

Newsgroups 欄が現在のグループ名しか含んでいない場合には消去します。

to-address

To 欄が現在のグループの to-address パラメーターと同じもの しか含んでいない場合には消去します。

to-list

To 欄が現在のグループの to-list パラメーターと同じものしか 含んでいない場合には消去します。

cc-list

Cc 欄が現在のグループの to-list パラメーターと同じものしか 含んでいない場合には消去します。

date

その記事が過去三日以内のものであれば、Date 欄を消去します。

long-to

To 欄および/または Cc 欄があまりにも長い場合には消去します。

many-to

To 欄および/または Cc 欄が一つよりも多ければ、それらをすべ て消去します。

これらのうちの三つの要素を入れたければ、こんな風になります:

 
(setq gnus-boring-article-headers
      '(empty followup-to reply-to))

これはこの変数のディフォルト値でもあります。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.2 MIME を使う

パントマイム (mime) は、観客があくびをしながらぼんやりしているのにもかか わらず、意味も無く空中で手を振るものの標準として広く知られています。

一方 MIME は、そのためにすべてのニュースリーダーが恐怖で死んで しまうのにもかかわらず、意味も無く記事をエンコードする標準です。

MIME は記事がどんな文字セットを使うか、文字をどうエンコードす るかを指定することができ、さらには絵やその他のみだらなものを無邪気な格好 の記事に埋め込むことさえ可能にします。

Gnus は MIME パートを表示するために、 gnus-display-mime-function によって MIME 記事を処理しま す。これはディフォルトでは gnus-display-mime で、 MIME オブジェクトを表示し、セーブし、かつ操作するために使うこ とができる、ひとかたまりのクリック可能なボタンを作成します。

MIME ボタンの上にポイントを置いたならば、以下のコマンドが利用 できます:

RET (記事)
BUTTON-2 (記事)

MIME オブジェクトの表示をトグルで切り替えま す (gnus-article-press-button)。そのオブジェクトを内蔵のビューワー で表示できないときは、Gnus は ‘mailcap’ ファイルにある外部のビュー ワーに助けを求めます。ビューワーが ‘copiousoutput’ 仕様になっている 場合は、オブジェクトはインラインで (訳注: Emacs の表示に埋め込まれて) 表 示されます。

M-RET (記事)
v (記事)

手段を尋ね、その手段を使って MIME オブジェクトを表示しま す (gnus-mime-view-part)。

t (記事)

MIME オブジェクトを、異なる MIME メディア・タイプで あるかのように表示します (gnus-mime-view-part-as-type)。

C (記事)

文字セットを尋ね、その文字セットを使って MIME オブジェクトを表 示します (gnus-mime-view-part-as-charset)。

o (記事)

ファイル名を尋ねて MIME オブジェクトをセーブしま す (gnus-mime-save-part)。

C-o (記事)

ファイル名を尋ね、MIME オブジェクトをセーブして、それを記事か ら取り外します (記事を編集することによって行なわれます)。取り外され た MIME オブジェクトは message/external-body MIME タ イプとして参照されるようになりま す (gnus-mime-save-part-and-strip)。

r (記事)

ファイル名の入力を求めて、MIME オブジェクト を message/external-body 型の MIME 形式のファイルとして参照さ れる外部にある本体で置き換えます。(gnus-mime-replace-part)。

d (記事)

記事から MIME オブジェクトを取り外し、取り外したことを表す告知 で置き換えます (gnus-mime-delete-part)。

c (記事)

MIME オブジェクトを新たに作ったバッファーにコピーして、それを 表示します (gnus-mime-copy-part)。接頭引数が与えられると、デコー ドせずに生の内容物をコピーします。数値の接頭引数を与えると、文字セットに よるデコードを半手動で切り替えることができま す (記事のスクロール で述べられてい る gnus-summary-show-article-charset-alist を参照してください)。 auto-compression-mode (see (emacs)Compressed Files section ‘Accessing Compressed Files’ in The Emacs Editor) が設定されていると、 ‘.gz’ や ‘.bz2’ のような圧縮されたファイルを自動的に解凍します。

p (記事)

MIME オブジェクトを印刷します (gnus-mime-print-part)。 このコマンドは ‘.mailcap’ ファイルで定義された ‘print=’ 仕様に 従います。

i (記事)

MIME オブジェクトの内容物を、その記事バッファー に ‘text/plain’ として挿入します (gnus-mime-inline-part)。接 頭引数が与えられると、デコードせずに生の内容物を挿入します。数値の接頭引 数を与えると、文字セットによるデコードを半手動で切り替えることができま す (記事のスクロール で述べられてい る gnus-summary-show-article-charset-alist を参照してください)。 auto-compression-mode (see (emacs)Compressed Files section ‘Accessing Compressed Files’ in The Emacs Editor) の 設定とは無関係に、‘.gz’ や ‘.bz2’ のような圧縮されたファイル を jka-compr を使って自動的に解凍します。

E (記事)

内部ビューワーで MIME オブジェクトを表示します。内部ビューワー が使えないときは、外部ビューワーを使いま す (gnus-mime-view-part-internally)。

e (記事)

外部ビューワーで MIME オブジェクトを表示しま す (gnus-mime-view-part-externally)。

| (記事)

MIME オブジェクトをプロセスに出力しま す (gnus-mime-pipe-part)。

. (記事)

MIME オブジェクトをどう処理するかを、対話的に決めて実行しま す (gnus-mime-action-on-part)。

Gnus はいくつかの種類の MIME オブジェクトを自動的に表示します。 どのパートに対してそうするかを Gnus が決めるやり方については、 Emacs MIME マニュアルで述べられています。

不愉快なものでびっくりさせられるのを避けるには、トグルで切り替える関数を 使うのが最も良いでしょう。 (例えば、‘alt.sing-a-long’ グループに入 ると、あなたの気づかないうちに MIME は記事中のサウンドファイル をデコードして、何やら怪しげな長い長い歌があなたのスピーカーから大音響で 流れ出し、あなたはボリュームボタンを見つけられず、というのはそんなものは もともと付いていないからで、みんなはあなたの方を睨みはじめ、あなたはプロ グラムを止めようとするけれどもできなくて、ボリュームを制御するプログラム も見つけられなくて、そして部屋中の全員は突然あなたのことを軽蔑の眼差しで 見るようになってしまい、あなたはちょっと面白くない思いをする、とか)。

現実の出来事と実在の人物に類似しているかもしれませんが、これはすべてホン トのことです。げほげほ。

MIME コマンド も見てください。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.3 HTML

もし w3m があなたのシステムにインストールしてあれば、Gnus は記事 バッファーに HTML 記事を表示することができます。これを行なうた めの様々なやり方の付加機能がありますが、ディフォルトで使われるそんな一つ の手法が組み込みで用意されています。

完全な概要については See (emacs-mime-ja)Display Customization section ‘Display Customization’ in The Emacs MIME Manual, を参照してください。この章はディ フォルトの機能だけを説明します。

mm-text-html-renderer

もしこれが gnus-article-html に設定されていると、 Gnus は w3m を利用するその組み込み機能を使います。

gnus-blocked-images

URL がこの正規表現に合致する外部画像は取得も表示もされません。 例えば “ads” という文字列をそれらの内に持つすべての URL を阻 止するには、以下のようにしてください:

 
(setq gnus-blocked-images "ads")

これは評価されるべき関数でも構いません。その場合、それはグループ名をパラ メーターとして呼ばれます。ディフォルト値 は gnus-block-private-groups で、ニュースグループの記事ではないど んなものに対しても ‘"."’ を返します。これはメールを読むときに外部画 像を取得しないということで、それによってあなたがメールを読んだかどうかを 追跡するために誰も web bugs (訳注: インターネットユーザを追跡するための ツール) の類を使えないようにします。

gnus-inhibit-images も参照してください (see section 記事のその他)。

gnus-html-cache-directory

Gnus は gnus-blocked-images がどう設定されているかに応じて画像を ダウンロードしてキャッシュしますが、それらの画像はこのディレクトリーに保 存されます。

gnus-html-cache-size

そのディレクトリーで、gnus-html-cache-size で指定されたバイト数を 越える古いファイルは消去されます。ディフォルトは 500MB です。

gnus-html-frame-width

HTML を描画するときの幅です。ディフォルトは 70 です。

gnus-max-image-proportion

表示される画像が、それらがあるウィンドウに対してどれくらい大きいかを表す 値です。0.7 という値 (ディフォルト) は、それらがウィンドウの幅と高さ の 70% を取ることができることを意味します。画像がこれより大きくて、か つ Emacs がそれを行なうことができるならば (訳注: ImageMagick ライブラリー を使うように構築されているならば)、これらの基準に合うように縮小されます。

これを使うためには w3mcurl がインストールされている必 要があります。もしあれば Gnus は自動的に HTML を表示するはずで す。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.4 記事のカスタマイズ

記事をどのように見せるかをカスタマイズするためのたくさんの関数が存在して います。これらの関数を対話的に呼ぶこともできる し (see section 記事の洗濯)、記事を選択したときに自動的に選択することも できます。

自動的に呼ばれるようにするためには、対応するトリートメント変数を設定しな ければなりません。例えばヘッダーを隠すためには、 gnus-treat-hide-headers を設定します。以下は設定できる変数の一覧 ですが、まずこれらの変数の取り得る値について話しましょう。

注意: いくつかの値は、有効な値であってもほとんど意味を無しません。実用的 な値は下の一覧を調べてください。

  1. nil: このトリートメントをしません。
  2. t: このトリートメントをすべての本文のパートで行ないます。
  3. head: ヘッダーでそのトリートメントをします。
  4. first: このトリートメントを最初の本文のパートで行ないます。
  5. last: このトリートメントを最後の本文のパートで行ないます。
  6. 整数: このトリートメントをこの数値より短いすべての本文のパートで行ないま す。
  7. 文字列のリスト: このリストに含まれている正規表現に合致する名前のグループ で読まれた記事の、すべての本文のパートでこのトリートメントを行ないます。
  8. 最初の要素が文字列でないリストです:

    リストは再帰的に評価されます。リストの最初の要素は述語です。以下の述語が 認識されます: or, and, not, typep。例です:

     
    (or last
        (typep "text/x-vcard"))
    

ここで「パート」という語が使われていることに気付いたと思います。これはメッ セージには MIME マルチパート記事があり、いくつかのパートに分割 されているかもしれないという事実に関連しています。マルチパートでない記事 は一つのパートのみであるとみなされます。

このトリートメントはすべてのマルチパートのパートたちに適用されるのでしょ うか? はい、そうしたければそうなります。ですが、ディフォルトで は ‘text/plain’ パートだけにトリートメントが施されます。これ は gnus-article-treat-types 変数で制御され、これはパートの型に合 致する正規表現のリストです。制御変数の値が、上で説明されているように述語 のリストであるときは、この変数は無視されます。

以下のトリートメントのオプションが使用可能です。これをカスタマイズするた めの最も簡単な方法は gnus-article-treat カスタマイズグループを調 査することです。丸括弧の中の値は提案されている意味のある値です。他のもの も可能ですが、ほとんどの人にとってはおそらくここに一覧表示されているもの で十分でしょう。

gnus-treat-buttonize (t, integer)
gnus-treat-buttonize-head (head)

See section 記事のボタン.

gnus-treat-capitalize-sentences (t, integer)
gnus-treat-overstrike (t, integer)
gnus-treat-strip-cr (t, integer)
gnus-treat-strip-headers-in-body (t, integer)
gnus-treat-strip-leading-blank-lines (t, first, integer)
gnus-treat-strip-multiple-blank-lines (t, integer)
gnus-treat-strip-pem (t, last, integer)
gnus-treat-strip-trailing-blank-lines (t, last, integer)
gnus-treat-unsplit-urls (t, integer)
gnus-treat-wash-html (t, integer)

See section 記事の洗濯.

gnus-treat-date (head)

日付ヘッダーを gnus-article-date-headers 変数に応じて変形/追加し ます。これは表示する Date ヘッダーのリストです。利用可能な形式は:

ut

協定世界時。GMT とか ZULU とも言います。

local

ユーザーのローカル時間帯。

english

英文として読める形式。

lapsed

メッセージが投稿されてからの経過時間。

combined-lapsed

元の Date ヘッダーと (短い形式の) 経過時間。

original

元の Date ヘッダー。

iso8601

ISO8601 形式。つまり “2010-11-23T22:05:21” のようなもの。

user-defined

gnus-article-time-format 変数に従った形式。

See section 記事の日付.

gnus-treat-from-picon (head)
gnus-treat-mail-picon (head)
gnus-treat-newsgroups-picon (head)

See section Picons.

gnus-treat-from-gravatar (head)
gnus-treat-mail-gravatar (head)

See section Gravatars.

gnus-treat-display-smileys (t, integer)
gnus-treat-body-boundary (head)

ヘッダーと本文の間に境界線を追加します。境界線に は gnus-body-boundary-delimiter に設定された文字列が使われます。

See section スマイリー.

gnus-treat-display-x-face (head)

See section X-Face.

gnus-treat-display-face (head)

See section Face.

gnus-treat-emphasize (t, head, integer)
gnus-treat-fill-article (t, integer)
gnus-treat-fill-long-lines (t, integer)
gnus-treat-hide-boring-headers (head)
gnus-treat-hide-citation (t, integer)
gnus-treat-hide-citation-maybe (t, integer)
gnus-treat-hide-headers (head)
gnus-treat-hide-signature (t, last)
gnus-treat-strip-banner (t, last)
gnus-treat-strip-list-identifiers (head)

See section 記事を隠す.

gnus-treat-highlight-citation (t, integer)
gnus-treat-highlight-headers (head)
gnus-treat-highlight-signature (t, last, integer)

See section 記事のハイライト.

gnus-treat-play-sounds
gnus-treat-ansi-sequences (t)
gnus-treat-x-pgp-sig (head)
gnus-treat-unfold-headers (head)
gnus-treat-fold-headers (head)
gnus-treat-fold-newsgroups (head)
gnus-treat-leading-whitespace (head)

See section 記事ヘッダー.

もちろん、gnus-part-display-hook から呼ばれる自分用の関数を書く こともできます。関数はそのパートに範囲が狭められた状態で呼ばれ、ほとんど なんでも好きなことができます。バッファーに保存しておかなければならない情 報はありません—何でも変えることができます。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.5 記事のキーマップ

概略バッファーにおけるキー操作のほとんどは記事バッファーでも使用できます。 これらは概略バッファーでそれらを押したかのように動作するはずです。つまり 記事を読んでいる間、実際に概略バッファーを表示させておく必要がありません。 すべての操作は記事バッファーから行なうことができるのです。

v キーはユーザー用に予約されています。そのまま何かのコマンドに割り 当てても構いませんが、接頭キーとして使う方が良いでしょう。

他にもいくつかのキーが利用できます:

SPACE

記事を一ページ先にスクロールします。(gnus-article-next-page)。 h SPACE h とまったく同じです。

DEL

記事を一ページ前にスクロールします (gnus-article-prev-page)。 h DEL h とまったく同じです。

C-c ^

カーソルが Message-ID の近辺にあるときに C-c ^ を押すと、 Gnus はサーバーからその記事を取ってこようとしま す (gnus-article-refer-article)。

C-c C-m

カーソルの近くにあるアドレスに返信を送ります (gnus-article-mail)。 接頭引数を与えると、そのメールを引用します。

s

バッファーを再配置して、概略バッファーが見えるようにしま す (gnus-article-show-summary)。

?

利用できるキー操作のごく簡単な説明を出しま す (gnus-article-describe-briefly)。

TAB

次のボタンがあればそこに移動します (gnus-article-next-button)。こ れは記事にボタンを付ける機能をオンにしているときのみ意味を持ちます。

M-TAB

一つ前のボタンがあればそこに移動します (gnus-article-prev-button)。

R

現在の記事に元記事を含んだ返答のメールを送りま す (gnus-article-reply-with-original)。もし領域が活性化されていた ならば、その領域にあるテキストだけを yank します。

S W

現在の記事に元記事を含んだ広い返答のメールを送りま す (gnus-article-wide-reply-with-original)。もし領域が活性化され ていたならば、その領域にあるテキストだけを yank します。

訳注:「広い返答」とはヘッダーの To, From, (もしく は Reply-to) と Cc) のすべての人に返答をすることです。 Mail-Followup-To があれば、代わりにそれが使われます。

F

現在の記事に元記事を含んでフォローアップをしま す (gnus-article-followup-with-original)。もし領域が活性化されて いたならば、その領域にあるテキストだけを yank します。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.6 記事のその他

gnus-single-article-buffer

nil 以外であれば、すべてのグループに対して同じ記事バッファーを使 用します (これはディフォルトです)。nil であれば、各グループ毎の固 有の記事バッファーを持つようになります。

gnus-widen-article-window

もし nil でなかったら h コマンドで記事を選ぶときに記事ウィ ンドウをフレーム全体を占めるように拡大します。

gnus-article-decode-hook

MIME 記事をデコードするときに使用されるフックです。ディフォル ト値は (article-decode-charset article-decode-encoded-words) です。

gnus-article-prepare-hook

このフックは記事が記事バッファーに挿入された直後に呼び出されます。これは 主に、何か記事の内容に依存する処理をする関数のために用意されています。記 事バッファーの内容を変更するような目的で使うべきではないでしょう。

gnus-article-mode-hook

記事モードのバッファーで呼び出されるフックです。

gnus-article-mode-syntax-table

記事バッファーで用いられる構文テーブル (syntax table) です。これ は text-mode-syntax-table をもとに初期化されます。

gnus-article-over-scroll

非-nil にすることによって、それ以上スクロールする新しいテキストが 無くても記事バッファーをスクロールできるようにします。ディフォルト は nil です。(訳注: 記事の最下行が見えているときに、nil だ と RET キーでそれ以上スクロールしませんが、非-nil にすると 記事が見えなくなるまでスクロールします。)

gnus-article-mode-line-format

この変数は gnus-summary-mode-line-format と同じ仕様に沿った様式文 字列です (see section 概略バッファーのモード行)。これは、その変数と同じ様式 指定および二つの拡張を受付けます。

w

記事の「洗濯状態」(wash status)。これは記事に対して行なわれたであ ろう洗濯操作を、それぞれ一文字で示す短い文字列になります。文字とそれらの 意味は次の通りです:

c

記事バッファーにおいて、引用された文が隠されているかもしれない場合に表示 されます。

h

記事バッファーにおいて、ヘッダーが隠されている場合に表示されます。

p

記事が電子署名または暗号化されていて、Gnus がセキュリティーのためのヘッ ダーを隠していると表示されます。(注: 署名が正しいか間違っているかを表す ものではありません。)

s

記事バッファーにおいて、署名が隠されている場合に表示されます。

o

記事バッファーにおいて、Gnus が重ね打ち文字のトリートメントを行なった場 合に表示されます。

e

記事バッファーにおいて、Gnus が強調された文字のトリートメントを行なった 場合に表示されます。

m

記事の MIME パートの数です。

gnus-break-pages

改ページ (page breaking) を行なうかどうかを制御します。この変数 が nil 以外であれば、記事中にページ区切り文字が現れるごとにページ 分割をします。この変数が nil であればページ分けは行なわれません。

gnus-page-delimiter

これが上で触れた区切り文字です。ディフォルトでは ‘^L’ (フォームフィー ド) です。

gnus-use-idna

この変数は ‘From:’、‘To:’ および ‘Cc:’ ヘッダーにある国際 化ドメイン名を、Gnus が IDNA デコードするかどうかを制御します。そのよう なメッセージの作り方について は See (message-ja)IDNA section ‘国際化ドメイン名’ in The Message Manual, を参 照してください。これに は GNU Libidn が必要で、この 変数はそれをインストールしてある場合だけ有効になります。

gnus-inhibit-images

もし nil でなければ、記事のボディーでの画像のインライン表示を禁止 します。これは MIME パートとして記事にある画像、およ び mm-text-html-renderer (see (emacs-mime-ja)Display Customization section ‘表示のカ スタマイズ’ in The Emacs MIME Manual) が shr また は gnus-w3m である場合に表示された HTML 記事の画像に対 して有効です。


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Yasutaka SHINDOH on May 11, 2011 using texi2html 1.82.