aboutsummaryrefslogtreecommitdiff
path: root/src/hyper/pages/srchkey.ht
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2007-08-14 05:14:52 +0000
committerdos-reis <gdr@axiomatics.org>2007-08-14 05:14:52 +0000
commitab8cc85adde879fb963c94d15675783f2cf4b183 (patch)
treec202482327f474583b750b2c45dedfc4e4312b1d /src/hyper/pages/srchkey.ht
downloadopen-axiom-ab8cc85adde879fb963c94d15675783f2cf4b183.tar.gz
Initial population.
Diffstat (limited to 'src/hyper/pages/srchkey.ht')
-rw-r--r--src/hyper/pages/srchkey.ht142
1 files changed, 142 insertions, 0 deletions
diff --git a/src/hyper/pages/srchkey.ht b/src/hyper/pages/srchkey.ht
new file mode 100644
index 00000000..7d62a3ad
--- /dev/null
+++ b/src/hyper/pages/srchkey.ht
@@ -0,0 +1,142 @@
+% Copyright The Numerical Algorithms Group Limited 1991.
+% Certain derivative-work portions Copyright (C) 1988 by Leslie Lamport.
+% All rights reserved
+
+%% Using text from book now.
+
+%% \begin{page}{SearchStrings}{All about {\em Search Strings}}
+%% \newline Here is an \downlink{input area}{ugHyperInputPage}:
+%% \inputstring{filter}{35}{}\newline
+%% and here are some names of greek letters we will
+%% \lispdownlink{search}{(|htGreekSearch| '|\stringvalue{filter}|)}
+%% for:{\em
+%% \table{{alpha}{beta}{gamma}{delta}{epsilon}{zeta}{eta}{theta}{iota}{kappa}{lambda}
+%% {mu}{nu}{pi}}}
+%% \beginscroll
+%% A {\em search string} can be used to select entries from a list.
+%% For example, if you enter a search string into the input area above and
+%% then click on {\em search} above, \HyperName{} will select those greek letters
+%% indicated by the search string.
+%% \par
+%% Let's try it.
+%% The simplest search string is a word, e.g. {\em beta}. A word will only
+%% match an entry having exactly that spelling. Enter the word {\em beta} into the
+%% input area above then click on {\em search}. As you can see, {\em beta} matches
+%% only the single entry {\em beta}.
+%% \par
+%% Normally matching is insensitive to whether the alphabetic characters of your
+%% search string are in upper- or lower- case.
+%% Thus {\em Beta} and {\em BETA} will both match {\em beta}.
+%% \par
+%% You will very often want to use the "wildcard" {\em *} in your search string
+%% so as to match multiple entries in the list. The search key {\em *} will
+%% match every entry in the list. Try it!
+%% Enter {\em *} as your search string above then click on {\em search}.
+%% As you can see, the {\em *} matches every greek letter.
+%% \par
+%% You can also use {\em *} anywhere within a search string to match
+%% an arbitrary substring. Try {\em *eta} for example.
+%% It will match {\em beta}, {\em zeta}, {\em eta}, {\em theta}.
+%% In general, the wildcard matches any substring of zero or more arbitrary characters.
+%% \par
+%% You use any number of wildcards in a search string as long as they are not
+%% adjacent. Thus {\em *e*} will match {\em beta}, {\em delta}, {\em epsilon}, and others, that is, any word containing the letter {\em e}.
+%% Also {\em z*a} will match only {\em zeta}, that is, only words
+%% beginning with {\em z} and ending with {\em a}.
+%% Finally, {\em *a*a*} will match {\em alpha}, {\em gamma}, in general, all
+%% words which have at least two {\em a}'s their name.
+%% \horizontalline
+%% For more information, see:\newline
+%% \downlink{Logical Searches}{LogicalSearches}\tab{17}Using {\em and}, {\em or}, and {\em not} in search strings
+%% \newline
+%% %\downlink{Searching Text}{SearchingText}\tab{17}Using search keys to search text
+%% %\newline
+%% %\downlink{Some Details}{SearchOptions}\tab{17}Conventions and options you should know
+%% \endscroll
+%% \end{page}
+%%
+%% \begin{page}{LogicalSearches}{Logical Searches}
+%% \newline Here is an \downlink{input area}{ugHyperInputPage}:
+%% \inputstring{filter}{35}{}\newline
+%% and here are some names of greek letters we will
+%% \lispdownlink{search}{(|htGreekSearch| '|\stringvalue{filter}|)}
+%% for:{\em
+%% \table{{alpha}{beta}{gamma}{delta}{epsilon}{zeta}{eta}{theta}{iota}{kappa}{lambda}
+%% {mu}{nu}{pi}}}
+%% \beginscroll
+%% For more complicated searches, you can use
+%% {\em and}, {\em or}, and {\em not} with basic search strings.
+%% Just write logical expressions using these three operators just like
+%% in the \Language{} language.
+%% For example, {\em alpha or beta} will match the first two greek letters,
+%% {\em *a* and *p*} will match all greek letters which have both an
+%% {\em a} and an {\em p}, and
+%% {\em not alpha} will match all the greek letters but {\em alpha}.
+%% \par
+%% Use parentheses for grouping.
+%% For example, {\em *a* and (not *p*)} will match the greek letters that
+%% contain the letter {\em a} but no letter {\em p}. Get the idea?
+%% \par
+%% There is no limit to how complex your logical expression can be.
+%% For example {\em a* or b* or c* or d* or e* and (not *a*)} is ok!
+%% \endscroll
+%% \end{page}
+%%
+%% \begin{page}{SearchingText}{SearchingText}
+%% Here is an \downlink{input area}{ugHyperInputPage}:
+%% \inputstring{filter}{35}{}\newline
+%% and here are two lines of text we will
+%% \lispdownlink{search}{(|htTextSearch| '|\stringvalue{filter}|)}:\indent{2}
+%% \table{
+%% {{\em Fruit flies} *like* a {\em banana with cauliflower ears.}}
+%% {{\em Sneak Sears Silas with Savings Snatch}}
+%% }\indent{0}
+%%
+%% \beginscroll
+%% Up until now, you have only learned how search strings match single
+%% words.
+%% Search strings can also be used to search text, e.g. the documentation
+%% for the library and \HyperName pages.
+%% Here the conventions are a bit different.
+%% \par
+%% If the search string is a word containing no wildcard {\em *},
+%% it will only match text containing that identical word.
+%% For example, the search string {\em ears} will match the
+%% first line (with {\em ears})
+%% but not the second line (with {\em Sears}).
+%% \par
+%% If the search string is a word containing {\em *} at its beginning
+%% or end, it will match a string with arbitrary characters at the beginning
+%% or end, respectively.
+%% For example, the search string {\em *ears} will match both the
+%% first line with {\em ears} and the second with {\em Sears}.
+%% \par
+%% As usual, you can use \downlink{and, or, not}{LogicalSearches} in your
+%% search string. For example, {\em *ears and sa*} will only match the
+%% second line with {\em Sears} and {\em Savings}.
+%% \par
+%% If your search string needs to contain a {\em *}, the words {\em and},
+%% {\em or}, or {\em not}, precede the first character of these special strings
+%% with an underscore
+%% ({\em _}) (the escape character).
+%% Thus {\em _*like_*} and {\em _and} will match the first line.
+%% The search string {\em _**} (meaning any word beginning with {\em *}) will also
+%% match the first line.
+%% \par
+%% Your search string can also have two or more words.
+%% For example, {\em califlower ears} will match the first line.
+%% If the phrase contains an {\em and}, {\em or} or {\em not},
+%% be sure to place an underscore before the first character.
+%% For example {\em bananas and califlower} and {\em bananas _and califlower} have
+%% quite different meanings!
+%% \par
+%% Search strings however will not match adjacent words formatted differently.
+%% For example, {\em a banana} will not match the first line since "banana"
+%% is in italics and "a" is not.
+%% \horizontalline
+%% %See Also:
+%% %\newline
+%% %\downlink{Some Details}{SearchOptions}\tab{17}Conventions and options you should know
+%% \endscroll
+%% \end{page}
+