This file documents gnus, the GNU Emacs newsreader.

このファイルは GNU Emacs のニュースリーダである gnus に関する説明書です。

Copyright (C) 1995,96 Free Software Foundation, Inc.

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

著作権表示とこの許可文がすべての複製に存在する限り、この説明書のまったく同一の複製を作り、配布することを許可する。

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided also that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

同一複製の条件の下で、それによって得られた結果もこの許可文の表示と同一の条件のもとで配布する限り、この説明書の修正版の複製をし、配布することを許可する。

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.

上記の修正版に関する条件の下で、この説明書の翻訳の複製を作り、配布することを許可する。

The gnus Newsreader
*******************

Gnus を使うことによって Emacs でニュース (news) を（それにメール (mail) も）読むことができます。ニュースは NNTP、ローカルスプール、mbox ファイルなどのあらゆる極悪な手段を駆使して手に入れることができます。運試しをしてみようと思うならば、全てを同時に用いることもできます。

Semi-gnus は SEMI API に基づく MIME 機能を提供します。そういう訳で、 Semi-gnus は、大きな絵が入っていたりさまざまな形式を用いたりしているちょっと変わった記事を読む権利を擁護します。Semi-gnus は MULE API に基づく国際化・地域化、および、多字化機能を提供します。よって、Semi-gnus はさまざまな言語圏を差別しません。ああ、クリンゴンの方は Unicode Next Generationをお待ちください。

この説明書は Semi-gnus 6.4.0 に対応します。

gnus の起動
********

システム管理者が適切な設定をしていたならば、gnus を起動してニュースを読むのは非常に簡単です。そう、Emacs で M-x gnus と打つだけです。

別のフレームで gnus を起動したいときは、コマンド M-x gnus-other-frame を使うことができます。

開始時に何かがうまくいかないときは ~/.gnus ファイルの中で変数をいくつかいじくりまわさなければならないでしょう。このファイルは ~/.emacs と似ていますが、これは gnus が起動するときに読み込まれます。

この説明書でよくわからない用語がでてきたときは、用語の項 (see Terminology) を参照してください。

ニューズを見つける
=========

変数 gnus-select-method は gnus がどこでニュースを探すべきかを示しています。この変数ははじめの要素がどのようにして、２番目の要素がどこでを表すリストである必要があります。この方法はあなたの基本方法 (native method) になります。この方法で取ってこないグループは全て外の (foreign) グループです。

