📄 1086-1087.html
字号:
<HTML>
<HEAD>
<TITLE>Linux Complete Command Reference:Special Files:EarthWeb Inc.-</TITLE>
</HEAD>
<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
<SCRIPT>
<!--
function displayWindow(url, width, height) {
var Win = window.open(url,"displayWindow",'width=' + width +
',height=' + height + ',resizable=1,scrollbars=yes');
}
//-->
</SCRIPT>
</HEAD>
-->
<!-- ISBN=0672311046 //-->
<!-- TITLE=Linux Complete Command Reference//-->
<!-- AUTHOR=Red Hat//-->
<!-- PUBLISHER=Macmillan Computer Publishing//-->
<!-- IMPRINT=Sams//-->
<!-- CHAPTER=04 //-->
<!-- PAGES=1063-1102 //-->
<!-- UNASSIGNED1 //-->
<!-- UNASSIGNED2 //-->
<P><CENTER>
<a href="1085-1085.html">Previous</A> | <a href="../ewtoc.html">Table of Contents</A> | <a href="1088-1088.html">Next</A></CENTER></P>
<A NAME="PAGENUM-1086"><P>Page 1086</P></A>
<P>would replace the functions of the left and right curly braces with the left and right angle brackets for purposes of
parsing TeX/LaTeX constructs, while retaining their functions for the
tib bibliographic preprocessor. Note that the backslash,
the left square bracket, and the right angle bracket must be escaped with a backslash.
</P>
<!-- CODE //-->
<PRE>
opt-stmt : { cmpnd-stmt | aff-stmt }
cmpnd-stmt : compoundwords compound-opt
aff-stmt : allaffixes on-or-off
on-or-off : { on | off }
compound-opt : { on-or-off | controlled character }
</PRE>
<!-- END CODE //-->
<P>An opt-stmt, used in the preceding code, controls certain
ispell defaults that are best made language-specific.
The allaffixes statement controls the default for the
_P and _m options to ispell. If allaffixes is turned
off (the default), ispell will default to the behavior of the
_P flag: root/affix suggestions will only be made if there are no "near misses." If
allaffixes is turned on, ispell will default to the behavior of the
_m flag: root/affix suggestions will always be made.
</P>
<P>The compoundwords statement controls the default for the
_B and _C options to ispell. If compoundwords is turned
off (the default), ispell will default to the behavior of the
_B flag: run-together words will be reported as errors. If
compoundwords is turned on, ispell will default to the behavior of the
_C flag: run-together words will be considered as compounds if both
are in the dictionary. This is useful for languages such as German and Norwegian, which form large numbers of
compound words. Finally, if compoundwords is set to controlled, only words marked with the flag indicated by character (which
should not be otherwise used) will be allowed to participate in compound formation. Because this option requires the flags to
be specified in the dictionary, it is not available from the command line.
</P>
<!-- CODE SNIP //-->
<PRE>
flag-stmt : flagmarker character
</PRE>
<!-- END CODE SNIP //-->
<P>The flagmarker statement describes the character that is used to separate affix flags from the root word in a raw
dictionary file. This must be a character that is not found in any word (including in string characters; see following). The default is
/ because this character is not normally used to represent special characters in any language.
</P>
<!-- CODE SNIP //-->
<PRE>
num-stmt : compoundmin digit
</PRE>
<!-- END CODE SNIP //-->
<P>The compoundmin statement controls the length of the two components of a compound word. This only has an effect
if compoundwords is turned on or if the _C flag is given to ispell. In that case, only words at least as long as the given
minimum will be accepted as components of a compound. The default is
3 characters.
</P>
<!-- CODE SNIP //-->
<PRE>
char-sets : norm-sets [ alt-sets ]
</PRE>
<!-- END CODE SNIP //-->
<P>The character-set section describes the characters that can be part of a word, and defines their collating order. There
must always be a definition of "normal" character sets; in addition, there may be one or more partial definitions of "alternate"
sets that are used with various text formatters.
</P>
<!-- CODE SNIP //-->
<PRE>
norm-sets :[deftype ] charset-group
</PRE>
<!-- END CODE SNIP //-->
<P>A "normal" character set may optionally begin with a definition of the file suffixes that make use of this set. Following
this are one or more character-set declarations.
</P>
<!-- CODE SNIP //-->
<PRE>
deftype : defstringtype name deformatter suffix*
</PRE>
<!-- END CODE SNIP //-->
<P>The defstringtype declaration gives a list of file suffixes that should make use of the default string characters defined as part
of the base character set; it is only necessary if string characters are being defined. The
name parameter is a string giving the unique name associated with these suffixes; often it is a formatter name. If the formatter is a member of the
troff family, nroff should be used for the name associated with the most popular macro package; members of the TeX family should
use tex. Other names may be chosen freely, but they should be kept simple, as they are used in
ispell's _T switch to specify a formatter type. The
deformatter parameter specifies the deformatting style to use when processing files with the
given suffixes. Currently, this must be either tex or
nroff. The suffix parameters are a whitespace-separated list of strings which,
if present at the end of a filename, indicate that the associated set of string characters should be used by default for this file.
For example, the suffix list for the troff family typically includes suffixes such as
.ms, .me, .mm, and so on.
</P>
<!-- CODE SNIP //-->
<PRE>
charset-group : { char-stmt | string-stmt | dup-stmt}*
</PRE>
<!-- END CODE SNIP //-->
<A NAME="PAGENUM-1087"><P>Page 1087</P></A>
<P>A char-stmt describes single characters; a
string-stmt describes characters that must appear together as a string, and
which usually represent a single character in the target language. Either may also describe conversion between uppercase
and lowercase. A dup-stmt is used to describe alternate forms of string characters, so that a single dictionary may be used
with several formatting programs that use different conventions for representing non-ASCII characters.
</P>
<!-- CODE //-->
<PRE>
char-stmt : wordchars character-range
| wordchars lowercase-range uppercase-range
| boundarychars character-range
| boundarychars lowercase-range uppercase-range
string-stmt : stringchar string
| stringchar lowercase-string uppercase-string
</PRE>
<!-- END CODE //-->
<P>Characters described with the boundarychars statement are considered part of a word only if they appear singly,
embedded between characters declared with the
wordchars or stringchar statements. For example, if the hyphen is a boundary
character (useful in French), the string foo-bar would be a single word, but
-foo would be the same as foo, and foo_bar would be
two words separated by nonword characters.
</P>
<P>If two ranges or strings are given in a
char-stmt or string-stmt, the first describes characters that are interpreted as
lowercase and the second describes uppercase. In the case of a
stringchar statement, the two strings must be of the same length.
Also, in a stringchar statement, the actual strings may contain both uppercase and characters themselves without difficulty;
for instance, the statement:
</P>
<!-- CODE SNIP //-->
<PRE>
stringchar "\\*(sS" "\\*(Ss"
</PRE>
<!-- END CODE SNIP //-->
<P>is legal and will not interfere with (or be interfered with by) other declarations of
"s" and "S" as lowercase and
uppercase, respectively.
</P>
<P>A final note on string characters: some languages collate certain special characters as if they were strings. For example,
the German "a-umlaut" is traditionally sorted as if it were
ae. ispell is not capable of this; each character must be treated as
an individual entity. So in certain cases, ispell will sort a list of words into a different order than the standard
"dictionary" order for the target language.
</P>
<!-- CODE SNIP //-->
<PRE>
alt-sets : alttype [ alt-stmt*]
</PRE>
<!-- END CODE SNIP //-->
<P>Because different formatters use different notations to represent non-ASCII characters, ispell must be aware of the
representations used by these formatters. These are declared as alternate sets of string characters.
</P>
<!-- CODE SNIP //-->
<PRE>
alttype : altstringtype name suffix*
</PRE>
<!-- END CODE SNIP //-->
<P>The altstringtype statement introduces each set by declaring the associated formatter name and filename suffix list.
This name and list are interpreted exactly as in the
defstringtype statement. Following this header are one or more
alt-stmts that declare the alternate string characters used by this formatter.
</P>
<!-- CODE SNIP //-->
<PRE>
alt-stmt : altstringchar alt-string std-string
</PRE>
<!-- END CODE SNIP //-->
<P>The altstringchar statement describes alternate representations for string characters. For example, the _mm macro
package of troff represents the German "a-umlaut" as
a\*:, while TeX uses the sequence \"a. If the
troff versions are declared as the standard versions using
stringchar, the TeX versions may be declared as alternates by using the statement:
</P>
<!-- CODE SNIP //-->
<PRE>
altstringchar \\\"a a\\*
</PRE>
<!-- END CODE SNIP //-->
<P>When the altstringchar statement is used to specify alternate forms, all forms for a particular formatter must be
declared together as a group. Also, each formatter or macro package must provide a complete set of characters, both uppercase
and lowercase, and the character sequences used for each formatter must be completely distinct. Character sequences
that describe uppercase and lowercase versions of the same printable character must also be the same length. It may be
necessary to define some new macros for a given formatter to satisfy these restrictions. (The current version of
buildhash does not enforce these restrictions, but failure to obey them may result in errors being introduced into files that are processed
with ispell.)
</P>
<P>An important minor point is that ispell assumes that all characters declared as
wordchars or boundarychars will occupy exactly one position on the terminal screen.
</P>
<P><CENTER>
<a href="1085-1085.html">Previous</A> | <a href="../ewtoc.html">Table of Contents</A> | <a href="1088-1088.html">Next</A></CENTER></P>
</td>
</tr>
</table>
<!-- begin footer information -->
</body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -