Utilities
*********

Commands that don't fit any other category are placed here.

Most of these commands are not affected by commands like IF and LOOP: they take effect only once, unconditionally, at the time that they are encountered in the input.

ADD DOCUMENT
============

     ADD DOCUMENT
         'line one' 'line two' ... 'last line' .

ADD DOCUMENT adds one or more lines of descriptive commentary to the active dataset.  Documents added in this way are saved to system files. They can be viewed using SYSFILE INFO or DISPLAY DOCUMENTS.  They can be removed from the active dataset with DROP DOCUMENTS.

Each line of documentary text must be enclosed in quotation marks, and may not be more than 80 bytes long. See DOCUMENT.

CACHE
=====

     CACHE.

This command is accepted, for compatibility, but it has no effect.

CD
==

     CD 'new directory' .

CD changes the current directory.  The new directory becomes that specified by the command.

COMMENT
=======

     Comment commands:
         COMMENT comment text ... .
         *comment text ... .

     Comments within a line of syntax:
         FREQUENCIES /VARIABLES=v0 v1 v2.  /* All our categorical variables.

COMMENT is ignored.  It is used to provide information to the author and other readers of the pspp syntax file.

COMMENT can extend over any number of lines.  It ends at a dot at the end of a line or a blank line.  The comment may contain any characters.

PSPP also supports comments within a line of syntax, introduced with /*.  These comments end at the first */ or at the end of the line, whichever comes first.  A line that contains just this kind of comment is considered blank and ends the current command.

DOCUMENT
========

     DOCUMENT DOCUMENTARY_TEXT.

DOCUMENT adds one or more lines of descriptive commentary to the active dataset.  Documents added in this way are saved to system files. They can be viewed using SYSFILE INFO or DISPLAY DOCUMENTS.  They can be removed from the active dataset with DROP DOCUMENTS.

Specify the DOCUMENTARY TEXT following the DOCUMENT keyword. It is interpreted literally---any quotes or other punctuation marks are included in the file. You can extend the documentary text over as many lines as necessary, including blank lines to separate paragraphs. Lines are truncated at 80 bytes.  Don't forget to terminate the command with a dot at the end of a line. See ADD DOCUMENT.

DISPLAY DOCUMENTS
=================

     DISPLAY DOCUMENTS.

DISPLAY DOCUMENTS displays the documents in the active dataset.  Each document is preceded by a line giving the time and date that it was added.  See DOCUMENT.

DISPLAY FILE LABEL
==================

     DISPLAY FILE LABEL.

DISPLAY FILE LABEL displays the file label contained in the active dataset, if any.  See FILE LABEL.

This command is a pspp extension.

DROP DOCUMENTS
==============

     DROP DOCUMENTS.

DROP DOCUMENTS removes all documents from the active dataset. New documents can be added with DOCUMENT (see DOCUMENT).

DROP DOCUMENTS changes only the active dataset.  It does not modify any system files stored on disk.

ECHO
====

     ECHO 'arbitrary text' .

Use ECHO to write arbitrary text to the output stream. The text should be enclosed in quotation marks following the normal rules for string tokens (see Tokens).

ERASE
=====

     ERASE FILE FILE_NAME.

ERASE FILE deletes a file from the local file system. FILE_NAME must be quoted. This command cannot be used if the SAFER (see SET) setting is active.

EXECUTE
=======

     EXECUTE.

EXECUTE causes the active dataset to be read and all pending transformations to be executed.

FILE LABEL
==========

     FILE LABEL FILE_LABEL.

FILE LABEL provides a title for the active dataset.  This title is saved into system files and portable files that are created during this pspp run.

FILE_LABEL should not be quoted. If quotes are included, they are literally interpreted and become part of the file label.

FINISH
======

     FINISH.

FINISH terminates the current pspp session and returns control to the operating system.

HOST
====

In the syntax below, the square brackets must be included in the command syntax and do not indicate that that their contents are optional.

     HOST COMMAND=['COMMAND'...]
          TIMELIMIT=SECS.

HOST executes one or more commands, each provided as a string in the required COMMAND subcommand, in the shell of the underlying operating system.  PSPP runs each command in a separate shell process and waits for it to finish before running the next one. If a command fails (with a nonzero exit status, or because it is killed by a signal), then PSPP does not run any remaining commands.

