% @kbd is like @code, except that if the argument is just one @key command,
% then @kbd has no effect.
-%
+
+% Font to use for @kbd, ordinarily.
+\let\kbdfont\t
+% Font to use for @kbd, when inside @example.
+\let\kbdexamplefont\t
+
+% If you use @setkbdinputdistinct, then @kbd produces slanted tty font.
+\def\setkbdinputdistinct{\let\kbdfont\ttsl
+\let\kbdexamplefont\ttsl}
+
+% If you use @setkbdinputexample, then @kbd produces slanted tty font
+% only inside of @example and friends.
+\def\setkbdinputexample{\gdef\kbdexamplefont\ttsl}
+
\def\xkey{\key}
\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}%
\ifx\one\xkey\ifx\threex\three \key{#2}%
-\else{\tclose{\ttsl\look}}\fi
-\else{\tclose{\ttsl\look}}\fi}
+\else{\tclose{\kbdfont\look}}\fi
+\else{\tclose{\kbdfont\look}}\fi}
% @url, @email. Quotes do not seem necessary.
\let\url=\code % perhaps include a hypertex \special eventually
%
\def\nonfillfinish{\afterenvbreak\endgroup}%
-% This macro is
\def\lisp{\begingroup
\nonfillstart
\let\Elisp = \nonfillfinish
\tt
+ % Make @kbd do something special, if requested.
+ \let\kbdfont\kbdexamplefont
\rawbackslash % have \ input char produce \ char from current font
\gobble
}
\catcode`\\v=\other
\catcode`\^^L=\other
\catcode`\\ e=\other
- \catcode`\\ f=\other
+ \catcode`\=\other
\catcode`\\10=\other
\catcode`\\11=\other
\catcode`\\12=\other