たとえば、NNTP サーバ news.somewhere.edu から毎日一定の量のニュース（薬のように）を摂取したいのであれば、

     (setq gnus-select-method '(nntp "news.somewhere.edu"))

のようにすることができます。

ローカル・スプールのディレクトリを読み込みたい場合は、

     (setq gnus-select-method '(nnspool ""))

のようにできます。

ローカルのスプールを使えるのであれば、かなりの確率でその方がずっと速いでしょうし、それを使うべきでしょう。

もしこの変数が設定されていなければ、gnus は NNTPSERVER 環境変数を読みにいきます。もしその変数が設定されていなければ、gnus は gnus-nntpserver-file（設定されていない場合は /etc/nntpserver）がこの件に関して何かを言っていないかを調べます。もしそれも失敗したなら、gnusは Emacs が動作しているサーバーを NNTP サーバーとして使おうとします。随分な当て推量ですけどね。

gnus-nntp-server が設定されていると、この変数は gnus-select-method を上書きします。ですから、 gnus-nntp-server は nil に設定するべきで、標準設定でもそのようになっています。

Gnus に NNTP サーバーの名前の入力を対話的に指定することもできます。 gnus に数値でない接頭引数を渡すと（例：C-u M-x gnus）、gnus は gnus-secondary-servers リスト（もし存在するならば）からサーバーを選ぶことができるようにします。ただ単に接続したいと思ったサーバーの名前を打つこともできます。

しかし、普段日常的には一つの NNTP サーバを使い、違ったサーバーには興味のあるグループが少ししかない場合、グループバッファで B 命令を使うことの方が良いでしょう。それは、選択可能なグループを表示し、その中からどれでも好きなものを購読することができます。これは、.newsrc の保持をずっとやりやすくします。See Foreign Groups.

外のグループに対する少し違ったやり方は、変数 gnus-secondary-select-methods を設定することです。この変数に表されている選択方法は、多くの点で gnus-select-method サーバーとの選択方法と同じように扱われます。起動中にアクティブファイルを探しにいきますし（もし要求されていれば）、これらのサーバー上にできた新しいニュースグループは元々のグループと同じように購読（もしくは不購読）されます。

たとえば、メールを読むために nnmbox バックエンド (backend) を使いたいときは、普通、この変数を、

     (setq gnus-secondary-select-methods '((nnmbox "")))

と設定します。

一番初め
====

起動用ファイルが存在しないときは、gnus はディフォルトでどのグループが購読されているべきかを決定しようとします。

変数 gnus-default-sebscribed-newsgroups が設定されていると、gnus はそのリストの中のグループを購読し、残りを削除します。システム管理者はこの変数を何か役に立つものに設定しておくべきです。

そうでないときは、gnus は少しの任意のグループを購読します（例： *.newusers）。（任意はここでは、Lars さんが読むべきであると考えるものというように定義されています）

また、たいていの共通の問題の解決の手助けになるよう、gnus に関する文書のグループも購読することになるでしょう。

gnus-default-subscribed-newsgroups が t のときは、gnus は新しいグループを扱うのに普通の関数を使い、特別なことは何もしません。

サーバーが落ちている
==========

標準 (default) のサーバーが落ちているときは、当然 gnus の起動にいくつかの問題が発生します。しかし、ニュースグループの他にいくつかメールのグループがあれば、それにもかかわらず gnus を起動したいと思うかもしれません。

Gnus は、信頼できるプログラムの一つとして、サーバーと接続できないときは基本選択方法なしで続けるかどうかを尋ねます。これは実際にはサーバーが存在しないとき（例えば、アドレスを間違えた場合）やサーバーが何らかの理由で一時的に調子がおかしくなっているときに起こります。もしそのまま続行することにして、外のグループが一つも無い場合、実はグループバッファではほとんど何もできないということに気がつくでしょう。でも、ねぇ、それはあなたの問題です。ハハハッ。

サーバーが完全に落ちているのを知っているか、サーバーでわずらうことなくメールだけを読みたいときは、gnus を起動するのに、gnus-no-server 命令を使うことができます。急いでいるときにもぴったりでしょう。この命令は本来のサーバーには接続しません――その代わりに、レベル１と２にあるすべてのグループを活動状態にします（基本グループでないグループはその２つのレベルにしておくのが望ましいでしょう）。

gnus をスレーブにする
=============

あなたは２つ以上の Emacs と、２つ以上の gnus を同時に動かしたいと思うかもしれません。違った .newsrc ファイルを使っているなら（例えば、２つの違ったサーバーから読み込むために、２つの違った gnus を動作させている場合）、まったく問題はありません。それを行えば良いだけです。

問題は、同じ .newsrc ファイルを使う２つの gnus を動かそうとしたときに起こります。

この問題に対処するために、gnus タワーのシンクタンクにいる我々は新しい概念にたどりつきました。マスター と スレーブ です。（我々はこの概念に特許を申請しました。そして、その言葉の著作権を得ました。お互いに関連してこれらの言葉を使いたいなら、１回使う毎に、私に $1 を送らなければなりません。もちろん、コンピューターアプリケーションのマスター／スレーブ関係の使用料はもっと高くなります。）

とにかく、M-x gnus（もしくは、普段やっている方法）で gnus を普通に起動します。その後のスレーブ gnus はそれぞれ M-x gnus-slave で起動します。スレーブは普通の .newsrc は保存しませんが、代わりにスレーブファイル にスレーブの起動中にどのようなグループが読まれたかという情報だけを保存します。マスター gnus が起動するとき、それはそれらのスレーブファイルを読み込み（そして消し）、それらからすべての情報を取り込みます。（スレーブファイルは、最終的な変更が優先されるようにそれらが作られた一連の動作の中で読まれます。）

もちろん、スレーブファイルからの情報は普通の（例えば、マスターの）ファイルよりも優先されます。

グループを取得する
=========

時々、“このグループを読みたいのであって、gnus が起動しているかどうかを気にしたくない。”ということができれば便利なことがあります。これは、利用者よりもプログラムのコードを書く人に便利な機能ですが、どちらにしろ、コマンド gnus-fetch-group はこの機能を提供します。そのコマンドは、グループの名前を引数としてとります。

新しいグループ
=======

新しいニュースグループを全く見ないで満足であるならば、 gnus-check-new-newsgroups を nil に設定することができます。これを設定した場合、起動にかかる時間が短くなります。この変数が nil に設定されていても、グループバッファで U を押せばいつでも新しいグループを購読することができます (see Group Maintenance)。設定されていない場合 (default) ではこの変数は ask-server です。この変数が always に設定されていると、命令 g を実行したときでも gnus はバックエンドに新しいグループを探すことを求めます (see Scanning New Messages)。

新しいグループを調べる
-----------

Gnus は、普通はグループが新しいかどうかを、購読しているグループと削除されているグループのリストと現状ファイル (active file) を比較することにより決定しています。この方法は特に速いというわけではありません。 gnus-check-new-newsgroups が ask-server であると、gnus はサーバーに、最後に接続してから新しいグループができているかどうかを尋ねます。この方法は速いし、安上がりです。これにより、削除されたグループのリストを保持しておくことからから完全に開放されます。ですから、 gnus-save-killed-list を nil にすることができるでしょう。そうすれば、起動、終了の両方、そして全体にわたって時間を節約できます。ディスク消費量も少なくなります。それなら、どうしてこれが標準 (default) ではないのでしょう？残念ながら、すべてのサーバーがこの命令を理解するわけではないのです。

私は今あなたが何を考えているかを当てられます。どうすればサーバーが ask-server を理解するかがわかるのでしょう？え、違うのですか？あぁ、良かった。というのは、確実な答は存在しないのです。私に言えることは、この変数を ask-server に設定して、数日間新しいグループが現れるかどうかを調べてください、ということだけです。もしいくつかのグループが現れたなら、それで動作しています。一つも現れなければ、それは動作しません。私は、gnus にサーバーが ask-server を理解するかどうかを推量させる関数を書くこともできますが、それは単に推量しているにすぎません。ですから、その関数を書くことはないでしょう。他の方法としては、サーバーに telnet をして、 HELP と打ち、サーバーが理解するコマンドの中に NEWGROUPS があるかどうかを調べることもできます。もしあれば、おそらく動作するでしょう（しかし、適切に機能を提供することなく NEGROUPS をリストに含めるサーバーもあります）。

この変数は、選択方法のリストであることもできます。そのときは、gnus は命令 ask-server をそれぞれの選択方法に対して実行し、普通の方法で購読（もしくは、不購読）します。これの副作用は、起動にかなり時間がかかるので、待っている間に瞑想できることです。永久の幸福を達成するために、マントラ ``dingnusdingnusdingnus'' を使ってください。

購読方法
----

新しいグループに遭遇したときに gnus が何をするかは、変数 gnus-subscribe-nesgroup-method によって決定されます。

この変数は関数を含んでいる必要があります。この関数は新しいグループの名前を唯一の引数として呼ばれます。

いくつかの手軽なプレハブ関数は、以下のようになっています。

gnus-subscribe-zombies
     すべての新しいグループをゾンビ (zombie) にします。これが標準 (default) になっています。後でゾンビを (A z によって) 概観したり、（S z によって）適切に全てを削除したり、（u によって）購読したりできます。

gnus-subscribe-randomly
     任意の順番ですべての新しいグループを購読します。実際には、すべての新しいグループはグループバッファの『一番上』に加えられます。

gnus-subscribe-alphabetically
     すべての新しいグループをアルファベット順に購読します。

gnus-subscribe-hierarchically
     すべての新しいグループを階層的に購読します。この関数と gnus-subscribe-alphabetically の違いは少ししかありません。 gnus-subscribe-alphabetically は新しいグループを厳密にアルファベット順にならべますが、この関数はグループをその階層の中に入れます。ですから、 rec の階層を comp の階層の前に持ってきたい場合、この関数はその配置をぐちゃぐちゃにはしません。もしくは、そのようなものです。

gnus-subscribe-interactively
     新しいグループを対話的に購読します。これは gnus が 全て のグループに対して尋ねることを意味しています。購読するグループは階層的に購読されます。

gnus-subscribe-killed
     すべての新しいグループを削除します。

上の変数と良く関係した変数は、 gnus-subscribe-hierarchical-interactive です。この変数が nil でないと、gnus は階層的な方法で新しいグループを購読するかどうかを尋ねます。gnus はそれぞれの階層で、それを下に降りるかどうかを尋ねます。

良くある間違いは、数段落前の変数 (gnus-subscribe-newsgroup-method ) を gnus-subscribe-herarchical-interactive に設定することです。これは誤りです。これは動作しません。これはおめでたい人のすることです。ですから、絶対にしないでください。

新しいグループを選別する
------------

どの新しいグループが購読（もしくは、無視）されるべきかを管理する快適で手軽な方法は、ファイル .newsrc の先頭に options 行を挿入することです。次は、例です。

     options -n !alt.all !rec.all sci.all

この行は、明らかにまじめで理知的で科学的な人間（もしくは単なる古く退屈な人間）が書いたものです。なぜなら、これは alt と rec で始まる名前を持つグループは全て無視され、sci で始まる名前を持つグループは全て購読する、ということを表しているからです。Gnus はこれらのグループを購読するのに、普通の購読方法を用いません。代わりに、 gnus-subscribe-options-newsgroup-method が用いられます。この変数は標準 (default) では gnus-subscribe-alphabetically です。

ファイル .newrc をいじりたくない場合は、 gnus-options-subscribe と gnus-options-not-subscribe の２つの変数だけを設定することもできます。この２つの変数はファイル .newrc の optinos -n 行と全く同じことをします。どちらの変数も正規表現で、新しいグループは前者に合致すれば無条件に購読され、後者に合致すると無視されます。

さらにここでおせっかいをする変数は、gnus-auto-subscribed-groups です。それは gnus-options-subscribe と全く同じように動作しますので、本当は余分なものです。しかし、私はこの二つがあった方が良いと思いました。もう一方の変数はユーザがいじくるのに使われるのに対して、この変数はいくつかの基本的な規則を設定するためのものです。ディフォルトではこの変数はメールバックエンド (nnml 、nnbabyl 、nnfolder 、 nnmbox とnnmh) からできる全ての新しいグループを購読するようになっています。それが嫌であれば、この変数を nil に設定してください。

この正規表現に合致する新しいグループは gnus-subscribe-options-newsgroup-method を使って購読されます。

サーバーを換える
========

ときどき、ある NNTP サーバーから別のサーバーへ移動しなければならないことがあります。このようなことはめったにおきませんが、おそらくあなたが仕事を変えたり、使っているサーバーがとても不安定で、別のものに乗り換えたいというときに必要になるでしょう。

サーバーを変更するのはとても簡単ですよね？ gnus-select-method を新しいサーバーを指し示すように変更すればいいだけですね？

違います！

記事の番号は違った NNTP サーバーでも (どうにかして) 同じにしてある、ということはありません。そして、 guns がどの記事を読んだかを記録する唯一の方法は、記事番号を記録することです。ですから、 gnus-select-method を変更したときは、ファイル .newsrc は意味がなくなります。

Gnusはファイル .newsrc をあるサーバー用から別のサーバー用に変換する関数を2、3用意しています。それらには一つ共通点があります---実行にながーーい時間がかかることです。おそらく、どうしても必要になったとき以外にこの関数を使おうとは思わないでしょう。

もし両方のサーバーに接続できるなら、gnusはあなたが読んだ記事全てに対してヘッダー (headers) を要求して、Message-ID を比較し、読んだ記事と記事の印を新しく記録します。コマンド M-x gnus-change-server はこれをすべての基本グループに対して行います。そのコマンドは移動先の方法の入力を促します。

個々のグループを命令 M-x gnus-group-move-group-to-server で移動することもできます。これはあるサーバーから別のサーバーへ一つの (外の) グループを移動したいときに役に立ちます。

古いサーバーと新しいサーバーの両方に接続することができないとき、印と読んだ範囲はすべて意味が無くなります。そのようなときは、コマンド M-x gnus-group-clear-data-on-native-groups を使って、基本グループに関するデータをすべて消去することができます。このコマンドは注意して使ってください。

起動ファイル
======

今や、あなたはファイル .newrc についてすべて知っています。すべての購読情報は伝統的にこのファイルに蓄積されます。

GNUS では物事が少々複雑になっています。ファイル .newsrc を最新のものにするだけではなく、ファイル .newsrc には合わない情報を保存しておくために .newsrc.el と呼ばれるファイルを使います。 (実際は、ファイル .newsrc の全ての情報を複製して保持しています。) GNUSはこれらの中で一番最後に保存されたものを使います。これをすることにより、GNUS と他のニュースリーダーを切り替えて使うことができます。

これはちょっとばかな方法なので、Gnus はもっと良い方法を編み出しました。 .newsrc と .newsrc.el ファイルに加えて、 Gnus は .newsrc.eld と呼ばれるファイルも持っています。Gnus はこれらの中で一番新しいファイルを読みますが、ファイル .newsrc.el に書き込むことはありません。ファイル .newsrc.eld は絶対に消すべきではありません。---それはファイル .newsrc にはないたくさんの情報を保持しています。

ちなみに、gnus は何も変えてません。Lars 同志、万歳！

gnus-save-newsrc-file を nil にすることによってファイル .newsrc に書き込むのを止めることができます。そうすれば、そのファイルを削除することができ、ディスク容量を節約することができ、gnus の終了が速くなります。しかし、そうすると他のニュースリーダーを使えなくなります。でも、ちょっと、誰かそうしたい人がいるでしょうか。

gnus-save-killed-list (ディフォルト では t) が nil であると、gnus は削除されたグループを起動ファイルに保存しません。これは、 (起動時と終了時の) 時間と、(ディスクの) 容量を節約します。こうすると、 gnusがどのグループが新しいかの記録を持っていないことになりますので、新しいグループの自動購読方法は意味が無くなります。この変数を nil にしたときは、gnus-check-new-newsgroups を常に nil か ask-server にしておくべきでしょう (see New Groups)。この変数は正規表現であることもできます。そのような場合は、ファイルを保存する直前にその正規表現に合致しないすべてのグループを消去します。これは、すべてのサーバーが ask-server を理解するわけではない、といったような、特定のあいまいな状況のときに役に立つでしょう。

変数 gnus-startup-file は起動ファイルがどこにあるかを指定します。ディフォルトの値は ~/.newsrc で、それがどのようなものであれ、末尾に .eld をつけたものが gnus (El Dingo) の起動ファイルになります。

gnus-save-newsrc-hook は newsrc ファイルの中のどれかを保存する前に実行されるのに対し、gnus-save-quick-newsrc-hook はファイル .newsrc.eld を保存する前に実行され、 gnus-save-standard-newsrc-hook はファイル .newsrc.eld を保存する前に実行されます。後の二つは普通は版管理を入れたり切ったりするのに使われます。ディフォルトでは、起動ファイルを保存するときに版管理に入ります。バックアップファイルの作成を止めたいときは、次のようにしてください。

     (defun turn-off-backup ()
       (set (make-local-variable 'backup-inhibited) t))

     (add-hook 'gnus-save-quick-newsrc-hook 'turn-off-backup)
     (add-hook 'gnus-save-standard-newsrc-hook 'turn-off-backup)

Gnus が起動すると、gnus-site-init-file (ディフォルトでは .../site-lisp/gnus) と gnus-init-file (ディフォルトでは ~/.gnus) のファイルを読み込みます。これらは普通の Emacs Lisp ファイルで、~/.emacs や site-init ファイルを gnus 関係のもので乱雑にしないようにするために使うことができます。Gnus はこれらと同じ名前のファイルを調べますが、接尾語 .elc と .el がついているものも調べます。言い換えれば、gnus-init-file を ~/.gnus に設定すると、gnus は (この順番に) ~/.gnus.elc 、~/.gnus.el を探し、最後に ~/.gnus を探します。

自動保存
====

何か gnus のデータを変更すること (記事を読む、印を付ける、グループを削除または購読する) をしたとき、変更は特別なドリブルバッファ (dribble buffer) に書き込まれます。このバッファはEmacs が普通するように自動保存されます。ファイル .newsrc を保存する前に Emacsが落ちたときは、すべての変更をこのファイルから回復することができるでしょう。

起動時に gnus がこのファイルの存在を発見すると、gnus はそれを読み込むかどうかを利用者に尋ねます。本当の起動ファイルが保存されれば、自動保存ファイルは削除されます。

gnus-use-dribble-file が nil であると、gnus はドリブルバッファをつくったり、維持したりしません。ディフォルトは t です。

Gnus はドリブルファイルを gnus-dribble-directory に置きます。ディフォルトではそのようになっていますが、この変数が nil であると、 gnus はファイル.newsrc の置かれているディレクトリ (これは普通は利用者のホームディレクトリです) に入っていってドリブルファイルを作ります。ドリブルファイルは .newsrc と同じ許可属性を与えられます。

現状ファイル
======

Gnus は起動したときや、実際に新しい記事が到着しているかを決定しようとするときに、現状ファイルを読み込みます。これはとても大きなファイルで、そのサーバーの活動中のグループと記事のすべてのリストが入っています。

現状ファイルを検査する前に、gnus は正規表現 gnus-ignored-newsgroups に合うすべての行を削除します。これは主に偽の名前を持つグループを排除するために使われてきましたが、興味の無いグループの階層を無視するために使うこともできます。しかし、これはお勧めできません。本当のことを言うと、全く賛成できません。代わりに、そのような用途に用いられる変数の概略を知るために、see New Groups を参照してください。

現状ファイルは比較的大きくなる傾向があるので、遅い回線を使っているときは、現状ファイルを読み込まないように gnus-read-active-file を nil に設定することができます。この変数はディフォルトでは some です。

そのような時は、gnus は実際に購読されているグループに関する情報だけを得てやっていこうとします。

気を付けてほしいのは、あなたが山ほどのたくさんのグループを購読しているときにこの変数を nil 設定すると、gnus は速くなるどころか、遅くなってしまうということです。現状では、ニューズを 2400bps 以上のモデムを通して読んでいるのでない限り、gnus の速度はかなり遅くなるでしょう。

この変数は some という値も取ることができます。その時は、gnus は現状の情報を購読されているグループのものだけを得ようとします。いくつかのサーバー (命令LIST ACTIVE group を使うことのできる、最新鋭の INN サーバー) では、非常に早くなるでしょうが、他のサーバーでは速くはありません。どのようにせよ、遅い回線では some は nil よりも速く、それはもちろんt よりも速くなります。

もしこの変数が nil であると、gnus は完全にがんじがらめの方法でグループの情報を得ようとします。そして、これはあまり速くありません。もしそれが some で NNTP サーバーを使っているときは、gnus はできるだけ速く命令を出し、一撃ですべての返答を読み込みます。この方が普通はより良い結果をもたらしますが、サーバーが命令 LIST ACTIVE group を理解しないなら、サーバーにとってはあまり良いとは言えません。

some か nil を使うのであれば、どちらにしろ速度を上げるためにすべての興味の無いグループを必ず削除するべきでしょう。

この変数は２番目の (secondary) 方法の現状ファイル取得にも影響することに気を付けてください。

起動変数
====

gnus-load-hook
     Gnus が読み込まれているときに実行されるフックです。何度 gnus を起動しても、 Emacs が起動してから終了するまでに普通はこのフックは一回しか実行されないことに注意してください。

gnus-before-startup-hook
     Gnus の起動に成功した後に実行されるフックです。

gnus-startup-hook
     Gnus が起動された後に、一番最後に実行されるフックです。

gnus-started-hook
     Gnus の起動に成功した後に、一番最後に実行されるフックです。

gnus-started-hook

     ファイル .newsrc を読み込んだ後で、グループバッファを作成する前に実行されるフックです。

gnus-check-bogus-newsgroups
     もし nil でないと、gnus は起動時に調べてすべての偽グループを削除します。偽グループ (bogus group) はあなたの .newsrc ファイルには存在するけれど、ニューズサーバーには実際には存在しない、というグループのことです。偽グループを調べるのにはかなり時間がかかりますので、時間と資源を節約するために、この機能は使わないほうがいいでしょう。そして、代わりにグループバッファで時々偽グループを調べるのが良いでしょう (see Group Maintenance を参照してください)。

gnus-inhibit-startup-message
     もし nil でないと、起動時のメッセージは表示されません。そのようにすれば、仕事の代わりにニューズを読んでいるのを上司に気付かれにくくなるでしょう。この変数は .gnus.el がロードされる前に使われますので、 .emacs に設定するべきである点を注意してください。

gnus-no-groups-message
     グループが一つも存在しないときに gnus が表示するメッセージです。

gnus-play-startup-jingle
     もし nil でないと、起動時に gnus の短い曲を演奏します。

gnus-startup-jingle
     上の変数が nil でないときに演奏される短い曲です。ディフォルトは Tuxdemoon.Jingle4.au です。

グループバッファ
********

グループバッファ group buffer は有効なグループを全部（あるいは一部を）一覧表示します。これは gnus を起動したときに最初に表示されるバッファで、 gnus が生きている限り決して消されることはありません。

グループバッファの形式
===========

グループ行の仕様
--------

グループバッファのデフォルトでの形式はきれいでつまんないけど、これは君の好きなように、サイコーにダサくすることもできます。

これがグループ行の例です。

          25: news.announce.newusers
      *    0: alt.fan.andrea-dworkin

とっても簡単でしょ？

news.announce.newusers には 25 の未読記事があるのがわかります。 alt.fan.andrea-dworkin には未読記事はないけれども、印をつけた記事がいくつかあります（行頭のちっちゃなアスタリスクが見える？）。

この形式は gnus-group-line-format 変数をいじることで、どんな風にでも変えられます。この変数は format の仕様風に動作します。つまり（あのクソ）C 言語を使う人たちのため、printf の仕様とほぼ同じです。 See Formatting Variables

%M%S%5y: %(%g%)\n という値で上記の行を生成します。

コロンは、この行の中に必ず無くてはいけません。カーソルは、何かの操作をした後は常にコロンのところに移動するからです。他には何も必要ではありません―― グループ名さえもです。表示されている文字は全てただの画面の飾りであり、 gnus がそれを調べることはありません。Gnus は必要とする全ての実情報を、テキスト属性を使って憶えています。

（もし君が、すごくヘンな、素晴らしい、表計算風のレイアウトを作ったとしたら、みんな、君は会計の仕事が忙しくって、ニュースを読んで時間を無駄使いしたりなんかしてない、って信じてくれるよ。）

以下が使用できるフォーマット文字のリストです。

M
     そのグループが印のついた記事だけのときは、アスタリスク文字。

S
     そのグループが購読されているかどうか。

L
     購読度のレベル。

N
     未読記事の数。

I
     保留記事の数。

T
     印付き記事の数。

R
     既読記事の数。

t
     推定全記事数（これは実際は MAX-NUMBER - MIN-NUMBER + 1）。

y
     未読でも、印付きでも、保留でもない記事の数。

i
     印付き記事と保留記事の数。

g
     グループ名のフルネーム。

G
     グループ名。

D
     ニューズグループの説明。

o
     モデレーテッドの場合 m.

O
     モデレーテッドの場合 (m).

s
     選択メソッド。

n
     どこからの選択か。

z
     外部選択メソッドが使われている場合、<%s:%n> と同じ文字列。

P
     トピック (see Group Topics) のレベルに応じた字下げ。

c
     短い（省略した）グループ名。gnus-group-uncollapsed-levels 変数は、どのレベルまでグループ名を全部残すかを示します。デフォルトは 1 です――この意味は、gnu.emacs.gnus のようなグループ名を g.emacs.gnus に短縮するということです。

m
     そのグループに最近新着メールが届いている場合は % (gnus-new-mail-mark)。

d
     最後にいつこのグループを読んだかを示す文字列 (see Group Timestamp)。

u
     利用者定義指定。フォーマット文字列中で、この次の文字はアルファベット文字でなければいけません。Gnus は gnus-user-format-function-X 関数を呼び出します。ここで X は %u に続いている文字です。この関数は引数に、一つのダミーパラメータを渡されます。この関数は、他の各指定文字の情報と同様に、バッファに挿入される文字列を返さなければなりません。

全ての「〜の数」の指定で、もしその情報が利用できない場合にはアスタリスク (*) が埋められます――例えば、起動されていない外部グループや、不正なネイティブグループの場合です。

グループモード行の仕様
-----------

モード行は gnus-group-mode-line-format (see Formatting Variables) を設定することで変更できます。こいつは指定文字をあんまりたくさん知ってません。

S
     ネイティブのニュースサーバ。

M
     ネイティブの選択メソッド。

グループのハイライト
----------

グループバッファのハイライトは gnus-group-highlight 変数によって制御されています。これは (FORM . FACE) のようなものを要素に持つ連想リストです。FORM が何か nil 以外に評価されるものなら、その行に対して FACE が使用されます。

以下がこの変数の値の例です。これは背景が暗い設定ではきれいに見えるかも知れません。

     (face-spec-set 'my-group-face-1 '((t (:foreground "Red" :bold t))))
     (face-spec-set 'my-group-face-2 '((t (:foreground "SeaGreen" :bold t))))
     (face-spec-set 'my-group-face-3 '((t (:foreground "SpringGreen" :bold t))))
     (face-spec-set 'my-group-face-4 '((t (:foreground "SteelBlue" :bold t))))
     (face-spec-set 'my-group-face-5 '((t (:foreground "SkyBlue" :bold t))))

     (setq gnus-group-highlight
           '(((> unread 200) . my-group-face-1)
     	((and (< level 3) (zerop unread)) . my-group-face-2)
     	((< level 3) . my-group-face-3)
     	((zerop unread) . my-group-face-4)
     	(t . my-group-face-5)))

see Faces and Fonts も参照してください。

この form が評価されるときに動的に束縛されている変数には以下のものがあります。

group
     グループ名。

unread
     そのグループの未読記事の数。

method
     選択メソッド。

mailp
     そのグループがメールのグループかどうか。

level
     そのグループのレベル。

score
     そのグループのスコア。

ticked
     そのグループ中の印の付いた記事の数。

total
     そのグループ中の全記事数。もっと正確に言うと、MAX-NUMBER - MIN_NUMBER + 1.

topic
     トピックマイナーモードを使用している時、この変数は挿入されている現在のトピックに束縛されます。

この form が評価 (eval) されるときは、ポイントは問題のグループの行頭にあります。従って、通常の gnus の関数のほとんどを使ってそのグループの情報を取ってくることができます。

gnus-group-update-hook はグループ行が変更されたときに呼び出されます。これは gnus-visual が nil のときは呼び出されません。このフックはデフォルトでは gnus-group-highlight-line を呼び出します。

グループ操作
======

全ての移動コマンドは数字プレフィックスを理解するので、期待する通りの動作をします。たぶんね。

n
     次の未読記事のあるグループに移動します (gnus-group-next-unread-group)。

p
DEL
     一つ前の未読記事のあるグループに移動します (gnus-group-prev-unread-group)。

N
     次のグループに移動します (gnus-group-next-group)。

P
     一つ前のグループに移動します (gnus-group-prev-group)。

M-n
     一つ前の同じレベル（もしくはそれより小さいレベル）の未読グループに移動します(gnus-group-prev-unread-group-same-level)。

M-p
     次の同じレベル(もしくはそれより小さいレベル)の未読グループに移動します (gnus-group-next-unread-group-same-level)。

次の３つの命令はグループにジャンプするためのものです：

j
     グループにジャンプします（それが見えるようになっていなかったら見えるようにします）(gnus-group-jump-to-group)。kill されているグループも、生きているグループと同様にジャンプできます。

,
     最も小さいレベルの未読グループにジャンプします (gnus-group-best-unread-group)。

.
     最初の未読記事のあるグループにジャンプします (gnus-group-first-unread-group)。

gnus-group-goto-unread が nil にすると、全ての移動コマンドは、次の未読グループではなく次のグループに移動するようになります。そのコマンドが次の未読グループに移動する、と言い張っていても、です。デフォルトは t です。

グループの選択
=======

SPACE
     現在のグループを選択し、サマリバッファに切り替えて最初の未読記事を表示します (gnus-group-read-group)。もしそのグループに未読記事が無い、もしくはこのコマンドに数字以外のプレフィックスを与えると、gnus はサーバからこのグループの全ての古い記事を取得しようとします。N の数字プレフィックスを与えると、gnus の取得する記事数は N になります。N が正の数であれば gnusは新しい方から N 個の記事を取得し、 N が負の数であれば gnus は古い方から N 個の記事を取得します。

RET
     現在のグループを選択し、サマリバッファに切り替えます (gnus-group-select-group)。gnus-group-read-group と同じ引数を取ります――唯一の違いは、グループに入ったときに最初の未読記事を表示しない、ということです。

M-RET
     これは上記のコマンドと同じ動作をしますが、「ゴタゴタ」は最低限にしようとします (gnus-group-quick-select-group)。スコア・kill の処理は行われず、ハイライトも記事消去もしません。これは、あなたが本当に急いでいて、どっかのやたらでっかいグループに入らなければいけないときに役に立つかもしれません。また、プレフィックスに 0 を与えれば（すなわち 0 M-RET）、gnus はサマリバッファを作ろうとさえしません。これはサマリバッファを作る前にスレッド表示を切り替えたいとき役に立ちます (see Summary Generation Commands)。

M-SPACE
     これは RET コマンドと同じ動作をするさらにもう一つのコマンドですが、このコマンドは記事消去と保留記事を隠す処理を行いません (gnus-group-visible-select-group)。

M-C-RET
     最後にこのコマンドは、現在のグループを一度限り、その内容に一切の処理をすることのないように選択します (gnus-group-select-group-ephemerally)。 スレッド表示さえも行われません。この方法で選択した後にこのグループに対して行ったことは全て、その後に影響を与えることはありません。

gnus-large-newsgroup 変数は、何を大きなグループと考えるべきか、を gnus に与えます。これは デフォルトでは 200 です。グループに（未読と印付きの）記事がこの数以上あれば、gnus はそのグループに入る前に利用者に確認を求めます。利用者はサーバからいくつの記事を取得するかを指定できます。もし利用者が負の数 (-n) を指定すれば、古い方から n 個の記事を取得します。正の数であれば、新しく到着した方から n 個の記事を取得します。

gnus-auto-select-first は、SPACE コマンドでグループに入ったときに、自動的に記事を選択するかどうかを制御します。

nil
     グループに入ったときにどの記事も選択しない。ただサマリバッファを表示するだけ。

t
     グループに入ったときに、最初の未読記事を選択する。

best
     グループに入ったときに、そのグループで最も高いスコアの記事を選択する。

もしあるグループで自動記事選択をやめたいのであれば（例えばでっかい記事のあるバイナリグループでは、とか）、グループが選択されたときに呼び出される gnus-select-group-hook の中でこの変数を nil に設定することができます。

購読制御コマンド
========

S t
u
     現在のグループの購読を切り替えます (gnus-group-unsubscribe-current-group)。

S s
U
     グループを購読するかどうかを確認し、購読します。すでに購読するようになっている場合には、購読を止めます (gnus-group-unsubscribe-group)。

S k
C-k
     現在のグループを kill します (gnus-group-kill-group)。

S y
C-y
     最後に kill したグループを yank します (gnus-group-yank-group)。

C-x C-t
     二つのグループの順序を置き換えます (gnus-group-transpose-groups)。 これはホントは購読コマンドではありませんが、kill と yank を何度か続ける代わりにこのコマンドが使えます。

S w
C-w
     リージョン内の全てのグループを kill します (gnus-group-kill-region)。

S z
     全てのゾンビグループを kill します (gnus-group-kill-all-zombies)。

S C-k
     あるレベルのグループを全て kill します (gnus-group-kill-level)。 kill した後、これらのグループを yank で戻すことはできないので、このコマンドはいくらか注意して使ってください。このコマンドが本当に便利になるのは、.newsrc に捨てちゃいたい未購読のグループがたくさんあるときだけです。レベル 7で S C-k を行うと、.newsrc ファイル中にメッセージ番号がない未購読グループを全て kill します。

see Group Levels も参照してくください。

グループデータ
=======

c
     そのグループ内の全ての無印の記事を既読にする (gnus-group-catchup-current)。グループバッファから既読にした場合は gnus-group-catchup-group-hook が呼び出されます。

C
     そのグループの全記事を、印付きの記事も含めて既読にします (gnus-group-catchup-current-all)。

M-c
     現在のグループの全てのデータをクリアします――マークと既読記事のリストを消し去ります (gnus-group-clear-data)。

M-x gnus-group-clear-data-on-native-groups
     もし NNTP サーバを別のものに切り替えたとすると、全てのマークと既読情報はもう役には立ちません。このコマンドを使ってネイティブグループの全てのデータをクリアすることができます。注意して使ってね。

グループレベル
=======

全てのグループは購読度 subscribedness のレベルを持ちます。例えば、あるグループがレベル 2 だとすれば、それはレベル 5 のグループよりも「より購読している」ということです。Gnus に対して、あるレベルかそれより小さいレベルのグループのみ一覧表示するように頼むこともできるし (see Listing Groups)、あるレベルかそれより小さいレベルのグループの新着記事のみを確認することもできます (see Scanning New Messages)。

忘れないで: グループのレベルが大きいほど、重要度は低くなるということ。

S l
     現在のグループのレベルを設定する。数字プレフィックスが与えられると、そこから N 個のグループのレベルが設定されます。レベルを入力するためのプロンプトが出ます。

Gnus はレベル 1 から gnus-level-subscribed（この値を含む）（デフォルトは 5）までのグループを購読、gnus-level-subscribed（この値を含まない）からgnus-level-unsubscribed（この値を含む）（デフォルトは 7）までのグループを非購読、gnus-level-zombie をゾンビ（歩く屍）（デフォルトは 8）、gnus-level-killed を kill されている（完全に死んでる）（デフォルトは 9）と判断します。Gnus は購読と非購読のグループは全く同様に扱いますが、ゾンビと kill グループは、どの記事を読んだか、存在するかなどの情報を一切持ちません。この死んでるグループと生きてるグループの区別は、別にそれがきれいだからとか賢いからというわけではなく、純粋に効率的な理由のためです。

メール用のグループは（もしあれば）非常に小さいレベル（例えば 1 か 2）にしておくことをお勧めします。

もしレベル変数で遊びたいのであれば、多少注意をしてまわる必要があります。一旦それを設定したら、二度とそれに触らないでください。さらに言えば、自分で何をやっているかを正確に理解していない限り、一切触らないでください。

身近に関係する2つの変数は gnus-level-default-subscribed（デフォルトは 3）と gnus-level-default-unsubscribed（デフォルトは 6）です。これらは新しいグループが（非）購読されたときのレベルです。もちろん、これら２つの変数の値は、意味のある正しい範囲でなくてはなりません。

gnus-keep-same-level が nil 以外であれば、移動コマンドのいくつかは同一（あるいはそれより小さい）レベルのグループのみの移動になります。特に、あるグループの最後の記事から次のグループに移るとき、次の同一（あるいはそれより小さい）レベルのグループに移動します。これは残りのグループを読むより先に、より重要なグループを読んでおきたいときには便利かもしれません。

デフォルトでは gnus-group-default-list-level と同じかそれより小さいレベルのグループが、グループバッファに一覧表示されます。

gnus-group-list-inactive-groups が nil 以外であれば、未読のグループに一緒にアクティブでないグループも表示します。この変数はデフォルトで t です。もしこれが nil であれば、アクティブでないグループは表示されません。

gnus-group-use-permanent-levels が nil 以外であれば、一旦レベルを g や l のプレフィックスに与えると、その後の全てのコマンドにおいてそのレベルが「作用する」レベルになります。

Gnus は通常、gnus-activate-level かそれより小さいレベルのグループのみを起動します（つまりサーバに問い合わせをする）。購読していないグループを起動したくなければ、この変数を例えば 5 に設定するとよいかもしれません。デフォルトは 6 です。

グループのスコア
========

普通は重要なグループは高レベルにしておくでしょうけれども、この方法では少々制限がきついですよね。ひょっとしたら、グループをどれくらい頻繁に読むかによってグループバッファをソートしたいなあ、なんて思わない？理にかなってるでしょ？

グループスコア group score はそのためのものです。それぞれのグループに対してスコアを指定することができます。そしてグループバッファをこのスコアを基にソートすることができます。あるいは、スコア順でソートしてその後レベルでソートすることもできます。（レベルとスコアをひとまとめにして、グループのランク rank と呼びます。レベルが 4 でスコアが 1 のグループは、レベルが 5 でスコアが 300 のグループよりも高いランクとなります。（レベルの方が重要度が高く、スコアの方は重要度が低くなります。））

頻繁に読むグループに、めったに読まないグループよりも高いスコアを与えたいときは、gnus-summary-exit-hook フックに gnus-summary-bubble-group 関数を追加することができます。これでバブルソートの実行結果が（ソートの後で）得られるでしょう。サマリモードを終了するたびにこの活動をさせたいのであれば、同じフックに gnus-group-sort-groups-by-rank か gnus-group-sort-groups-by-score を追加できますが、いくらか遅くなるでしょう。

グループへのマーク
=========

もしいくつかのグループに対して何らかの命令を実行したい場合で、それらがグループバッファに連続してある場合には、通常通り命令に対して数字プレフィックスを与えるだけです。そうすればほとんどのグループコマンドは、これらのグループに対してあなたの命令に従います。

しかしそれらのグループが順番に並んでいない場合においても、いくつかのグループに対して命令を実行することができます。単に始めにプロセスマークでグループにマークをつけておき、そして命令を実行するだけです。

#
M m
     現在のグループにマークをつける (gnus-group-mark-group)。

M-#
M u
     現在のグループからマークを削除する (gnus-group-unmark-group)。

M U
     全てのグループからマークを削除する (gnus-group-unmark-all-groups)。

M w
     ポイントとマークに間の全てのグループにマークをつける (gnus-group-mark-region)。

M b
     バッファ内の全てのグループにマークをつける (gnus-group-mark-buffer)。

M r
     ある正規表現にマッチする全てのグループにマークをつける (gnus-group-mark-regexp)。

see Process/Prefix も参照してください。

プロセスマークが付けられている全てのグループに対して何かの命令を実行したいときは、M-& (gnus-group-universal-argument) 命令を使うことができます。プロンプトから実行したい命令を入力します。

外部グループ
======

以下では、一般的な外部グループの作成、変更を行うグループモードの命令をいくつか、および特別な目的のグループの簡単に作成する命令を紹介します。これらの命令は全て、新規に作成したグループをポイント位置に挿入します―― gnus-subscribe-newsgroup-method は参照されません。

G m
     新しいグループを作成します (gnus-group-make-group)。Gnus はプロンプトを表示して、名前とメソッドと、場合によっては address の入力を求めてきます。より簡単に NNTP グループを購読する方法は、 see Browse Foreign Server を参照してください。

G r
     現在のグループの名前を、何か別のものに変更します (gnus-group-rename-group)。これはある種のグループ――主にメールグループに対してのみ有効です。このコマンドはバックエンドによっては非常に遅いことも有り得ます。

G c
     グループパラメータをカスタマイズする (gnus-group-customize)。

G e
     現在のグループの選択メソッドを修正するためのバッファに移動します (gnus-group-edit-group-method)。

G p
     グループパラメータを修正するためのバッファに移動します (gnus-group-edit-group-parameters)。

G E
     グループ情報を修正するためのバッファに移動します (gnus-group-edit-group)。

G d
     ディレクトリグループを作成します (see Directory Groups)。ディレクトリ名をプロンプト入力します (gnus-group-make-directory-group)。

G h

     Gnus ヘルプグループを作成します (gnus-group-make-help-group)。

G a
     Gnus アーカイブグループを作成します (gnus-group-make-archive-group)。デフォルトでは最も最近の記事を指しているグループが作成されますが (gnus-group-recent-archive-directory)、プレフィックスを与えると全ての記事を含むグループが gnus-group-archive-directory を基に作成されます。

G k
     kiboze グループを作成します。プロンプトで名前と、kiboze グループに「含めたい」グループにマッチする正規表現と、ヘッダとマッチする文字列の組を入力します (gnus-group-make-kiboze-group)。See Kibozed Groups。

G D
     任意のディレクトリを nneething バックエンドニューズグループであるかのように読み込みます (gnus-group-enter-directory)。 See Anything Groups.

G f
     ファイルなどをもとにグループを作成します (gnus-group-make-doc-group)。このコマンドにプレフィックスを与えた場合、ファイル名とファイルタイプをプロンプトで入力します。現在サポートされているファイルタイプは、babyl, mbox, digest, mmdf, news, rnews, clari-briefs, rfc934, rfc822-forward, forward です。プレフィックスなしでこのコマンドを実行すると、gnus はファイルタイプを推測します。 See Document Groups。

G w
     ウェブ検索結果をもとに一時的なグループを作成します (gnus-group-make-web-group)。このコマンドにプレフィックスを与えると、一時的ではなく固定したグループを作成します。プロンプトで検索機関の種類 (search engine type) と検索文字列を入力します。有効な検索機関の種類には dejanews, altavista, reference があります。 See Web Searches.

     もし、dejanews 検索機関を用いる場合には、~g alt.sysadmin.recovery shaving のようなマッチする文字列を用いることによって、検索対象を特定のグループに限定することが可能です。

G DEL
     この関数は現在のグループを削除します (gnus-group-delete-group)。プレフィックスが与えられると、この関数はそのグループ内の全記事を本当に削除し、グループ自身をこの世から強制的に抹殺してしまいます。プレフィックスは、あなたが何をやろうとしているか、本当に自信があるときにのみ使ってください。まあ、このコマンドは（nntp グループのような）読み出し専用グループには使えませんけど。

G V
     新しい、新鮮な、空の nnvirtual グループを作成します (gnus-group-make-empty-virtual)。See Virtual Groups.

G v
     現在のグループを nnvirtual グループに追加します (gnus-group-add-to-virtual)。これはプロセスマーク・プレフィックスルールに従います。

さまざまな選択メソッドに関するさらなる情報は see Select Methods を参照してください。

もし gnus-activate-foreign-newsgroups が正の数であれば、gnus は起動時に、この数かそれよりも小さいレベルの外部グループを全てチェックします。これは特に違った NNTP サーバからたくさんのグループを購読している場合など、しばらく時間がかかるかもしれません。

グループパラメータ
=========

グループパラメータは、ある特定のグループローカルな情報を格納します。以下はグループパラメータリストの例です：

     ((to-address . "ding@gnus.org")
      (auto-expire . t))

それぞれの要素は『点対』(dotted pair)――つまり点 (dot) の前に鍵、点の後ろに値があるもの、で構成されます。全てのパラメータはこの形式を取りますが、例外として局所変数の指定は点対ではなく通常のリストになります。

以下は利用可能なグループパラメータです：

to-address
     フォローアップとニューズへの投稿をするときに使用されるアドレス。

          (to-address .  "some@where.com")

     これは主に、クローズドなメーリングリストを表わすメールグループにおいて便利なものです――すなわちメーリングリストに投稿する人は全てそれを購読しているはず、というメーリングリストのことです。このパラメータを使用すると、メールはそのメーリングリストにしか投稿されないことが保証されるので、参加者はあなたのフォローアップ記事を２通受け取ることはありません。

     to-address を指定すると、そのグループが外部グループであるかどうかに関わらず有効になります。例えば fa.4ad-l というグループがサーバ上にあったとしましょう。これは本当のニューズグループですが、サーバはメールニューズゲートウェイを通して記事を受け付けます。つまりこのグループに対して直接投稿することは不可能で、代わりにそのメーリングリストにメールを送信しなければなりません。

to-list
     そのグループで a を押したときに使用されるアドレス。

          (to-list . "some@where.com")

     これはフォローアップをしたときは完全に無視されます――例外はそれがニューズグループを表わしているときは、f を押したときにメールグループのルールが適用されるということです。

     もし a コマンドをメールグループで実行したときに、to-list グループパラメータも to-address もグループパラメータも無ければ、 to-list グループパラメータは、gnus-add-to-list が t に設定されていればメッセージ送信時に自動的に付加されます。

     もし a コマンドをメールグループで実行したとき、to-list グループパラメータがなければ、送信時に自動的に付加されます。

visible
     グループパラメータのリスト中に (visible . t) という要素があれば、そのグループはグループバッファにおいて、未読記事があるかどうかに関わらず、常に表示されます。

broken-reply-to
     (broken-reply-to . t) という要素があれば、そのグループでは Reply-To は無視される、という意味です。これはある listserv によるメーリングリストを購読していて、それが Reply-To 欄を listserv 自身に返すようにつけられている場合に有効でしょう。これはおかしな振る舞いです。だからこれが要るんです！

to-group
     (to-group . "some.group.name") という要素は、そのグループへの投稿は全て some.group.name に送られる、という意味です。

newsgroup
     グループパラメータリストに (newsgroup . t) があれば、gnus は全てのレスポンスをニューズ記事に対するレスポンスであるかのように扱います。これは実際にはニューズグループのミラーであるメールグループに対して有効です。

gcc-self
     グループパラメータリストに (gcc-self . t) があれば、新しく作成するメッセージは現在のグループに Gcc されます。もし (gcc-self . none) があれば、Gcc: 欄は生成されず、(gcc-self . "string") があればこの文字列はそのまま gcc 欄に挿入されます。このパラメータは以下で説明する全ての Gcc のデフォルトルールよりも優先されます (see Archived Messages)。

auto-expire
     グループパラメータに (auto-expire . t) のような要素があれば、全ての既読記事はエクスパイアされるようにマークされます。他の方法については see Expiring Mail を参照してください。

total-expire
     グループパラメータに (total-expire . t) のような要素があれば、既読記事は、エクスパイアのマークがついていなくとも全てエクスパイア処理を施されます。注意して使用してください。未読記事、印付き記事、保留記事はエクスパイアされません。

expiry-wait
     グループパラメータに (expiry-wait . 10) のような要素があれば、この値は記事をエクスパイアするときに nnmail-expiry-wait と nnmail-expiry-wait-function の設定よりも優先されます。この値はエクスパイアの日数（整数である必要はない）かもしくは never か immediate のシンボルを指定できます。

score-file
     (score-file . "file") のような要素は、file を現在のグループに適用されるスコアファイルにします。適用されるスコアエントリは全てこのファイルに入ります。

adapt-file
     (adapt-file . "file") のような要素は、file を現在のグループの適用ファイルにします。全ての適用スコアエントリはこのファイルに入ります。

admin-address
     メーリングリストから脱会するときは、脱会通知メールをそのメーリングリスト自身に送信してはいけません。代わりに管理用アドレスにメッセージを送信します。このパラメータにはどこか便利な管理用アドレスを書いておくことができます。

display
     (display . MODE) のような要素は、グループに入るときにどの記事を表示するかを指定します。有効な値は、

     all
          未読、既読記事の両方を全て表示します。

     default
          デフォルトの表示記事を表示します。これは通常は未読記事と印付き記事です。

comment
     (comment . "This is a comment") のような要素は、そのグループに対する任意のコメントです。これは現在の gnus では無視されますが、特定のグループに対する情報を格納する場所を提供します。

(VARIABLE FORM)
     グループに入るときに、そのグループローカルの変数を設定するグループパラメータを使用することができます。news.answers においてスレッド表示を行いたくないときは、そのグループにグループパラメータに (gnus-show-threads nil) と書けます。 gnus-show-threads は、そのサマリバッファの中のローカル変数になり、form の nil はそこで評価されます。

     これはもし必要であれば、グループ毎のフック関数としても使用できます。もしあるグループに入ったときにビープ音を鳴らしたければ、そのグループのパラメータに (dummy-variable (ding)) みたいなものを書いておくこともできます。 dummy-variable という変数に (ding) の評価結果が設定されますが、まあ、誰も気にしないでしょ？

グループパラメータの修正には G p 命令を使ってください。トピックパラメータについて読んでみることも面白いでしょう (see Topic Parameters)。

グループの一覧表示
=========

これらのコマンドは、利用できるグループをいろいろに切り分けて表示します。

l
A s
     未読記事を持つ全てのグループを表示します (gnus-group-list-groups)。数字プレフィックスを使うと、このコマンドは引数の数かそれよりも小さいレベルのグループのみを表示します。デフォルトでは、これはレベル 5（つまり gnus-group-default-list-level）かそれより小さいレベル（すなわち購読しているグループのみ）を表示します。

L
A u
     未読記事のあるなしに関わらず、全てのグループを表示します (gnus-group-list-all-groups)。数字プレフィックスを使用すると、このコマンドは引数の数かそれよりも小さいレベルのグループのみを表示します。デフォルトでは 7 かそれよりも小さいレベルのグループ（すなわち購読、非購読のグループのみ）が表示されます。

A l
     ある特定のレベルの未読記事のあるグループを表示します (gnus-group-list-level)。プレフィックスを与えると、未読記事のないグループも含めて表示します。

A k
     kill されたグループを全て表示します (gnus-group-list-killed)。プレフィックス引数を与えると、現在購読、非購読となっていない全ての利用可能なグループを表示します。これはサーバからアクティブファイルを読むことになるでしょう。

A z
     全てのゾンビグループを表示します (gnus-group-list-zombies)。

A m
     正規表現にマッチする名前を持つグループで、未読記事のある購読グループを全て表示します (gnus-group-list-matching)。

A M
     正規表現にマッチするグループを表示する (gnus-group-list-all-matching)。

A A
     今接続しているサーバのアクティブファイルにあるグループを、本当に全部表示します (gnus-group-list-active)。これはしばらく時間がかかることも有り得ます。たぶん A M を実行して、マッチさせたい部分を . として全てのマッチするリストを表示させた方が良いでしょう。また、このコマンドは（まだ）存在しないグループも表示するかも知れません――これは kill されたグループであるかのように表示されます。出力は多少割り引いて受け取ってね。

A a
     正規表現にマッチする名前を持つグループを全て表示する (gnus-group-apropos)。

A d
     正規表現にマッチする名前か説明文を持つグループを全て表示する (gnus-group-description-apropos)。

gnus-permanently-visible-groups 正規表現にマッチするグループは、未読記事があるかないかに関わらず常に表示されます。あるいはグループパラメータにおいて visible 要素を追加することでも同様の効果を得ることができます。

印付きの記事のみを持つグループは通常グループバッファに表示されます。もし gnus-list-groups-with-ticked-articles が nil であれば、そのグループは完全に空のグループであるかのように扱われます。デフォルトは t です。

グループのソート
========

C-c C-s (gnus-group-sort-groups) 命令は、グループバッファを gnus-group-sort-function 変数で与えられる関数に従って並べ替えます。利用可能な並べ替え関数 (sorting function) には以下のものがあります：

gnus-group-sort-by-alphabet
     グループ名でアルファベット順に並べ替えます。これが初期設定です。

gnus-group-sort-by-real-name
     グループを本当の（前に何もついていない）グループ名でアルファベット順に並べ変えます。

gnus-group-sort-by-level
     グループレベルで並べ替えます。

gnus-group-sort-by-score
     グループのスコアで並べ替えます。See Group Score.

gnus-group-sort-by-rank
     グループのスコアで並べ替え、次にグループレベルで並べ替えます。レベルとスコアは、ひとまとめにしてランクと呼ばれます。See Group Score.

gnus-group-sort-by-unread
     未読記事の数で並べ替えます。

gnus-group-sort-by-method
     選択メソッドのアルファベット順で並べ替えます。

gnus-group-sort-function は並べ替え関数のリストであっても構いません。この場合、もっとも重要な並べ替えの鍵を持つ関数は最後でなくてはなりません。

ある種の並べ替え用には、直接並べ替える命令もいくつかあります。

G S a
     グループバッファをグループ名のアルファベット順で並べ替えます (gnus-group-sort-groups-by-alphabet)。

G S u
     グループバッファを未読記事の数で並べ替えます (gnus-group-sort-groups-by-unread)。

G S l
     グループバッファをグループレベルで並べ替えます (gnus-group-sort-groups-by-level)。

G S v
     グループバッファをグループのスコアで並べ替えます (gnus-group-sort-groups-by-score)。See Group Score.

G S r
     グループバッファをグループのランクで並べ替えます (gnus-group-sort-groups-by-rank)。See Group Score.

G S m
     グループバッファをバックエンドの名前でアルファベット順に並べ替えます (gnus-group-sort-groups-by-method)。

プレフィックスを与えたときは、これらの命令は全て逆順に並べ替えます。

また、グループの一部を並べ替えることもできます。

G P a
     グループバッファ内のプロセスマーク・プレフィックス指定されたグループを、グループ名のアルファベット順で並べ替えます (gnus-group-sort-selected-groups-by-alphabet)。

G P u
     グループバッファ内のプロセスマーク・プレフィックス指定されたグループを、未読記事の数で並べ替えます (gnus-group-sort-selected-groups-by-unread)。

G P l
     グループバッファ内のプロセスマーク・プレフィックス指定されたグループを、グループレベルで並べ替えます (gnus-group-sort-selected-groups-by-level)。

G P v
     グループバッファ内のプロセスマーク・プレフィックス指定されたグループを、グループのスコアで並べ替えます (gnus-group-sort-selected-groups-by-score)。See Group Score.

G P r
     グループバッファ内のプロセスマーク・プレフィックス指定されたグループを、グループのランクで並べ替えます (gnus-group-sort-selected-groups-by-rank)。See Group Score.

G P m
     グループバッファ内のプロセスマーク・プレフィックス指定されたグループを、バックエンドの名前でアルファベット順に並べ替えます (gnus-group-sort-selected-groups-by-method)。

グループの管理
=======

b
     不正なグループを見つけて、削除します (gnus-group-check-bogus-groups)。

F
     新しいグループを見つけて、それらを処理します (gnus-group-find-new-groups)。プレフィックスを与えると、サーバに新規グループを問い合わせるのに ask-server の方法を使用します。

C-c C-x
     現在のグループのエクスパイア記事に対して（もしあれば）全てエクスパイア処理を行います (gnus-group-expire-articles)。

C-c M-C-x
     全てのグループの全ての記事に対して、エクスパイア処理を行います (gnus-group-expire-all-groups)。

外部サーバの閲覧
========

B
     選択メソッドとサーバ名を聞かれます。Gnus はこのサーバに接続し、そこにあるグループを閲覧しようとします (gnus-group-browse-foreign-server)。

利用可能なグループのリストを持った新しいバッファが現れます。このバッファは gnus-browse-mode を使用します。このバッファは通常のグループバッファにちょっと（というか、とっても）似ています。

以下が閲覧モード (browse mode) で使用できるキー操作のリストです：

n
     次のグループに移動します (gnus-group-next-group)。

p
     一つ前のグループに移動します (gnus-group-prev-group)。

SPACE
     現在のグループに入り、最初に記事を表示します (gnus-browse-read-group)。

RET
     現在のグループに入ります (gnus-browse-select-group)。

u
     現在のグループを非購読にする、つまりこの場合は購読することになるのだけれど (gnus-browse-unsubscribe-current-group)。

l
q
     閲覧モード (browse mode) を終了します (gnus-browse-exit)。

?
     閲覧モード (browse mode) を簡単に説明します（まあ、大して説明することもないんだけどさ）(gnus-browse-describe-briefly)。

Gnus の終了
========

そう、gnus は最後（サイコー）です（訳注: く、苦しい。原文は ``Yes, gnus is ex(c)iting.''）。

z
     Gnus を中断します (gnus-group-suspend)。これは gnus を実際には終了させず、グループバッファ以外の全てのバッファを消すだけです。僕はこれのうれしさがよくわかんないんだけど、誰か分かる人いる？

q
     Gnus を終了します(gnus-group-exit)。

Q
     .newsrc ファイルをセーブせずに gnus を終了します (gnus-group-quit)。ドリブルファイルはセーブされますけど (see Auto Save)。

Gnus を中断するときは gnus-suspend-gnus-hook が呼び出されます。 Gnusを終了するときは gnus-exit-gnus-hook が呼び出され、さらに gnus を終了するときの最後として gnus-after-exiting-gnus-hook が呼び出されます。

もし gnus とそれに関連するものを完全に処分したいのであれば、 gnus-unload コマンドが使えます。このコマンドは、メタ変数をカスタマイズしようとしているときにも便利です。

Note:

     ミス Lisa Cannifax は英語の授業中、後ろに座っている少年が彼女のプラスティックの椅子の背越しに、鉛筆で繰り返し線を描くのにつられて、足がしびれて重くなり、意識が朦朧としてきました。

Group Topics
============

もしあなたがたーくさんのグループを読んでいるのであれば、グループをトピック毎に階層分けできると便利でしょう。Emacs のグループをこっちへ、セックスのグループをあっちへ、で、残りを（え？グループが２つくらいしかないの？）邪魔にならないようにその他のセクションに入れましょう。あるいは Emacs セックスのグループを Emacs グループ、セックスグループのどちらかの副トピックとすることさえもできます――あるいは両方に！すんごいでしょう！

これが例です：

     Gnus
       Emacs -- こいつはすげーぜ!
          3: comp.emacs
          2: alt.religion.emacs
         えっちな Emacs
          452: alt.sex.emacs
            0: comp.talk.emacs.recovery
       その他
          8: comp.binaries.fractals
         13: comp.sources.unix

この素晴らしい機能を使うには、gnus-topic マイナーモードを（何と！）単にスイッチオンするだけ――グループバッファで、t を押してください（これはトグルコマンドです）。

さあやってみよう。とにかく試してみて。君が戻ってくるまで、僕はここで待ってるからさ。ララ、タララン…ん、いい曲だね、これ…ラ、ラ、ラ…え? 戻ってきた？よし、じゃ次は l を押してみて。ほら。これで全てのグループが misc の下に表示されました。興奮してクラクラしてこない？アツくって、いまいましいくらいでしょ？

これをずっと有効にしたければ、グループモードのフックにこのマイナーモードを追加してください。

     (add-hook 'gnus-group-mode-hook 'gnus-topic-mode)

トピック変数
------

さて、トピックを選ぶと、トピックは折り畳まれます。これ、とってもステキだと思うんだけど。

トピック行は、gnus-topic-line-format 変数の値に従って作成されます (see Formatting Variables)。有効な要素は、

i
     字下げ。

n
     トピック名。

v
     見えるかどうか。

l
     レベル。

g
     トピック中のグループの数。

a
     トピック中の未読記事の数。

A
     トピックと全ての副トピックの未読記事の数。

各副トピック（と副トピック内のグループ）は、トピックレベル数の gnus-topic-indent-level 倍の空白分の字下げが行われます。デフォルトは 2 です。

gnus-topic-mode-hook はトピックマイナーモードバッファで呼び出されます。

gnus-topic-display-empty-topics はトピックの中に未読記事が無い場合でもそのトピックを表示するようにします。デフォルトは t です。

トピック命令
------

トピックマイナーモードが有効であるときは、T サブマップが新しく利用できるようになります。さらに標準キーの中でも、定義がちょっと変わるものが少しあります。

T n
     新しいトピックの名前をプロンプト入力し、それを作成します (gnus-topic-create-topic)。

T m
     現在のグループを、どこか他のトピックに移動させます (gnus-topic-move-group)。このコマンドはプロセスマーク・プレフィックスルールに従います (see Process/Prefix)。

T c
     現在のグループを、どこか他のトピックにコピーします (gnus-topic-copy-group)。このコマンドはプロセスマーク・プレフィックスルールに従います (see Process/Prefix)。

T D
     グループを現在のトピックから削除します (gnus-topic-remove-group)。このコマンドはプロセスマーク・プレフィックスルールに従います (see Process/Prefix)。

T M
     正規表現にマッチする全てのグループを、あるトピックに移動させます (gnus-topic-move-matching)。

T C
     正規表現にマッチする全てのグループを、あるトピックにコピーします (gnus-topic-copy-matching)。

T h
     空のトピックの表示・非表示を切り替えます (gnus-topic-toggle-display-empty-topics)。

T #
     現在のトピックにあるグループ全てにプロセスマークをつけます (gnus-topic-mark-topic)。

T M-#
     現在のトピックにある全てのグループからプロセスマークを消します (gnus-topic-unmark-topic)。

RET
SPACE
     グループを選択するか、あるいはトピックを折りたたみます (gnus-topic-select-group)。グループの上でこのコマンドを実行すると、通常通りそのグループに入ります。トピック行の上で行うと、そのトピックは（既に表示されているときは）折りたたまれるか、（既に折りたたまれているときは）展開されます。つまりトピックに対してはこれはトグルコマンドです。さらに、数字プレフィックスを与えると、そのレベル（とそれよりも小さいレベル）のグループが表示されます。

T TAB
     現在のトピックの『字下げ』を行い、その前のトピックの副トピックにします (gnus-topic-indent)。プレフィックスを与えると、反対にそのトピックの字下げを戻します。

C-k
     グループあるいはトピックを kill します (gnus-topic-kill-group)。トピック内にあったグループも全て、トピックと一緒に削除されます。

C-y
     直前の kill されたグループあるいはトピックを yank します (gnus-topic-yank-group)。全てのトピックは、全てのグループの前に yank されることに気をつけてください。

T r
     トピックの名前を変更する (gnus-topic-rename)。

T DEL
     空のトピックを削除する (gnus-topic-delete)。

A T
     Gnus が知っているトピック化されたグループを全て表示します (gnus-topic-list-active)。

G p
     トピックパラメータを修正します (gnus-topic-edit-parameters)。 See Topic Parameters.

トピックの並べ替え
---------

以下に示す命令で、各トピック毎に別々にグループを並べ替えることができます：

T S a
     現在のトピックをグループ名のアルファベット順に並べ替えます (gnus-topic-sort-groups-by-alphabet)。

T S u
     現在のトピックを未読記事の数で並べ替えます (gnus-topic-sort-groups-by-unread)。

T S l
     現在のトピックをグループのレベルで並べ替えます (gnus-topic-sort-groups-by-level)。

T S v
     現在のトピックをグループのスコアで並べ替えます (gnus-topic-sort-groups-by-score)。See Group Score.

T S r
     現在のトピックをグループのランクで並べ替えます (gnus-topic-sort-groups-by-rank)。See Group Score.

T S m
     現在のトピックをバックエンドの名前でアルファベット順に並べ替えます (gnus-topic-sort-groups-by-method)。

グループのソートについてのさらなる情報は see Sorting Groups を参照してください。

トピックの位相構造
---------

それでは、グループバッファの例を見ていきましょう。

     Gnus
       Emacs -- こいつはすげーぜ!
          3: comp.emacs
          2: alt.religion.emacs
         えっちな Emacs
          452: alt.sex.emacs
            0: comp.talk.emacs.recovery
       その他
          8: comp.binaries.fractals
         13: comp.sources.unix

つまり、ここでは一つのトップレベルのトピック (Gnus) があり、その下に２つのトピックがあり、そのうちの一方の副トピック中に一つ副トピックがあります（トップレベルトピックは常に一つしかありません）。この構造は、以下のように表現できます：

     (("Gnus" visible)
      (("Emacs -- こいつはすげーぜ!" visible)
       (("えっちな Emacs" visible)))
      (("その他" visible)))

これは実に、上記の表示を行うための、変数 gnus-topic-topology の値そのものなのです。この変数は.newsrc.eld ファイルに保存され、手でいじくり回してはいけません――本当にやりたいときは別ですが。この変数は .newsrc.eld ファイルから読み込まれるので、その他のスタートアップファイルの設定には全く影響を与えません。

この構造は、どのトピックがどのトピックの副トピックであるかと、どのトピックが表示されているかを示しています。現在は二つの設定値――visible と invisible が許されています。

トピックパラメータ
---------

トピック内の全てのグループはグループパラメータを、その親（と先祖）のトピックパラメータから継承します。グループパラメータとして正しいものは全て、トピックパラメータとしても正しいものです(see Group Parameters)。

グループパラメータは（もちろん）トピックパラメータよりも優先され、副トピックのトピックパラメータは親トピックのトピックパラメータよりも優先されます。分かるよね。ごく普通の継承ルールです（ルール (Rules) はここでは名詞であって、動詞の「線を引く」ではありません。このルールには反対したくなるかも知れないけど、それはご自由に）。

     Gnus
       Emacs
          3: comp.emacs
          2: alt.religion.emacs
        452: alt.sex.emacs
         息抜き
          452: alt.sex.emacs
            0: comp.talk.emacs.recovery
       その他
          8: comp.binaries.fractals
         13: comp.sources.unix
        452: alt.sex.emacs

Emacs トピックはトピックパラメータ (score-file . "emacs.SCORE") を持っています。息抜き トピックはトピックパラメータ (score-file . "relief.SCORE") を持ち、その他 トピックはトピックパラメータ (score-file . "emacs.SCORE") を持っています。さらに、 alt.religion.emacs はグループパラメータ (score-file . "religion.SCORE") を持っています。

さて、ここで 息抜き トピックの alt.sex.emacs グループに入ったとき、relief.SCORE が基本スコアファイルとなります。もし Emacs トピックの同じグループに入ると、 emacs.SCORE が基本スコアファイルになるでしょう。 alt.religion.emacs グループに入れば、 religion.SCORE が基本スコアファイルになるでしょう。

これってとっても簡単で自明のことのように見えるでしょ？まあ、その通りです。ですが問題がある場合もあります。特にtotal-expiry パラメータに関してです。例えばあるメールグループを二つのトピックの中に、一方は total-expiry ありで、もう一方はそれなしで持っているとしましょう。ここで M-x gnus-expire-all-expirable-groups を実行すると、何が起こるでしょうか？Gnus は、あなたがどちらのトピックから記事をエクスパイアしたいのかを知る方法がないため、最悪の事態が発生するかもしれません。実際、私はこのとき何が起こるのかは「未定義 undefined」である、とここに宣言します。この手のことをやりたい場合には十分注意しなければなりません。

その他のグループ関連
==========

^
     サーババッファモードに入る (gnus-group-enter-server-mode)。 See The Server Buffer。

a
     あるグループに記事を投稿する (gnus-group-post-news)。プレフィックスを与えると、現在のグループ名がデフォルトとして使用されます。

m
     メールをどこかに送る (gnus-group-mail)。

以下はグループバッファのための変数です：

gnus-group-mode-hook
     グループバッファが作成された時に呼び出されます。

gnus-group-prepare-hook
     グループバッファが生成されたあとに呼び出されます。これはバッファを何か変な、自然じゃない方法で修正したいときに使われるかもしれません。

gnus-group-prepared-hook
     グループバッファが生成された後の一番最後に呼び出されます。例えばポイントをどこかに移動させたいときなどに使えます。

gnus-permanently-visible-groups
     この正規表現にマッチするグループは、それが空であるかどうかに関わらず、常にグループバッファに表示されます。

新着メッセージを探す
----------

g
     サーバの新着記事をチェックします。数字プレフィックスを使用すると、この命令は引数 ARG かそれより小さいレベルのグループのみをチェックします (gnus-group-get-new-news)。数字以外のプレフィックスを与えると、この命令はそのバックエンドからアクティブファイルを強制的に全部読み直します。

M-g
     現在のグループに新着記事があるかどうかをチェックします (gnus-group-get-new-news-this-group)。 gnus-goto-next-group-when-activating はこの命令が次のグループ位置へ移動するかどうかを決めます。デフォルトは t です。

C-c M-g
     無条件に全てのグループを起動します (gnus-activate-all-groups)。

R
     Gnus をリスタートします (gnus-group-restart)。これは .newsrc ファイルをセーブし、全てのサーバの接続を閉じ、全ての gnus ランタイム変数をクリアした後、gnus をもう一度最初から開始します。

gnus-get-new-news-hook は新着ニューズをチェックする直前に実行されます。

gnus-after-getting-new-news-hook 新着ニューズをチェックした後に実行されます。

グループ情報
------

H f
     現在のグループの FAQ を取得しようとします(gnus-group-fetch-faq)。 Gnus は FAQ をgnus-group-faq-directory から取得しようとします。これは通常リモートマシン上のディレクトリです。この変数はディレクトリのリストであっても構いません。この場合、このコマンドにプレフィックスを与えることでいくつかのサイトの中から選ぶことができます。ファイルの取得には ange-ftp（または efs）が使用されます。

     もし最初のサイトからの取得が失敗した場合、gnus は gnus-group-faq-directory の値を全て、一つ一つオープンしてみようとします。

H d
C-c C-d
     現在のグループの説明を表示する (gnus-group-describe-group)。プレフィックスを与えると、説明文をサーバから強制的に再読み込みします。

M-d
     全てのグループの説明を表示します (gnus-group-describe-all-groups)。プレフィックスを与えると、説明文ファイルをサーバから強制的に再読み込みします。

H v
V
     現在の gnus のバージョン番号を表示します (gnus-version)。

?
     とても短いヘルプメッセージを与えます (gnus-group-describe-briefly)。

C-c C-i
     Gnus の info ノードに移動します (gnus-info-find-node).。

グループの日付
-------

Gnus に、あなたが最後にいつグループを読んだかを記録させると便利かもしれません。この活動を始めさせるには、 gnus-group-set-timestampを gnus-select-group-hook に追加してください。

     (add-hook 'gnus-select-group-hook 'gnus-group-set-timestamp)

これを行った後、あなたがグループに入るたびにそれが記録されます。

この情報はさまざまな方法で表示できます――もっとも簡単なのは、グループ行フォーマットで %d 指定を使う方法です：

     (setq gnus-group-line-format
           "%M\%S\%p\%P\%5y: %(%-40,40g%) %d\n")

この結果として、各行は以下のように表示されます：

     *        0: mail.ding                                19961002T012943
              0: custom                                   19961002T012713

見て分かるとおり、日付はコンパクトな ISO 8601 形式で表示されます。これではちょっとあんまりなので、以下のような感じにすると日付だけを表示できます。

     (setq gnus-group-line-format
           "%M\%S\%p\%P\%5y: %(%-40,40g%) %6,6~(cut 2)d\n")

ファイル命令
------

r
     初期化ファイルの再読み込みを行う (gnus-init-file、このデフォルトは ~/.gnus) (gnus-group-read-init-file)。

s
     .newsrc.eldファイル（と、もしそうしたければ.newsrc ファイル）をセーブする(gnus-group-save-newsrc)。

概略バッファ
******

概略バッファ (summary buffer) ではそれぞれの記事が一行で表示されます。その中を動き回り、記事を読み、投稿し、返答をすることができます。

概略バッファに移る一番普通の方法は、グループバッファでグループを選択することです (see Selecting a Group)。

概略バッファは望むだけたくさん開いた状態にしておくことができます。

概略バッファの様式
=========

Gnus は変数 gnus-extract-address-components の値を From ヘッダーの名前とアドレスの部分を手に入れるための関数として使います。すでに定義されている関数が３つ存在します：gnus-extract-address-components はディフォルトですが、とても簡単に割り切った解決法で、非常に速く動作します。 mail-extract-address-components は良く動作しますが、やや遅くなります。そして、std11-extract-address-components はとても良く動作しますが、遅くなります。ディフォルトの関数は 5% の割合で間違って答えます。もしこれに我慢ならないのであれば、他の関数を代わりに使うことができます。

gnus-summary-same-subject は今読んでいる記事が、その前の記事と同じ表題 (subject) であることを示す文字列です。この文字列は仕様がこれを要求するときに使われます。ディフォルトでは "" です。

概略バッファの行
--------

変数 gnus-summary-line-format の値を変えることによって、概略バッファでの行の様式 (format) を変更することができます。いくつかの拡張 (see Formatting Variables) を除いて、普通の format 文字列と同じように動作します。

ディフォルトの文字列は %U%R%z%I%(%[%4L: %-20,20n%]%) %s\n です。

以下の様式指示文字を使うことができます:

N
     記事数。

S
     表題の文字列。

s
     スレッド (thread) の基記事であるときか直前の記事が違う表題のときはその題名で、それ以外は gnus-summary-same-subject。 (gnus-summary-same-subject のディフォルトの値は ""。)

F
     完全な From 欄。

n
     名前（From 欄より）。

a
     名前（From 欄より）。これと n との違いは、これは変数 gnus-extract-address-components で指定されている関数を使って名前を取得することです。この方が遅いですが、おそらくより完全に近いでしょう。

A
     名前（From 欄より）。これは a と同じように動作します。

L
     記事の行数。

c
     記事の文字数。

I
     スレッドのレベルによる字下げ (see Customizing Threading)。

T
     記事が本記事であれば何も表示せず、そうでない場合はたくさんの空白です（後のものをすべて画面の外に追い出してしまいます）。

[
     開き括弧。普通は [ ですが、養子記事には < にすることができます (see Customizing Threading)。

]
     閉じ括弧。普通は [ ですが、養子記事には < にすることができます。

>
     それぞれのスレッドのレベルに対して一つの空白。

<
     二十引くスレッドレベルの空白。

U
     未読。

R
     この紛らわしい名前指定子は secondary mark によって定義されます。このマークは記事が既に返答済みのものか、キャッシュされたものか、あるいは保存されたものかを表します。

i
     数字としてのスコア (see Scoring)。

z
     これは、zcore でディフォルトのレベルよりも上であれば + で、ディフォルトのレベルよりも下であれば - です。 gnus-summary-default-zcoreとの差がgnus-summary-zcore-fuzz よりも小さいと、この仕様は使われません。

V
     スレッド全体のスコア。

x
     Xref.

D
     日付 (Date)。

d
     DD-MM様式による日付。

o
     YYYYMMDDTHHMMSS様式による日付。

M
     Message-ID.

r
     References.

t
     現在の副スレッドの記事の数。この仕様を使うと概略バッファの生成が幾分遅くなります。

e
     記事に子記事があると、= (gnus-not-empty-thread-mark) が表示されます。

P
     行数。

O
     ダウンロードの印。

u
     利用者定義指定子。フォーマット文字列の中の次の文字が英字である必要があります。これにより gnus は関数 gnus-user-format-function-X を呼び出しますが、ここで X は %U の次の文字です。関数には現在の記事のヘッダーが引数として渡されます。関数は文字列を返し、他の概略指定と同様に概略に挿入されます。

%U（状態）、%R（返答済み）、%z (zcore) の扱いには気を付ける必要があります。効率のために、gnus はこれらの文字がどの桁に現れるかを計算し、『ハード・コード』します。これは、可変長の仕様の後では、これらは意味を持たないということです。まぁ、さすがに逮捕はされないでしょうが、概略バッファは変になります。それでも十分悲しいでしょうけど。

賢い選択はこれらの指定をできるだけ左に持ってくることです。（でも、そういうことはすべてに当てはまるのではないでしょうか。閑話休題。）

この制限は将来の版では無くなるかも知れません。

概略バッファのモード行
-----------

概略のモード行の様式も変更することができます。 gnus-summary-mode-line-format を何でも好きなものに変更してください。ディフォルトは Gnus: %%b [%A] %Z です。

以下があなたが遊ぶことのできるそれぞれの要素です：

G
     グループ名。

p
     接頭語を取り除いた名前。

A
     現在の記事番号。

V
     Gnus バージョン。

U
     そのグループでの未読記事の数。

e
     概略バッファに表示されていない未読記事の数。

Z
     未読と未選択の記事の数とともに表される文字列で、未読かつ未選択の記事がある場合は <%U(+%e) more> で、未読記事のみの場合は <%U more> です。

g
     短縮グループ名。例えば、rec.arts.anime は r.a.anime に短縮されます。

S
     現在の記事の表題。

u
     利用者定義の仕様 (see User-Defined Specs)。

s
     現在のスコアファイルの名前 (see Scoring)。

d
     保留記事の数 (see Unread Articles)。

t
     可視印付き記事の数 (see Unread Articles)。

r
     その一連の動作の間に既読として印がついた記事の数。

E
     スコアファイルによって抹消された記事の数。

概略のハイライト
--------

gnus-visual-mark-article-hook
     このフックは記事を選択した後に実行されます。これは何らかの方法で記事をハイライトするように意図されています。もし gnus-visual が nil である場合は実行されません。

gnus-summary-update-hook
     このフックは概略行が変更されたときに呼ばれます。もし gnus-visual が nil である場合は実行されません。

gnus-summary-selected-face
     これは概略バッファでの現在の記事をハイライトするために使われるフェイス (face)（もしくは、いくらかの人々が フォント (font) と呼ぶようなもの）です。

gnus-summary-highlight
     概略行はこの変数にしたがってハイライトされます。この変数は要素が (FORM . FACE) の形式のリストです。例えば、もし印付きの記事をイタリック、高いスコアの記事をボールドにしたければ、この変数を次のようにできます。

          (((eq mark gnus-ticked-mark) . italic)
           ((> score default) . bold))

     ご想像のとおり、もし FORM が nil でない値を返すと、 FACE がその行に適用されます。

概略間の移動
======

すべての直接移動命令は数値接頭引数を受け付け、あなたの期待によくしたがって動作するでしょう。

これらの命令はどれも記事を選択しません。

G M-n

M-n
     概略行の次の未読記事に移る (gnus-summary-next-unread-subject)。

G M-p
M-p
     概略行の前の未読記事に移る (gnus-summary-prev-unread-subject)。

G j

j
     記事番号か Message-ID を尋ね、それからその記事に行く。 (gnus-summary-goto-article)。

G g
     記事番号か Message-ID を尋ね、それからその記事を表示すること無く、概略行に行く (gnus-summary-goto-subject)。

Gnus が次のグループに移動することを確認をするために、キーを押すことを要求するときがあります。その時は、C-n と C-p を使って、グループバッファに戻ること無く次に読むグループを探すことができます。

概略の移動に関連した変数:

gnus-auto-select-next
     もし移動命令の一つ（n のような）を出し、現在の記事の後に未読が無ければ、gnus は次のグループに移動することを奨めます。この変数が tで次のグループが空であると、gnus は概略モードを終了して、グループバッファに戻ります。この変数が t や nil でないと、次のグループに記事があろうが無かろうが、gnus はそれを選択します。特別な場合として、この変数が quietly であると、gnus は確認をせずに、次のグループを選択します。この変数が almost-quietly であると、グループの一番最後の記事を読んでいたときに限り同じことが起こります。最後に、もしこの変数が slightly-quietly であると、命令 Z n は確認をせずに次のグループに移ります。see Group Levels も参照してください。

gnus-auto-select-same
     nil でないと、すべての移動命令は現在の記事と同じ表題の記事に移動しようとします。（同じ はここでは 大体同じ という意味かも知れません。詳細は gnus-summary-gather-subject-limit を見てください (see Customizing Threading も参照してください)。）この変数は、スレッド表示を行っているときはあまり役に立たないでしょう。

gnus-summary-check-current
     nil でないと、すべての『未読』移動命令は、次（もしくは前）の記事に移動しません。その代わりに、それらは現在の記事を選びます。

gnus-auto-center-summary
     nil でないと、gnus は概略バッファでのポイントを常に真中に保ちます。これをすると、とてもこぎれいになりますが、遅いネットワーク接続であったり、単にこの Emacsism でない行為を好きになれないのであれば、普通の Emacs のスクロールにするために、この変数を nil にすることができます。これは概略バッファの水平方向の真中への再移動も禁止しますので、非常に長いスレッドを読むときは不便かもしれません。

記事の選択
=====

命令の選択
-----

以下の移動コマンドはどれも数値接頭引数を受け付けず、記事を選択し、表示します。

SPACE
     現在の記事か、それが既に読まれている場合は次の未読記事を選択します (gnus-summary-next-page)。

G n
n
     次の未読記事に移動します (gnus-summary-next-unread-article)。

G p
p
     前の未読記事に移動します (gnus-summary-prev-unread-article)。

G N
N
     次の記事に移動します (gnus-summary-next-article)。

G P
P
     前の記事に移動します (gnus-summary-prev-article)。

G C-n
     同じ表題の次の記事に移動します (gnus-summary-next-same-subject)。

G C-p
     同じ表題の前の記事に移動します (gnus-summary-prev-same-subject)。

G f
.
     最初の未読記事に移動します (gnus-summary-first-unread-article)。

G b

,
     最高スコアの記事に移動します (gnus-summary-best-unread-article)。

G l
l
     直前の記事に移動します (gnus-summary-goto-last-article)。

G o
     概略の履歴 (history) から最後の記事を一つ取り出して選択します。 (gnus-summary-pop-article)。この命令が上の命令と違うのは、l が最終2つの記事の間を移動するのに対して、これは好きなだけ前の記事を履歴から選び出すことができる点です。何らかのこれに関係したことは（もしこれらの命令をたくさん使うのであれば）、see Article Backlog を参照してください。

選ぶための変数
-------

記事を移動し、選択するのに関連したいくつかの変数:

gnus-auto-extended-newsgroup
     この変数が nil でないと、すべての移動命令は、もしその記事が概略バッファに表示されていない場合でも、前（もしくは次）の記事に移動しようとします。その命令の後で、gnus はサーバーから記事を取得して、記事バッファに表示します。

gnus-select-article-hook
     このフックは記事が選択されたときに常に呼ばれます。ディフォルトでは、選択された記事の下に隠れているスレッドを見せるようになっています。

gnus-mark-article-hook
     このフックは記事が選択されたときに常に呼ばれます。それは記事に既読の印を付けるためにあります。ディフォルトの値は gnus-summary-mark-read-and-unread-as-read で、ほとんどすべての読んだ記事の印を gnus-read-mark に変更します。この関数に影響されない記事は、可視、保留、期限切れ削除可能記事だけです。もし、未読に既読の印を付けたいだけであれば、代わりに gnus-summary-mark-unread-as-read を使うことができます。それは、gnus-low-score-mark や gnus-del-mark（などなど）の印をそのまま残します。

記事のスクロール
========

SPACE
     SPACE は記事を一ページ先にスクロールします。記事の最後にいる場合は次の記事を選択します (gnus-summary-prev-page)。

DEL
     現在の記事を一ページ前にスクロールします (codegnus-summary-prev-page)。

RET
     現在の記事を一行先にスクロールします (gnus-summary-scroll-up)。

A g
g
     現在の記事を（再）取得します。もし接頭引数が与えられると、現在の記事を取得しますが、記事を扱う関数は実行しません。これは、サーバーからきたままの、『生の』記事を与えます。

A <
<
     記事の最初までスクロールします。 (gnus-summary-beginning-of-article)。

A >
>
     記事の最後までスクロールします (gnus-summary-end-of-article)。

A s
s
     記事バッファでインクリメンタルサーチ (isearch) を行います (gnus-summary-isearch-article)。

h
     記事バッファを選択します (gnus-summary-select-article-buffer)。

返答、フォローアップ、投稿
=============

概略でのメールの命令
----------

メールメッセージを作成するための命令:

S r

r
     現在の記事を書いた人に返答のメールを送ります (gnus-summary-reply)。

S R
R
     現在の記事を書いた人に、本記事を含んだ返答のメールを出します (gnus-summary-reply-with-original)。この命令はプロセス/接頭引数の習慣を使います。

S w
     現在の記事を書いた人に対して、広い返答 (wide reply) をします (gnus-summary-wide-reply)。広い返答 とはヘッダーの To, From,（もしくは Reply-to) と Cc）のすべての人に返答をすることです。

S W
     現在の記事に本記事を含んだ広い返答のメールを送ります (gnus-summary-reply-with-original)。この命令はプロセス/接頭引数の習慣を使います。

S o m
     誰か他の人に現在の記事を転送します (gnus-summary-mail-forward)。接頭引数があると、転送記事の完全なヘッダーを取り込みます。

S m
m
     誰か他の人にメールを送ります (gnus-summary-mail-other-window)。

S D b
     メールを送ったのに、何らかの理由（アドレスの間違い、転送の不調）で戻ってきたときに、この命令を使って戻ってきたメールをもう一回送ることができます (gnus-summary-resend-bonced-mail)。もう一度メールを送る前にヘッダーを編集できるように、メールバッファにそのメールが現れるでしょう。この命令に接頭引数を与えて、戻ってきたメールが誰かへの返答であった場合、gnus はそのメールを取得して、それのヘッダーの精密調査ができるように画面に表示します。ま、これはとてもよく失敗しますけど。

S D r
     上の命令と混同しないように、gnus-summary-resend-message は現在のメッセージを送る先のアドレスの入力を促し、それからその場所にメールを送ります。メッセージのヘッダーは変更されません――しかし、Resent-To, Resent-From 等のヘッダーが付け加えられます。これは、（おそらく）あなた自身を To 欄に書いた本人にもメールを送ってしまうということです。これは混乱を招くでしょう。ですから、もちろん、本当に 邪悪 な気分のときにだけこれを使うでしょう。

     この命令は主に、あなたがいくつかのメールアカウント (account) を持っていて、自分自身の違ったアカウントにメールを転送したいときに用いられます。 (もしあなたが、ルート (root) であり、ポストマスター (postmaster) でもあり、ルート に ポストマスター へのメールを受け取った場合は、それを ポストマスター にも再送したいと思うでしょう。Ordnung mu,A_ sein!)

     この命令はプロセス/接頭引数の習慣に従います (see Process/Prefix)。

S O m
     現在の一連の記事 (see Decoding Articles) の要約を作り、メールでその結果を送ります (gnus-uu-digest-mail-forward)。この命令はプロセス/接頭引数の習慣に従います (see Process/Prefix)。

S M-c
     現在の記事の書き手に、過剰クロスポストへの苦情のメールを送ります (gnus-summary-mail-crosspost-complaint)。

     この命令は、現在 Usenet に横行している、クロスポストの世界的流行に対して反撃を行う手段として提供されています。これは変数 gnus-crosspost-complaint を序文にして、返答を作成します。この命令はプロセス/接頭引数の習慣 (see Process/Prefix) に従い、それぞれのメールを送る前に送信するかどうかの確認をします。

また see (message)Header Commands にさらなる情報があります。

概略の投稿命令
-------

ニュースの記事を投稿するための命令：

S p
a
     現在のグループに記事を投稿します (gnus-summary-post-news)。

S f
f
     現在の記事のフォローアップを投稿します (gnus-summary-followup)。

S F
F
     本記事を取り込んで、現在の記事にフォローアップをします (ggnus-summary-followup-with-original)。この命令はプロセス/接頭引数の習慣を用います。

S n
     メールのメッセージを受け取っていたとしても、本記事を引用して、現在の記事のフォローアップをニューズに投稿します (gnus-summary-followup-to-mail-with-original)。この命令はプロセス/接頭引数の習慣を用います。

S N
     Post a followup to the current article via news, even if you got the message through mail and include the original message (gnus-summary-followup-to-mail-with-original). この命令はプロセス/接頭引数の習慣を用います。

S o p
     現在の記事をニューズグループに転送します (gnus-summary-post-forward)。接頭引数が与えられたときは、転送記事のヘッダーを完全に取り込みます。

S O p
     現在の一連の記事を要約して、その結果をニューズグループに送ります (gnus-uu-digest-mail-forward)。この命令はプロセス/接頭引数の習慣を用います。

S u
     ファイルを Uuencode し、分割して、組にして投稿します (gnus-uu-post-news)。(see Uuencoding and Posting)。

また see (message)Header Commands にさらなる情報があります。

記事を取り消す
=======

何かを書いた後で、本当に、本当に、ほ ん と う にそれを投稿していなければなぁと思ったことはありませんか。

えーと、メールは取り消すことはできないのですが、ニューズの投稿は取り消すことができます。

取り消したい記事を見つけてください（取り消すことができるのは自分の記事だけです。変なことは試さないでください）。それから、 C か S cを押してください (gnus-summary-cancel-article)。あなたの記事が取り消されます――世界中の機械があなたの記事を取り消します。この命令はプロセス/接頭引数の習慣を用います (see Process/Prefix)。

しかし、注意してほしいのはすべてのサイト (site) が取り消しを扱っているわけではないことです。ですから、たいていのサイトが問題の記事を取り消しても、あちこちであなたの記事は生き残るかもしれません。

Gnus は、取り消すときに『現在』の選択方法を使います。標準の投稿方法を使いたいのであれば、文字接頭引数 a を使ってください(see Symbolic Prefixes)。

もし何か間違いをしたのに気付いて、訂正をしたいのであれば、代替 (superseding) 記事を投稿して本記事を置き換えることができます。

本記事のところへ移動して、S s を押してください (gnus-summary-supersede-article)。普通の方法でそれを送る前に、記事を好きなように編集することができます。代替に関しても、取り消しと同じことが当てはまります。こちらの方がもっとよく当てはまるかもしれません：いくつかのサイトは代替を受け付けません。これらのサイトでは、あなたがほとんど同じ記事を2回投稿したようになります。

もしさっき記事を投稿したばかりですぐに変更したくなた場合、記事が最初にあなたのサイトに現れる前に取り消し/代替をするための巧妙な手段があります。まず、投稿バッファ（*sent ... * のようになっています）に戻ります。そこにはあなたがちょうど投稿した記事があり、すべてのヘッダーがそのままあります。それらの中の Message-ID という語のところを変更することによって Message-ID ヘッダーを Cancel もしくは Supersedes に変更してください。

ちょっと覚えておいてください：`supersede'（代替）という語の中に `c' は無いということを。

記事に印を付ける
========

記事に付けられる印はいくつかあります。

記事の 購読度（おぉ、ニート・キーノ新語句だ！）を決定する印があります。英字の印は一般的には既読を意味し、英字でない文字は一般的に未読を意味します。

加えて、購読度に影響しない印もあります。

これらの印を操作する過剰なくらいの命令があります：

未読記事
----

以下の印はいろいろな方法で記事に未読の（ような）印を付けます。

!
     可視記事 (Ticked) として印をつけます (gnus-ticked-mark)。

     可視記事とは、常に可視状態である記事のことです。おもしろいと思う記事があった場合や、単に読むのを先に延ばしたいときや、後で返答をしたいときに、普通は可視印を付けます。しかし、記事は期限切れ消去されることもありますので、永遠に記事を保存しておきたい場合は、その記事を永続にする必要があります (see Persistent Articles)。

?
     保留として印を付けます (gnus-dormant-mark)。

     保留記事はフォローアップがあったときにだけ概略バッファに現れます。フォローアップが無いときも表示させたいときは、命令 / D を使うことができます。

SPACE
     未読として印を付けます (gnus-unread-mark)。

     未読記事は今まで全く読まれていない記事のことです。

既読記事
----

以下のすべての印は記事に既読の印を付けます。

r
     利用者が手動やそのようなもので命令 d によって既読の印を付けた記事です (gnus-del-mark)。

R
     実際に読まれた記事 (gnus-read-mark)。

O
     前回のセッションで既読の印を付けて、今は古くなってしまった記事。

K
     削除の印 (gnus-killed-mark)。

X
     削除ファイルによって削除の印がついた記事 (gnus-kill-file-mark)。

Y
     低すぎるスコアのために既読の印がついた記事 (gnus-low-score-mark)。

C
     キャッチアップによって既読の印がついた記事 (gnus-catchup-mark)。

G
     取り消された記事 (gnus-canceled-mark)。

F
     SOUP されている記事 (gnus-souped-mark)。 See SOUP.

Q
     まばらに参照された記事 (gnus-sparse-mark)。 See Customizing Threading.

M
     重複抑制により既読の印のついた記事 (gnus-duplicated-mark)。 See Duplicate Suppression.

これらのすべての印は、本当はただ記事が既読として印がついていることを意味するだけです。適応スコアリングをしたときには違ったように解釈されますけれど。

もう一つ、特別な印があります：

E
     期限切れ削除可能として印のついた記事 (gnus-expirable-mark)。

     記事を期限切れ削除可能として印を付ける（もしくは、自動的にそのように印を付ける）ことは、普通のグループではあまり意味がありません――利用者はニューズ記事の期限による削除を制御していません。しかし、例えばメールグループでは、期限切れ削除可能として印のついた記事は、いつでも gnus によって削除されることがあります。

他の印
---

記事が読まれたかどうかには関係しない印がいくつかあります。

  * 現在の記事にしおりを挟むことができます。あなたは猫の尿の習慣に関する長い論文を読んでいて、それを読み終わる前に夕食を食べるために家に帰らなければならなかったとしましょう。そのときに、記事にしおりを挟むことができ、次にその記事に出くわしたときに、gnus はそのしおりのところへ移動するでしょう。 See Setting Marks

  * 返答をしたか、フォローアップをした（例えば、答えた）記事はすべて２桁目に A の印がつきます (gnus-replied-mark)。

  * 記事キャッシュに貯められている記事は２桁目に * の印がつきます (gnus-replied-mark)。 See Article Caching

  * （何らかの方法によって；必ずしも宗教的というわけではなく）『保存された』記事は２桁目に S の印がつきます (gnus-saved-mark)。

  * もし %e の仕様が使われると、スレッドがあるかどうかは、３桁目に gnus-not-empty-thread-mark と gnus-empty-thread-mark のそれぞれによって印がつきます。

  * 最後に プロセス印 があります(gnus-process-mark)。いろいろな種類の命令がプロセス印があるとそれに対して実行されます。例えば、X u (gnus-uu-decode-uu) はプロセス印の付いたすべての記事を uudecode して、表示します。プロセス印の付いた記事は２桁目に # があります。

これらの『非購読度』の印はディフォルトではたいてい２桁目に現れるということに気付いたかもしれません。ですから、キャッシュされていて、保存されていて、返答をした記事にプロセス印が付いている場合、どのようになるのでしょう？

たいしたことはありません。優先順位は次のようになっています： プロセス → キャッシュ → 返答済み → 保存。ですから、ある記事がキャッシュに入っていて、返答されていた場合、キャッシュ印があるだけで、返答済み印はありません。

印を付ける
-----

すべての印つけ命令は数値接頭引数を受け付けます。

M c
M-u
     現在の記事から、すべての購読度印を消去します (gnus-summary-clear-mark-forward)。要するに、記事に未読の印を付けます。

M t
!
     現在の記事に可視記事印を付けます (gnus-summary-tick-article-forward)。 See Article Caching

M ?
?
     現在の記事に保留記事印を付けます (gnus-summary-mark-as-read-forward)。

D
     現在の記事に既読の印を付け、前の行にポイントを移動します (gnus-summary-mark-as-read-backward)。

M k
k
     現在の記事と同じ表題を持つすべての記事を既読として印を付け、次の未読記事を選択します (gnus-summary-kill-same-subject-and-select)。

M K
C-k
     現在の記事と同じ表題を持つすべての記事を既読として印を付けます (gnus-summary-kill-same-subject)。

M C
     すべての未読記事に既読の印を付けます (gnus-summary-catchup)。

M C-c
     グループのすべての記事に――可視記事や保留記事でさえも、既読の印を付けます (gnus-summary-catchup-all)。

M H
     現在のグループのポイントまでを既読として印を付けます (gnus-summary-catchup-to-here)。

C-w
     ポイントとマークの間の記事に既読の印を付けます (gnus-summary-mark-region-as-read)。

M V k
     ディフォルトのスコア（もしくは数値接頭引数）よりも低いスコアの記事を削除します。

M e
E
     現在の記事を期限切れ削除可能として印を付けます (gnus-summary-mark-as-expirable)。

M b
     現在の記事にしおりを設定します (gnus-summary-set-bookmark)。

M B
     現在の記事のしおりを削除します (gnus-summary-remobe-bookmark)。

M V c
     ディフォルトのスコア（もしくは数値接頭引数）よりも大きいスコアを持つ記事のすべての印を消去します (gnus-summary-clar-above)。

M V u
     ディフォルトのスコア（もしくは数値接頭引数）よりも大きいスコアを持つすべての記事に可視印を付けます (gnus-summary-tick-above)。

M V m
     印の入力を促し、ディフォルトのスコア（もしくは数値接頭引数）よりも大きなスコアを持つすべての記事にその印を付けます(gnus-summary-mark-above)。

変数 gnus-summary-goto-unread は印が付けられた後にどのような動作がなされるかを決定します。もし nil でないと、ポイントは次/前の未読記事に移動します。もし nil であると、ポイントは一行上か下に行くだけです。特別な場合として、この変数が never であると、すべての印を付ける命令と（SPACE のような）他の命令は次の記事が未読であろうが無かろうがその記事に移動します。ディフォルトは t です。

プロセス印を付ける
---------

M P p
#
     現在の記事にプロセス印を付けます (gnus-summary-mark-as-processable)。

M P u
M-#
     もし現在の記事にプロセス印があれば取り除きます (gnus-summary-unmark-as-processable)。

M P U
     すべての記事からプロセス印を取り除きます (gnus-summary-unmark-all-processable)。

M P i
     プロセス印の付いている記事とそうでない記事を逆にします (gnus-uu-mark-by-regexp)。

M P R
     正規表現によって記事に印を付けます (gnus-uu-mark-by-regexp)。

M P r
     リージョンの記事に印を付けます (gnus-uu-mark-region)。

M P t
     現在の（副）スレッドのすべての記事に印を付けます (gnus-uu-mark-thread)。

M P T
     現在の（副）スレッドのすべての記事から印を取り除きます (gnus-uu-unamrk-thread)。

M P v
     接頭引数よりも大きなスコアを持つすべての記事に印を付けます (gnus-uu-mark-over)。

M P s
     現在の一連の記事に印を付けます (gnus-uu-mark-series)。

M P S
     既にいくつか印の付いた記事を持つ一連の記事群全てに印を付けます (gnus-uu-mark-sparse)。

M P a
     一連の記事が出てくる順番にそれに属するすべての記事に印を付けます (gnus-uu-mark-all)。

M P b
     バッファのすべての記事を現れている順番に印を付けます (gnus-uu-mark-buffer)。

M P k
     現在のプロセス印をスタックに積んで、すべての記事を無印にします (gnus-summary-kill-process-mark)。

M P y
     スタックから前回のプロセス印を取り出して、それを復元します (gnus-summary-yank-process-mark)。

M P w
     現在のプロセス印をスタックに積みます (gnus-summary-save-process-mark)。

制限をする
=====

概略バッファが現在グループにある記事の一部だけを表示するように制限できれば便利なことがあります。多くの制限命令が持つ効果は概略バッファから少し（もしくは多く）の記事を概略バッファから削除することです。

すべての制限命令はサーバーから既に取得された記事の一部分に作用します。これらの命令はどれもサーバーに追加の記事を要求しません。

/ /
/ s
     概略バッファをいくつかの表題と合致するものだけに制限します (gnus-summary-limit-to-subject)。

/ a
     概略バッファを何人かの著者に合致するものだけに制限します (gnus-summary-limit-to-author)。

/ u
x
     概略バッファを既読の印が付いていない記事に制限します (gnus-summary-limit-to-unread)。もし接頭引数が与えられれば、バッファを厳密に未読記事のみに制限します。これは、可視と保留の記事は含まれないということです。

/ m
     印を尋ねて、その印が付いていない記事に制限します (gnus-summary-limit-to-marks)。

/ t
     数字を尋ねて、概略バッファをその数字の日より古い（もしくは同じ）記事に制限します (gnus-summary-limit-to-marks)。もし接頭引数が与えられれば、その数字の日よりも新しい記事に制限します。

/ n
     概略バッファを現在の記事に制限します (gnus-summary-limit-to-articles)。プロセス/接頭引数の習慣を使います (see Process/Prefix)。

/ w
     前の制限をスタックから取り出して、復元します (gnus-summary-pop-limit)。もし接頭引数を与えられれば、すべての制限をスタックから取り出します。

/ v
     概略バッファをあるスコアと同じか、それより大きなスコアを持つ記事に制限します (gnus-summary-limit-to-score)。

/ E
M S
     すべての消去された記事を表示します (gnus-summary-limit-include-expunged)。

/ D
     すべての保留記事を表示します (gnus-summary-limit-include-dormant)。

/ *
     すべてのキャッシュに入っている記事を表示します (gnus-summary-limit-include-cached)。

/ d
     すべての保留記事を隠します (gnus-summary-limit-exclude-dormant)。

/ T
     現在のスレッドのすべての記事を表示します (gnus-summary-limit-include-thread)。

/ c
     子記事の無いすべての保留記事を隠します (gnus-summary-limit-exclude-childless-dormant)。

/ C
     すべての未読のみの印の記事を既読として印を付けます (gnus-summary-limit-mark-excluded-as-read)。もし接頭引数が与えられれば、可視と保留のみの印の記事も既読として印を付けます。

スレッド
====

Gnus はディフォルトで記事をスレッドにします。スレッドにする とは、ある記事への応答を応答した記事の直後に置く――階層的流儀で ということです。

スレッドは記事の References 欄を調べることによって行われます。完全な世界では、これだけで良い木を作り上げるのに十分なのですが、不運なことに、 References 欄はしばしば壊れているか、時には単にないということがあります。不思議なニュースの増殖が問題を増やしますので、喜ばしい結果を得るためには他の発見法を採用しなければなりません。過剰な対策法は存在していて、その恐るべき詳細は see Customizing Threading に詳しく書いてあります。

まず、概念の概観です：

根本 (root)
     スレッドで一番頂点にある記事です；スレッドの最初の記事です。

スレッド (thread)
     木のような記事の構成です。

部分スレッド (sub-thread)
     木のような構造の（より）小さな部分です。

無束縛スレッド (loose threads)
     記事の期限切れ削除や、根本が既に前回のセッションで読まれたことにより概略バッファに表示されない、等の理由により、スレッドはしばしば根本を失います。そのようなときには、普通は多くの部分スレッドがあって、本当は１つのスレッドに属しているのですが、根本にはつながっていない、ということになります。こういうスレッドが無束縛スレッドと呼ばれています。

スレッド集め (thread gathering)
     まばらスレッドを大きなスレッドに集めようとする試みです。

まばらスレッド (sparse threads)
     無い記事が『推測された』スレッドで、概略バッファに空行で表示されます。

スレッドをカスタマイズする
-------------

無束縛スレッド
-------

gnus-summary-make-false-root
     もし nil でないと、gnus は全てのつながっていない部分木を１つの大きな木にして、頂上にみせかけの根本を作ります。（ちょっと待ってください。頂上に根元 (root) ですって？ええ、そうなのです。）つながっていない部分木は本当の根本が期限切れ削除されたか、前回のセッションで根本を読んだり削除したときにできます。

     本当のスレッドが無いときは、gnus は何かでっち上げをする必要があります。この変数は gnus が使うべきごまかしの方法を示しています。値としてとることができる４つの候補があります。

     養子 (adopt)
          Gnus は最初の孤児を親にします。この親はすべての他の記事を養子にします。この養子記事は、標準の角括弧 ([]) の代わりに、先の尖った括弧 (<>) で印付けられます。これがディフォルトの方法です。

     みせかけ (dummy)
          Gnus は親のふりをするみせかけの概略行をつくります。みせかけの行はどの本当の記事にも対応しませんので、それを選択することは、みせかけの記事の後の最初の本当の記事を選択をするだけになります。みせかけの根本の様式を指定するために、 gnus-summary-dummy-line-format が使われます。これはたった一つだけのフォーマットの仕様を受け付けます: S で、これは記事の表題です。 See Formatting Variables.

     空 (empty)
          Gnus は実際にはどの記事も親にはせず、単に最初の孤児を除いてすべての孤児の表題欄を空のままにします。（実際は、gnus-summary-same-subject を表題として使います。 (see Summary Buffer Format).）

     none
          全くどの記事も親にしません。スレッドを集めて、一つの記事の後に他の記事を表示するだけです。

     nil
          無束縛スレッドを集めません。

gnus-summary-gather-subject-limit
     無束縛スレッドは記事の表題を比較することによって集められます。もしこの変数が nil であると、gnus は無束縛スレッドを一つの大きな超スレッドに集める前に、無束縛スレッドの表題が完全に一致することを要求します。これは、長い表題の行を切り落としてしまう間抜けなニューズリーダーが存在する現在では、あまりに厳しい要求かも知れません。もしそう思うのなら、この変数を例えば 20 に設定して、表題の最初の 20 文字だけが一致することを要求するようにすることができます。この変数を本当に低い数字に設定すると、gnus が目に入る全てを一つのスレッドに集めるのを見ることができるでしょう。そして、それはあまり有用ではありません。

     この変数を特別な値 fuzzy に設定すれば、gnus は表題にあいまいな文字列比較アルゴリズムを使います (see Fuzzy Matching)。

gnus-sumplify-subject-fuzzy-regexp
     これは正規表現か、あいまい表題指定が使われているときに表題から合致したものが取り除かれる、正規表現のリストであることができます。

gnus-simplify-ignored-prefixes
     もし gnus-summary-gather-subject-limit を 10 くらいに低く設定したならば、この変数を何か意味のあるものに設定することを考えるでしょう：

          (setq gnus-simplify-ignored-prefixes
                (concat
                 "\\`\\[?\\("
                 (mapconcat
                  'identity
                  '("looking"
                    "wanted" "followup" "summary\\( of\\)?"
                    "help" "query" "problem" "question"
                    "answer" "reference" "announce"
                    "How can I" "How to" "Comparison of"
                    ;; ...
                    )
                  "\\|")
                 "\\)\\s *\\("
                 (mapconcat 'identity
                            '("for" "for reference" "with" "about")
                            "\\|")
                 "\\)?\\]?:?[ \t]*"))

     この正規表現に合致するすべての語は、２つの表題を比較する前に取り除かれます。

gnus-simplify-subject-functions
     nil でないと、この変数は gnus-summary-gather-subject-limit を上書きします。この変数は文字列 Subject を反復して簡単な形にたどり着くために適用する関数のリストである必要があります。

     このリストに入れて役に立つような関数は次のようなものです：

     gnus-simplify-subject-re
          前の方にある Re: を取り除きます。

     gnus-simplify-subject-fuzzy
          あいまいに簡単にします。

     gnus-simplify-whitespace
          余分な空白 (whitespace) を取り除きます。

     もちろん、あなた自身の関数を書くこともできます。

gnus-summary-gather-exclude-subject
     無束縛スレッド集めは表題のみに行われますので、特に や (none)のような良くある表題のときは、多くの間違いを起こす可能性があります。この状況を少しよくするために、どの表題が集める過程から除かれるかを決める正規表現 gnus-summary-gather-exclude-subject を使うことができます。ディフォルトは ^ *$\\|^(none)$ です。

gnus-summary-thread-gathering-function
     Gnus は Subject 欄を見ることによってスレッドを集めます。これは、結果的に全く関係の無い記事が同じ『スレッド』に含まれることがあるということで、これは混乱の元です。代替手段は、合致するものを見つけるために References 欄にある Message-ID をすべて探すことです。これは関係の無い記事が集められたスレッドに含まれることは全く無いことを保証しますが、こわれたニューズリーダーで投稿した記事は適切に集められないということでもあります。選択権はあなたにあります――疫病かコレラか。

     gnus-gather-threads-by-subject
          この関数はディフォルトの収集関数で、排他的に Subject を見ます。

     gnus-gather-threads-by-references
          この関数は排他的に References 欄を見ます。

     References によって集めることを試してみたいのであれば、次のようにすることができます：

          (setq gnus-summary-thread-gathering-function
                'gnus-gather-threads-by-references)

スレッドを埋める
........

gnus-fetch-old-headers
     もし nil でないと、gnus は古いスレッドをもっと古いヘッダー――既読印の付いている記事のヘッダー を取得することで大きくしようとします。もしできるだけ少ない概略行を表示したいけれど、できるだけたくさんの非密スレッドに接続しておきたいときは、この変数を some か数字に設定することができます。もし数字に設定したときは、それより多い追加のヘッダーは取得されません。どちらの場合でも、古いヘッダーの取得が動作するのは、使っているバックエンド (backend) が overview ファイルを使っているかどうかです――これは普通は nntp, nnspool と nnml です。スレッドのルートがサーバーによって期限切れ削除されたときは、gnus はどうしようもないことを覚えておいてください。

     この変数は invisible に設定することもできます。これは視覚的な効果は何もありませんが、命令 A T をよく使うのであれば役に立つでしょう (see Finding the Parent)。

gnus-build-sparse-threads
     古いヘッダーを取得すると遅くなることがあります。同じような低賃金の効果を得るために、この変数を some に設定することができます。そうすると、 gnus は全ての記事の完全な References 欄を見て、同じスレッドに属する記事をつなごうとします。これは gnus が記事がスレッドから失われていると推測したところのスレッド表示にずれを残すでしょう。（これらのずれは普通の概略行のように現れます。もしずれを選択したときは、gnus はその当の記事を取得しようとします。）この変数が t であると、gnusは全ての『ずれ』をスレッドを補完するのに役に立つかを考慮せずに表示します。最後に、この変数が more であると、 gnus はどこにもつながっていない枝葉のまばらな節を切り落としません。この変数はディフォルトでは nil です。

もっとスレッドを
--------

gnus-show-threads
     この変数が nil であると、スレッドは作られず、ここにある残りのすべての変数は全く効果が無くなります。スレッド作りを止めるとグループの選択が少し速くなりますが、記事を読むのがもっと遅く、不便になることは確実です。

gnus-thread-hide-subtree
     これが nil でないと、すべてのスレッドは概略バッファが生成されたときに隠れます。

gnus-thread-expunge-below
     この数字より少ない総合的スコア (gnus-thread-score-function) を持つすべてのスレッドは消去されます。この変数はディフォルトでは nil で、これはどのスレッドも消去されないということです。

gnus-thread-hide-killed
     もしスレッドを削除して、この変数が nil でないと、部分木は隠されます。

gnus-thread-ignore-subject
     時々、誰かがスレッドの真中で表題を変更することがあります。もしこの変数が nil でないと、表題の変更は無視されます。もし nil だと、これがディフォルトですが、表題の変更をすると別のスレッドになります。

gnus-thread-indent-level
     この数字は部分スレッドがどれくらい字下げ (indent) されるべきかを決めます。ディフォルトは 4 です。

低レベルにおけるスレッド作成
--------------

gnus-parse-headers-hook
     すべてのヘッダーを解析する前に実行されるフックです。ディフォルトの値は (gnus-set-summary-default-charset) です。これは変数 gnus-newsgroup-default-charset-alist で指定されている値から概略バッファの default-mime-charset を設定します。

gnus-alter-header-function
     これが nil でないと、ヘッダー構造の交換を可能にするようにこの関数が呼ばれます。関数は一つの引数、記事ヘッダーのベクトル、とともに呼ばれ、それが何らかの方法で交換されます。例えば、（接頭語やその他のものを付け加えることによる）体系的な方法で Message-ID を交換するメールからニュースへのゲートウェイがある場合、Message-ID がもっと意味のあるものにするために、この変数を設定して元に戻すことができます。これは一つの例です：

          (setq gnus-alter-header-function 'my-alter-message-id)

          (defun my-alter-message-id (header)
            (let ((id (mail-header-id header)))
              (when (string-match
                     "\\(<[^<>@]*\\)\\.?cygnus\\..*@\\([^<>@]*>\\)" id)
                (mail-header-set-id
                 (concat (match-string 1 id) "@" (match-string 2 id))
                 header))))

スレッドの命令
-------

T k
M-C-k
     現在の（部分）スレッドに既読の印を付けます (gnus-summary-kill-thread)。もし接頭引数が正であると、代わりにすべての印を取り除きます。接頭引数が負であると、代わりに記事を可視にします。

T l
M-C-l
     現在の（部分）スレッドのスコアを下げます (gnus-summary-lower-thread)。

T i
     現在の（部分）スレッドのスコアを上げます (gnus-summary-raise-thread)。

T #
     プロセス印を現在の（部分）スレッドに付けます (gnus-uu-mark-thread)。

T M-#
     現在の（部分）スレッドからプロセス印を取り除きます (gnus-uu-unmark-thread)。

T T
     スレッド表示を切り替えます (gnus-summary-toggle-threads)。

T s
     もしあれば、現在の記事の下に隠れているスレッドを表示します (gnus-summary-show-thread)。

T h
     現在の（部分）スレッドを隠します (gnus-summary-hide-thread)。

T S
     すべての隠されているスレッドを表示します (gnus-summary-show-all-threads)。

T H
     すべてのスレッドを隠します (gnus-summary-hide-all-threads)。

T t
     現在の記事のスレッドをもう一度作り直します (gnus-summary-rethread-current)。これは概略バッファがスレッド表示されていないときでも動作します。

T ^
     現在の記事を印付き（もしくは前の）記事の子記事にします (gnus-summary-reparent-thread)。

以下の命令はスレッド移動命令です。これらはすべて数値接頭引数を受け付けます。

T n
     次のスレッドに移動します (gnus-summary-next-thread)。

T p
     前のスレッドに移動します (gnus-summary-prev-thread)。

T d
     スレッドを降下します (gnus-summary-down-thread)。

T u
     スレッドを上昇します (gnus-summary-up-thread)。

T o
     スレッドの頂上に移動します (gnus-summary-top-thread)。

スレッドを作成するときに表題を無視すると、自然にスレッドにはいくつかの違った表題があることになります。それから `T k' (gnus-summary-kill-thread) のような命令を発するときに、全体のスレッドを削除するのではなく、現在の記事と同じ表題を持つ部分だけを削除したいときがあるかもしれません。もしこの発想が良いと思うのであれば、 gnus-thread-operation-ignore-subject をいじくることができます。これが nil でないと（これがディフォルトですが）、スレッドの命令を実行しているときに表題は無視されます。この変数が fuzzy であると、あいまいに等しい表題を持つ記事だけが含まれます (see Fuzzy Matching)。

並び替え
====

もしスレッドの概略表示を使っているのであれば、関数のリストである gnus-thread-sort-functions を設定することでスレッドを並び替えることができます。ディフォルトでは、並び替えは記事番号によってなされます。既に作られている並び替え述語関数は gnus-thread-sort-by-number, gnus-thread-sort-by-author, gnus-thread-sort-by-subject, gnus-thread-sort-by-date, gnus-thread-sort-by-score と gnus-thread-sort-by-total-score です。

各関数は２つのスレッドをとり、最初のスレッドが他のスレッドより先に並び替えられるべきであれば、nil でない値をかえします。普通、並び替えは本当はそれぞれのスレッドの根本を見るだけによりなされることに気を付けてください。もし２つ以上の関数を使う場合、優先的並び替えキーはリストの最後の関数です。おそらくいつも gnus-thread-sort-by-number を並び替え関数のリスト―― 最初が好ましい に入れておくべきでしょう。これは他の並び替え基準に関して等しいスレッドは記事が上がっていく順番に表示されることを保証します。

スコア、表題、そして最後に番号、の順に並び替えたいのであれば、次のようにできます：

     (setq gnus-thread-sort-functions
           '(gnus-thread-sort-by-number
             gnus-thread-sort-by-subject
             gnus-thread-sort-by-total-score))

最高スコアのスレッドが概略バッファの最初に表示されます。スレッドが同じスコアの場合は、英字順に並びかえられます。スコアと表題が同じスレッドは番号で並び替えられ、（普通は）記事が到着した順番になります。

スコア、到着の逆順に並び替えたいのであれば、次のようにできます：

     (setq gnus-thread-sort-functions
           '((lambda (t1 t2)
               (not (gnus-thread-sort-by-number t1 t2)))
             gnus-thread-sort-by-score))

変数 gnus-thread-score-function（ディフォルトは +）に入っている関数はスレッドの総合のスコアを計算するために用いられます。役に立つ関数は、max, min, もしくは２乗、もしくはあなたの好奇心をくすぐるような何かでしょう。

何か奇妙な理由などでスレッド表示を使っていないのなら、変数 gnus-article-sort-functions をいじくる必要があります。これは gnus-thread-sort-functions と非常に似ていますが、記事の比較には少々違った関数を使います。使用可能な並び替え述語関数は gnus-article-sort-by-number, gnus-article-sort-by-author, gnus-article-sort-by-subject, gnus-article-sort-by-date および gnus-article-sort-by-score です。

スレッドを使っていない表題の概略表示を並び替えたいのであれば、次のようなことをすることができます：

     (setq gnus-article-sort-functions
           '(gnus-article-sort-by-number
             gnus-article-sort-by-subject))

非同期記事取得
=======

もしニュースを遠くの NNTP サーバーから取得しているのであれば、ネットワークの待ち時間が記事を読むことは骨の折れることにしてしまうかもしれません。 n を押して次の記事が現れるまで、しばらく待たなければなりません。どうして前の記事を読んでいる間に gnus が先に行って記事を取得しないのでしょう？本当に、そうした方が良いのではないのでしょうか。

まず、いくつかの警告です。非同期記事取得、特に gnus がそれを行っている方法にはいくつかの落とし穴があります。

例えば、あなたは短い記事 1 を読んでいて、記事 2 はとても長くあなたはそれを読むことには興味が無いとしましょう。Gnus はこのことはわからないので、先に行って記事 2 を取得します。あなたは記事 3 を読むことにしますが、gnus は記事 2 を取得している最中なので、接続は封鎖されています。

この状況を避けるために、gnus はサーバーに２つの（それは２と数えてください）接続を張ることができます。これはあまりして良いことではないと考える人もいるでしょうが、私には実際の代替手段が見つからないのです。余分な接続をするためには何らかの時間がかかりますので、gnus の起動は遅くなります。

Gnus はあなたが読むであろう記事よりもたくさんの記事を取得します。これは記事の先-取得を使わないときよりも、あなたのマシンと NNTP サーバー間にもっと負荷がかかるということになるでしょう。サーバー自身ももっと負荷がかかるようになります――余分な記事の要求と、余分な接続で。

はい、これで本当はこのようなことをすべきで無い事が分かったでしょう... 本当にそうしたいと思わない限りは。

これが方法です： gnus-asynchronous を t に設定してください。残りのことは自動的に起こります。

gnus-use-article-prefetch を設定することにより、どれくらいの記事が先に取得されるべきかを操作することができます。これはディフォルトでは 30で、グループの記事を読んでいるときに、バックエンドが次の 30 記事を先-取得するということです。この変数が t であると、バックエンドは制限無く取得できるすべての記事を先-取得しようとします。これが nil であると、先-取得は行われません。

おそらく、先-取得をしたくない記事がいくつかあるでしょう――例えば、既読記事。変数 gnus-async-prefetch-article-p は記事が先に取得されるべきかどうかを制御します。この関数は問題の記事が先-取得されるべきであれば nil でない値をかえすべきです。ディフォルトは gnus-async-read-p で、それは既読記事には nil をかえします。この関数は記事のデータ構造を唯一の引数として呼ばれます。

例えば、もし 100 行よりも短い未読記事のみを先に取得したいのであれば、次のようにできます：

     (defun my-async-short-unread-p (data)
       "Return non-nil for short, unread articles."
       (and (gnus-data-unread-p data)
            (< (mail-header-lines (gnus-data-header data))
               100)))

     (setq gnus-async-prefetch-article-p 'my-async-short-unread-p)

これらの関数は何度も何度も呼ばれますので、gnus を遅くしすぎないように、短く甘美であるのが好ましいです。おそらく、このようなものをバイトコンパイル (byte-compile) するのは良い着想でしょう。

記事は非同期バッファから遅かれ早かれ削除されなければなりません。 gnus-prefetched-article-deletion-strategy はいつ記事を削除するかを指定しています。これは以下の要素を含むようなリストです：

read
     記事が読まれたときに削除します。

exit
     グループを抜けたときに記事を削除します。

ディフォルトの値は (read exit) です。

gnus-use-header-prefetch が nil でないと、次のグループから記事を先に取得します。

記事のキャッシュ
========

もし非常に遅い NNTP 接続であるならば、記事キャッシュをすることを考えるかもしれません。そうすると、それぞれの記事はあなたのホームディレクトリの下にローカルに溜めらます。既に推測されているかも知れませんが、これは巨大なディスクスペースを食い、iノードも非常に速く食いつぶす可能性があるため、それはあなたの頭を泳がせる事になるかもしれません。ウォッカの中で。

でも注意深く使われれば、それは記事を保存する簡単な方法になり得ます。

キャッシュを実行するためには、gnus-use-cache を t に設定します。ディフォルトでは、すべての可視または保留として印の付いている記事はローカルのキャッシュに複写されます。このキャッシュが平らな構造か階層的であるかは、いつもどおり、変数 gnus-use-long-file-name で制御されます。

可視か保留記事を再選択した場合は、サーバーの代わりにキャッシュから取得されます。キャッシュにある記事は期限切れ削除されませんので、記事が属しているところに残したままで記事を保存する方法として使う事ができるかもしれません。保存したい記事をすべて保留の印を付けて、後は心配は要りません。

記事に既読の印が付いたときに、それはキャッシュから削除されるのでしょうか。

キャッシュ へ入る/から削除される は変数 gnus-cache-enter-articlesと gnus-cache-remove-articles によって制御されます。これらは両方ともシンボルのリストです。前者はディフォルトでは (ticked dormant) で、可視と保留記事はキャッシュに入れられるという事です。後者はディフォルトでは (read) で、既読の印が付いた記事はキャッシュから削除されるという事です。おそらくこれらの２つのリストは ticked, dormant, unread および read からなるでしょう。

それで、どうやって大量の記事取得と貯蓄実現されるのでしょうか。命令 gnus-jog-cache は全ての購読グループに対して、すべての未読記事を要求し、スコアを付け、キャッシュに保存します。この命令を実際に、実際に実際に実際に、使うのは、 1) NNTP サーバーとの接続が本当に、本当に、本当に遅く 2) 本当に、本当に、本当に巨大なディスクを持っているときだけにするべきです。これは真面目にいっています。ダウンロードされる記事の数を少なくする一つの方法は、欲しくない記事のスコアを低くし、既読の印を付ける事です。そうした場合、それらはこの命令ではダウンロードされません。

いくつかのグループではキャッシュをしたくないというのは良くある事です。例えば、nnml メールディレクトリーがホームディレクトリーの下にあれば、それをあなたのホームディレクトリーの下の別の場所にキャッシュするのは意味の無い事です。あなたが２倍の容量を使う事が良いと感じない限りは。キャッシュを制限するために、正規表現 gnus-uncacheable-groups を例えば ^nnml と設定してください。この変数はディフォルトでは nil です。

キャッシュはどの記事が含まれているかの情報を現状ファイル (active file) (gnus-cache-active-file) に溜めます。このファイル（もしくはキャッシュの他の部分）が何らかの理由でぐちゃぐちゃになってしまった場合、gnus は物事を正しくするために２つの関数をお勧めします。M-x gnus-cache-generate-nov-databases はすべての NOV ファイルを（再）作成し、gnus-cache-generate-active は 現状ファイルを（再）作成します。

永続記事
====

記事のキャッシュと近い関係にあるもに、永続記事があります。実際、それはキャッシュの別の見方で、私の意見ではその方がもっと役に立ちます。

例えば、ニューズグループを読んでいて、そのまま永遠に保存して秘蔵したい、いくつかの価値ある宝石に出会ったとしましょう。普通はそれをファイルに保存します（多くの保存命令の一つを使って）。それの問題は、単にあの、嫌なだけです。理想的には、記事はグループであなたが見つけた場所に永遠に残っているべきでしょう。ニューズサーバーにおける期限削除には影響されないで。

これが永続記事です――記事は削除されません。それは普通のキャッシュ命令を使って実装されていますが、永続記事の管理をするために２つの明示的な命令を使います：

*
     現在の記事を永続にします (gnus-cache-enter-article)。

M-*
     現在の記事を永続記事から取り除きます (gnus-cache-remove-articles)。これは普通は記事を削除します。

この命令は両方ともプロセス/接頭引数の習慣を理解します。

もし永続記事にだけ興味があるのでしたら、可視記事（やその他のもの）がキャッシュに入るのを避けるために、gnus-use-cache を passive に設定するのが良いでしょう：

     (setq gnus-use-cache 'passive)

記事のバックログ
========

もし遅い接続しかない場合で、キャッシュを使うという発想はあまり魅力的ではないとき（実際そうなのですが）、バックログに切り替える事によって状況を何とかすることができます。これは既に読んだ記事を再取得しなくて良いように、 gnus が既に読んだ記事を一時保存しておくところです。これはもちろん、あなたに最近読んだ記事を再び選択する癖があるときだけに役立ちます。もし絶対にそれをしないのであれば、バックログをすることは gnus を少し遅くし、メモリーの使用量をいくらか増やします。

もし gnus-keep-backlog を数字 N に設定すると、gnus は最大で N の古い記事を後の再取得のためにバッファに溜めておきます。この変数が nil ではなく、数字でもない場合、gnus は全ての既読記事をたくわえます。これはあなたの Emacs が、暴発してあなたのマシンが落ちるまで制限なく膨れ上がるということです。私はあなた方全てが元気でいられるようにここに書き加えました。

この変数はディフォルトでは nil です。

記事の保存
=====

Gnus はたくさんの方法で記事を保存する事ができます。以下のものは非常に率直な方法（例えば、記事が保存する前にほとんど何もなされない）で記事を保存するための説明です。違った手段（uudecodeする、shar ファイルを展開する）についてはgnus-uu を使うのが良いでしょう (see Decoding Articles)。

gnus-save-all-headers が nil でないと、gnus は記事を保存する前に望ましくないヘッダーを消去しません。

もし上の変数が nil であると、正規表現 gnus-saved-headers に合致するすべてのヘッダーは残され、残りのものは保存する前に削除されます。

O o
o
     ディフォルトの記事保存を用いて現在の記事を保存します (gnus-summary-save-article)。

O m
     現在の記事をメールの様式で保存します (gnus-summary-save-article-mail)。

O r
     現在の記事を rmail の様式で保存します (gnus-summary-save-article-rmail)。

O f
     現在の記事を普通のファイル (plain file) 様式で保存します (gnus-summary-save-article-file)。

O F
     現在の記事を普通のファイル様式で保存し、以前のファイルの内容を上書きします (gnus-summary-write-article-file)。

O b
     現在の記事の本文 (body) を普通のファイル様式で保存します (gnus-summary-save-article-body-file)。

O h
     現在の記事を mh のフォルダーの様式で保存します (gnus-summary-save-article-folder)。

O v
     現在の記事を VM フォルダーに保存します (gnus-summary-save-article-vm)。

O p
     現在の記事をパイプに保存します。うーんと、あのぉ、私が言おうとしている事は―― 現在の記事をプロセスにパイプするということです (gnus-summary-pipe-output)。

すべてのこれらの命令はプロセス/接頭引数の習慣を使います (see Process/Prefix)。もしこれらの関数を使ってたくさんの記事を保存した場合、それぞれのすべての記事に対してファイル名の入力を要求される事に飽き飽きするでしょう。入力促進動作は変数 gnus-prompt-before-saving によって制御されます。これはディフォルトでは always で、あなたが知っていて嫌がっている、過剰な促進動作をします。代わりにこの変数を t に設定すると、あなたが保存するそれぞれの一連の記事に対して一回だけ促されます。本当に gnus にすべての思考をさせたいのであれば、この変数をnil にすることさえできます。そして、記事を保存するためのファイルを促される事はありません。Gnus は単純にすべての記事をディフォルトのファイルに保存します。

Gnus があなたの望むとおりになるように、変数 gnus-default-article-saver をカスタマイズする事ができます。下の４つの既製関数を使う事ができますし、自分自身の関数を作る事もできます。

gnus-summary-save-in-rmail
     これはディフォルトの様式、babyl です。変数 gnus-ramil-save-name に入っている関数を、記事を保存するためのファイル名を取得するために使用します。ディフォルトは gnus-plain-save-name です。

gnus-summary-save-in-mail
     Unix メール (mbox) ファイルに保存します。変数 gnus-mail-save-name に入っている関数を、記事を保存するためのファイル名を取得するために使用します。ディフォルトは gnus-plain-save-name です。

gnus-summary-save-in-file
     記事を通常のファイルの後に追加します。変数 gnus-file-save-name に入っている関数を、記事を保存するためのファイル名を取得するために使用します。ディフォルトは gnus-numeric-save-name です。

gnus-summary-save-body-in-file
     記事の本体を通常のファイルの後に追加します。変数 gnus-file-save-name に入っている関数を、記事を保存するためのファイル名を取得するために使用します。ディフォルトは gnus-numeric-save-name です。

gnus-summary-save-in-folder
     MH ライブラリーの rcvstore を用いる事によって記事を MH フォルダーに保存します。変数 gnus-folder-save-name に入っている関数を、記事を保存するファイル名を取得するために使用します。ディフォルトは gnus-folder-save-name ですが、gnus-Folder-save-name も使う事ができて、こちらは先頭が大文字、残りが小文字になった名前をつくります。

gnus-summary-save-in-vm
     記事を VM フォルダーに保存します。この設定を使うためには VM メールリーダーが必要です。

これらの全ての関数は最後の一つを除いて、環境変数 SAVEDIR によって初期化される gnus-article-save-directory に記事を保存します。これはディフォルトでは ~/News/ です。

上にあるように、記事を保存するためのファイルの適切な名前を見つけるために、関数は違った関数を用います。以下は名前を生成するために使用可能な関数のリストです：

gnus-Numeric-save-name
     ~/News/Alt.andera-dworkin/45 のようなファイル名。

gnus-numeric-save-name
     ~/News/alt.andera-dworkin/45 のようなファイル名。

gnus-Plain-save-name
     ~/News/Alt.andera-dworkin のようなファイル名。

gnus-plain-save-name
     ~/News/alt.andera-dworkin のようなファイル名。

連想リスト gnus-split-methods に正規表現を放り込む事によって、 gnus に記事を保存する場所を提案する事ができます。例えば、gnus に関連した記事をファイル gnus-stuff に、VM に関連した記事を vm-stuff 保存したければ、この変数を以下のようにする事ができます：

     (("^Subject:.*gnus\\|^Newsgroups:.*gnus" "gnus-stuff")
      ("^Subject:.*vm\\|^Xref:.*vm" "vm-stuff")
      (my-choosing-function "../other-dir/my-stuff")
      ((equal gnus-newsgroup-name "mail.misc") "mail-stuff"))

これはそれぞれの要素が、２つの要素――合致 と ファイル を持つリストであるリストであるという事がわかります。合致は文字列（この場合は記事のヘッダーに合致する正規表現として使われます）および、シンボル（グループ名を引数として、関数として呼ばれます）および、リスト（これは評価 (eval) されます）であることができます。もしこれらの動作の一つでも nil でない結果を返すと、ファイルがディフォルトの促進として使われます。加えて、呼ばれた関数か式が文字列か文字列のリストを返したときは、演算の結果自体が使われます。

基本的には、現在の記事を保存するのに使われる可能性のあるファイル名のリストを手に入れる事になります。（すべての『合致』が使われます。）それから本当に名前として使いたいものを促され、この変数を適用する事により得られた結果からファイル名補完をして入力します。

この変数はディフォルトでは ((gnus-article-archive-name)) で、gnus 保存する記事の Archive-name 行を調べて、それをファイル名の提案として使うという事です。

これはファイル名を少しきれいにする関数の例です。 nnml:mail.whatever のようなメールグループがたくさんあるのであれば、保存するためのファイル名を作る前にこれらのグループ名の最初を切り落としたいかもしれません。次の物はちょうどそれをします：

     (defun my-save-name (group)
       (when (string-match "^nnml:mail." group)
         (substring group (match-end 0))))

     (setq gnus-split-methods
           '((gnus-article-archive-name)
             (my-save-name)))

最後に gnus-use-long-file-name という変数があります。これが nil であると、すべての上記の関数はグループ名のすべてのピリオド (.) をスラッシュ (/) で置き換えます――これは関数はすべてのファイルを一番上のディレクトリーに置くのではなく、階層的なディレクトリーを作るという事です（~/News/alt.andrea-dworkin の代わりに ~/News/alt/andrea-dworkin。）この変数はたいていのシステムにおいてディフォルトで t です。しかし、歴史的な理由から Xenix と usg-unix-v マシンではディフォルトで nil です。

この関数は削除とスコアのファイル名に影響します。この変数がリストで、リストに要素 not-score があると、長いファイル名はスコアファイルには使われず、リストに要素 not-save があると、長いファイル名は保存には使われず、要素 not-kill があると、長いファイル名は削除ファイルには使われません。

もし記事をスプールのような階層に保存したいのであれば、次のようにできます

     (setq gnus-use-long-file-name '(not-save)) ; to get a hierarchy
     (setq gnus-default-article-saver 'gnus-summary-save-in-file) ; no encoding

それから o によって記事を保存するだけです。それからこの階層を短命な nneething グループによって読む事ができます――グループバッファで G D とし、一番上のディレクトリーを引数 (~/News/) として渡します。

記事の復号化
======

ときどき利用者は何らかの方法で符号化された記事（もしくは記事群）を投稿します。Gnus はあなたのためにそれらを復号化する事ができます。

これらすべての関数はプロセス/接頭引数の習慣 (see Process/Prefix) を、『一つの記事』を『一つの群』と解釈する拡張をして、どの記事に操作をするかを見つけるために使います。Gnus は自分自身でどの記事がその群に属しているかを判断し、すべての記事を復号化して、その結果のファイルを 展開/閲覧/保存 することができます。

Gnus は以下の簡単な規則に則ってどの記事が群に属するのかを推測します： 表題は行の最後の２つの数字を除いて（ほとんど）同じである必要があります。（空白は大体無視されますが。）

例えば： cat.gif (2/3) というような表題を選ぶと、gnus は正規表現 ^cat.gif ([0-9]+/[0-9]+).*$ に合致するすべての記事を見つけようとします。

cat.gif (2/3) Part 6 of a series のような標準でない表題はどの自動閲覧命令によっても適切に認識されないため、手で記事に # の印を付けなければなりません。

uuencode された記事
--------------

X u
     現在の群を uudecode します (gnus-uu-decode-uu)。

X U
     現在の群を uudecode して保存します (gnus-uu-decode-uu-and-save)。

X v u
     現在の群を uudecode して、表示します (gnus-uu-decode-uu-view)。

X v U
     現在の記事を uudecode して、表示して保存します (gnus-uu-decode-uu-and-save-view)。

これらすべてはプロセス印によって印付けられた記事の存在に対して反応するということを覚えておいてください。例えば、もしニューズグループ全体を復号化して保存したいのであれば、普通は M P a (gnus-uu-mark-all) とし、それから X U (gnus-uu-decode-uu-and-save) とします。

この全ては、白日の下に明白にキーを打っていた GNUS 4.1 のときとは gnus-uu の動作が全く違っています。この版の gnus-uu は普通は何かの方法 (see Setting Process Marks) で記事に印を付けて、それから X u を押す事を前提としています。

注意： gnus-uu-notify-files に合致する名前、 [Cc][Ii][Nn][Dd][Yy][0-9]+.\\(gif\\|jpg\\) にハードコードされる、を持つ記事を復号化しようとしたときは、gnus-uu は問題の記事をちょうど閲覧した事を知らせるために、自動的に comp.unix.wizards に記事を投稿します。この機能を使わないようにする事はできません。

シェルアーカイブ
--------

シェルアーカイブ（『shar ファイル』）はソースを配布するための人気のある方法でしたが、今日ではそんなに使われていません。とにかくこれらを扱うための命令があります：

X s
     現在の群を解凍します (gnus-uu-decode-unshar)。

X S
     現在の群を解凍し保存します (gnus-uu-decode-unshar-and-save)。

X v s
     現在の群を解凍し表示します (gnus-uu-decode-unshar-view)。

X v S
     現在の群を解凍し、表示して保存します (gnus-uu-decode-unshar-and-save-view)。

ポストスクリプトファイル
------------

X p
     現在のポストスクリプト群を展開します (gnus-uu-decode-postscript)。

X P
     現在のポストスクリプト群を展開して保存します (gnus-uu-decode-postscript-and-save)。

X v p
     現在のポストスクリプト群を表示します (gnus-uu-decode-postscript-view)。

X v P
     現在のポストスクリプト群を表示し保存します (gnus-uu-decode-postscript-and-save-view)。

他のファイル
------

X o
     現在の群を保存します (gnus-uu-decode-save)。

X b
     現在の記事を binhex 解凍します (gnus-uu-decode-binhex)。これは本当は動作しません。

復号化のための変数
---------

形容詞です。動詞ではありません。

規則変数
....

Gnus はファイルを閲覧するのを決定するのに規則変数を用います。これらの変数はすべて以下のような様式です

           (list '(regexp1 command2)
                 '(regexp2 command2)
                 ...)

gnus-uu-user-view-rules
     この変数はファイルを閲覧するときに最初に調べられます。例えば、もし .au 音ファイルを変換するために sox を使いたいときは、次のようにできます：

          (setq gnus-uu-user-view-rules
                (list '(\"\\\\.au$\" \"sox %s -t .aiff > /dev/audio\")))

gnus-uu-user-view-rules-end
     この変数は gnus が利用者とディフォルトの閲覧規則から合致するものを見つけられなかったときに調べられます。

gnus-uu-user-archive-rules
     この変数はアーカイブを展開するときにどの命令が使われるべきかを決めるために使う事ができます。

他の復号化の変数
--------

gnus-uu-grabbed-file-functions
     このリストのすべての関数はそれぞれのファイルが上手く復号化された直後に呼ばれます――ですから、すぐにファイルを移動や閲覧したりすることができ、何かをする前にすべてのファイルが復号化されるのを待つ必要はありません。このリストに入れる事のできる既製関数は：

     gnus-uu-grab-view
          ファイルを閲覧します。

     gnus-uu-grab-move
          ファイルを移動します（もし保存関数を使っているのであれば）。

gnus-uu-be-dangerous
     復号化の最中に変な状況が起こったときに何をするかを指定します。もし nil であると、できるだけ保守的になります。もし t であると、動作しないものは無視して、現存するファイルを上書きします。その他の場合は、それぞれのときに尋ねます。

gnus-uu-ignore-files-by-name
     この正規表現に合致する名前のファイルは閲覧されません。

gnus-uu-ignore-files-by-type
     この変数に合致する MIME の型を持つファイルは閲覧されません。Gnus はファイル名に基づいて型を推測している事に注意してください。gnus-uu は（まだ）MIME パッケージではありませんので、これは少し変です。

gnus-uu-tmp-dir
     gnus-uu がその仕事をする場所です。

gnus-uu-do-not-unpack-archives
     nil でないのは、gnus-uu は表示するためのファイルを探すためにアーカイブの中までは入っていかないという事です。

gnus-uu-view-and-save
     nil でないのは、利用者はファイルを閲覧した後に常に保存するかどうかを尋ねられるという事です。

gnus-uu-ignore-default-view-rules
     nil でないのは、gnus-uu はディフォルトの閲覧規則を無視するという事です。

gnus-uu-ignore-default-archive-rules
     nil でないのは、gnus-uu はディフォルトのアーカイブ展開命令を無視するという事です。

gnus-uu-kill-carriage-return
     nil でないのは、gnus-uu は記事からすべてのキャリッジリターン (carriage return) を取り去るという事です。

gnus-uu-unmark-articles-not-decoded
     nil でないのは、gnus-uu は復号化に失敗した記事に未読の印を付けるという事です。

gnus-uu-correct-stripped-uucode
     nil でないというのは、gnus-uu は続く空白が削除されてしまっている uuencode されたファイルを修復しようと試すという事です。

gnus-uu-pre-uudecode-hook
     uudecode にメッセージを送る前に実行されるフックです。

gnus-uu-view-with-metamail
     nil でないのは、gnus-uu は規則変数で定義された閲覧命令を無視して、ファイル名に基づいた MIME 内容の型に取り替えるという事です。その結果は閲覧のために metamail にかけられます。

gnus-uu-save-in-digest
     nil でないのは、gnus-uu が復号化をしないで保存をするように言われたときに、要約を保存するという事です。この変数が nil であると、gnus-uu は 何も飾りをしないで全てをファイルに保存します。要約は RFC1153 準じています――意味のある量を指定して、番号を発行する簡単な方法が見つからなかったので、単純にそれらは切り落としています。

uuencode と投稿
------------

gnus-uu-post-include-before-composing
     nil でないのは、gnus-uu が記事を作成する前に符号化するファイルを尋ねるという事です。この変数が t であると、C-c C-i によって符号化されたファイルを取り込むか、記事を投稿するときに取り込むか、どちらかをする事ができます。

gnus-uu-post-length
     記事の最大の長さです。符号化されたファイルは全体のファイルを投稿するのに必要な量のファイルに分割されます。

gnus-uu-post-threaded
     nil でないのは、gnus-uu が符号化されたファイルをスレッドで投稿するという事です。これはあまり賢い方法ではないかも知れません。というのは、今まで私が見た中で uuencode された記事を集めるのに、スレッドを追っていく事のできる他の復号装置が存在しないからです。（えーと、私はそれをする一つのパッケージを見た事があります――gnus-uu です。しかしなぜか、それが数のうちに入るとは思えないのです...）ディフォルトは nil です。

gnus-uu-post-separate-description
     nil でないのは、記述は別の記事で投稿されるという事です。最初の記事は普通は (0/x) のように番号が付けられます。もしこの変数が nil であると、利用者の書いた記述は最初のファイルの始めに取り込まれ、(1/x) の番号が付けられます。ディフォルトは t です。

ファイルの閲覧
-------

復号化した後でファイルが何らかのアーカイブである場合、gnus はアーカイブを展開しようと試み、アーカイブの中に閲覧できるファイルがあるかを調べます。例えば、gzip された tar ファイル pics.tar.gz があって、ファイル pic1.jpg と pic2.gif を含んでいる場合、gnus は主ファイルを解凍して tar を展開し、それから２つの絵を閲覧します。この展開の過程は再帰的なので、アーカイブにアーカイブのアーカイブがあると、それはすべて展開されます。

最後に、gnus は普通はそれぞれの抽出された記事ごとに疑似記事を概略バッファに挿入します。これらの『記事』に移動した場合は、実行する命令（普通は gnus が提案をします）を入力するように促され、それから命令が実行されます。

gnus-view-pseudo-asynchronously が nil であると、Emacs は先へ進む前に閲覧が終わるまで待ちます。

gnus-view-pseudos が automatic であると、gnus は概略バッファに疑似記事を挿入しませんが、それらをすぐに閲覧します。この変数が not-confirm であると、利用者は閲覧が済む前に確認さえも求められません。

gnus-view-pseudos-separately が nil でないと、一つの疑似記事が閲覧されるそれぞれのファイルに対して作成されます。nil であると、同じ閲覧命令を使うすべての命令がその命令の引数のリストとして渡されます。

gnus-insert-pseudo-articles が nil でないと、復号化のときに疑似記事を挿入します。ディフォルトでは tです。

それで、そのような感じです。実質サーバーからの実質グループの疑似記事 読んでいます。そして考えます： どうして全てが現実ではなくなってしまったのだろうか？どうしてここに来てしまったのだろうか？

記事の扱い
=====

この巨大な説明文書を読んできて、人々が書いた事を読む、といったようなニューズリーダーの本当の目的を完全に忘れてしまったかも知れません。記事を読む事です。残念な事に、人々は書く事は非常に苦手としていますので、記事を読みやすくするための関数と変数が山のようにあります。

記事のハイライト
--------

記事バッファを果物サラダのようにしたいだけでなく、華やかな果物サラダのように見えるようにしたいでしょう。

W H a
     現在の記事をハイライト (highlight) します (gnus-article-highlight)。

W H h
     ヘッダーをハイライトします (gnus-article-highlight-headers)。ハイライトは変数 gnus-header-face-alist にしたがってなされ、それはそれぞれの要素が (正規表現 名前 内容) という様式のリストです。 正規表現はヘッダーに合致する正規表現、名前はヘッダーの名前をハイライトするのに使われるフェイス (face) (see FacesandFonts)、内容はヘッダーの値をハイライトするフェイスです。最初に合致したものが使われます。正規表現は ^ が付けられるべきではない事に注意してください――gnus がそれを付け加えます。

W H c
     引用された文をハイライトします (gnus-article-highlight-citation)。

     引用ハイライトをカスタマイズするいくつかの変数は：

     gnus-cite-parse-max-size
          記事の大きさがこの変数（ディフォルトでは 25000）より大きい記事は、引用ハイライトは行われません。

     gnus-cite-prefix-regexp
          ある行が取り得る最大の引用接頭語に合致する正規表現です。

     gnus-cite-max-prefix
          引用接頭語の最大の長さです（ディフォルトでは 20 です）。

     gnus-cite-face-list
          引用をハイライトするために使われるフェイスのリストです (see Faces and Fonts)。同じメッセージの中に複数の記事からの引用があると、gnus はそれぞれの記事からの引用をそれ用のフェイスで表示しようとします。これにより、誰が何を書いたかが分かりやすくなるでしょう。

     gnus-supercite-regexp
          普通の Supercite 属性行に合致する正規表現です。

     gnus-supercite-secondary-regexp
          引き裂かれた Supercite 属性行に合致する正規表現です。

     gnus-cite-minimum-match-count
          それが引用であると決定する前に調べなければならない最小の同一接頭語です。

     gnus-cite-attribution-prefix
          属性行の始まりに合致する正規表現です。

     gnus-cite-attribution-suffix
          属性行の最後に合致する正規表現です。

     gnus-cite-attribution-face
          属性行に使われるフェイスです。その属性に属する文のためのフェイスと融合されます。

W H s
     署名 (signature) をハイライトします (gnus-article-highlight-signature)。 gnus-signature-separator (see Article Signature) の後の全てのものは署名と考えられ、gnus-signature-face でハイライトされます。それはディフォルトでは italic です。

記事のフォント変更
---------

人々はよくニューズの記事で _これ_ や *これ* のようなものを使って単語を強調します。Gnus は 記事を命令 W e (gnus-article-emphasize) にかける事によって素敵に見えるようにできます。

強調がどのように演算されるかは変数 gnus-article-emphasis によって制御されます。これは最初の要素が合致するべき正規表現である連想リストです。２番目の要素はどの正規表現のグループが強調語全体を見つけるために使われるかを示す数字です。３番目はどの正規表現のグループが表示されハイライトされるかを決める数字です。（この２つのグループの間の記事は隠されます。）４番目はハイライトのフェイスです。

     (setq gnus-article-emphasis
           '(("_\\(\\w+\\)_" 0 1 gnus-emphasis-underline)
             ("\\*\\(\\w+\\)\\*" 0 1 gnus-emphasis-bold)))

ディフォルトでは７つの規則があり、それらは以下のフェイスを用います： gnus-emphasis-bold, gnus-emphasis-italic, gnus-emphasis-underline, gnus-emphasis-bold-italic, gnus-emphasis-underline-italic, gnus-emphasis-underline-bold, gnus-emphasis-underline-bold-italic.

これらのフェイスを変更したいのであれば、M-x customize か copy-face を使う事ができます。例えば、gnus-emphasis-italic に代わりに赤のフェイスを使うようにしたいときは、次のようにできます：

     (copy-face 'red 'gnus-emphasis-italic)

記事を隠す
-----

もしくは、それぞれの記事の特定のものを隠したいかもしれません。たいていの記事には普通はありすぎるくらい作りかえるものがあります。

W W a
     概略バッファで最大限隠します (gnus-article-hide)。

W W h
     ヘッダーを隠します (gnus-article-hide-headers)。 See Hiding Headers.

W W b
     あまり興味のもてないヘッダーを隠します (gnus-article-hide-boring-headers)。 See Hiding Headers.

W W s
     署名を隠します (gnus-article-hide-signature)。 See Article Signature.

W W p
     PGP 署名を隠します (gnus-article-hide-pgp)。 PGP 署名が隠された後にフック gnus-article-hide-pgp-hook が実行されます。

W W P
     PEM (privacy enhanced messages（プライバシー拡張メッセージ）) 部分を隠します (gnus-article-hide-pem)。

W W c
     引用を隠します (gnus-article-hide-citation)。隠蔽をカスタマイズするいくつかの変数は：

     gnus-cite-hide-percentage
          引用された文がこの変数（ディフォルトでは 50）より大きい割合のときは、引用された分を隠します。

     gnus-cite-hide-absolute
          引用された文は少なくともこの長さ（ディフォルトでは 10）でなければ隠されません。

     gnus-cited-text-button-line-format
          Gnus はどこの引用文が隠されているかを示すためにボタンを付け加え、文章の隠蔽を切り替えられるようにします。この変数の様式はこれらのフォーマットのような変数によって指定されます (see Formatting Variables)。次の指定は有効です：

          b
               隠された文の最初のポイントです。

          e
               隠された文の最後のポイントです。

          l
               隠された文の長さです。

     gnus-cited-lines-visible
          引用文の最初からの表示される行数です。

W W C
     根本でない記事の引用文を隠します (gnus-article-hide-citation-in-followups)。これは対話的命令としてはあまり役に立たないかもしれませんが、gnus-article-display-hook に入れる事のできる手軽な関数であるでしょう (see Customizing Articles)。

これらの全ての『隠蔽』命令は切り替え命令ですが、これらの命令に負の接頭引数を与えると、それらは前に隠されていたものを表示します。正の接頭引数を与えれば、それらは常に隠します。

引用カスタマイズのための他の変数の情報のために see Article Highlighting も参照してください。

記事洗濯
----

私たちはこれをもっともな理由の下で『記事洗濯』(article washing) と呼んでいます。すなわち、キー A は使われているので、代わりにキー W を使う必要があるのです。

私たちは洗濯を『何かの何かを何か別のものに変換する』と定義していますが、普通はもっと良く見える何かに落ち着きます。それにもっときれいです、たぶん。

W l
     ページの区切りを現在の記事から取り除きます (gnus-summary-stop-page-breaking)。

W r
     記事バッファでカエサル変換 (Caesar rotate) (rot13) をします (gnus-summary-caesar-message)。カエサル変換か rot13 を用いて読む事のできる、判読不可能な記事です（典型的には、攻撃的な冗談などです。）

     普通は ``rot13'' と呼ばれています。それはアルファベットの位置が 13 個回転するからです。例えば、B（２番目の文字） → O（15番目の文字）。これは時々『カエサル変換』と呼ばれる事もあります。というのは、カエサルがこの形式の、えーと、ちょっと簡単な暗号化を採用したという噂があるからです。

W t
     記事バッファにすべてのヘッダーを表示するかどうかを切り替えます (gnus-summary-toggle-header)。

W v
     記事バッファにすべてのヘッダーを永遠に表示するかどうかを切り替えます (gnus-summary-verbose-header)。

W m
     記事を MIME 記事として表示するかどうかを切り替えます (gnus-summary-toggle-mime)。

W o
     オーバーストライクを処理します (gnus-article-treat-overstrike)。

W d
     M******** sm*rtq**t*s を処理します (gnus-article-treat-dumbquotes)。

W w
     語の折り返しをします (gnus-article-fill-cited-articles)。もしこの関数を gnus-article-display-hook の中で使った場合、それはかなり後の方で実行されるべきで、当然すべてのハイライトの後になります。

     折り返しをするときに、幅を指定するために命令に数値接頭引数を与える事ができます。

W c
     キャリッジリターン (CR) (すなわち、行の最後の ^M) を取り除きます (gnus-article-remove-cr)。

W f
     すべての X-Face 欄を探して表示します(gnus-article-display-x-face)。この命令は変数 gnus-article-x-face-command によって与えられた関数によって実行されます。この変数が文字列ならば、この文字列がサブシェルで実行されます。関数ならば、この関数が顔を引数として呼ばれます。もし gnus-article-x-face-too-ugly（これは正規表現です）が From 欄に合致すれば、顔は表示されません。Emacs でのディフォルトの動作は xv をフォークして見ようとします。XEmacs でのディフォルトの動作は From 欄の前に顔を表示します。（XEmacs が X-Face 機能付きでコンパイルされていると良いでしょう――それは表示を少し早くします。もし根本的 X-Face 機能がないのであれば、gnus は pbmplus やその仲間の外部プログラムを使って X-Face 欄を変換しようと試みます。）この関数を表示フックに入れたいのであれば、おそらくそれあ最後になるべきでしょう。

W b
     クリックできるボタンを記事に加えます (gnus-article-add-buttons)。 See Article Buttons

W B
     クリックできるボタンを記事のヘッダーに加えます (gnus-article-add-buttons-to-head)。

W E l
     記事の始めからのすべての空白行を取り除きます (gnus-article-strip-leading-blank-lines)。

W E m
     すべての空白行を空行で置き換え、すべての複数の空行を一つの空行で置き換えます (gnus-article-strip-multiple-blank-lines)。

W E t
     記事の最後のすべての空白行を取り除きます (gnus-article-remove-trailing-blank-lines)。

W E a
     上の３つの命令をすべて行います (gnus-article-strip-blank-lines)。

W E A
     すべての空白行を取り除きます (gnus-article-strip-all-blank-lines)。

W E s
     記事の本体のすべての行の始めからのすべての空白を取り除きます (gnus-article-strip-leading-space)。

記事のボタン
------

よく記事の中に他のものへの参照が入れられる事があります。そして、gnus がそれに関する事を、それらの参照の上で RET を打つか、マウスの真中のボタンを使う事によって、最小限の努力で取得する事ができれば素敵でしょう。

Gnus はディフォルトで特定の標準の参照にボタンを付けます： ちゃんとした URL、メールアドレス、Message-ID です。これは２つの変数によって制御されていて、その一つは記事の本体を扱い、もう一つは記事のヘッダーを扱います。

gnus-button-alist
     それぞれの入力要素が次のような様式の連想リストです：

          (REGEXP BUTTON-PAR USE-P FUNCTION DATA-PAR)

     regexp
          この正規表現 (regexp) に合致するすべての文は外部参照であるとみなされます。これは埋め込まれた URL に合致する典型的な正規表現です <URL:\\([^\n\r>]*\\)>。

     button-par
          Gnus は合致したもののどの部分がハイライトされるのかを知らなければなりません。これは正規表現のどの副表現がハイライトされるかを指定する番号です。全てをハイライトしたいのなら、ここで 0 を使ってください。

     use-p
          この式は 評価 され、結果が nil でなければ、これは合致であるとみなされます。これは間違った合致を避けるために特別な選別をしたいときに役に立ちます。

     function
          この関数 (function) はこのボタンをクリックしたときに呼ばれます。

     data-par
          BUTTON-PAR のように、これは部分表現の番号ですが、これは合致のどの部分が FUNCTION にデータとして送られるかを指定します。

     ですから、URL をボタンにする完全な入力要素は

          ("<URL:\\([^\n\r>]*\\)>" 0 t gnus-button-url 1)

gnus-header-button-alist
     それが記事のヘッダーだけに適用され、それぞれの入力要素がどのヘッダーにボタン化を適用するかを示す追加の要素がある事を除き、これは他の連想リストと同じようなものです：

          (HEADER REGEXP BUTTON-PAR USE-P FUNCTION DATA-PAR)

     HEADER は正規表現です。

gnus-button-url-regexp
     埋め込まれた URL に合致する正規表現です。それは上の変数のディフォルトの値で使われます。

gnus-article-button-face
     ボタンに使われるフェイスです。

gnus-article-mouse-face
     マウスのカーソルがボタンの上にあるときに使われるフェイスです。

記事の日付
-----

日付は聞いた事の無い何か辺鄙な時間帯 (timezone) で作成されている事が良くあるので、記事が送られたときに何時であったかを知る事ができるのは非常に良い事でしょう。

W T u
     UT (別名 GMT, ZULU) で日付を表示します (gnus-article-date-ut)。

W T i
     日付を国際的な形式、ISO 8601 で表示します (gnus-article-date-iso8601)。

W T l
     日付をその地域の時間帯で表示します (gnus-article-date-local)。

W T s
     日付を利用者定義の様式を使って表示します (gnus-article-date-user)。その様式は変数 gnus-article-time-format で指定され、 format-time-string に渡される文字列です。様式指定をする事ができる一覧は変数の説明文を見てください。

W T e
     記事が投稿されてから今までどれくらいの時間が経過したかを表示します (gnus-article-date-lapsed)。この行が連続して更新されるようにしたいのであれば、

          (gnus-start-date-timer)

     をあなたの .gnus.el ファイルに入れるか、何かのフックで実行するようにする事ができます。タイマーを止めたいのであれば、命令 gnus-stop-date-timer を使う事ができます。

W T o
     本来の日付を表示します (gnus-article-date-original)。これはあなたが普通は他の変換関数を使っていて、それが完全に間違った事をしているのではないかと心配しているときに役に立ちます。例えば、記事が 1854 年に投稿されたとなっているとしましょう。しかし、そのような事は完全に不可能です。私が信用できませんか？ *くすくす(笑)*

記事の署名
-----

それぞれの記事は２つの部分に分けられます――見出し (header) と本体 (body) です。本体は署名部分と文章部分に分けられます。どれが署名とみなされるかを決める変数は gnus-signature-separator です。これは普通は son-of-RFC 1036 で指示されている標準の ^-- $ です。しかし、多くの人が標準でない署名分離を用いますので、この変数は一つ一つ試される、正規表現のリストであることもできます。（探索は本体の最後から始めへとなされます。）よくありそうな値は：

     (setq gnus-signature-separator
           '("^-- $"         ; 標準
             "^-- *$"        ; 普通の壊し方
             "^-------*$"    ; 多くの人は長ーーい横棒の
                             ; 行を使います。あぁ！
             "^ *--------*$" ; ２倍のあぁぁ！
             "^________*$"   ; 下線も人気があります
             "^========*$")) ; 邪道！

あなたが寛容であればあるほど、間違った結果を得る事になるでしょう。

gnus-signature-limit はどれが署名とみなされるかへの制限を提供します。

 1. これが整数であれば、署名はこの整数より（文字で）長くなっていてはいけません。

 2. これが浮動小数点数であれば、署名はその数字より（行で）長くなっていてはいけません。

 3. これが関数であれば、その関数は引数なしで呼ばれ、それが nil を返せば、バッファには署名がありません。

 4. これが文字列であれば、それは正規表現として使われます。もしそれが合致すれば、その当の文字列は署名ではありません。

この変数は要素が上に挙げられた型のリストである事もできます。これは例です：

     (setq gnus-signature-limit
           '(200.0 "^---*Forwarded article"))

これは署名分離物の後に 200 を超える行か、署名分離物の後の文章が正規表現 ^---*Forwarded article に合致すれば、結局それは署名ではないという事です。

記事命令
====

A P
     記事バッファのポストスクリプト (PostScript) イメージを作成して印刷します (gnus-summary-print-article)。gnus-ps-print-hook がバッファを印刷する直前に実行されるでしょう。

概略の並び替え
=======

私はどうしてあなたがそうしたいのかはわからないのですが、それでもあなたはたくさんの方法で概略バッファを並び替える事ができます。

C-c C-s C-n
     記事番号によって並び替えます (gnus-summary-sort-by-number)。

C-c C-s C-a
     著者によって並び替えます (gnus-summary-sort-by-author)。

C-c C-s C-s
     表題によって並び替えます (gnus-summary-sort-by-subject)。

C-c C-s C-d
     日付によって並び替えます (gnus-summary-sort-by-date)。

C-c C-s C-l
     行によって並び替えます (gnus-summary-sort-by-lines)。

C-c C-s C-i
     スコアによって並び替えます (gnus-summary-sort-by-score)。

これらの関数はスレッドを使っているときと使っていないときの両方で動作します。後者の場合は、すべての概略行が一行一行並び替えられます。前者の場合は、根本と根本を基本として並び替えられ、それはあなたが求めている事とは異なっているかもしれません。スレッドを使う事を切り替えるには T T を打ってください (see Thread Commands)。

親記事を探す
======

^
     現在の記事の親記事を読みたくて、それが概略バッファに表示されていないくても、おそらくそれは可能でしょう。というのは、現在のグループが NNTP で取得されていて、親がまだ期限消去されていない上、現在の記事の References がぶち壊されていなければ、ただ、^ か A r を押せば良いだけです (gnus-summary-refer-parent-article)。もし全てが上手く行けば、親記事を取得できるでしょう。もし親記事が既に概略バッファに表示されているのであれば、ポイントがその記事に移動するでしょう。

     正の数値接頭引数を与えられれば、祖先まで多くの記事を戻って取得します。負の数字接頭引数が与えられれば、その祖先の記事だけを取得します。ですから、 3 ^ とすれば、gnus は現在の記事の親と、祖父母と、曾祖父母を取得します。 -3 ^ とすれば、gnus は現在の記事の曾祖父母だけを取得します。

A R （概略）
     記事の References 欄にある全ての記事を取得します (gnus-summary-refer-references)。

A T （概略）
     現在の記事が出てきているスレッドの、完全なスレッドを表示します (gnus-summary-refer-thread)。この命令は動作するために現在のグループのすべてのヘッダーを取得しなければなりませんので、普通は少し時間がかかります。もし、これをしばしば行うのであれば、 gnus-fetch-old-headers を invisible に設定することを考えたほうが良いでしょう (see Filling In Threads)。これは普通は視覚的な効果はありませんが、この命令の動作をかなり速くするでしょう。もちろん、グループに入るのは少し遅くなります。

     変数 gnus-refer-thread-limit はこの命令を実行するときにどのくらい古い（すなわち、現在の記事で最初に表示されたよりも前の記事）ヘッダーを取得するかを指定します。ディフォルトは 200 です。もし t であれば、取得可能なすべてのヘッダーを取得します。この変数は命令 A T に数値接頭引数を与える事により上書きする事ができます。

M-^ （概略）
     どのグループに属しているかに関わらず、任意の記事を NNTP サーバーに尋ねる事ができます。M-^ (gnus-summary-refer-article) は Message-ID、それはあの長く、なかなか読む事のできない <38o6up$6f2@hymir.ifi.uio.no> のような参照をあなたに尋ねます。あなたはすべてを正確に打ち込まなければなりません。残念ながら、あいまいな検索はできないのです。

ニュースでない選択方法から Message-ID で取得するときには現在の選択方法が使われますが、この命令に接頭引数を与える事でこれを上書きする事ができます。

もしあなたの読んでいるグループが Message-ID での取得があまり良くできないようなグループ（nnspool など）である場合、 gnus-refer-article-method を NNTP に設定する事ができます。おそらく、あなたが会話している NNTP サーバーがあなたの読んでいるスプールを更新していると非常に良いでしょう。しかし、それはどうしても必要なわけではありません。

ほとんどのメールバックエンドは Message-ID での取得が可能ですが、あまり優雅な方法でやっているわけではありません。nnmbox と nnbabyl はどのグループからの記事も位置を得ることができますが、 nnml と nnfolder は現在のグループに投稿した記事の位置しか得る事ができません。（その他のものは時間がかかりすぎます。）nnmh では全く不可能です。

代替手段
====

違った人は違った方法を使ってニューズを読もうとします。これは gnus でもそうであるので、我々は概略バッファーのためのマイナーモード (minor mode) に少しの選択肢を与えてあります。

選んで読む
-----

いくつかのニュースリーダー（nn や、あのぉ、VM/CMS での Netnews など）は２相の読むための界面を使います。利用者はまず概略バッファで読みたい記事に印を付けます。それから、記事バッファだけを表示して記事を読みます。

Gnus はこれをするための概略バッファマイナーモードを提供します―― gnus-pick-mode です。これは基本的には簡単に印を付けられるように少しのプロセス印命令が１打鍵命令になり、概略バッファへ切り替えるための追加命令を1つ提供します。

これが pick mode を使ったときに使用可能なキーです：

.
     現在の行の記事を選択します (gnus-summary-mark-as-processable)。数値接頭引数を与えられれば、その行に移動して選択します。（行数は普通は概略選択行の最初に表示されています。）

SPACE
     概略バッファを一ページ次にスクロールします (gnus-pick-next-page)。もしバッファの最後であれば、選択記事を読み始めます。

u
     記事を未選択にします (gnus-summary-unmark-as-processable)。

U
     すべての記事を未選択にします (gnus-summary-unmark-all-processable)。

t
     スレッドを選択します (gnus-uu-mark-thread)。

T
     スレッドを未選択にします (gnus-uu-unmark-thread)。

r
     領域を選択します (gnus-uu-mark-region)。

R
     領域を未選択にします (gnus-uu-unmark-region)。

e
     正規表現に合致する記事を選択します (gnus-uu-mark-by-regexp)。

E
     正規表現に合致する記事を未選択にします (gnus-uu-unmark-by-regexp)。

b
     バッファを選択します (gnus-uu-mark-buffer)。

B
     バッファを未選択にします (gnus-uu-unmark-buffer)。

RET
     選択された記事を読み始めます (gnus-pick-start-reading)。接頭引数を与えられれば、まずすべての未選択記事に既読の印を付けます。 gnus-pick-display-summary が nil でないと、概略バッファは読んでいる間も表示されます。

これが良い考えだと思うのであれば、次のようにする事ができます：

     (add-hook 'gnus-summary-mode-hook 'gnus-pick-mode)

gnus-pick-minor-mode-hook は pick マイナーモードバッファで実行されます。

pick モードでの概略行の様式は標準の様式とは少し違います。それぞれの行の最初に行数が表示されます。 Pick モードの行の様式は変数 gnus-summary-pick-line-format で制御されます (see Formatting Variables)。これは gnus-summary-line-format と同じ様式指定を受け付けます (see Summary Buffer Lines)。

バイナリーグループ
---------

もし多くの時間をバイナリーグループ (binary group) で過ごしているのなら、いつも X u, n, RET を叩くのが嫌になっているでしょう。 M-x gnus-binary-mode は記事を普通の方法で表示する代わりに、普通の gnus の記事選択関数を記事群を uudecode しその結果を表示するように変更する、概略バッファのためのマイナーモードです。

実際は、このモードにしたときに、現実の記事を見るための唯一の命令が g です (gnus-binary-show-article)。

gnus-binary-mode-hook がバイナリーマイナーモードバッファで呼ばれます。

木表示
===

もし普通の gnus の概略表示を好きでないならば、gnus-use-trees を t に設定してみると良いかもしれません。これは（ディフォルトで）追加の 木バッファ (tree buffer) を作成します。木バッファではすべての概略モード命令を実行する事ができます。

もちろん、木表示をカスタマイズする変数が少しあります：

gnus-tree-mode-hook
     すべての木モードバッファで実行されるフックです。

gnus-tree-mode-line-format
     木モードバッファでのモード行のためのフォーマット文字列です。ディフォルトは Gnus: %%b %S %Z です。使用可能な指定は see Summary Buffer ModeLine を参照してください。

gnus-selected-tree-face
     木バッファで選択された記事をハイライトするために使われるフェイスです。ディフォルトでは modeline です。

gnus-tree-line-format
     木の節のためのフォーマット文字列です。でもこの名前は少し誤った名称です―― それは行ではなく、ただ節を定義するだけです。ディフォルトの値は %(%[%3,3n%]%) で、それは投稿者の名前の最初の３文字を表示します。すべての節が同じ長さであるのは重要ですので、%4,4n のような指定を使わなければならない のです。

     有効な指定は：

     n
          投稿者の名前。

     f
          From 欄。

     N
          記事の番号。

     [
          開き括弧。

     ]
          閉じ括弧。

     s
          表題。

     See Formatting Variables。

     表示に関連した変数は：

     gnus-tree-brackets
          これは『本当の』記事と『まばら記事』に違いを付けるために使われます。様式は ((本当の開 . 本当の閉) (まばら開 . まばら閉) (偽の開 . 偽の閉)) となっていて、ディフォルトは ((?[ . ?]) (?( . ?)) (?{ . ?}) (?< . ?>)) です。

     gnus-tree-parent-child-edges
          これは親の節を子に接続するために使われる文字を含んだリストです。ディフォルトは (?- ?\\ ?|) です。

gnus-tree-minimize-window
     もしこの変数が nil でないと、他の gnus ウィンドウがもっと場所を取れるように gnus は木バッファをできるだけ小さくします。もしこの変数が数字であると、木バッファはその数字より大きくなる事はありません。ディフォルトは t です。フレームでいくつかのウィンドウが横に並んで表示されていて、木バッファがそのうちの一つである場合、木ウィンドウを最小化することはその隣に表示されているすべてのウィンドウの大きさを変更する事に注意してください。

gnus-generate-tree-function
     実際にスレッドの木を作成する関数です。２つの既定義の使用可能な関数は： gnus-generate-horizontal-tree と gnus-generate-vertical-tree（これがディフォルトです）です。

水平木バッファ (horizontal tree buffer) の例です：

     {***}-(***)-[odd]-[Gun]
          |      \[Jan]
          |      \[odd]-[Eri]
          |      \(***)-[Eri]
          |            \[odd]-[Paa]
          \[Bjo]
          \[Gun]
          \[Gun]-[Jor]

同じスレッドが垂直木バッファ (vertical tree buffer) で表示されたものです：

     {***}
       |--------------------------\-----\-----\
     (***)                         [Bjo] [Gun] [Gun]
       |--\-----\-----\                          |
     [odd] [Jan] [odd] (***)                   [Jor]
       |           |     |--\
     [Gun]       [Eri] [Eri] [odd]
                               |
                             [Paa]

もし水平木を使っているのなら、概略バッファで木を隣り合わせで表示できれば嬉しいでしょう。次のようなものをファイル .gnus.el に加える事ができます：

     (setq gnus-use-trees t
           gnus-generate-tree-function 'gnus-generate-horizontal-tree
           gnus-tree-minimize-window nil)
     (gnus-add-configuration
      '(article
        (vertical 1.0
                  (horizontal 0.25
                              (summary 0.75 point)
                              (tree 1.0))
                  (article 1.0))))

See Windows Configuration。

メールグループ命令
=========

いくつかの命令はメールグループのみで意味を持ちます。これらの命令が現在のグループで有効でないなら、それらは大騒ぎをしてあなたに知らせるでしょう。

すべてのこれらの命令は（期限削除と編集命令は除く）プロセス/接頭引数の習慣を使います (see Process/Prefix)。

B e
     グループのすべての期限削除可能な記事を期限切れ削除します (gnus-summary-expire-articles)。

B M-C-e
     グループのすべての期限削除可能な記事削除します (gnus-summay-expire-articles-now)。これは現在のグループの該当する全ての期限削除記事は永遠に空の大きな /dev/null へ消え去るという事です。

B DEL
     メール記事を削除します。これは『あなたのディスクから今から永遠に削除して、二度と戻らない』の『削除』です。注意して使ってください (gnus-summary-delete-article)。

B m
     あるメールグループから別のところへ記事を移動します (gnus-summary-move-article)。

B c
     あるグループ（メールグループや他のもの）からメールグループに記事を複製します (gnus-summary-copy-article)。

B B
     現在の記事を他のグループにクロスポストします (gnus-summary-crosspost-article)。これは他のグループ記事の新しい複製を作成し、記事の Xref 欄も適切に更新されます。

B i
     任意のファイルを現在のメールグループに取り込みます (gnus-summary-import-article)。あなたはファイル名と、From 欄と Subject 欄の入力を促されます。

B r
     メール記事をスプールし直します (gnus-summary-move-article)。 gnus-summary-respool-default-method が再スプールするときのディフォルトの選択方法として使用されます。この変数はディフォルトで nil で、これは現在のグループの選択方法が代わりに使われるという事です。

B w
e
     現在の記事を編集します (gnus-summary-edit-article)。編集を終了して変更を永遠にするために、C-c C-c を打ちます。もし命令 C-c C-c に数値接頭引数を与えると、gnus は記事を再ハイライトしません。

B q
     もし記事を再スプールしたいときは、再スプールをする前にどのグループに記事が移るかに興味があるでしょう。この命令でそれがわかります (gnus-summary-respool-query)。

B p
     一部の人はあなたの投稿へのフォローアップをするときに、『親切な』複製を送る傾向があります。これらは普通はそこに Newsgroups 欄が付いているのですが、いつもそうであるとは限りません。この命令 (gnus-summary-article-posted-p) は現在の記事をあなたのニュースサーバーから（というよりは、むしろ gnus-refer-article-method や gnus-select-method から）取得しようとし、記事を発見できたかどうかを報告します。それが記事を発見しなかったとしても、それはとにかく投稿されているかもしれません――メールの伝達はニュースの伝達よりもずっと速く、ニュースの複製がまだ到着していないだけかもしれないのです。

もし、規則的に記事を移動（もしくは複製）するのであれば、gnus に記事をどこに入れれば良いか提案させたいと思うでしょう。 gnus-move-split-methods は gnus-split-methods と同じ構文を使う変数です (see Saving Articles)。あなたが妥当だと思うような提案をするようにその変数をカスタマイズする事ができます。

     (setq gnus-move-split-methods
           '(("^From:.*Lars Magne" "nnml:junk")
             ("^Subject:.*gnus" "nnfolder:important")
             (".*" "nnml:misc")))

いろいろな概略の物件
==========

gnus-summary-mode-hook
     概略モードバッファを作成するときにこのフックが呼ばれます。

gnus-summary-generate-hook
     これはスレッド作成と概略バッファ作成の前に実行する最後のものとして呼ばれます。これはニューズグループの持っているデータに基づいてスレッドの変数をカスタマイズするために非常に便利です。このフックはほとんどの概略バッファ変数が設定された後に呼ばれます。

gnus-summary-prepare-hook
     それは概略バッファが作成された後に呼ばれます。例えば、それは何か他の邪悪な方法で行をハイライトしたり、バッファの見え方を修正したりするのに使ったりするかも知れません。

gnus-summary-ignore-duplicates
     Gnus が同じ Message-ID を持つ２つの記事を発見したときは、何か思い切った事をしなければなりません。別の記事が同じ Message-ID を持つ事は許されていませんが、それは何らかの出所からメールを読んでいるときに起こるかもしれません。Gnus はこの変数によって何が起こるかをカスタマイズできるようになっています。もしそれが nil（これがディフォルトです）であれば、 gnus は Message-ID を付け替えて（表示のためだけに）記事を他の記事と同じように表示します。この変数が t であると、それは記事を表示しません---最初から存在しなかったかのように。

概略グループ情報
--------

H f
     現在のグループの FAQ（frequently asked questions（頻繁にされる質問）のリスト）を取得しようとします (gnus-summary-fetch-faq)。Gnus は普通は遠隔マシンのディレクトリである gnus-group-faq-directory から FAQ を取得しようとします。この変数はディレクトリーのリストである事もできます。その場合は、この命令に接頭引数を与える事でいろいろなサイト (site) から選ぶ事ができます。おそらく ange-ftp もしくは efs がファイルの取得に使われるでしょう。

H d
     現在のグループに関する短い記述を与えます (gnus-summary-describe-group)。接頭引数が与えられると、サーバーから強制的に記述の再読み込みをします。

H h
     最重要概略打鍵の非常に短い記述を与えます (gnus-summary-describe-briefly)。

H i
     Gnus の info の節 (node) に移動します (gnus-info-find-node)。

記事を探す
-----

M-s
     直後にある全ての記事を正規表現で検索します (gnus-summary-search-article-forward)。

M-r
     前にある全ての記事を正規表現で検索します (gnus-summary-search-article-backward)。

&
     この命令はあなたにヘッダー部分とその部分に合致する正規表現、合致した場合に実行される命令の入力を促進します (gnus-summary-execute-command)。もし接頭引数を与えられれば、代わりに後ろ向きに探します。

M-&
     プロセス印によって印付けられた全ての記事の操作を実行します (gnus-summary-universal-argument)。

概略生成命令
------

Y g
     現在の概略バッファを再作成します (gnus-summary-prepare)。

Y c
     全ての（現在のグループに）キャッシュされた記事 を概略バッファに挿入します (gnus-summary-insert-cached-articles)。

本当にいろいろな概略命令
------------

C-d
     もし現在のグループが他の記事の集まりであるならば（例えば、摘要 (digest)）、そのような記事でできているグループに入るためにこの命令を使うかもしれません (gnus-summary-enter-digest-group)。Gnus はこの命令に接頭引数を与えない限り、どのような型の記事が現在表示されているかを推測しようとし、それは強制的に『摘要』という解釈になります。基本的に、他の様式からなる他のメッセージの集合であったときは、C-d とすることによりもっと便利な方法でそれらのメッセージを読む事ができるようになります。

M-C-d
     この命令は上のものに非常に似ていますが、いくつかの文書を一つの大ーきいグループに集めます (gnus-summary-read-read-document)。それはいくつかの nndoc グループをそれぞれの文書のために 開き、それからこれらの nndoc グループの上に nnvirtual グループを開く事によってこの事を可能にしています。この命令はプロセス/接頭引数の習慣を理解します (see Process/Prefix)。

C-t
     概略行の切断を切り替えます (gnus-summary-toggle-truncation)。これはおそらく概略バッファの行中央表示関数を混乱させますので、記事を読んでいる間に切断を切っているのは良い考えではないでしょう。

=
     概略バッファのウィンドウを拡大します (gnus-summary-expand-window)。接頭引数を与えられれば、記事ウィンドウを拡大します。

M-C-e
     現在のグループのグループの媒介変数 (parameter) (see Group Parameters) を編集します (gnus-summary-edit-parameters)。

概略バッファを抜ける
==========

普通は概略バッファから抜けると、グループの全ての情報を更新してグループバッファに戻ります。

Z Z
q
     現在のグループを出て、グループの全ての情報を更新します (gnus-summary-exit)。抜け出るためのたいていの事をする前に gnus-summary-prepare-exit-hook が呼ばれ、それはディフォルトで gnus-summary-expire-articles を呼びます。抜け出る過程を追えた後に gnus-summary-exit-hook が呼ばれます。(未読の) グループが残っていないときにグループモードに戻るときに gnus-group-no-more-groups-hook が実行されます。

Z E
Q
     グループのどの情報も更新せずに現在のグループを抜け出ます (gnus-summary-exit-no-update)。

Z c
c
     グループの全ての保留でない記事 (unticked article) に既読の印を付けて、それから抜けます (gnus-summary-catchup-and-exit)。

Z C
     保留記事も含めて、全ての記事に既読の印を付けて、それから抜けます (gnus-summary-catchup-all-and-exit)。

Z n
     全ての記事に既読の印を付けて次のグループへ移動します (gnus-summary-catchup-and-goto-next-group)。

Z R
     現在のグループを出て、それから入り直します (gnus-summary-reselect-current-group)。もし接頭引数を与えられれば、既読と未読の両方の全ての記事を選択します。

Z G
M-g
     グループを抜け、グループの新しい記事を調べ、グループを選択します (gnus-summary-rescan-group)。もし接頭引数を与えられれば、既読と未読の両方の全ての記事を選択します。

Z N
     グループを抜けて、次のグループへ移動します (gnus-summary-next-group)。

Z P
     グループを抜けて、前のグループへ移動します (gnus-summary-prev-group)。

Z s
     現在の既読/印付き記事の数をドリブルバッファ (dribble buffer) に保存し、それからドリブルバッファを保存します (gnus-summary-save-newrc)。もし接頭引数を与えられれば、ファイル .newsrc も保存します。この命令を使うと、更新なしで抜け出る事 (Q 命令) は意味が無くなります。

現在のグループを抜けるときに gnus-exit-group-hook が呼ばれます。

あなたにグループを抜けて、それから考えを変える癖があるのであれば、 gnus-kill-summary-on-exit を nil に設定するのが良いかもしれません。もしそうすれば、gnus はそれから抜け出るときに概略バッファを削除しません。（何という驚き！）その代わりに、それはバッファの名前を *Dead Summary ... * のようなものに変更し、 gnus-dead-summary-mode と呼ばれるマイナーモードを導入します。今や、そのバッファに切り替えれば、全てのキーが関数 gnus-summary-wake-up-the-dead に割り当てられていることに気付くでしょう。死んだ概略バッファ (dead summary buffer) でどれかのキーを叩く事と、生きた普通の概略バッファになるでしょう。

死んだ概略バッファは同時に一つしか存在する事はできません。

概略バッファを抜け出ると、現在のグループのデータは更新されます（どの記事を読んで、どの記事に返答したか、などなど。）もし変数 gnus-use-cross-reference が t であると（それがディフォルトです）、そのグループに相互参照された (cross referenced) 記事は既読の印が付き、それが相互投稿 (cross post) された他の購読しているグループでも既読の印が付きます。この変数が nil でも t でなければ、記事は購読と未購読の両方のグループで既読の印が付きます (see Crosspost Handling)。

相互投稿の扱い
=======

相互投稿 (cross post) された記事に既読の印を付ける事は、同じ記事を２回以上読まないですむという事を保証します。もちろん、だれかがそれをいくつかのグループに別々に投稿しない限りは。同じ記事をいくつかのグループに投稿する事（相互投稿でなくて）は spamming と呼ばれ、あなたはそのような憎むべき犯罪を行うものにに対して、法律によって不快な記事を送ることが義務づけられています。 spam を選別するために、NoCeM 取扱を試したいと思うかもしれません (see NoCeM)。

覚えてください： 相互投稿は構いませんが、同じ記事を別々にいくつかのグループに投稿するのは許されません。大量の相互投稿 (velveeta) はどうしても避けられるべきで、過剰相互投稿に対して不満を言うために命令 gnus-summary-mail-crosspost-complaint を使うことさえできます。

相互投稿を gnus が正しく扱えないようになる原因の一つは、NOV 行に Xref 欄を含まない、XOVER（これは非常に良いです、というのはそれは速度をとても速くするからです）の使用可能な NNTP サーバーを使っていることです。これは害悪なのですが、あぁ、悲しいかな、非常に良くある事です。 Gnus はあなたが読んだ全ての記事に Xref 行を登録する事で、正しい事をしよう としますが、記事を削除するか、読まないで既読の印を付けると、gnus はこれらの記事に Xref の行をのぞきまわる機会を得る事が無く、相互参照機構を用いる事ができません。

あなたの NNTP サーバーがその概観ファイル (overview file) に Xref 欄を含んでいるかを調べるには、telnet your.nntp.server nntp として、inn サーバーで More READER とし、それから LIST overview.fmt とする事を試してください。これは動作しないでしょうが、もし動作して、取得した最後の行が Xref:full でないならば、ニュースの管理者が概観ファイルに Xref 欄を含むようにするまで、ニュース管理者に叫び、泣き付く事を続けるべきでしょう。

Gnus にいつでも正しい Xref を取得するようにさせたいのであれば、 gnus-nov-is-evil を t にする必要があり、それは非常に速度を遅くします。

ま、人生はそのようなものです。

代替手段に付いては see Duplicate Suppression を参照してください。

重複の抑制
=====

ディフォルトでは gnus は相互投稿機構を利用する事によって、同じ記事を２回以上読まないようにしようとします (see Crosspost Handling)。しかし、その単純で効果的な方法は、いろいろな理由により、満足する結果をもたらさないかも知れません。

 1. NNTP サーバーは Xref 欄の生成に失敗するかも知れません。これは悪い事で、あまり起こりません。

 2. NNTP サーバーは .overview データベースに Xref 欄を含めるのに失敗するかも知れません。これは悪い事で、非常に良くある事です、あぁ悲しい。

 3. 同じグループ（もしくはいくつかの関連したグループ）を違った NNTP サーバーから読んでいるかもしれません。

 4. グループに投稿された記事と重複するメールを受け取ったかもしれません。

Xref の扱いに失敗する状況は他にもありますが、これら４つがとても良くある状況です。

もし、本当にもしも Xref の扱いに失敗したら、重複抑制に切り替える事を考えるかもしれません。そうすれば、gnus はあなたが読んだ全ての記事かそうでなければ、既読の印が付いた全ての記事の Message-ID を記憶し、それから、魔法のように、その後のそれらと出会った全ての場合に、既読の印を付けます――全てのグループで。この機構を使うのは非常に非効率的ですが、過度に非効率なわけではありません。もちろん同じ記事を一回以上読むほうが好ましいです。

重複抑制はあまり繊細なものではありません。どちらかというと、大槌のようなものです。それは非常に単純な方法で動作しています――もし記事に既読の印を付ければ、それはこの Message-ID を キャッシュに加えます。次にこのMessage-ID にであったときは、M 印によって記事に既読の印を付けます。それはその記事がどのグループにあるかは気にしません。

gnus-suppress-duplicates
     nil でなければ、重複抑制をします。

gnus-save-duplicate-list
     nil でなければ、重複のリストをファイルに保存します。これは起動と終了の時間を長くしますので、初期状態では nil です。しかし、これは単一の gnus の実行期で読まれた重複記事だけが抑制されるという事です。

gnus-duplicate-list-length
     この変数はどのくらい多くの Message-ID を重複抑制リストに保っておくかも決定します。ディフォルトは 10000 です。

gnus-duplicate-file
     重複抑制のリストを蓄積しておくファイルの名前です。ディフォルトは ~/News/suppression です。

何度も gnus を終了して起動する傾向があるのであれば、おそらく gnus-save-duplicate-list を t にするのは良い考えでしょう。もし gnus を続けて何週間も走らせておくのであれば、それを nil にするかもしれません。一方で、リストを保存する事は起動と終了をずっと遅くしますので、よく gnus を終了して起動するのであれば、 gnus-save-duplicate-list を nil に設定するべきであるという事になります。うーむ。私はあなたがどうするかに任せたい、と思います。

記事バッファ
******

記事は一つしかない記事バッファに表示されます。全ての概略バッファは（gnus に共有しないように指示しない限り）同じ記事バッファを共有します。

余分なヘッダーを隠す
==========

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

ヘッダーにはたくさんの便利な情報が含まれています。記事を書いた人の名前、それが書かれた日付、記事の表題などです。これはとても良いんですが、ヘッダーには大部分の人には見たくもない情報――記事があなたのところに着くまでどんなシステムを経由してきたか、Message-ID, References などなど…もうやんなっちゃうくらい――もたくさん含まれています。たぶんあなたはこれらの行はいくつか取り除いてしまいたいと思うでしょう。もしこれらの行を全て記事バッファ内に残しておきたければ、gnus-show-all-headers を t に設定してください。

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

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

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

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

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

gnus-ignored-headers
     この変数は gnus-visible-headers の反対です。この変数が設定されていれば（かつ gnus-visible-headers が nil であれば）、これは隠したいヘッダー行全てにマッチする正規表現であるとみなされます。この変数にマッチしない全てのヘッダー行は表示されます。

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

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

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

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

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

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

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

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

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

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

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

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

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

reply-to
     Reply-To 欄が From 欄と同じアドレスを示している場合には消去します。

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

long-to
     To 欄があまりにも長い場合には消去します。

many-to
     To 欄が一つよりも多ければ、それらを全て消去します。

上記の最初の４つの要素を入れたければ、こんな風になります。

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

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

MIME を使う
========

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

一方、MIME とは、意味も無く記事を符号化する標準であり、そのために全てのニューズリーダが恐怖で死んでしまうものです。

MIME はその記事がどんな文字集合を使用しているか、その文字をどう符号化しているかを指定することができ、さらには絵やその他のみだらなものを無邪気な格好の記事で埋め込むことさえ可能にします。

Gnus は gnus-show-mime-method に記事を押し付けることで MIME を扱います。これはディフォルトでは gnus-show-mime-method です。この関数は SEMI MIME-View プログラムを呼び出して実際の処理を行います。SEMI MIME-View に関する詳しい情報は、マニュアルを参照してください（まだないけど (;_;)）。

MIME を常に使用したければ、gnus-show-mime を t に設定してください。しかし、gnus-strict-mime が nil 以外であれば、MIME 処理は記事中に MIME ヘッダーがあるときのみ使用されます。gnus-show-mime を設定していると、運が悪いと記事バッファには故障したような画面が見えることもあるでしょう。これは避けようがありません。

GNUS や Gnus では、このたちの悪い問題で驚かされないようにするには、概略バッファにおいて切り替え機能を使うというのが最善かも知れません（例えば、 alt.sing-a-long グループに入ると、あなたの気づかないうちに MIME は記事中のサウンドファイルを復号して、何やら怪しげな長い長い歌があなたのスピーカーから大音響で流れ出し、あなたはボリュームボタンを見つけられず、というのはそんなものはもともとついてないからで、みんなはあなたの方を睨みはじめ、あなたはプログラムを止めようとするけどできなくて、ボリュームを制御するプログラムも見つけられなくて、そして部屋中の全員は突然あなたのことを軽蔑の眼差しで見るようになってしまい、あなたはちょっと面白くない思いをする、とか）。

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

まあ、そういう訳で、gnus では metamail-buffer を使うのを止めた訳です。そういう訳で、今では常に gnus-show-mime を nil 以外にしておき、周りに人がいない時を見計らって記事バッファに現われるボタンを押しましょう。

記事のカスタマイズ
=========

gnus-article-display-hook は記事が記事バッファに書き込まれた直後に呼び出されます。これは記事が表示される前の処理を全て扱う、ということです。

ディフォルトではこのフックには gnus-article-hide-headers、 gnus-article-treat-overstrike, gnus-article-maybe-highlight だけが含まれていますが、このフックに入れることができる関数は何千も、いや何百万もあります。各関数の概観は see Article Highlighting, see Article Hiding, see Article Washing, see Article Buttons, see Article Date を参照してください。注意点として、このフックでは関数の順序が影響することがあるので、お望みの結果を得るにはちょっと手間取ってしまうかもしれません。

もちろん、あなた独自の関数を書くこともできます。この関数は記事バッファ内から呼び出され、あなたのやりたいことをほとんど何でもできます。バッファに残しておかなければならない情報は何もありません――何でも変更することができます。ですが、ヘッダーは消去しない方が良いです。その代わり、ヘッダーをどこかにやってしまいたければ、それらを見えないようにしてください。

記事のキー操作
=======

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

それらに加えていくつかのキー操作が利用できます。

SPACE
     一頁前にめくります (gnus-article-next-page)。

DEL
     一頁後ろに戻します (gnus-article-prev-page)。

C-c ^
     カーソル位置が Message-ID の近辺にあるときに r を押すと、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)。

記事のその他
======

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

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

gnus-article-display-hook
     このフックは記事を表示するときの最後に呼び出されるようになっていて、記事バッファの内容の修正、ハイライト処理、ヘッダーを隠す、などといったことを行うために用意されています。

gnus-article-mode-hook
     記事モードバッファで呼び出されるフックです。

gnus-article-mode-syntax-table
     記事バッファで用いられるシンタックステーブルです。これは text-mode-syntax-table をもとに初期化されます。

gnus-article-mode-line-format
     この変数は gnus-summary-mode-line-format と同じ行に従った様式文字列です。これは以下の一つの拡張を除いて、その変数と同じ様式指定を受付けます。

     w
          記事の「洗濯状態」wash status。これは記事に対して行われたであろう洗濯操作を示す一文字からなる短い文字列になります。

gnus-break-pages
     改頁 page breaking を行うかどうかを制御します。この変数が nil 以外であれば、記事中に頁区切り文字が現れた場所ごとに頁分割します。この変数が nil であれば頁分けは行われません。

gnus-page-delimiter
     これが上で触れた区切り文字です。ディフォルトでは ^L (フォームフィード、改頁) です。

メッセージの作成
********

全ての投稿とメールの命令は、C-c C-c を押す事によって、記事を送信する前に記事を好きなように編集する事のできる、メッセージバッファに移動します。 See The Message Manual。もし外部ニュースグループにいて、記事を外部サーバーを使って投稿したいのであれば、C-c C-c に接頭引数を与えて、gnus に外部サーバーを使って投稿しようと試させる事ができます。

投稿するべきでなかった記事を削除するための情報は see Canceling and Superseding を参照してください。

メール
===

出て行くメールをカスタマイズする変数です：

gnus-uu-digest-headers
     要約メッセージ (digested message) に含まれるヘッダーに合致する正規表現のリストです。ヘッダーは合致した順に取り込まれます。

gnus-add-to-list
     nil でなければ、a をしたときに、to-list グループパラメータをそれのないメールグループに付け加えます。

投稿
==

ニューズ記事作成のための変数：

gnus-sent-message-ids-file
     Gnus は送信した全てのメールの Message-ID 履歴ファイル (history file) を保存します。もしメールを既に送った事が発見されたなら、利用者にメールを再送するかどうかを尋ねます。（これは主に同じパケットを複数回送る傾向のある SOUP パケットや、それに似たようなものを扱っているときに役に立ちます。）この変数はこの履歴ファイルがどこにあるかを指定します。ディフォルトでは ~/News/Sent-Message-IDs です。Gnus が履歴ファイルを保持する事を望まないのであれば、この変数を nil に設定する事ができます。

gnus-sent-message-ids-length
     この変数はどれくらい多くの Message-ID を履歴ファイルに保持するかを指定します。ディフォルトでは 1000 です。

投稿するサーバー
========

最新の（もちろん、非常に知的な）記事を送り出すために、あの魔法のような C-c C-c キーを押した時、それはどこにいくのでしょう？

尋ねてくれてありがとう。あなたを恨みます。

それは非常に複雑になり得ます。普通は、gnus は同じ基本サーバーを使用します。しかし。あなたの基本サーバーが投稿を許可せず、読むことのみを許可しているのならば、おそらくあなたの（非常に知的でとんでもなく興味深い）記事を投稿するために、他のサーバーを使いたいと思うでしょう。gnus-post-method を他の方法に設定する事ができます。

     (setq gnus-post-method '(nnspool ""))

さて、この設定をした後でサーバーがあなたの記事を拒否したり、サーバーが落ちていたりしたら、どうしたらよいのでしょう？この変数を上書きするために、命令 C-c C-c に零でない接頭引数を与える事で、投稿に『現在の』サーバーを使わせる事ができます。

もし、零接頭引数をその命令に与えたなら（すなわち、C-u 0 C-c C-c）、 gnus は投稿にどの方法を使うかをあなたに尋ねます。

gnus-post-method を選択方法のリストにする事もできます。その場合は、 gnus は常に投稿にどの方法を使うかをあなたに尋ねます。

メールと投稿
======

これはメールを出す事と投稿する事の両方に関連する変数のリストです：

gnus-mailing-list-groups

     もしあなたのニューズサーバーが本当にメーリングリストから NNTP サーバーへのゲートウェイを提供しているのであれば、それらのグループは問題なく読めるでしょう。しかし簡単にはそれらに投稿/フォローアップすることはできません。一つの解決法は グループパラメータ (see Group Parameters) に to-address を加える事です。簡単にできるのは、 gnus-mailing-list-groups を、本当にメーリングリストであるようなグループに合致する正規表現に設定することです。その後は、すくなくとも、メーリングリストへのフォローアップはたいていのときに動作します。これらのグループに投稿する事は (a) それでも苦痛を引き起こすでしょうけど。

あなたは自分が送るメッセージの綴りを調べたいと思うかも知れません。もしくは、もし手で綴り調べをしたくないのであれば、自動綴り調べを ispell パッケージを使う事によって付け加える事ができます：

     (add-hook 'message-send-hook 'ispell-message)

メッセージの保管
========

Gnus はあなたが送ったメールとニュースを貯めておくためのいくつかの違った方法を提供します。ディフォルトの方法はメッセージを保存するために事実上の書庫サーバー(archive virtual server)を使います。これを完全に禁止したいのであれば、変数 gnus-message-archive-group は nil になるべきで、これがディフォルトです。

gnus-message-archive-method は送ったメッセージを蓄積するためにどの事実上のサーバーを gnus が使うべきかを指定します。ディフォルトは：

     (nnfolder "archive"
               (nnfolder-directory   "~/Mail/archive")
               (nnfolder-active-file "~/Mail/archive/active")
               (nnfolder-get-new-mail nil)
               (nnfolder-inhibit-expiry t))

しかし、どのメール選択方法でも使う事ができます（nnml, nnmbox などなど）。しかし nnfolder はこのような事をするのにとても好ましい選択方法です。ディフォルトのディレクトリー選択を好きでないならば、次のようにできます：

     (setq gnus-message-archive-method
           '(nnfolder "archive"
                      (nnfolder-inhibit-expiry t)
                      (nnfolder-active-file "~/News/sent-mail/active")
                      (nnfolder-directory "~/News/sent-mail/")))

Gnus は外へ出て行く全てのメッセージに、一つかそれ以上のそのサーバーのグループへ向かう Gcc 欄を挿入します。どのグループを使うかは変数 gnus-message-archive-group によって決まります。

この変数は次のような事をするために使われます：

  * 文字列メッセージはそのグループに保存されます。

  * 文字列のリストメッセージはそれらの全てのグループに保存されます。

  * 正規表現、関数、様式の連想リストキーが『合致』すると、結果が使われます。

  * nil メッセージの保存は行われません。これがディフォルトです。

試してみましょう：

MisK と呼ばれる一つのグループに保存するならば：

     (setq gnus-message-archive-group "MisK")

２つのグループ、MisK と safe に保存するならば：

     (setq gnus-message-archive-group '("MisK" "safe"))

どのグループにいるかによって違ったグループに保存するなら：

     (setq gnus-message-archive-group
           '(("^alt" "sent-to-alt")
             ("mail" "sent-to-mail")
             (".*" "sent-to-misc")))

もっと複雑なもの：

     (setq gnus-message-archive-group
           '((if (message-news-p)
                 "misc-news"
               "misc-mail")))

全てのニュースメッセージを一つのファイルに保存して、メールメッセージを一月につき一つのファイルに保存するには：

     (setq gnus-message-archive-group
           '((if (message-news-p)
                 "misc-news"
               (concat "mail." (format-time-string
                                "%Y-%m" (current-time))))))

（XEmacs 19.13 には format-time-string はありませんので、その gnus-message-archive-group のために違った値を使わなければなりません。）

今や、メッセージを送ると、それは適切なグループに保存されます。（もし特定のメッセージに対して保存をしたくないのであれば、挿入された Gcc 欄を取り除いてください。）保管グループは次に gnus を起動したときか、次にグループバッファで F を押したときにグループバッファに現れます。他のグループと同じようにそのグループに入って、記事を読む事ができます。そのグループが本当に大きくなって嫌になったら、なにか良いものにその名前を変更する事ができます（グループバッファで G r を使う事によって）―― misc-mail-september-1995 や他のもに。新しいメッセージは古い（今は空になった）グループに溜められます。

以上が送ったメッセージを保管するディフォルトの方法です。Gnus はディフォルトの方法を好きではない人には違ったやり方を勧めています。そのような場合は、gnus-message-archive-group を nil に設定するべきです。これは保管をしないようにします。

gnus-outgoing-message-group
     全ての外にいくメッセージはこのグループに入れられます。もし全ての外に行くメールと記事をグループ nnml:archive に保管したいのであれば、この変数をその値に設定する事ができます。この変数はグループ名のリストである事もできます。

     もしそれぞれのメッセージをどのグループに入れるかをもっと制御したいのであれば、この変数を現在のニューズグループ名を調べて、適切なグループ名（もしくは名前のリスト）を返す関数に設定する事ができます。

     この変数は gnus-message-archive-group の代わりに使う事ができますが、後者の方が好ましい方法です。

下書き
===

もしメッセージ（メールもしくはニューズ）を書いているときに、突然オーブンにステーキが入っている事を思い出したなら（もしくは、あなたがとーってもすごい菜食主義者で、茎をフードプロセッサーをいれているなら）、書いているメッセージを保存する方法があれば良いと思うでしょう。そうすれば、いつか別の日に編集を続ける事ができ、それが完成したと思ったときに送る事ができます。

えぇ、心配しないでください。Gnus のメールと投稿命令を使う何らかのメッセージを書き始めたときに、手に入れるバッファは自動的に特別な draft グループに関連付けられます。普通の方法でバッファを保存すれば（たとえば、 C-x C-s）、その記事はそこに保存されます。（自動保存ファイルも下書きグループ (draft group) に行きます。）

下書きグループは nndraft:draftx と呼ばれる特別なグループ です（もしあなたが全てを知らなければならないのであれば、それは nndraft グループとして実装されています）。変数 nndraft-directory はそのファイルを nndraft がどこに保管するべきかを指定します。このグループが特別であるというのは、その中の記事を永可視にしたり既読の印を付けたりできないからです――グループの全ての記事は永久に未読です。

もしグループが存在しないなら、それは作成され、購読されます。グループバッファからそれを消し去る唯一の方法は、それを未購読にすることです。

記事の編集を続けたいときは、下書きグループに入って D e (gnus-draft-edit-message) を押すだけです。あなたが残した状態のバッファに移動します。

拒否された記事もこの下書きグループに入れられます (see Rejected Articles)。

それ以上編集しないで投稿（もしくはメール）したい拒否されたメッセージがたくさんあるのであれば、命令 D s を使う事ができます。この命令はプロセス /接頭引数の習慣を理解します (see Process/Prefix)。命令 D S (gnus-draft-send-all-messages) はバッファの全てのメッセージを送り出します。

送りたくないメッセージがいくつかあるのであれば、命令 D t (gnus-draft-toggle-sending) を使ってメッセージを配送不可の印を付ける事ができます。これは切り替え命令です。

拒否された記事
=======

時々ニューズサーバーは記事を拒否します。おそらくサーバーはあなたの顔を好きではないのでしょう。おそらくそれは惨めに感じたからでしょう。おそらく悪魔 (demon) がいるのでしょう。 おそらく引用文を入れすぎたのでしょう。おそらくディスクが一杯だったのでしょう。おそらくサーバーが落ちていたのでしょう。

これらの状況は、もちろん、完全に gnus の扱える範囲外です。（Gnus は、もちろん、あなたの外見を愛しており、いつも機嫌が良く、中を飛び回る天使がいて、どれくらい引用文が含まれていようと気にせず、一杯になったり、落っこちたりしません。）ですから、gnus はこれらの記事を後でサーバーの気分がよくなるまで保存します。

拒否された記事は自動的に特別な下書きグループ (see Drafts) に入れられます。サーバーが戻ってきたなら、普通はそのグループに入って全ての記事を送ります。