@node Apropos, Arithmetic, Angle, Commands @iftex @syntax Apropos. @end iftex @example Syntax: APROPOS pattern @end example @pindex Apropos @findex help (see also apropos) Apropos lists all macros whose name or introductory comments match the given pattern. Probably the most common use for the command is simply to look for a word -- e.g. @code{APROPOS histogram}. If your system supports it, APROPOS will also search the help files for the given pattern (in this case matches may not extend over more than one line). If @code{VERBOSE} is zero only the line containing the match is printed; if @code{VERBOSE} is one or more then a couple of lines on each side of the match are printed too. If the pattern matches more than once each match will be printed, merged together if appropriate and separated by line of dashes otherwise. If you use `q' to stop looking at the help files APROPOS will immediately proceed to search the macros. The pattern is a slightly restricted version of a normal Unix regular expression, specifically: @table @code @item . Matches any character except \n. @item [...] Matches any of the characters listed in the @code{[ ]}. If the first character is a ^ it means use anything except the range specified (in any other position ^ isn't special) A range may be specified with a - (e.g. [0-9]), and if a ] is to be part of the range, it must appear first (or after the leading ^, if specified). A - may appear as the special range @code{---}. @item ^ Matches only at the start of the string. Note that you must quote the @code{^} with an @key{ESQ-q} if you use it as your history character -- look in the index under @code{history} to learn how to change it. @item $ Matches only at the end of a string. @item \t Tab @item \n Newline @item \. (any other character) simply escapes the character (e.g. \^) @item * Any number of the preceding character (or range) @item ? One or more of the preceding character or range @end table By default searches are case insensitive, but you can make searching sensitive to case by deleting the variable case_fold_search (you can do this by putting a line @code{case_fold_search 0} in your @file{.sm} file if you so desire). The name and the comments are searched separately, so you could list all macros beginning with a, b, c, d, e, or z by saying @example APROPOS ^[a-ez] @end example @noindent (which works because all comments start with a @code{#}), or @example APROPOS "^#[^#]" @end example @noindent to list all macros that start with a single @code{#} (the quotes are needed to stop the @code{#}'s from being treated as comment characters).