PSPP provides /dev/null as the shell's standard input.  If a process needs to read from stdin, redirect from a file or device, or use a pipe.

PSPP displays the shell's standard output and standard error as PSPP output.  Redirect to a file or /dev/null or another device if this is not desired.

The following example runs rsync to copy a file from a remote server to the local file data.txt, writing rsync's own output to rsync-log.txt.  PSPP displays the command's error output, if any.  If rsync needs to prompt the user (e.g. to obtain a password), the command fails.  Only if the rsync succeeds, PSPP then runs the sha512sum command.

     HOST COMMAND=['rsync remote:data.txt data.txt > rsync-log.txt'
                   'sha512sum -c data.txt.sha512sum].

By default, PSPP waits as long as necessary for the series of commands to complete.  Use the optional TIMELIMIT subcommand to limit the execution time to the specified number of seconds.

PSPP built for mingw does not support all the features of HOST.

PSPP rejects this command if the SAFER (see SET) setting is active.

INCLUDE
=======

             INCLUDE [FILE=]'FILE_NAME' [ENCODING='ENCODING'].

INCLUDE causes the pspp command processor to read an additional command file as if it were included bodily in the current command file. If errors are encountered in the included file, then command processing stops and no more commands are processed. Include files may be nested to any depth, up to the limit of available memory.

The INSERT command (see INSERT) is a more flexible alternative to INCLUDE.  An INCLUDE command acts the same as INSERT with ERROR=STOP CD=NO SYNTAX=BATCH specified.

The optional ENCODING subcommand has the same meaning as with INSERT.

INSERT
======

          INSERT [FILE=]'FILE_NAME'
             [CD={NO,YES}]
             [ERROR={CONTINUE,STOP}]
             [SYNTAX={BATCH,INTERACTIVE}]
             [ENCODING={LOCALE, 'CHARSET_NAME'}].

INSERT is similar to INCLUDE (see INCLUDE) but somewhat more flexible. It causes the command processor to read a file as if it were embedded in the current command file.

If CD=YES is specified, then before including the file, the current directory becomes the directory of the included file. The default setting is CD=NO. Note that this directory remains current until it is changed explicitly (with the CD command, or a subsequent INSERT command with the CD=YES option). It does not revert to its original setting even after the included file is finished processing.

If ERROR=STOP is specified, errors encountered in the inserted file causes processing to immediately cease. Otherwise processing continues at the next command. The default setting is ERROR=CONTINUE.

If SYNTAX=INTERACTIVE is specified then the syntax contained in the included file must conform to interactive syntax conventions. See Syntax Variants. The default setting is SYNTAX=BATCH.

ENCODING optionally specifies the character set used by the included file.  Its argument, which is not case-sensitive, must be in one of the following forms:

LOCALE
     The encoding used by the system locale, or as overridden by the SET command (see SET).  On GNU/Linux and other Unix-like systems, environment variables, e.g. LANG or LC_ALL, determine the system locale.

CHARSET_NAME
     One of the character set names listed by IANA at http://www.iana.org/assignments/character-sets.  Some examples are ASCII (United States), ISO-8859-1 (western Europe), EUC-JP (Japan), and windows-1252 (Windows).  Not all systems support all character sets.

Auto,ENCODING
     Automatically detects whether a syntax file is encoded in an Unicode encoding such as UTF-8, UTF-16, or UTF-32.  If it is not, then pspp generally assumes that the file is encoded in ENCODING (an IANA character set name).  However, if ENCODING is UTF-8, and the syntax file is not valid UTF-8, pspp instead assumes that the file is encoded in windows-1252.

     For best results, ENCODING should be an ASCII-compatible encoding (the most common locale encodings are all ASCII-compatible), because encodings that are not ASCII compatible cannot be automatically distinguished from UTF-8.

Auto

Auto,Locale
     Automatic detection, as above, with the default encoding taken from the system locale or the setting on SET LOCALE.

When ENCODING is not specified, the default is taken from the --syntax-encoding command option, if it was specified, and otherwise it is Auto.

OUTPUT
======

     OUTPUT MODIFY
            /SELECT TABLES
            /TABLECELLS SELECT = [ CLASS... ]
                        FORMAT = FMT_SPEC.

In the above synopsis the characters [ and ] are literals. They must appear in the syntax to be interpreted.

OUTPUT changes the appearance of the tables in which results are printed. In particular, it can be used to set the format and precision to which results are displayed.

After running this command, the default table appearance parameters will have been modified and  each new output table generated uses the new parameters.

Following /TABLECELLS SELECT = a list of cell classes must appear, enclosed in square brackets.  This list determines the classes of values should be selected for modification. Each class can be:

RESIDUAL
     Residual values.  Default: F40.2.

CORRELATION
     Correlations.  Default: F40.3.

PERCENT
     Percentages.  Default: PCT40.1.

SIGNIFICANCE
     Significance of tests (p-values).  Default: F40.3.

COUNT
     Counts or sums of weights.  For a weighted data set, the default is the weight variable's print format.  For an unweighted data set, the default is F40.0.

For most other numeric values that appear in tables, SET FORMAT may be used to specify the format (see SET FORMAT).

The value of FMT_SPEC must be a valid output format (see Input and Output Formats). Note that not all possible formats are meaningful for all classes.

PERMISSIONS
===========

     PERMISSIONS
             FILE='FILE_NAME'
             /PERMISSIONS = {READONLY,WRITEABLE}.

PERMISSIONS changes the permissions of a file. There is one mandatory subcommand which specifies the permissions to which the file should be changed. If you set a file's  permission  to READONLY, then the file will become unwritable either by you or anyone else on the system. If you set the permission to WRITEABLE, then the file becomes writeable by you; the permissions afforded to others are unchanged. This command cannot be used if the SAFER (see SET) setting is active.

PRESERVE and RESTORE
====================

     PRESERVE.
     ...
     RESTORE.

PRESERVE saves all of the settings that SET (see SET) can adjust.  A later RESTORE command restores those settings.

PRESERVE can be nested up to five levels deep.

SET
===

     SET

     (data input)
             /BLANKS={SYSMIS,'.',number}
             /DECIMAL={DOT,COMMA}
             /FORMAT=FMT_SPEC
             /EPOCH={AUTOMATIC,YEAR}
             /RIB={NATIVE,MSBFIRST,LSBFIRST,VAX}
             /RRB={NATIVE,ISL,ISB,IDL,IDB,VF,VD,VG,ZS,ZL}

     (interaction)
             /MXERRS=MAX_ERRS
             /MXWARNS=MAX_WARNINGS
             /WORKSPACE=WORKSPACE_SIZE

     (syntax execution)
             /LOCALE='LOCALE'
             /MEXPAND={ON,OFF}
             /MITERATE=MAX_ITERATIONS
             /MNEST=MAX_NEST
             /MPRINT={ON,OFF}
             /MXLOOPS=MAX_LOOPS
             /SEED={RANDOM,SEED_VALUE}
             /UNDEFINED={WARN,NOWARN}
             /FUZZBITS=FUZZBITS

     (data output)
             /CC{A,B,C,D,E}={'NPRE,PRE,SUF,NSUF','NPRE.PRE.SUF.NSUF'}
             /DECIMAL={DOT,COMMA}
             /FORMAT=FMT_SPEC
             /SMALL=NUMBER
             /WIB={NATIVE,MSBFIRST,LSBFIRST,VAX}
             /WRB={NATIVE,ISL,ISB,IDL,IDB,VF,VD,VG,ZS,ZL}

     (output routing)
             /ERRORS={ON,OFF,TERMINAL,LISTING,BOTH,NONE}
             /MESSAGES={ON,OFF,TERMINAL,LISTING,BOTH,NONE}
             /PRINTBACK={ON,OFF,TERMINAL,LISTING,BOTH,NONE}
             /RESULTS={ON,OFF,TERMINAL,LISTING,BOTH,NONE}

     (output driver options)
             /HEADERS={NO,YES,BLANK}
             /LENGTH={NONE,N_LINES}
             /WIDTH={NARROW,WIDTH,N_CHARACTERS}
             /TNUMBERS={VALUES,LABELS,BOTH}
             /TVARS={NAMES,LABELS,BOTH}
             /TLOOK={NONE,FILE}

     (logging)
             /JOURNAL={ON,OFF} ['FILE_NAME']

     (system files)
             /COMPRESSION={ON,OFF}
             /SCOMPRESSION={ON,OFF}

     (miscellaneous)
             /SAFER=ON
             /LOCALE='STRING'

     (obsolete settings accepted for compatibility, but ignored)
             /BOXSTRING={'XXX','XXXXXXXXXXX'}
             /CASE={UPPER,UPLOW}
             /CPI=cpi_value
             /HIGHRES={ON,OFF}
             /HISTOGRAM='C'
             /LOWRES={AUTO,ON,OFF}
             /LPI=LPI_VALUE
             /MENUS={STANDARD,EXTENDED}
             /MXMEMORY=MAX_MEMORY
             /SCRIPTTAB='c'
             /TB1={'XXX','XXXXXXXXXXX'}
             /TBFONTS='STRING'
             /XSORT={YES,NO}

SET allows the user to adjust several parameters relating to pspp's execution.  Since there are many subcommands to this command, its subcommands are examined in groups.

For subcommands that take boolean values, ON and YES are synonymous, as are OFF and NO, when used as subcommand values.

The data input subcommands affect the way that data is read from data files.  The data input subcommands are

BLANKS
     This is the value assigned to an item data item that is empty or contains only white space.  An argument of SYSMIS or '.'  causes the system-missing value to be assigned to null items.  This is the default.  Any real value may be assigned.

DECIMAL
     This value may be set to DOT or COMMA. Setting it to DOT causes the decimal point character to be . and the grouping character to be ,. Setting it to COMMA causes the decimal point character to be , and the grouping character to be .. If the setting is COMMA, then , is not treated as a field separator in the DATA LIST command (see DATA LIST). The default value is determined from the system locale.

FORMAT
     Allows the default numeric input/output format to be specified.  The default is F8.2.  See Input and Output Formats.

EPOCH
     Specifies the range of years used when a 2-digit year is read from a data file or used in a date construction expression (see Date Construction).  If a 4-digit year is specified for the epoch, then 2-digit years are interpreted starting from that year, known as the epoch.  If AUTOMATIC (the default) is specified, then the epoch begins 69 years before the current date.

RIB

     pspp extension to set the byte ordering (endianness) used for reading data in IB or PIB format (see Binary and Hexadecimal Numeric Formats).  In MSBFIRST ordering, the most-significant byte appears at the left end of a IB or PIB field.  In LSBFIRST ordering, the least-significant byte appears at the left end.  VAX ordering is like MSBFIRST, except that each pair of bytes is in reverse order.  NATIVE, the default, is equivalent to MSBFIRST or LSBFIRST depending on the native format of the machine running pspp.

RRB

     pspp extension to set the floating-point format used for reading data in RB format (see Binary and Hexadecimal Numeric Formats).  The possibilities are:

     NATIVE
          The native format of the machine running pspp.  Equivalent to either IDL or IDB.

     ISL
          32-bit IEEE 754 single-precision floating point, in little-endian byte order.

     ISB
          32-bit IEEE 754 single-precision floating point, in big-endian byte order.

     IDL
          64-bit IEEE 754 double-precision floating point, in little-endian byte order.

     IDB
          64-bit IEEE 754 double-precision floating point, in big-endian byte order.

     VF
          32-bit VAX F format, in VAX-endian byte order.

     VD
          64-bit VAX D format, in VAX-endian byte order.

     VG
          64-bit VAX G format, in VAX-endian byte order.

     ZS
          32-bit IBM Z architecture short format hexadecimal floating point, in big-endian byte order.

     ZL
          64-bit IBM Z architecture long format hexadecimal floating point, in big-endian byte order.

          Z architecture also supports IEEE 754 floating point.  The ZS and ZL formats are only for use with very old input files.

     The default is NATIVE.

Interaction subcommands affect the way that pspp interacts with an online user.  The interaction subcommands are

MXERRS
     The maximum number of errors before pspp halts processing of the current command file.  The default is 50.

MXWARNS
     The maximum number of warnings + errors before pspp halts processing the current command file. The special value of zero means that all warning situations should be ignored. No warnings are issued, except a single initial warning advising you that warnings will not be given. The default value is 100.

Syntax execution subcommands control the way that pspp commands execute.  The syntax execution subcommands are

LOCALE
     Overrides the system locale for the purpose of reading and writing syntax and data files.  The argument should be a locale name in the general form LANGUAGE_COUNTRY.ENCODING, where LANGUAGE and COUNTRY are 2-character language and country abbreviations, respectively, and ENCODING is an IANA character set name. Example locales are en_US.UTF-8 (UTF-8 encoded English as spoken in the United States) and ja_JP.EUC-JP (EUC-JP encoded Japanese as spoken in Japan).

MEXPAND
MITERATE
MNEST
MPRINT
     Currently not used.

MXLOOPS
     The maximum number of iterations for an uncontrolled loop (see LOOP). The default MAX_LOOPS is 40.

SEED
     The initial pseudo-random number seed.  Set it to a real number or to RANDOM, to obtain an initial seed from the current time of day.

UNDEFINED
     Currently not used.

FUZZBITS
     The maximum number of bits of errors in the least-significant places to accept for rounding up a value that is almost halfway between two possibilities for rounding with the RND operator (see Miscellaneous Mathematics).  The default FUZZBITS is 6.

WORKSPACE
     The maximum amount of memory (in kilobytes) that pspp uses to store data being processed.  If memory in excess of the workspace size is required, then pspp starts to use temporary files to store the data.   Setting a higher value means that procedures run faster, but may cause other applications to run slower. On platforms without virtual memory management, setting a very large workspace may cause pspp to abort.

Data output subcommands affect the format of output data.  These subcommands are

CCA
CCB
CCC
CCD
CCE

     Set up custom currency formats.  See Custom Currency Formats, for details.

DECIMAL
     The default DOT setting causes the decimal point character to be ..  A setting of COMMA causes the decimal point character to be ,.

FORMAT
     Allows the default numeric input/output format to be specified.  The default is F8.2.  See Input and Output Formats.

SMALL
     This controls how pspp formats small numbers in pivot tables, in cases where pspp does not otherwise have a well-defined format for the numbers.  When such a number has a magnitude less than the value set here, pspp formats the number in scientific notation; otherwise, it formats it in standard notation.  The default is 0.0001. Set a value of 0 to disable scientific notation.

WIB

     pspp extension to set the byte ordering (endianness) used for writing data in IB or PIB format (see Binary and Hexadecimal Numeric Formats).  In MSBFIRST ordering, the most-significant byte appears at the left end of a IB or PIB field.  In LSBFIRST ordering, the least-significant byte appears at the left end.  VAX ordering is like MSBFIRST, except that each pair of bytes is in reverse order.  NATIVE, the default, is equivalent to MSBFIRST or LSBFIRST depending on the native format of the machine running pspp.

WRB

     pspp extension to set the floating-point format used for writing data in RB format (see Binary and Hexadecimal Numeric Formats).  The choices are the same as SET RIB.  The default is NATIVE.

In the pspp text-based interface, the output routing subcommands affect where output is sent.  The following values are allowed for each of these subcommands:

OFF

NONE
     Discard this kind of output.

TERMINAL
     Write this output to the terminal, but not to listing files and other output devices.

LISTING
     Write this output to listing files and other output devices, but not to the terminal.

ON
BOTH
     Write this type of output to all output devices.

These output routing subcommands are:

ERRORS
     Applies to error and warning messages.  The default is BOTH.

MESSAGES
     Applies to notes.  The default is BOTH.

PRINTBACK
     Determines whether the syntax used for input is printed back as part of the output.  The default is NONE.

RESULTS
     Applies to everything not in one of the above categories, such as the results of statistical procedures.  The default is BOTH.

These subcommands have no effect on output in the pspp GUI environment.

Output driver option subcommands affect output drivers' settings.  These subcommands are

HEADERS
LENGTH
WIDTH
TNUMBERS
     The TNUMBERS option sets the way in which values are displayed in output tables. The valid settings are VALUES, LABELS and BOTH. If TNUMBERS is set to VALUES, then all values are displayed with their literal value (which for a numeric value is a number and for a string value an alphanumeric string). If TNUMBERS is set to LABELS, then values are displayed using their assigned labels if any. (see VALUE LABELS.) If the value has no label, then the literal value is used for display. If TNUMBERS is set to BOTH, then values are displayed with both their label (if any) and their literal value in parentheses.

TVARS
     The TVARS option sets the way in which variables are displayed in output tables. The valid settings are NAMES, LABELS and BOTH. If TVARS is set to NAMES, then all variables are displayed using their names. If TVARS is set to LABELS, then variables are displayed using their label if one has been set.  If no label has been set, then the name is used. (see VARIABLE LABELS.) If TVARS is set to BOTH, then variables are displayed with both their label (if any) and their name in parentheses.

TLOOK
     The TLOOK option sets the style used for subsequent table output.  Specifying NONE makes pspp use the default built-in style.  Otherwise, specifying FILE makes pspp search for an .stt or .tlo file in the same way as specifying --table-look=FILE the pspp command line (see Main Options).

Logging subcommands affect logging of commands executed to external files.  These subcommands are

JOURNAL
LOG
     These subcommands, which are synonyms, control the journal.  The default is ON, which causes commands entered interactively to be written to the journal file.  Commands included from syntax files that are included interactively and error messages printed by pspp are also written to the journal file, prefixed by >.  OFF disables use of the journal.

     The journal is named pspp.jnl by default.  A different name may be specified.

System file subcommands affect the default format of system files produced by pspp.  These subcommands are

COMPRESSION
     Not currently used.

SCOMPRESSION
     Whether system files created by SAVE or XSAVE are compressed by default.  The default is ON.

Security subcommands affect the operations that commands are allowed to perform.  The security subcommands are

SAFER
     Setting this option disables the following operations:

       * The ERASE command.

       * The HOST command.

       * The PERMISSIONS command.

       * Pipes (file names beginning or ending with |).

     Be aware that this setting does not guarantee safety (commands can still overwrite files, for instance) but it is an improvement. When set, this setting cannot be reset during the same session, for obvious security reasons.

LOCALE
     This item is used to set the default character encoding. The encoding may be specified either as an encoding name or alias (see http://www.iana.org/assignments/character-sets), or as a locale name. If given as a locale name, only the character encoding of the locale is relevant.

     System files written by pspp use this encoding. System files read by pspp, for which the encoding is unknown, are interpreted using this encoding.

     The full list of valid encodings and locale names/alias are operating system dependent. The following are all examples of acceptable syntax on common GNU/Linux systems.

          SET LOCALE='iso-8859-1'.

          SET LOCALE='ru_RU.cp1251'.

          SET LOCALE='japanese'.

     Contrary to intuition, this command does not affect any aspect of the system's locale.

SHOW
====

     SHOW
             [ALL]
             [BLANKS]
             [CC]
             [CCA]
             [CCB]
             [CCC]
             [CCD]
             [CCE]
             [COPYING]
             [DECIMALS]
             [DIRECTORY]
             [ENVIRONMENT]
             [FORMAT]
             [FUZZBITS]
             [LENGTH]
             [MXERRS]
             [MXLOOPS]
             [MXWARNS]
             [N]
             [SCOMPRESSION]
             [TEMPDIR]
             [UNDEFINED]
             [VERSION]
             [WARRANTY]
             [WEIGHT]
             [WIDTH]

SHOW can be used to display the current state of pspp's execution parameters.  Parameters that can be changed using SET (see SET), can be examined using SHOW using the subcommand with the same name.  SHOW supports the following additional subcommands:

ALL
     Show all settings.

CC
     Show all custom currency settings (CCA through CCE).

DIRECTORY
     Shows the current working directory.

ENVIRONMENT
     Shows the operating system details.

N
     Reports the number of cases in the active dataset.  The reported number is not weighted.  If no dataset is defined, then Unknown is reported.

TEMPDIR
     Shows the path of the directory where temporary files are stored.

VERSION
     Shows the version of this installation of pspp.

WARRANTY
     Show details of the lack of warranty for pspp.

COPYING / LICENSE
     Display the terms of pspp's copyright licence (see License).

Specifying SHOW without any subcommands is equivalent to SHOW ALL.

SUBTITLE
========

     SUBTITLE 'SUBTITLE_STRING'.
       or
     SUBTITLE SUBTITLE_STRING.

SUBTITLE provides a subtitle to a particular pspp run.  This subtitle appears at the top of each output page below the title, if headers are enabled on the output device.

Specify a subtitle as a string in quotes.  The alternate syntax that did not require quotes is now obsolete.  If it is used then the subtitle is converted to all uppercase.

TITLE
=====

     TITLE 'TITLE_STRING'.
       or
     TITLE TITLE_STRING.

TITLE provides a title to a particular pspp run. This title appears at the top of each output page, if headers are enabled on the output device.

Specify a title as a string in quotes.  The alternate syntax that did not require quotes is now obsolete.  If it is used then the title is converted to all uppercase.