User manual: Use italic typeface for latin abbreviations
[pspp] / doc / utilities.texi
1 @c PSPP - a program for statistical analysis.
2 @c Copyright (C) 2017 Free Software Foundation, Inc.
3 @c Permission is granted to copy, distribute and/or modify this document
4 @c under the terms of the GNU Free Documentation License, Version 1.3
5 @c or any later version published by the Free Software Foundation;
6 @c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
7 @c A copy of the license is included in the section entitled "GNU
8 @c Free Documentation License".
9 @c
10 @node Utilities
11 @chapter Utilities
12
13 Commands that don't fit any other category are placed here.
14
15 Most of these commands are not affected by commands like @cmd{IF} and
16 @cmd{LOOP}:
17 they take effect only once, unconditionally, at the time that they are
18 encountered in the input.
19
20 @menu
21 * ADD DOCUMENT::                Add documentary text to the active dataset.
22 * CACHE::                       Ignored for compatibility.
23 * CD::                          Change the current directory.
24 * COMMENT::                     Document your syntax file.
25 * DOCUMENT::                    Document the active dataset.
26 * DISPLAY DOCUMENTS::           Display active dataset documents.
27 * DISPLAY FILE LABEL::          Display the active dataset label.
28 * DROP DOCUMENTS::              Remove documents from the active dataset.
29 * ECHO::                        Write a string to the output stream.
30 * ERASE::                       Erase a file.
31 * EXECUTE::                     Execute pending transformations.
32 * FILE LABEL::                  Set the active dataset's label.
33 * FINISH::                      Terminate the @pspp{} session.
34 * HOST::                        Temporarily return to the operating system.
35 * INCLUDE::                     Include a file within the current one.
36 * INSERT::                      Insert a file within the current one.
37 * OUTPUT::                      Modify the appearance of the output.
38 * PERMISSIONS::                 Change permissions on a file.
39 * PRESERVE and RESTORE::        Saving settings and restoring them later.
40 * SET::                         Adjust @pspp{} runtime parameters.
41 * SHOW::                        Display runtime parameters.
42 * SUBTITLE::                    Provide a document subtitle.
43 * TITLE::                       Provide a document title.
44 @end menu
45
46 @node ADD DOCUMENT
47 @section ADD DOCUMENT
48 @vindex  ADD DOCUMENT
49
50 @display
51 ADD DOCUMENT
52     'line one' 'line two' @dots{} 'last line' .
53 @end display
54
55
56 @cmd{ADD DOCUMENT} adds one or more lines of descriptive commentary to
57 the active dataset.  Documents added in this way are saved to system files.
58 They can be viewed using @cmd{SYSFILE INFO} or @cmd{DISPLAY
59 DOCUMENTS}.  They can be removed from the active dataset with @cmd{DROP
60 DOCUMENTS}.
61
62 Each line of documentary text must be enclosed in quotation marks, and
63 may not be more than 80 bytes long. @xref{DOCUMENT}.
64
65 @node CACHE
66 @section CACHE
67 @vindex CACHE
68
69 @display
70 CACHE.
71 @end display
72
73 This command is accepted, for compatibility, but it has no effect.
74
75 @node CD
76 @section CD
77 @vindex CD
78 @cindex directory
79 @cindex changing directory
80
81 @display
82 CD 'new directory' .
83 @end display
84
85 @cmd{CD} changes the current directory.  The new directory will become that specified by the command.
86
87 @node COMMENT
88 @section COMMENT
89 @vindex COMMENT
90 @vindex *
91
92 @display
93 Comment commands:
94     COMMENT comment text @dots{} .
95     *comment text @dots{} .
96
97 Comments within a line of syntax:
98     FREQUENCIES /VARIABLES=v0 v1 v2.  /* All our categorical variables.
99 @end display
100
101 @cmd{COMMENT} is ignored.  It is used to provide information to
102 the author and other readers of the @pspp{} syntax file.
103
104 @cmd{COMMENT} can extend over any number of lines.  It ends at a dot
105 at the end of a line or a blank line.  The comment may contain any
106 characters.
107
108 PSPP also supports comments within a line of syntax, introduced with
109 @samp{/*}.  These comments end at the first @samp{*/} or at the end of
110 the line, whichever comes first.  A line that contains just this kind
111 of comment is considered blank and ends the current command.
112
113 @node DOCUMENT
114 @section DOCUMENT
115 @vindex DOCUMENT
116
117 @display
118 DOCUMENT @var{documentary_text}.
119 @end display
120
121 @cmd{DOCUMENT} adds one or more lines of descriptive commentary to the
122 active dataset.  Documents added in this way are saved to system files.
123 They can be viewed using @cmd{SYSFILE INFO} or @cmd{DISPLAY
124 DOCUMENTS}.  They can be removed from the active dataset with @cmd{DROP
125 DOCUMENTS}.
126
127 Specify the @var{documentary text} following the @subcmd{DOCUMENT} keyword.
128 It is interpreted literally---any quotes or other punctuation marks
129 will be included in the file.
130 You can extend the documentary text over as many lines as necessary,
131 including blank lines to separate paragraphs.
132 Lines are truncated at 80 bytes.  Don't forget to terminate
133 the command with a dot at the end of a line. @xref{ADD DOCUMENT}.
134
135 @node DISPLAY DOCUMENTS
136 @section DISPLAY DOCUMENTS
137 @vindex DISPLAY DOCUMENTS
138
139 @display
140 DISPLAY DOCUMENTS.
141 @end display
142
143 @cmd{DISPLAY DOCUMENTS} displays the documents in the active dataset.  Each
144 document is preceded by a line giving the time and date that it was
145 added.  @xref{DOCUMENT}.
146
147 @node DISPLAY FILE LABEL
148 @section DISPLAY FILE LABEL
149 @vindex DISPLAY FILE LABEL
150
151 @display
152 DISPLAY FILE LABEL.
153 @end display
154
155 @cmd{DISPLAY FILE LABEL} displays the file label contained in the
156 active dataset,
157 if any.  @xref{FILE LABEL}.
158
159 This command is a @pspp{} extension.
160
161 @node DROP DOCUMENTS
162 @section DROP DOCUMENTS
163 @vindex DROP DOCUMENTS
164
165 @display
166 DROP DOCUMENTS.
167 @end display
168
169 @cmd{DROP DOCUMENTS} removes all documents from the active dataset.
170 New documents can be added with @cmd{DOCUMENT} (@pxref{DOCUMENT}).
171
172 @cmd{DROP DOCUMENTS} changes only the active dataset.  It does not modify any
173 system files stored on disk.
174
175 @node ECHO
176 @section ECHO
177 @vindex ECHO
178
179 @display
180 ECHO 'arbitrary text' .
181 @end display
182
183 Use @cmd{ECHO} to write arbitrary text to the output stream. The text should be enclosed in quotation marks following the normal rules for string tokens (@pxref{Tokens}).
184
185 @node ERASE
186 @section ERASE
187 @vindex ERASE
188
189 @display
190 ERASE FILE @var{file_name}.
191 @end display
192
193 @cmd{ERASE FILE} deletes a file from the local file system.
194 @var{file_name} must be quoted.
195 This command cannot be used if the SAFER (@pxref{SET}) setting is active.
196
197
198 @node EXECUTE
199 @section EXECUTE
200 @vindex EXECUTE
201
202 @display
203 EXECUTE.
204 @end display
205
206 @cmd{EXECUTE} causes the active dataset to be read and all pending
207 transformations to be executed.
208
209 @node FILE LABEL
210 @section FILE LABEL
211 @vindex FILE LABEL
212
213 @display
214 FILE LABEL @var{file_label}.
215 @end display
216
217 @cmd{FILE LABEL} provides a title for the active dataset.  This
218 title will be saved into system files and portable files that are
219 created during this @pspp{} run.
220
221 @var{file_label} should not be quoted.
222 If quotes are included, they are literally interpreted and become part of the file label.
223
224 @node FINISH
225 @section FINISH
226 @vindex FINISH
227
228 @display
229 FINISH.
230 @end display
231
232 @cmd{FINISH} terminates the current @pspp{} session and returns
233 control to the operating system.
234
235 @node HOST
236 @section HOST
237 @vindex HOST
238
239 In the syntax below, the square brackets must be included in the
240 command syntax and do not indicate that that their contents are
241 optional.
242
243 @display
244 HOST COMMAND=['@var{command}'...]
245      TIMELIMIT=@var{secs}.
246 @end display
247
248 @cmd{HOST} executes one or more commands, each provided as a string in
249 the required @subcmd{COMMAND} subcommand, in the shell of the
250 underlying operating system.  PSPP runs each command in a separate
251 shell process and waits for it to finish before running the next one.
252 If a command fails (with a nonzero exit status, or because it is
253 killed by a signal), then PSPP does not run any remaining commands.
254
255 PSPP provides @file{/dev/null} as the shell's standard input.  If a
256 process needs to read from stdin, redirect from a file or device, or
257 use a pipe.
258
259 PSPP displays the shell's standard output and standard error as PSPP
260 output.  Redirect to a file or @code{/dev/null} or another device if
261 this is not desired.
262
263 The following example runs @code{rsync} to copy a file from a remote
264 server to the local file @file{data.txt}, writing @code{rsync}'s own
265 output to @file{rsync-log.txt}.  PSPP displays the command's error
266 output, if any.  If @code{rsync} needs to prompt the user (@i{e.g.}@: to
267 obtain a password), the command fails.  Only if the @code{rsync}
268 succeeds, PSPP then runs the @code{sha512sum} command.
269
270 @example
271 HOST COMMAND=['rsync remote:data.txt data.txt > rsync-log.txt'
272               'sha512sum -c data.txt.sha512sum].
273 @end example
274
275 By default, PSPP waits as long as necessary for the series of commands
276 to complete.  Use the optional @subcmd{TIMELIMIT} subcommand to limit
277 the execution time to the specified number of seconds.
278
279 PSPP built for mingw does not support all the features of
280 @subcmd{HOST}.
281
282 PSPP rejects this command if the SAFER (@pxref{SET}) setting is
283 active.
284
285 @node INCLUDE
286 @section INCLUDE
287 @vindex INCLUDE
288
289 @display
290         INCLUDE [FILE=]'@var{file_name}' [ENCODING='@var{encoding}'].
291 @end display
292
293 @cmd{INCLUDE} causes the @pspp{} command processor to read an
294 additional command file as if it were included bodily in the current
295 command file.
296 If errors are encountered in the included file, then command processing will
297 stop and no more commands will be processed.
298 Include files may be nested to any depth, up to the limit of available
299 memory.
300
301 The @cmd{INSERT} command (@pxref{INSERT}) is a more flexible
302 alternative to @cmd{INCLUDE}.  An @cmd{INCLUDE} command acts the same as
303 @cmd{INSERT} with @subcmd{ERROR=STOP CD=NO SYNTAX=BATCH} specified.
304
305 The optional @subcmd{ENCODING} subcommand has the same meaning as with @cmd{INSERT}.
306
307 @node INSERT
308 @section INSERT
309 @vindex INSERT
310
311 @display
312      INSERT [FILE=]'@var{file_name}'
313         [CD=@{NO,YES@}]
314         [ERROR=@{CONTINUE,STOP@}]
315         [SYNTAX=@{BATCH,INTERACTIVE@}]
316         [ENCODING=@{LOCALE, '@var{charset_name}'@}].
317 @end display
318
319 @cmd{INSERT} is similar to @cmd{INCLUDE} (@pxref{INCLUDE})
320 but somewhat more flexible.
321 It causes the command processor to read a file as if it were embedded in the
322 current command file.
323
324 If @subcmd{CD=YES} is specified, then before including the file, the
325 current directory  will be changed to the directory of the included
326 file.
327 The default setting is @samp{CD=NO}.
328 Note that this directory will remain current until it is
329 changed explicitly (with the @cmd{CD} command, or a subsequent
330 @cmd{INSERT} command with the @samp{CD=YES} option).
331 It will not revert to its original setting even after the included
332 file is finished processing.
333
334 If @subcmd{ERROR=STOP} is specified, errors encountered in the
335 inserted file will cause processing to immediately cease.
336 Otherwise processing will continue at the next command.
337 The default setting is @subcmd{ERROR=CONTINUE}.
338
339 If @subcmd{SYNTAX=INTERACTIVE} is specified then the syntax contained in
340 the included file must conform to interactive syntax
341 conventions. @xref{Syntax Variants}.
342 The default setting is @subcmd{SYNTAX=BATCH}.
343
344 @subcmd{ENCODING} optionally specifies the character set used by the included
345 file.  Its argument, which is not case-sensitive, must be in one of
346 the following forms:
347
348 @table @asis
349 @item @subcmd{LOCALE}
350 The encoding used by the system locale, or as overridden by the
351 @cmd{SET} command (@pxref{SET}).  On GNU/Linux and other Unix-like systems,
352 environment variables, @i{e.g.}@: @env{LANG} or @env{LC_ALL}, determine the
353 system locale.
354
355 @item @var{charset_name}
356 One of the character set names listed by @acronym{IANA} at
357 @uref{http://www.iana.org/assignments/character-sets}.  Some examples
358 are @code{ASCII} (United States), @code{ISO-8859-1} (western Europe),
359 @code{EUC-JP} (Japan), and @code{windows-1252} (Windows).  Not all
360 systems support all character sets.
361
362 @item @code{Auto,@var{encoding}}
363 Automatically detects whether a syntax file is encoded in an Unicode
364 encoding such as UTF-8, UTF-16, or UTF-32.  If it is not, then @pspp{}
365 generally assumes that the file is encoded in @var{encoding} (an @acronym{IANA}
366 character set name).  However, if @var{encoding} is UTF-8, and the
367 syntax file is not valid UTF-8, @pspp{} instead assumes that the file
368 is encoded in @code{windows-1252}.
369
370 For best results, @var{encoding} should be an @acronym{ASCII}-compatible
371 encoding (the most common locale encodings are all @acronym{ASCII}-compatible),
372 because encodings that are not @acronym{ASCII} compatible cannot be
373 automatically distinguished from UTF-8.
374
375 @item @code{Auto}
376 @item @code{Auto,Locale}
377 Automatic detection, as above, with the default encoding taken from
378 the system locale or the setting on @subcmd{SET LOCALE}.
379 @end table
380
381 When ENCODING is not specified, the default is taken from the
382 @option{--syntax-encoding} command option, if it was specified, and
383 otherwise it is @code{Auto}.
384
385 @node OUTPUT
386 @section OUTPUT
387 @vindex OUTPUT
388 @cindex precision, of output
389 @cindex decimal places
390
391 @display
392 OUTPUT MODIFY
393        /SELECT TABLES
394        /TABLECELLS SELECT = [ @var{class}... ]
395                    FORMAT = @var{fmt_spec}.
396 @end display
397 @note{In the above synopsis the characters @samp{[} and @samp{]} are literals.
398 They must appear in the syntax to be interpreted.}
399
400 @cmd{OUTPUT} changes the appearance of the tables in which results are printed.
401 In particular, it can be used to set the format and precision to which results are displayed.
402
403 After running this command, the default table appearance parameters will have been modified and  each
404 new output table generated will use the new parameters.
405
406 Following @code{/TABLECELLS SELECT =} a list of cell classes must appear, enclosed in square
407 brackets.  This list determines the classes of values should be selected for modification.
408 Each class can be:
409
410 @table @asis
411 @item RESIDUAL
412 Residual values.  Default: @t{F40.2}.
413
414 @item CORRELATION
415 Correlations.  Default: @t{F40.3}.
416
417 @item PERCENT
418 Percentages.  Default: @t{PCT40.1}.
419
420 @item SIGNIFICANCE
421 Significance of tests (p-values).  Default: @t{F40.3}.
422
423 @item COUNT
424 Counts or sums of weights.  For a weighted data set, the default is
425 the weight variable's print format.  For an unweighted data set, the
426 default is F40.0.
427 @end table
428
429 For most other numeric values that appear in tables, @code{SET FORMAT}
430 may be used to specify the format (@pxref{SET FORMAT}).
431
432 The value of @var{fmt_spec} must be a valid output format (@pxref{Input and Output Formats}).
433 Note that not all possible formats are meaningful for all classes.
434
435 @node PERMISSIONS
436 @section PERMISSIONS
437 @vindex PERMISSIONS
438 @cindex mode
439 @cindex file mode
440 @cindex changing file permissions
441
442 @display
443 PERMISSIONS
444         FILE='@var{file_name}'
445         /PERMISSIONS = @{READONLY,WRITEABLE@}.
446 @end display
447
448 @cmd{PERMISSIONS} changes the permissions of a file.
449 There is one mandatory subcommand which specifies the permissions to
450 which the file should be changed.
451 If you set a file's  permission  to @subcmd{READONLY}, then the file will become
452 unwritable either by you or anyone else on the system.
453 If you set the permission to @subcmd{WRITEABLE}, then the file will become
454 writeable by you; the permissions afforded to others will be
455 unchanged.
456 This command cannot be used if the @subcmd{SAFER} (@pxref{SET}) setting is active.
457
458
459 @node PRESERVE and RESTORE
460 @section PRESERVE and RESTORE
461 @vindex PRESERVE
462 @vindex RESTORE
463
464 @display
465 PRESERVE.
466 @dots{}
467 RESTORE.
468 @end display
469
470 @cmd{PRESERVE} saves all of the settings that @cmd{SET} (@pxref{SET})
471 can adjust.  A later @cmd{RESTORE} command restores those settings.
472
473 @cmd{PRESERVE} can be nested up to five levels deep.
474
475 @node SET
476 @section SET
477 @vindex SET
478
479 @display
480 SET
481
482 (data input)
483         /BLANKS=@{SYSMIS,'.',number@}
484         /DECIMAL=@{DOT,COMMA@}
485         /FORMAT=@var{fmt_spec}
486         /EPOCH=@{AUTOMATIC,@var{year}@}
487         /RIB=@{NATIVE,MSBFIRST,LSBFIRST,VAX@}
488         /RRB=@{NATIVE,ISL,ISB,IDL,IDB,VF,VD,VG,ZS,ZL@}
489
490 (interaction)
491         /MXERRS=@var{max_errs}
492         /MXWARNS=@var{max_warnings}
493         /WORKSPACE=@var{workspace_size}
494
495 (syntax execution)
496         /LOCALE='@var{locale}'
497         /MEXPAND=@{ON,OFF@}
498         /MITERATE=@var{max_iterations}
499         /MNEST=@var{max_nest}
500         /MPRINT=@{ON,OFF@}
501         /MXLOOPS=@var{max_loops}
502         /SEED=@{RANDOM,@var{seed_value}@}
503         /UNDEFINED=@{WARN,NOWARN@}
504         /FUZZBITS=@var{fuzzbits}
505
506 (data output)
507         /CC@{A,B,C,D,E@}=@{'@var{npre},@var{pre},@var{suf},@var{nsuf}','@var{npre}.@var{pre}.@var{suf}.@var{nsuf}'@}
508         /DECIMAL=@{DOT,COMMA@}
509         /FORMAT=@var{fmt_spec}
510         /WIB=@{NATIVE,MSBFIRST,LSBFIRST,VAX@}
511         /WRB=@{NATIVE,ISL,ISB,IDL,IDB,VF,VD,VG,ZS,ZL@}
512
513 (output routing)
514         /ERRORS=@{ON,OFF,TERMINAL,LISTING,BOTH,NONE@}
515         /MESSAGES=@{ON,OFF,TERMINAL,LISTING,BOTH,NONE@}
516         /PRINTBACK=@{ON,OFF,TERMINAL,LISTING,BOTH,NONE@}
517         /RESULTS=@{ON,OFF,TERMINAL,LISTING,BOTH,NONE@}
518
519 (output driver options)
520         /HEADERS=@{NO,YES,BLANK@}
521         /LENGTH=@{NONE,@var{n_lines}@}
522         /WIDTH=@{NARROW,WIDTH,@var{n_characters}@}
523         /TNUMBERS=@{VALUES,LABELS,BOTH@}
524         /TVARS=@{NAMES,LABELS,BOTH@}
525
526 (logging)
527         /JOURNAL=@{ON,OFF@} ['@var{file_name}']
528
529 (system files)
530         /COMPRESSION=@{ON,OFF@}
531         /SCOMPRESSION=@{ON,OFF@}
532
533 (miscellaneous)
534         /SAFER=ON
535         /LOCALE='@var{string}'
536
537
538 (obsolete settings accepted for compatibility, but ignored)
539         /BOXSTRING=@{'@var{xxx}','@var{xxxxxxxxxxx}'@}
540         /CASE=@{UPPER,UPLOW@}
541         /CPI=cpi_value
542         /HIGHRES=@{ON,OFF@}
543         /HISTOGRAM='@var{c}'
544         /LOWRES=@{AUTO,ON,OFF@}
545         /LPI=@var{lpi_value}
546         /MENUS=@{STANDARD,EXTENDED@}
547         /MXMEMORY=@var{max_memory}
548         /SCRIPTTAB='c'
549         /TB1=@{'@var{xxx}','@var{xxxxxxxxxxx}'@}
550         /TBFONTS='@var{string}'
551         /XSORT=@{YES,NO@}
552 @end display
553
554 @cmd{SET} allows the user to adjust several parameters relating to
555 @pspp{}'s execution.  Since there are many subcommands to this command, its
556 subcommands will be examined in groups.
557
558 For subcommands that take boolean values, @subcmd{ON} and @subcmd{YES} are synonymous,
559 as are @subcmd{OFF} and @subcmd{NO}, when used as subcommand values.
560
561 The data input subcommands affect the way that data is read from data
562 files.  The data input subcommands are
563
564 @table @asis
565 @item BLANKS
566 @anchor{SET BLANKS}
567 This is the value assigned to an item data item that is empty or
568 contains only white space.  An argument of SYSMIS or '.' will cause the
569 system-missing value to be assigned to null items.  This is the
570 default.  Any real value may be assigned.
571
572 @item DECIMAL
573 @anchor{SET DECIMAL}
574 This value may be set to @subcmd{DOT} or @subcmd{COMMA}.
575 Setting it to @subcmd{DOT} causes the decimal point character to be
576 @samp{.} and the grouping character to be @samp{,}.
577 Setting it to @subcmd{COMMA}
578 causes the decimal point character to be @samp{,} and the grouping
579 character to be @samp{.}.
580 If the setting is @subcmd{COMMA}, then @samp{,} will not be treated
581 as a field separator in the @cmd{DATA LIST} command (@pxref{DATA LIST}).
582 The default value is determined from the system locale.
583
584 @item FORMAT
585 @anchor{SET FORMAT}
586 Allows the default numeric input/output format to be specified.  The
587 default is F8.2.  @xref{Input and Output Formats}.
588
589 @item EPOCH
590 @anchor{SET EPOCH}
591 Specifies the range of years used when a 2-digit year is read from a
592 data file or used in a date construction expression (@pxref{Date
593 Construction}).  If a 4-digit year is specified for the epoch, then
594 2-digit years are interpreted starting from that year, known as the
595 epoch.  If @subcmd{AUTOMATIC} (the default) is specified, then the epoch begins
596 69 years before the current date.
597
598 @item RIB
599 @anchor{SET RIB}
600
601 @pspp{} extension to set the byte ordering (endianness) used for reading
602 data in IB or PIB format (@pxref{Binary and Hexadecimal Numeric
603 Formats}).  In @subcmd{MSBFIRST} ordering, the most-significant byte appears at
604 the left end of a IB or PIB field.  In @subcmd{LSBFIRST} ordering, the
605 least-significant byte appears at the left end.  @subcmd{VAX} ordering is like
606 @subcmd{MSBFIRST}, except that each pair of bytes is in reverse order.  @subcmd{NATIVE},
607 the default, is equivalent to @subcmd{MSBFIRST} or @subcmd{LSBFIRST} depending on the
608 native format of the machine running @pspp{}.
609
610 @item RRB
611 @anchor{SET RRB}
612
613 @pspp{} extension to set the floating-point format used for reading data in
614 RB format (@pxref{Binary and Hexadecimal Numeric Formats}).  The
615 possibilities are:
616
617 @table @asis
618 @item NATIVE
619 The native format of the machine running @pspp{}.  Equivalent to either IDL
620 or IDB.
621
622 @item ISL
623 32-bit IEEE 754 single-precision floating point, in little-endian byte
624 order.
625
626 @item ISB
627 32-bit IEEE 754 single-precision floating point, in big-endian byte
628 order.
629
630 @item IDL
631 64-bit IEEE 754 double-precision floating point, in little-endian byte
632 order.
633
634 @item IDB
635 64-bit IEEE 754 double-precision floating point, in big-endian byte
636 order.
637
638 @item VF
639 32-bit VAX F format, in VAX-endian byte order.
640
641 @item VD
642 64-bit VAX D format, in VAX-endian byte order.
643
644 @item VG
645 64-bit VAX G format, in VAX-endian byte order.
646
647 @item ZS
648 32-bit IBM Z architecture short format hexadecimal floating point, in
649 big-endian byte order.
650
651 @item ZL
652 64-bit IBM Z architecture long format hexadecimal floating point, in
653 big-endian byte order.
654
655 Z architecture also supports IEEE 754 floating point.  The ZS and ZL
656 formats are only for use with very old input files.
657 @end table
658 The default is NATIVE.
659 @end table
660
661 Interaction subcommands affect the way that @pspp{} interacts with an
662 online user.  The interaction subcommands are
663
664 @table @asis
665 @item MXERRS
666 The maximum number of errors before @pspp{} halts processing of the current
667 command file.  The default is 50.
668
669 @item MXWARNS
670 The maximum number of warnings + errors before @pspp{} halts processing the
671 current command file.
672 The special value of zero means that all warning situations should be ignored.
673 No warnings will be issued, except a single initial warning advising the user
674 that warnings will not be given.
675 The default value is 100.
676 @end table
677
678 Syntax execution subcommands control the way that @pspp{} commands
679 execute.  The syntax execution subcommands are
680
681 @table @asis
682 @item LOCALE
683 Overrides the system locale for the purpose of reading and writing
684 syntax and data files.  The argument should be a locale name in the
685 general form @code{@var{language}_@var{country}.@var{encoding}}, where @var{language}
686 and @var{country} are 2-character language and country abbreviations,
687 respectively, and @var{encoding} is an @acronym{IANA} character set name.
688 Example locales are @code{en_US.UTF-8} (UTF-8 encoded English as
689 spoken in the United States) and @code{ja_JP.EUC-JP} (EUC-JP encoded
690 Japanese as spoken in Japan).
691
692 @item MEXPAND
693 @itemx MITERATE
694 @itemx MNEST
695 @itemx MPRINT
696 Currently not used.
697
698 @item MXLOOPS
699 The maximum number of iterations for an uncontrolled loop (@pxref{LOOP}).
700 The default @var{max_loops} is 40.
701
702 @item SEED
703 The initial pseudo-random number seed.  Set to a real number or to
704 RANDOM, which will obtain an initial seed from the current time of day.
705
706 @item UNDEFINED
707 Currently not used.
708
709 @item FUZZBITS
710 @anchor{SET FUZZBITS}
711 The maximum number of bits of errors in the least-significant places
712 to accept for rounding up a value that is almost halfway between two
713 possibilities for rounding with the RND operator (@pxref{Miscellaneous
714 Mathematics}).  The default @var{fuzzbits} is 6.
715
716 @item WORKSPACE
717 The maximum amount of memory (in kilobytes) that @pspp{} will use to store data being processed.
718 If memory in excess of the workspace size is required, then @pspp{} will start
719 to use temporary files to store the data.
720 Setting a higher value will, in general, mean procedures will run faster,
721 but may cause other applications to run slower.
722 On platforms without virtual memory management, setting a very large workspace
723 may cause @pspp{} to abort.
724 @cindex workspace
725 @cindex memory, amount used to store cases
726 @end table
727
728 Data output subcommands affect the format of output data.  These
729 subcommands are
730
731 @table @asis
732 @item CCA
733 @itemx CCB
734 @itemx CCC
735 @itemx CCD
736 @itemx CCE
737 @anchor{CCx Settings}
738
739 Set up custom currency formats.  @xref{Custom Currency Formats}, for
740 details.
741
742 @item DECIMAL
743 The default @subcmd{DOT} setting causes the decimal point character to be
744 @samp{.}.  A setting of @subcmd{COMMA} causes the decimal point character to be
745 @samp{,}.
746
747 @item FORMAT
748 Allows the default numeric input/output format to be specified.  The
749 default is F8.2.  @xref{Input and Output Formats}.
750
751 @item WIB
752 @anchor{SET WIB}
753
754 @pspp{} extension to set the byte ordering (endianness) used for writing
755 data in IB or PIB format (@pxref{Binary and Hexadecimal Numeric
756 Formats}).  In @subcmd{MSBFIRST} ordering, the most-significant byte appears at
757 the left end of a IB or PIB field.  In @subcmd{LSBFIRST} ordering, the
758 least-significant byte appears at the left end.  @subcmd{VAX} ordering is like
759 @subcmd{MSBFIRST}, except that each pair of bytes is in reverse order.  @subcmd{NATIVE},
760 the default, is equivalent to @subcmd{MSBFIRST} or @subcmd{LSBFIRST} depending on the
761 native format of the machine running @pspp{}.
762
763 @item WRB
764 @anchor{SET WRB}
765
766 @pspp{} extension to set the floating-point format used for writing data in
767 RB format (@pxref{Binary and Hexadecimal Numeric Formats}).  The choices
768 are the same as @subcmd{SET RIB}.  The default is @subcmd{NATIVE}.
769 @end table
770
771 In the @pspp{} text-based interface, the output routing subcommands
772 affect where output is sent.  The following values are allowed for
773 each of these subcommands:
774
775 @table @asis
776 @item OFF
777 @item NONE
778 Discard this kind of output.
779
780 @item TERMINAL
781 Write this output to the terminal, but not to listing files and other
782 output devices.
783
784 @item LISTING
785 Write this output to listing files and other output devices, but not
786 to the terminal.
787
788 @item ON
789 @itemx BOTH
790 Write this type of output to all output devices.
791 @end table
792
793 These output routing subcommands are:
794
795 @table @asis
796 @item ERRORS
797 Applies to error and warning messages.  The default is @subcmd{BOTH}.
798
799 @item MESSAGES
800 Applies to notes.  The default is @subcmd{BOTH}.
801
802 @item PRINTBACK
803 Determines whether the syntax used for input is printed back as part
804 of the output.  The default is @subcmd{NONE}.
805
806 @item RESULTS
807 Applies to everything not in one of the above categories, such as the
808 results of statistical procedures.  The default is @subcmd{BOTH}.
809 @end table
810
811 These subcommands have no effect on output in the @pspp{} GUI
812 environment.
813
814 Output driver option subcommands affect output drivers' settings.  These
815 subcommands are
816
817 @table @asis
818 @item HEADERS
819 @itemx LENGTH
820 @itemx WIDTH
821 @itemx TNUMBERS
822 The @subcmd{TNUMBERS} option sets the way in which values are displayed in output tables.
823 The valid settings are @subcmd{VALUES}, @subcmd{LABELS} and @subcmd{BOTH}.
824 If @subcmd{TNUMBERS} is set to @subcmd{VALUES}, then all values are displayed with their literal value
825 (which for a numeric value is a number and for a string value an alphanumeric string).
826 If @subcmd{TNUMBERS} is set to @subcmd{LABELS}, then values are displayed using their assigned labels if any.
827 (@xref{VALUE LABELS}.)
828 If the a value has no label, then it will be displayed using its literal value.
829 If @subcmd{TNUMBERS} is set to @subcmd{BOTH}, then values will be displayed with both their label
830 (if any) and their literal value in parentheses.
831 @item TVARS
832 The @subcmd{TVARS} option sets the way in which variables are displayed in output tables.
833 The valid settings are @subcmd{NAMES}, @subcmd{LABELS} and @subcmd{BOTH}.
834 If @subcmd{TVARS} is set to @subcmd{NAMES}, then all variables are displayed using their names.
835 If @subcmd{TVARS} is set to @subcmd{LABELS}, then variables are displayed using their label if one
836 has been set.  If no label has been set, then the name will be used.
837 (@xref{VARIABLE LABELS}.)
838 If @subcmd{TVARS} is set to @subcmd{BOTH}, then variables will be displayed with both their label
839 (if any) and their name in parentheses.
840 @end table
841
842 @cindex headers
843 @cindex length
844 @cindex pager
845 @cindex width
846 @cindex tnumbers
847
848
849 Logging subcommands affect logging of commands executed to external
850 files.  These subcommands are
851
852 @table @asis
853 @item JOURNAL
854 @itemx LOG
855 These subcommands, which are synonyms, control the journal.  The
856 default is @subcmd{ON}, which causes commands entered interactively to be
857 written to the journal file.  Commands included from syntax files that
858 are included interactively and error messages printed by @pspp{} are also
859 written to the journal file, prefixed by @samp{>}.  @subcmd{OFF} disables use
860 of the journal.
861
862 The journal is named @file{pspp.jnl} by default.  A different name may
863 be specified.
864 @end table
865
866 System file subcommands affect the default format of system files
867 produced by @pspp{}.  These subcommands are
868
869 @table @asis
870 @item COMPRESSION
871 Not currently used.
872
873 @item SCOMPRESSION
874 Whether system files created by @cmd{SAVE} or @cmd{XSAVE} are
875 compressed by default.  The default is @subcmd{ON}.
876 @end table
877
878 Security subcommands affect the operations that commands are allowed to
879 perform.  The security subcommands are
880
881 @table @asis
882 @item SAFER
883 Setting this option disables the following operations:
884
885 @itemize @bullet
886 @item
887 The @cmd{ERASE} command.
888 @item
889 The @cmd{HOST} command.
890 @item
891 The @cmd{PERMISSIONS} command.
892 @item
893 Pipes (file names beginning or ending with @samp{|}).
894 @end itemize
895
896 Be aware that this setting does not guarantee safety (commands can still
897 overwrite files, for instance) but it is an improvement.
898 When set, this setting cannot be reset during the same session, for
899 obvious security reasons.
900
901 @item LOCALE
902 @cindex locale
903 @cindex encoding, characters
904 This item is used to set the default character encoding.
905 The encoding may be specified either as an encoding name or alias
906 (see @url{http://www.iana.org/assignments/character-sets}), or
907 as a locale name.
908 If given as a locale name, only the character encoding of the
909 locale is relevant.
910
911 System files written by @pspp{} will use this encoding.
912 System files read by @pspp{}, for which the encoding is unknown, will be
913 interpreted using this encoding.
914
915 The full list of valid encodings and locale names/alias are operating system
916 dependent.
917 The following are all examples of acceptable syntax on common GNU/Linux
918 systems.
919 @example
920 SET LOCALE='iso-8859-1'.
921
922 SET LOCALE='ru_RU.cp1251'.
923
924 SET LOCALE='japanese'.
925 @end example
926
927 Contrary to intuition, this command does not affect any aspect
928 of the system's locale.
929 @end table
930
931 @node SHOW
932 @section SHOW
933 @vindex SHOW
934
935 @display
936 SHOW
937         [ALL]
938         [BLANKS]
939         [CC]
940         [CCA]
941         [CCB]
942         [CCC]
943         [CCD]
944         [CCE]
945         [COPYING]
946         [DECIMALS]
947         [DIRECTORY]
948         [ENVIRONMENT]
949         [FORMAT]
950         [FUZZBITS]
951         [LENGTH]
952         [MXERRS]
953         [MXLOOPS]
954         [MXWARNS]
955         [N]
956         [SCOMPRESSION]
957         [TEMPDIR]
958         [UNDEFINED]
959         [VERSION]
960         [WARRANTY]
961         [WEIGHT]
962         [WIDTH]
963 @end display
964
965 @cmd{SHOW} can be used to display the current state of @pspp{}'s execution
966 parameters.  Parameters that can be changed using @cmd{SET}
967 (@pxref{SET}), can be examined using @cmd{SHOW} using the subcommand
968 with the same name.  @cmd{SHOW} supports the following additional
969 subcommands:
970
971 @table @asis
972 @item @subcmd{ALL}
973 Show all settings.
974 @item @subcmd{CC}
975 Show all custom currency settings (@subcmd{CCA} through @subcmd{CCE}).
976 @item @subcmd{DIRECTORY}
977 Shows the current working directory.
978 @item @subcmd{ENVIRONMENT}
979 Shows the operating system details.
980 @item @subcmd{N}
981 Reports the number of cases in the active dataset.  The reported number is not
982 weighted.  If no dataset is defined, then @samp{Unknown} will be reported.
983 @item @subcmd{TEMPDIR}
984 Shows the path of the directory where temporary files will be stored.
985 @item @subcmd{VERSION}
986 Shows the version of this installation of @pspp{}.
987 @item @subcmd{WARRANTY}
988 Show details of the lack of warranty for @pspp{}.
989 @item @subcmd{COPYING} / @subcmd{LICENSE}
990 Display the terms of @pspp{}'s copyright licence (@pxref{License}).
991 @end table
992
993 Specifying @cmd{SHOW} without any subcommands is equivalent to @subcmd{SHOW ALL}.
994
995 @node SUBTITLE
996 @section SUBTITLE
997 @vindex SUBTITLE
998
999 @display
1000 SUBTITLE '@var{subtitle_string}'.
1001   or
1002 SUBTITLE @var{subtitle_string}.
1003 @end display
1004
1005 @cmd{SUBTITLE} provides a subtitle to a particular @pspp{}
1006 run.  This subtitle appears at the top of each output page below the
1007 title, if headers are enabled on the output device.
1008
1009 Specify a subtitle as a string in quotes.  The alternate syntax that did
1010 not require quotes is now obsolete.  If it is used then the subtitle is
1011 converted to all uppercase.
1012
1013 @node TITLE
1014 @section TITLE
1015 @vindex TITLE
1016
1017 @display
1018 TITLE '@var{title_string}'.
1019   or
1020 TITLE @var{title_string}.
1021 @end display
1022
1023 @cmd{TITLE} provides a title to a particular @pspp{} run.
1024 This title appears at the top of each output page, if headers are enabled
1025 on the output device.
1026
1027 Specify a title as a string in quotes.  The alternate syntax that did
1028 not require quotes is now obsolete.  If it is used then the title is
1029 converted to all uppercase.