(mm-with-unibyte-current-buffer): Add note.
[gnus] / texi / gnus-refcard.tex
1 \documentclass{article}
2
3 % Previously we had five input LaTeX files (booklet.tex bk-lt.tex bk-a4.tex
4 % refcard.tex gnusref.tex) and two logo files (gnuslogo-refcard.eps and
5 % gnuslogo-booklet.eps).
6 %
7 % From this LaTeX file (gnus-refcard.tex) plus a single logo (gnus-logo.eps),
8 % we can generate the refcard and the booklet version.  Appropriate Makefile
9 % rules were added.  This simplifies to distribute the refcard with Emacs.
10 %
11 % (Reiner Steib, March 2005)
12
13 \usepackage{ifthen}
14 \ifthenelse{\isundefined{\booklettrue}}{
15   \typeout{Creating reference card...}
16 }{
17   \typeout{Creating reference booklet...}}
18
19 \usepackage{supertabular}
20
21 \newlength{\logowidth}  \setlength{\logowidth} {6.861in}
22 \newlength{\logoheight} \setlength{\logoheight}{7.013in}
23
24 \usepackage{graphicx}
25
26 \usepackage{geometry}
27
28 \ifthenelse{\isundefined{\booklettrue}}{% ifcard %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
29   % Reference Card
30   
31   \def\Guide{Card}\def\guide{card}
32   \def\logoscale{0.25}
33   
34   % Page setup for the refcard:
35   
36   % \setlength{\textwidth}{7.26in} \setlength{\textheight}{10in}
37   % \setlength{\topmargin}{-1.0in}
38   % % the same settings work for A4, although there is a bit of space at the
39   % % top and bottom of the page. 
40   % \setlength{\oddsidemargin}{-0.5in} \setlength{\evensidemargin}{-0.5in}
41
42   \ifthenelse{\isundefined{\letterpapertrue}}{
43     \geometry{a4paper,hmargin=10mm,tmargin=10mm,bmargin=35mm}
44   }{
45     \geometry{hmargin=20mm,tmargin=10mm,bmargin=12mm}
46   }
47   
48 }{ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
49   % Reference Booklet
50   
51   \def\Guide{Booklet}\def\guide{booklet}
52   \def\logoscale{0.5}% FIXME: too large for 2up printing?  --rsteib
53   
54   % FIXME: Use geometry package.  --rsteib
55 %   \ifthenelse{\isundefined{\letterpapertrue}}{
56 %     \textwidth 4.9in \textheight 7.35in \topmargin -1.0in
57 %   }{
58 %     \textwidth 4.5in \textheight 7.5in \topmargin -1.0in
59 %   }
60 %   \oddsidemargin -0.5in \evensidemargin -0.5in
61   \ifthenelse{\isundefined{\letterpapertrue}}{
62     \geometry{a5paper,hmargin=10mm,tmargin=10mm,bmargin=4mm}
63   }{
64     % FIXME: Use geometry package.  --rsteib
65     \geometry{a5paper,hmargin=20mm,tmargin=10mm,bmargin=4mm}
66   }
67   
68   \def\sec{\section}
69   \def\subsec{\subsection}
70   \def\subsubsec{\subsubsection}
71   \def\blankpage{\vspace*{\fill}\par
72   %\centerline{(This page intentionally left blank.)}
73   \par\vspace*{\fill}\pagebreak}
74 }%ifbooklet% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
75
76 % \input{gnusref} % % % % % % % % % % % % % % % % % % % % % % % % % %  
77 %% include file for the Gnus refcard and booklet
78
79 \def\progver{5.10}\def\refver{5.10-2} % program and refcard versions
80 \def\date{Mar, 2005}
81 \def\author{Gnus Bugfixing Girls + Boys $<$bugs@gnus.org$>$}
82
83 %%
84 \newlength{\keycolwidth}
85 \newenvironment{keys}[1]% #1 is the widest key
86 {\nopagebreak%\noindent%
87   \settowidth{\keycolwidth}{#1}%
88   \addtolength{\keycolwidth}{\tabcolsep}%
89   \addtolength{\keycolwidth}{-\columnwidth}%
90   \begin{supertabular}{@{}l@{\hspace{\tabcolsep}}p{-\keycolwidth}@{}}}%
91   {\end{supertabular}\\}
92
93 %% uncomment the first definition if you do not want pagebreaks in maps
94 %%\newcommand{\esamepage}{\samepage}
95 \newcommand{\esamepage}{}
96
97 \newcommand*{\B}[1]{{\bf#1})}    % bold l)etter
98
99 \newcommand{\Title}{%
100   \begin{center}
101     {\bf\LARGE Gnus \progver\ Reference \Guide\\}
102                                 %{\normalsize \Guide\ version \refver}
103   \end{center}
104   }
105
106 % \newcommand*{\LogoOLD}[1]{\centerline{%
107 %     \makebox[\logoscale\logowidth][l]{\vbox to \logoscale\logoheight
108 %       {\vfill\epsfig{figure=gnuslogo-#1}}\vspace{-\baselineskip}}}}
109
110 \newcommand*{\Logo}[1]{\centerline{%
111     \includegraphics[width=\logoscale\logowidth]{gnus-logo}}}
112
113 \newcommand{\Copyright}{%
114   \begin{center}
115     Copyright \copyright\ 1995, 2002, 2003, 2004,
116        2005, 2006 Free Software Foundation, Inc.\\*
117     Copyright \copyright\ 1995 Vladimir Alexiev
118     $<$vladimir@cs.ualberta.ca$>$.\\*
119     Copyright \copyright\ 2000 Felix Natter $<$fnatter@gmx.net$>$.\\*
120     Copyright \copyright\ 2001, 2002, 2003, 2004, 2005 \author.\\*
121     Created from the Gnus manual Copyright \copyright\ 1994 Lars Magne
122     Ingebrigtsen.\\*
123     and the Emacs Help Bindings feature (C-h b).\\*
124     Gnus logo copyright \copyright\ 1995 Luis Fernandes.\\*
125   \end{center}
126
127   Permission is granted to make and distribute copies of this reference
128   \guide{} provided the copyright notice and this permission are preserved on
129   all copies.  Please send corrections, additions and suggestions to the
130   current maintainer's email address. \Guide{} last edited on \date.
131   }
132
133 \newcommand{\Notes}{%
134   \subsection*{Notes}
135   {\esamepage
136     Gnus is complex. Currently it has some 876 interactive (user-callable)
137     functions. Of these 618 are in the two major modes (Group and
138     Summary/Article). Many of these functions have more than one binding, some
139     have 3 or even 4 bindings. The total number of keybindings is 677. So in
140     order to save 40\% space, every function is listed only once on this
141     \guide, under the ``more logical'' binding. Alternative bindings are given
142     in parentheses in the beginning of the description.
143
144     Many Gnus commands are affected by the numeric prefix. Normally you enter a
145     prefix by holding the Meta key and typing a number, but in most Gnus modes
146     you don't need to use Meta since the digits are not self-inserting. The
147     prefixed behavior of commands is given in [brackets]. Often the prefix is
148     used to specify:
149
150     \quad [distance] How many objects to move the point over.
151
152     \quad [scope] How many objects to operate on (including the current one).
153
154     \quad [p/p] The ``Process/Prefix Convention'': If a prefix is given then it
155     determines how many objects to operate on. Else if there are some objects
156     marked with the process mark \#, these are operated on. Else only the
157     current object is affected.
158
159     \quad [level] A group subscribedness level. Only groups with a lower or
160     equal level will be affected by the operation. If no prefix is given,
161     `gnus-group-default-list-level' is used.  If
162     `gnus-group-use-permanent-levels', then a prefix to the `g' and `l'
163     commands will also set the default level.
164
165     \quad [score] An article score. If no prefix is given,
166     `gnus-summary-default-score' is used. \\*[\baselineskip]
167                                 % some keys
168     Gnus startup-commands:\\*
169     \begin{keys}{M-x gnus-unplugged}
170       M-x gnus           & start Gnus. \\
171       M-x gnus-no-server & start Gnus without connecting to server
172       (i.e. to read mail). \\
173     \end{keys}
174     Additionally, there are the two commands \texttt{gnus-plugged} and
175     \texttt{gnus-unplugged}, which are only used if you want to download
176     news and/or read previously downloaded news offline (see C-c C-i g Gnus
177     Unplugged RET). Note: \texttt{gnus-no-server} ignores the stuff in
178     \texttt{gnus-agent-directory}, and thus does not allow you to use Gnus
179     Unplugged.
180                                 %
181     \begin{keys}{C-c C-i}
182       C-c C-i & Go to the Gnus online {\bf info}.\\
183       C-c C-b & Send a Gnus {\bf bug} report.\\
184     \end{keys}
185     }}
186
187 \newcommand{\GroupLevels}{%
188   The table below assumes that you use the default Gnus levels.
189   Fill your user-specific levels in the blank cells.\\[1\baselineskip]
190   \begin{tabular}{|c|l|l|}
191     \hline
192     Level & Groups & Status \\
193     \hline
194     1 & draft/mail groups   &              \\
195     2 & mail groups         &              \\
196     3 &                     & subscribed   \\
197     4 &                     &              \\
198     5 & default list level  &              \\
199     \hline
200     6 &                     & unsubscribed \\
201     7 &                     &              \\
202     \hline
203     8 &                     & zombies      \\
204     \hline
205     9 &                     & killed       \\
206     \hline
207   \end{tabular}}
208
209 \newcommand{\MarkCharacters}{%
210   {\esamepage If a command directly sets a mark, it is shown in parentheses.\\*
211     \newlength{\markcolwidth}
212     \settowidth{\markcolwidth}{` '}% widest character
213     \addtolength{\markcolwidth}{4\tabcolsep}
214     \addtolength{\markcolwidth}{-\columnwidth}
215     \newlength{\markdblcolwidth}
216     \setlength{\markdblcolwidth}{\columnwidth}
217     \addtolength{\markdblcolwidth}{-2\tabcolsep}
218     \begin{tabular}{|c|p{-\markcolwidth}|}
219       \hline
220       \multicolumn{2}{|p{\markdblcolwidth}|}{{\bf ``Read'' Marks.}
221         All these marks appear in the first column of the summary line, and so
222         are mutually exclusive.}\\ 
223       \hline
224       ` ' & (M-u, M SPC, M c) Not read.\\
225       !   & (!, M !, M t) Ticked (interesting).\\
226       ?   & (?, M ?) Dormant (only followups are interesting).\\
227       E   & (E, M e, M x) {\bf Expirable}. Only has effect in mail groups.\\
228       G   & (C, B DEL) Canceled article (or deleted in mailgroups).\\
229       \$  & (M-d, M s x, S x).  Marked as spam.\\
230       \hline\hline
231       \multicolumn{2}{|p{\markdblcolwidth}|}
232       {The marks below mean that the article
233         is read (killed, uninteresting), and have more or less the same effect.
234         Some commands however explicitly differentiate between them (e.g.\ M
235         M-C-r, adaptive scoring).}\\
236       \hline
237       r   & (d, M d, M r) Deleted (marked as {\bf read}).\\
238       C   & (M C; M C-c; M H; c, Z c; Z n; Z C) Killed by {\bf catch-up}.\\
239       F   & SOUPed article. See the manual.\\
240       O   & {\bf Old} (read in a previous session).\\
241       K   & (k, M k; C-k, M K) {\bf Killed}.\\
242       M   & Article marked as read by duplicate suppression.\\
243       Q   & Article is part of a sparse thread (see ``Threading''
244       in the manual).\\
245       R   & {\bf Read} (viewed in actuality).\\
246       X   & Killed by a kill file.\\
247       Y   & Killed due to low score.\\
248       \hline\multicolumn{2}{c}{\vspace{1ex}}\\\hline
249       \multicolumn{2}{|p{\markdblcolwidth}|}
250       {{\bf Marks not affecting visibility}}\\
251       \hline
252       \#  & (\#, M \#, M P p) Processable (will be affected by the next operation).
253       [2]\\
254       A   & {\bf Answered} (followed-up or replied). [2]\\
255       F   & Forwarded. [2]\\
256       $\ast$  & Cached. [2]\\
257       S   & Saved. [2]\\
258       N   & Recently arrived. [2]\\
259       .   & Unseen. [2]\\
260       +   & Over default score. [3]\\
261       $-$ & Under default score. [3]\\
262       $=$ & Has children (thread underneath it). Add `\%e' to
263       `gnus-summary-line-format'. [3]\\
264       \hline
265     \end{tabular}
266     }}
267
268 \newcommand{\GroupModeGeneral}{%
269   \begin{keys}{C-c M-C-x}
270     RET     & (=) Enter this group. [Prefix: how many (read) articles to fetch.
271     Positive: newest articles, negative: oldest ones; non-numerical:
272     view all articles, not just unread]\\
273     M-RET   & Enter group quickly.\\
274     M-SPC   & Same as RET but does not expunge and hide dormants.\\
275     M-C-RET & Enter group without any processing, changes will not be permanent.\\
276     SPC     & Select this group and display the first (unread) article. [Same
277     prefix as above.]\\
278     ?       & Give a very short help message.\\
279     $<$     & Go to the beginning of the Group buffer.\\
280     $>$     & Go to the end of the Group buffer.\\
281     ,       & Jump to the lowest-level group with unread articles.\\
282     .       & Jump to the first group with unread articles.\\
283     \^{}      & Enter the Server buffer mode.\\
284     a       & Post an {\bf article} to a group
285               [Prefix: use group under point to find posting-style].\\
286     b       & Find {\bf bogus} groups and delete them.\\
287     c       & Mark all unticked articles in this group as read ({\bf catch-up}).
288     [p/p]\\ 
289     g       & Check the server for new articles ({\bf get}). [level]\\
290     M-g     & Check the server for new articles in this group ({\bf get}). [p/p]\\
291     j       & {\bf Jump} to a group.\\
292     m       & {\bf Mail} a message to someone
293               [Prefix: use group under point to find posting-style].\\
294     n       & Go to the {\bf next} group with unread articles. [distance]\\
295     M-n     & Go to the {\bf next} group on the same or lower level.
296     [distance]\\ 
297     p       & (DEL) Go to the {\bf previous} group with unread articles.
298     [distance]\\ 
299     M-p     & Go to the {\bf previous} group on the same or lower level. [distance]\\ 
300     q       & {\bf Quit} Gnus.\\
301     r       & Re-read the init file ({\bf reset}).\\
302     s       & {\bf Save} the `.newsrc.eld' file (and `.newsrc' if
303     `gnus-save-newsrc-file').\\ 
304     z       & Suspend (kill all buffers of) Gnus.\\
305     B       & {\bf Browse} a foreign server.\\
306     C       & Mark all articles in this group as read ({\bf Catch-up}). [p/p]\\
307     F       & {\bf Find} new groups and process them.\\
308     N       & Go to the {\bf next} group. [distance]\\
309     P       & Go to the {\bf previous} group. [distance]\\
310     Q       & {\bf Quit} Gnus without saving any startup (.newsrc) files.\\
311     R       & {\bf Restart} Gnus.\\
312     Z       & Clear the dribble buffer.\\
313     M-c     & Clear data from group (marks and list of read articles). \\
314     C-c C-s & {\bf Sort} the groups by name, number of unread articles, or level
315     (depending on `gnus-group-sort-function').\\
316     C-c C-x & Run all expirable articles in this group through the {\bf expiry} 
317     process.\\
318     C-c M-C-x & Run all articles in all groups through the {\bf expiry} process.\\
319     C-c M-g & Activate all {\bf groups}.\\
320     C-c C-i & Gnus online-manual ({\bf info}).\\
321     C-x C-t & {\bf Transpose} two groups.\\
322     H f     & Fetch this group's {\bf FAQ} (using ange-ftp).\\
323     H c     & Display this group's {\bf charter}. [Prefix: query for group]\\
324     H C     & Display this group's {\bf control message} (using
325     ange-ftp). [Prefix: query for group]\\
326     H v     & (V) Display the Gnus {\bf version} number.\\
327     H d     & (C-c C-d) Show the {\bf description} of this group
328     [Prefix: re-read from server].\\ 
329     M-d     & {\bf Describe} all groups. [Prefix: re-read from server]\\
330     D g     & Regenerate a Sieve script from group parameters.\\
331     D u     & Regenerate Sieve script and {\bf upload} to server.\\
332   \end{keys}
333   }
334
335 \newcommand{\ListGroups}{%
336   {\esamepage
337     \begin{keys}{A M}
338       A d     & (C-c C-M-a) List all groups whose names or {\bf descriptions} match a regexp.\\ 
339       A k     & (C-c C-l) List all {\bf killed} groups.
340       [Prefix: look at active-file from server]\\
341       A l     & List all groups on a specific level.
342       [Prefix: also list groups with no unread articles]\\
343       A a     & (C-c C-a) List all groups whose names match a regexp
344       ({\bf apropos}).\\ 
345       A A     & List the server's active-file.\\
346       A M     & List groups that {\bf match} a regexp.\\
347       A m     & List groups that {\bf match} a regexp and have unread articles. 
348       [level]\\ 
349       A s     & (l) List all {\bf subscribed} groups with unread articles.
350       [level; 5 and lower is the default]\\
351       A u     & (L) List all groups (including read and {\bf unsubscribed}).
352       [level; 7 and lower is the default]\\
353       A z     & List all {\bf zombie} groups.\\
354       A c     & List all groups with cached articles. [level]\\
355       A ?     & List all groups with dormant articles. [level]\\
356     \end{keys}
357   }
358   
359   \newcommand{\CreateEditGroups}{%
360     {\esamepage
361       The select methods are indicated in parentheses.\\*
362       \begin{keys}{G DEL}
363         G a     & Make the Gnus list {\bf archive} group. (nndir over ange-ftp)\\
364         G c     & {\bf Customize} this group's parameters.\\
365         G d     & Make a {\bf directory} group (every file must be a posting and files
366         must have numeric names). (nndir)\\
367         G D     & Enter a {\bf directory} as a (temporary) group.
368         (nneething without recording articles read)\\
369         G e     & (M-e) {\bf Edit} this group's select method.\\
370         G E     & {\bf Edit} this group's info (select method, articles read, etc).\\
371         G f     & Make a group based on a {\bf file}. (nndoc)\\
372         G h     & Make the Gnus {\bf help} (documentation) group. (nndoc)\\
373         G k     & Make a {\bf kiboze} group. (nnkiboze)\\
374         G m     & {\bf Make} a new group.\\
375         G p     & Edit this group's {\bf parameters}.\\
376         G r     & Rename this group (does not work with read-only groups!).\\
377         G u     & Create one of the groups mentioned in gnus-{\bf useful}-groups.\\
378         G v     & Add this group to a {\bf virtual} group. [p/p]\\
379         G V     & Make a new empty {\bf virtual} group. (nnvirtual)\\
380         G w     & Create ephemeral group based on web-search. [Prefix: make solid group
381         instead]\\
382         G R     & Make an {\bf RSS} group.\\
383         G DEL   & {\bf Delete} group [Prefix: delete all articles as well].\\
384         G x     & Expunge all deleted articles in an nnimap mailbox.\\
385         G l     & Edit ACL (Access Control {\bf List}) for an nnimap mailbox.\\
386       \end{keys}
387       You can also create mail-groups and read your mail with Gnus (very useful
388       if you are subscribed to mailing lists), using one of the methods
389       nnmbox, nnbabyl, nnml, nnmh, or nnfolder. Read about it in the online info
390       (C-c C-i g Reading Mail RET).
391       }}
392
393                                 % TODO:
394   \newcommand{\SoupCommands}{%
395     \begin{keys}{G s w}
396       G s b   & gnus-group-brew-soup: not documented.\\
397       G s p   & gnus-soup-pack-packet: not documented.\\
398       G s r   & nnsoup-pack-replies: not documented.\\
399       G s s   & gnus-soup-send-replies: not documented.\\
400       G s w   & gnus-soup-save-areas: not documented.\\
401     \end{keys}}
402
403   \newcommand{\MarkGroups}{%
404     \begin{keys}{M m}
405       M m     & (\#) Set the process {\bf mark} on this group. [scope]\\
406       M r     & Mark all groups matching regular expression.\\
407       M u     & (M-\#) Remove the process mark from this group ({\bf unmark}).
408       [scope]\\ 
409       M U     & Remove the process mark from all groups (\textbf{umark all}).\\
410       M w     & Mark all groups in the current region. [prefix: unmark]\\
411       M b     & Mark all groups in the {\bf buffer}. [prefix: unmark]\\
412     \end{keys}}
413
414   \newcommand{\GroupTopicsGeneral}{%
415     {\esamepage
416       Topics are ``categories'' for groups. Press t in the group-buffer to
417       toggle gnus-topic-mode (C-c C-i g Group Topics RET).\\*
418       \begin{keys}{C-c C-x}
419         T n     & Prompt for topic {\bf name} and create it.\\
420         T m     & {\bf Move} the current group to some other topic [p/p].\\
421         T j     & {\bf Jump} to a topic.\\
422         T c     & {\bf Copy} the current group to some other topic [p/p].\\
423         T D     & Remove (not delete) the current group [p/p].\\
424         T M     & {\bf Move} all groups matching a regexp to a topic.\\
425         T C     & {\bf Copy} all groups matching a regexp to a topic.\\
426         T H     & Toggle {\bf hiding} of empty topics.\\
427         T r     & {\bf Rename} a topic.\\
428         T DEL   & Delete an empty topic.\\
429         T \#    & Mark all groups in the current topic with the process-mark.\\
430         T M-\#  & Remove the process-mark from all groups in the current topic.\\
431         T TAB   & (TAB) Indent current topic [Prefix: unindent].\\ 
432         M-TAB   & Unindent the current topic.\\
433         RET     & (SPC) Either unfold topic or enter group [level].\\
434         T s     & {\bf Show} the current topic. [Prefix: show permanently]\\
435         T h     & {\bf Hide} the current topic. [Prefix: hide permanently]\\
436         C-c C-x & Expire all articles in current group or topic.\\
437         C-k     & {\bf Kill} a group or topic.\\
438         C-y     & {\bf Yank} a group or topic.\\
439         A T     & List active-file using {\bf topics}.\\
440         G p     & Edit topic-{\bf parameters}.\\
441         T M-n   & Go to {\bf next} topic. [distance]\\
442         T M-p   & Go to {\bf previous} topic. [distance]\\
443       \end{keys}
444       }
445     }
446
447   \newcommand{\TopicSorting}{%
448     {\esamepage
449       \begin{keys}{T S m}
450         T S a  & Sort {\bf alphabetically}.\\
451         T S u  & Sort by number of {\bf unread} articles.\\
452         T S l  & Sort by group {\bf level}.\\
453         T S v  & Sort by group score ({\bf value}).\\
454         T S r  & Sort by group {\bf rank}.\\
455         T S m  & Sort by {\bf method}.\\
456         T S e  & Sort by {\bf server} name.\\
457         T S s  & Sort according to `gnus-group-sort-function'.\\
458       \end{keys}
459       With a prefix these commands will sort in reverse order.
460       }
461     }
462
463   \newcommand{\SubscribeKillYankGroups}{%
464     {\esamepage
465       \begin{keys}{S C-k}
466         S k     & (C-k) {\bf Kill} this group.\\
467         S l     & Set the {\bf level} of this group. [p/p]\\
468         S s     & (U) Prompt for a group and toggle its {\bf subscription}.\\
469         S t     & (u) {\bf Toggle} subscription to this group. [p/p]\\
470         S w     & (C-w) Kill all groups in the region.\\
471         S y     & (C-y) {\bf Yank} the last killed group.\\
472         S z     & Kill all {\bf zombie} groups.\\
473         S C-k   & Kill all groups on a certain level.\\
474       \end{keys}
475       }
476     }
477
478   \newcommand{\SummaryModeGeneral}{%
479     {\esamepage
480       \begin{keys}{M-RET}
481         SPC     & (A SPC, A n) Select an article, scroll it one page, move to the
482         next one.\\ 
483         DEL     & (A DEL, A p, b) Scroll this article one page back. [distance]\\
484         RET     & (A RET) Scroll this article one line forward. [distance]\\
485         M-RET   & (A M-RET) Scroll this article one line backward. [distance]\\
486         =       & Expand the Summary window (fullsize).
487         [Prefix: shrink to display article window]\\
488                                 %
489         \&      & Execute a command on all articles whose header matches a regexp.
490         [Prefix: move backwards]\\
491         M-\&    & Execute a command on all articles having the process mark.\\
492                                 %
493         M-n     & (G M-n) Go to the {\bf next} summary line of an unread article.
494         [distance]\\ 
495         M-p     & (G M-p) Go to the {\bf previous} summary line of an unread article. 
496         [distance]\\ 
497         M-s     & {\bf Search} through all subsequent articles for a regexp.\\
498         M-r     & Search through all previous articles for a regexp.\\
499                                 %
500         A P     & {\bf Postscript}-print current buffer.\\
501                                 %
502         M-k     & Edit this group's {\bf kill} file.\\
503         M-K     & Edit the general {\bf kill} file.\\
504                                 %
505         C-t     & Toggle {\bf truncation} of summary lines.\\
506         Y g     & Regenerate the summary-buffer.\\
507         Y c     & Insert all cached articles into the summary-buffer.\\
508                                 %
509         M-C-e   & {\bf Edit} the group-parameters.\\
510         M-C-a   & Customize the group-parameters.\\
511                                 %
512                                 % article handling
513                                 %
514         A $<$   & ($<$, A b) Scroll to the beginning of this article.\\
515         A $>$   & ($>$, A e) Scroll to the end of this article.\\
516         A s     & (s) Perform an i{\bf search} in the article buffer.\\
517                                 %
518         A D     & (C-d) Un{\bf digestify} this article into a separate group.
519         [Prefix: force digest]\\
520         M-C-d   & Like C-d, but open several documents in nndoc-groups, wrapped
521         in an nnvirtual group [p/p]\\
522                                 %
523         A g     & (g) (Re)fetch this article ({\bf get}). [Prefix: get raw version]\\ 
524         A r     & (\^{}, A \^{}) Fetch the parent(s) of this article.
525         [Prefix: if positive fetch \textit{n} ancestors;
526         negative: fetch only the \textit{n}th ancestor]\\
527         A t     & {\bf Translate} this article.\\
528         A R     & Fetch all articles mentioned in the {\bf References}-header.\\
529         A T     & Fetch full \textbf{thread} in which the current article appears.\\
530         M-\^{}  & Fetch the article with a given Message-ID.\\
531         S y     & {\bf Yank} the current article into an existing message-buffer.
532         [p/p]\\
533         A M     & Setup group parameters for {\bf mailing} lists from
534         headers. [Prefix: replace old settings]\\
535       \end{keys}
536       }
537     }
538
539   \newcommand{\MIMESummary}{%
540     {\esamepage
541       For the commands operating on one MIME part (a subset of gnus-article-*), a
542       prefix selects which part to operate on. If the point is placed over a
543       MIME button in the article buffer, use the corresponding bindings for the
544       article buffer instead.
545       
546       \begin{keys}{W M w}
547         K v      & (b, W M b) {\bf View} the MIME-part.\\
548         K o      & {\bf Save} the MIME part.\\
549         K c      & {\bf Copy} the MIME part.\\
550         K e      & View the MIME part {\bf externally}.\\
551         K i      & View the MIME part {\bf internally}.\\
552         K $\mid$ & Pipe the MIME part to an external command.\\
553         K b      & Make all the MIME parts have buttons in front of them.\\
554         K m      & Try to repair {\bf multipart-headers}.\\
555         K C      & View the MIME part using a different {\bf charset}.\\
556         X m      & Save all parts matching a MIME type to a directory. [p/p]\\
557         M-t      & Toggle the buttonized display of the article buffer.\\
558         W M w    & Decode RFC2047-encoded words in the article headers.\\
559         W M c    & Decode encoded article bodies. [Prefix: prompt for charset]\\
560         W M v    & View all MIME parts in the current article.\\
561       \end{keys}
562       }
563     }
564
565   \newcommand{\SortSummary}{%
566     {\esamepage
567       \begin{keys}{C-c C-s C-a}
568         C-c C-s C-a & Sort the summary-buffer by {\bf author}.\\
569         C-c C-s C-t & Sort the summary-buffer by {\bf recipient}.\\
570         C-c C-s C-d & Sort the summary-buffer by {\bf date}.\\
571         C-c C-s C-i & Sort the summary-buffer by article score.\\
572         C-c C-s C-l & Sort the summary-buffer by amount of {\bf lines}.\\
573         C-c C-s C-c & Sort the summary-buffer by length.\\
574         C-c C-s C-n & Sort the summary-buffer by article {\bf number}.\\
575         C-c C-s C-s & Sort the summary-buffer by {\bf subject}.\\
576         C-c C-s C-r & Sort the summary-buffer {\bf randomly}.\\
577         C-c C-s C-o & Sort the summary-buffer using the default method.\\
578       \end{keys}
579       With a prefix these functions sort in reverse order.
580       }
581     }
582
583   \newcommand{\MailGroups}{% formerly \Bsubmap
584     {\esamepage
585       These commands (except `B c') are only valid in a mail group.\\*
586       \begin{keys}{B M-C-e}
587         B DEL   & (B backspace, B delete) {\bf Delete} the mail article from disk (!).
588         [p/p]\\
589         B B     & Crosspost this article to another group.\\
590         B c     & {\bf Copy} this article from any group to a mail group. [p/p]\\
591         B e     & {\bf Expire} all expirable articles in this group. [p/p]\\
592         B i     & {\bf Import} a random file into this group.\\
593         B I     & Create an empty article in this group.\\
594         B m     & {\bf Move} the article from one mail group to another. [p/p]\\
595         B p     & Query whether the article was {\bf posted} as well.\\
596         B q     & {\bf Query} where the article will end up after fancy splitting\\
597         B r     & {\bf Respool} this mail article. [p/p]\\
598         B t     & {\bf Trace} the fancy splitting patterns applied to this article.\\
599         B w     & (e) Edit this article.\\
600         B M-C-e & {\bf Expunge} (delete from disk) all expirable articles in this group
601         (!). [p/p]\\ 
602         K E     & {\bf Encrypt} article body. [p/p]\\
603       \end{keys}
604       }
605     }
606
607   \newcommand{\DraftGroup}{% formerly \Dsubmap
608     {\esamepage
609       The ``drafts''-group contains messages that have been saved but not sent
610       and rejected articles. \\*
611       \begin{keys}{B DEL}
612         D e      & \textbf{edit} message.\\
613         D s      & \textbf{Send} message. [p/p]\\
614         D S      & \textbf{Send} all messages.\\
615         D t      & \textbf{Toggle} sending (mark as unsendable).\\
616         B DEL    & \textbf{Delete} message (like in mailgroup).\\
617       \end{keys}
618       }
619     }
620
621   \newcommand{\SelectArticles}{% formerly \Gsubmap
622     {\esamepage
623       These commands select the target article. They do not understand the prefix.\\*
624       \begin{keys}{G C-n}
625         h       & Enter article-buffer.\\
626         G b     & (,) Go to the {\bf best} article (the one with highest score).\\
627         G f     & (.) Go to the {\bf first} unread article.\\
628         G n     & (n) Go to the {\bf next} unread article.\\
629         G p     & (p) Go to the {\bf previous} unread article.\\
630                                 %
631         G N     & (N) Go to {\bf the} next article.\\
632         G P     & (P) Go to the {\bf previous} article.\\
633                                 %
634         G C-n   & (M-C-n) Go to the {\bf next} article with the same subject.\\
635         G C-p   & (M-C-p) Go to the {\bf previous} article with the same subject.\\
636                                 %
637         G l     & (l) Go to the previously read article ({\bf last-read-article}).\\
638         G o     & Pop an article off the summary history and go to it.\\
639                                 %
640         G g     & Search an article via subject.\\
641         G j     & (j) Search an article via Message-Id or subject.\\
642       \end{keys}
643       }
644     }
645
646   \newcommand{\ArticleModeGeneral}{%
647     {\esamepage
648       The normal navigation keys work in Article mode. Some additional keys are:\\
649       \begin{keys}{C-c RET}
650         C-c \^{} & Get the article with the Message-ID near point.\\
651         C-c RET & Send reply to address near point.\\
652         h       & Go to the \textbf{header}-line of the article in the
653         summary-buffer.\\
654         s       & Go to \textbf{summary}-buffer.\\
655         RET     & (middle mouse button) Activate the button at point to follow
656         an URL or Message-ID.\\
657         TAB     & Move the point to the next button.\\
658         M-TAB   & Move point to previous button.\\
659       \end{keys}
660       }
661     }
662
663   \newcommand{\WashArticle}{% formerly \Wsubmap
664     {\esamepage
665       \begin{keys}{W W H}
666         W 6     & Translate a base64 article.\\
667         W a     & Strip certain {\bf headers} from body.\\
668         W b     & Make Message-IDs and URLs in the article mouse-clickable
669         {\bf buttons}.\\  
670         W c     & Translate CRLF-pairs to LF and then the remaining CR's to LF's.\\
671         W d     & Treat {\bf dumbquotes}.\\
672         W e     & Treat {\bf emphasized} text.\\
673         W h     & Treat {\bf HTML}.\\
674         W l     & (w) Remove page breaks ({\bf\^{}L}) from the article.\\
675         W m     & {\bf Morse} decode article.\\
676         W o     & Treat {\bf overstrike} or underline (\^{}H\_) in the article.\\
677         W p     & Verify X-{\bf PGP}-Sig header.\\
678         W q     & Treat {\bf quoted}-printable in the article.\\
679         W r     & (C-c C-r) Do a Caesar {\bf rotate} (rot13) on the article.\\
680         W s     & Verify (and decrypt) a {\bf signed} message.\\
681         W t     & (t) {\bf Toggle} display of all headers.\\
682         W u     & {\bf Unsplit} broken URLs.\\
683         W v     & (v) Toggle permanent {\bf verbose} displaying of all headers.\\
684         W w     & Do word {\bf wrap} in the article.\\
685         W B     & Add clickable {\bf buttons} to the article headers.\\
686         W C     & {\bf Capitalize} first word in each sentence.\\
687         W Q     & Fill long lines.\\
688         W Z     & Translate a HZ-encoded article.\\
689                                 %
690         W G u   & {\bf Unfold} folded header lines.\\
691         W G f   & {\bf Fold} all header lines.\\
692         W G n   & Unfold {\bf Newsgroups:} and Follow-Up-To:.\\
693                                 %
694         W Y c   & Repair broken {\bf citations}.\\
695         W Y a   & Repair broken {\bf attribution} lines.\\
696         W Y u   & {\bf Unwrap} broken citation lines.\\
697         W Y f   & Do a {\bf full} deuglification (W Y c, W Y a, W Y u).\\
698       \end{keys}
699       }
700     }
701
702   \newcommand{\BlankAndWhitespace}{% 
703     {\esamepage
704       \begin{keys}{W E w}
705         W E l   & Strip blank {\bf lines} from the beginning of the article.\\
706         W E m   & Replace blank lines with empty lines and remove {\bf multiple}
707         blank lines.\\
708         W E t   & Remove {\bf trailing} blank lines.\\
709         W E a   & Strip blank lines at the beginning and the end
710         (W E l, W E m and W E t).\\
711         W E A   & Strip {\bf all} blank lines.\\
712         W E s   & Strip leading blank lines from the article body.\\
713         W E e   & Strip trailing blank lines from the article body.\\
714         W E w   & Remove leading {\bf whitespace} from all headers.\\
715       \end{keys}
716       }
717     }
718
719   \newcommand{\Picons}{% 
720     {\esamepage
721       \begin{keys}{W D D}
722         W D s   & (W g) Display {\bf smilies}.\\
723         W D x   & (W f) Look for and display any X-{\bf Face} headers.\\
724         W D d   & Display any Face headers.\\
725         W D n   & Toggle picons in {\bf Newsgroups} and Followup-To.\\
726         W D m   & Toggle picons in {\bf mail} headers (To and Cc).\\
727         W D f   & Toggle picons in {\bf From}.\\
728         W D D   & Remove all images from the article buffer.\\
729       \end{keys}
730       }
731     }
732
733   \newcommand{\TimeAndDate}{% 
734     {\esamepage
735       \begin{keys}{W T u}
736         W T u   & (W T z) Display the article timestamp in GMT ({\bf UT, ZULU}).\\
737         W T i   & Display the article timestamp in {\bf ISO} 8601.\\
738         W T l   & Display the article timestamp in the {\bf local} timezone.\\
739         W T s   & Display according to `gnus-article-time-format'.\\
740         W T e   & Display the time {\bf elapsed} since it was sent.\\
741         W T o   & Display the {\bf original} timestamp.\\
742         W T p   & Display the date in format that's {\bf
743           pronounceable} in English.\\        
744       \end{keys}
745       }
746     }
747
748   \newcommand{\HideHighlightArticle}{%
749     {\esamepage
750       \begin{keys}{W W C-c}
751         W W a   & Hide {\bf all} unwanted parts. Calls W W h, W W s, W W C-c.\\
752         W W h   & Hide article {\bf headers}.\\
753         W W b   & Hide {\bf boring} headers.\\
754         W W s   & Hide {\bf signature}.\\
755         W W l   & Hide {\bf list} identifiers in subject-header.\\
756         W W P   & Hide {\bf PEM} (privacy enhanced messages).\\
757         W W B   & Hide banner specified by group parameter.\\
758         W W c   & Hide {\bf citation}.\\
759         W W C-c & Hide {\bf citation} using a more intelligent algorithm.\\
760         W W C   & Hide cited text in articles that aren't roots.\\
761         W H a   & Highlight {\bf all} parts. Calls W b, W H c, W H h, W H s.\\
762         W H c   & Highlight article {\bf citations}.\\
763         W H h   & Highlight article {\bf headers}.\\
764         W H s   & Highlight article {\bf signature}.\\
765       \end{keys}
766       For all hiding-commands: A positive prefix always hides, and a negative
767       prefix will show what was previously hidden.
768       }}
769
770   \newcommand{\MIMEArticleMode}{%
771     {\esamepage
772       \begin{keys}{RET}
773         RET     & (BUTTON-2) Toggle display of the MIME object.\\
774         v       & Prompt for a method and then view object using this method.\\
775         o       & Prompt for a filename and save the MIME object.\\
776         C-o     & Prompt for a filename to save the MIME object to and remove it.\\
777         d       & {\bf Delete} the MIME object.\\
778         c       & {\bf Copy} the MIME object to a new buffer and display this buffer.\\
779         i       & Display the MIME object in this buffer.\\
780         C       & Copy the MIME object to a new buffer and display this buffer using {\bf Charset} \\
781         E       & View internally. \\
782         e       & View {\bf externally}. \\
783         t       & View the MIME object as a different {\bf type}.\\
784         p       & {\bf Print} the MIME object.\\
785         $\mid$  & Pipe the MIME object to a process.\\
786         .       & Take action on the MIME object.\\
787       \end{keys}
788       }
789     }
790
791   %% end of article mode for reading ..........................................
792
793   \newcommand{\MarkArticlesGeneral}{% formerly \Msubmap
794     {\esamepage
795       \begin{keys}{M M-C-r}
796         d       & (M d, M r) Mark this article as read and move to the next one.
797         [scope]\\ 
798         D       & Mark this article as read and move to the previous one. [scope]\\
799         !       & (u, M !, M t) Tick this article (mark it as interesting) and move
800         to the next one. [scope]\\
801         U       & Tick this article and move to the previous one. [scope]\\ 
802         M ?     & (?) Mark this article as dormant (only followups are
803         interesting). [scope]\\ 
804         M D     & Show all {\bf dormant} articles (normally they are hidden unless they
805         have any followups).\\
806         M M-D   & Hide all {\bf dormant} articles.\\
807         C-w     & Mark all articles between point and mark as read.\\
808         M-u     & (M SPC, M c) Clear all marks from this article and move to the next
809         one. [scope]\\ 
810         M-U     & Clear all marks from this article and move to the previous one.
811         [scope]\\
812                                 %
813         M e     & (E, M x) Mark this article as {\bf expirable}. [scope]\\
814                                 %
815         M k     & (k) {\bf Kill} all articles with the same subject then select the
816         next unread one.\\ 
817         M K     & (C-k) {\bf Kill} all articles with the same subject as this one.\\
818                                 %
819         M C     & {\bf Catch-up} the articles that are not ticked and not dormant.\\
820         M C-c   & {\bf Catch-up} all articles in this group.\\
821         M H     & {\bf Catch-up} (mark read) this group to point (to-{\bf here}).\\
822                                 %
823         M b     & Set a {\bf bookmark} in this article.\\
824         M B     & Remove the {\bf bookmark} from this article.\\
825                                 %
826         M M-r   & (x) Expunge all {\bf read} articles from this group.\\
827         M M-C-r & Expunge all articles having a given mark.\\
828         M S     & (C-c M-C-s) {\bf Show} all expunged articles.\\
829         M M C-h & Displays some more keys doing ticking slightly differently.\\
830       \end{keys}
831       The variable `gnus-summary-goto-unread' controls what happens after a mark
832       has been set (C-x C-i g Setting Marks RET)
833       }}
834
835   \newcommand{\MarkByScore}{%
836     \begin{keys}{M V m}