1 .TH PDFROFF @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
3 pdfroff \- create PDF documents using groff
7 .\" File position: <groff-source>/contrib/pdfmark/pdfroff.man
9 .\" --------------------------------------------------------------------
11 .\" --------------------------------------------------------------------
14 Copyright \[co] 2005-2014 Free Software Foundation, Inc.
16 This file is part of groff, the free GNU roff type-setting system.
18 Permission is granted to copy, distribute and/or modify this document
19 under the terms of the GNU Free Documentation License (FDL), Version
20 1.3 or any later version published by the Free Software Foundation;
21 with no Front-Cover Texts, no Back-Cover Texts, and the following
24 a) This "Legal Matters" section, extending from the definition of
25 .co to the end of the enclosing .au definition.
27 b) The entire sections bearing the heading "COPYING" and
30 A copy of the Free Documentation License is included as a file called
31 FDL in the main directory of the groff source package, it is also
32 available in the internet at
33 .UR http://\:www.gnu.org/\:copyleft/\:fdl.html
39 It was originally written by
40 .MT keith.d.marshall@\:ntlworld.com
43 who also wrote the implementation of the
45 program, to which it relates.
48 .\" --------------------------------------------------------------------
49 .\" Local macro definitions
60 .\" --------------------------------------------------------------------
64 .\" --------------------------------------------------------------------
66 .\" --------------------------------------------------------------------
69 .OP \-abcegilpstzCEGNRSUVXZ
85 .OP \-\-no\-toc\-relocation
86 .OP \-\-no-kill\-null\-pages
87 .OP \-\-stylesheet=\fIname\fP
88 .OP \-\-no\-pdf\-output
89 .OP \-\-pdf\-output=\fIname\fP
90 .OP \-\-no\-reference\-dictionary
91 .OP \-\-reference\-dictionary=\fIname\fP
92 .OP \-\-report\-progress
93 .OP \-\-keep\-temporary\-files
105 .RI [ option\ .\|.\|. ]
109 .\" --------------------------------------------------------------------
111 .\" --------------------------------------------------------------------
114 is a wrapper program for the GNU text processing system,
117 It transparently handles the mechanics of multiple pass
119 processing, when applied to suitably marked up
122 such that tables of contents and body text are formatted separately,
123 and are subsequently combined in the correct order, for final publication
124 as a single PDF document.
127 \*(lqstyle sheet\*(rq
128 capability is provided;
129 this allows for the definition of content which is required to precede the
130 table of contents, in the published document.
133 For each invocation of
137 output stream is post-processed by the GhostScript interpreter,
138 to produce a finished PDF document.
142 makes no assumptions about, and imposes no restrictions on, the use of
145 macro packages which the user may choose to employ,
146 in order to achieve a desired document format;
149 include specific built in support for the
151 macro package, should the user choose to employ it.
155 macro, defined in the
157 package, is used to define public reference marks, or dynamic links to
158 such reference marks, then
160 performs as many preformatting
162 passes as required, up to a maximum limit of
164 in order to compile a document reference dictionary, to resolve
165 references, and to expand the dynamically defined content of links.
168 .\" --------------------------------------------------------------------
170 .\" --------------------------------------------------------------------
172 The command line is parsed in accordance with normal GNU conventions,
173 but with one exception \(em when specifying any short form option
174 (i.e., a single character option introduced by a single hyphen),
175 and if that option expects an argument, then it
177 be specified independently (i.e., it may
179 be appended to any group of other single character short form options).
183 Long form option names (i.e., those introduced by a double hyphen) may
184 be abbreviated to their minimum length unambiguous initial substring.
190 usage closely mirrors that of
194 Indeed, with the exception of the
199 short form options, and all long form options, which are parsed
202 all options and file name arguments specified on the command line are
205 to control the formatting of the PDF document.
209 accepts all options and arguments, as specified in
210 .BR groff (@MAN1EXT@),
211 which may also be considered as the definitive reference for all standard
213 options and argument usage.
216 .\" --------------------------------------------------------------------
218 .\" --------------------------------------------------------------------
221 accepts all of the short form options (i.e., those introduced by a
222 single hyphen), which are available with
226 In most cases, these are simply passed transparently to
228 the following, however, are handled specially by
239 Process standard input, after all other specified input files.
241 This is passed transparently to
243 but, if grouped with other options, it
245 be the first in the group.
247 Hiding it within a group breaks standard input processing, in the
250 processing context of
260 Attempting to specify any other device causes
273 .BR groff (@MAN1EXT@)
274 for a description of all other short form options, which are
275 transparently passed through
282 All long form options (i.e., those introduced by a double hyphen) are
283 interpreted locally by
289 unless otherwise stated below.
295 to display a summary of the its usage syntax, and supported options,
300 Suppresses the final output conversion step, causing
302 to emit PostScript output instead of PDF.
304 This may be useful, to capture intermediate PostScript output, when
305 using a specialised postprocessor, such as
308 in place of the default
313 .B \-\-keep\-temporary\-files
314 Suppresses the deletion of temporary files, which normally occurs
317 has completed PDF document formatting; this may be useful, when
318 debugging formatting problems.
323 for a description of the temporary files used by
327 .B \-\-no\-pdf\-output
329 .BI \%\-\-reference\-dictionary= name
330 option (described below) to eliminate the overhead of PDF formatting,
333 to create a reference dictionary, for use in a different document.
336 .B \-\-no\-reference\-dictionary
337 May be used to eliminate the overhead of creating a reference dictionary,
338 when it is known that the target PDF document contains no public
339 references, created by the
344 .B \-\-no\-toc\-relocation
345 May be used to eliminate the extra
348 which is required to generate a table of contents,
349 and relocate it to the start of the PDF document,
350 when processing any document which lacks an automatically
351 generated table of contents.
354 .B \-\-no\-kill\-null\-pages
355 While preparing for simulation of the manual collation step,
356 which is traditionally required to relocate of a
357 .I "table of contents"
358 to the start of a document,
360 accumulates a number of empty page descriptions
361 into the intermediate
364 During the final collation step,
365 these empty pages are normally discarded from the finished document;
368 to leave them in place.
371 .BI \-\-pdf\-output= name
372 Specifies the name to be used for the resultant PDF document;
373 if unspecified, the PDF output is written to standard output.
377 to encode the document name in a generated reference dictionary.
380 .BI \-\-reference\-dictionary= name
381 Specifies the name to be used for the generated reference dictionary file;
382 if unspecified, the reference dictionary is created in a temporary file,
383 which is deleted when
385 completes processing of the current document.
389 be specified, if it is desired to save the reference dictionary,
390 for use in references placed in other PDF documents.
393 .B \-\-report\-progress
396 to display an informational message on standard error,
402 .BI \-\-stylesheet= name
403 Specifies the name of an
405 to be used as a style sheet for formatting of content,
406 which is to be placed
408 the table of contents,
409 in the formatted PDF document.
415 to display a version identification message.
417 The entire command line is then passed transparently to
423 in order to display the associated
425 version information, before exiting.
428 .\" --------------------------------------------------------------------
430 .\" --------------------------------------------------------------------
432 The following environment variables may be set, and exported,
433 to modify the behaviour of
438 Specifies the program to be used
439 for collation of the finished PDF document.
442 This collation step may be required to move
443 .I tables of contents
444 to the start of the finished PDF document,
445 when formatting with traditional macro packages,
446 which print them at the end.
448 However, users should not normally need to specify
449 .BR \%PDFROFF_COLLATE ,
450 (and indeed, are not encouraged to do so). If unspecified,
455 which normally suffices.
462 then it must act as a filter,
463 accepting a list of file name arguments,
464 and write its output to the
467 whence it is piped to the
468 .BR \%PDFROFF_POSTPROCESSOR_COMMAND ,
469 to produce the finished PDF output.
473 .BR \%PDFROFF_COLLATE ,
474 it is normally necessary to also specify
475 .BR \%PDFROFF_KILL_NULL_PAGES .
483 .I \%\-\-no\-kill\-null\-pages
487 .B PDFROFF_KILL_NULL_PAGES
488 Specifies options to be passed to the
493 It should not normally be necessary to specify
494 .BR \%PDFROFF_KILL_NULL_PAGES .
496 The internal default is a
499 which is intended to remove completely blank pages
500 from the collated output stream,
501 and which should be appropriate in most applications of
505 if any alternative to
508 .BR \%PDFROFF_COLLATE ,
509 then it is likely that a corresponding alternative specification for
510 .B \%PDFROFF_KILL_NULL_PAGES
515 .BR \%PDFROFF_COLLATE ,
516 .B \%PDFROFF_KILL_NULL_PAGES
520 .I \%\-\-no\-kill\-null\-pages
524 .B PDFROFF_POSTPROCESSOR_COMMAND
525 Specifies the command to be used for the final document conversion
526 from PostScript intermediate output to PDF.
528 It must behave as a filter,
529 writing its output to the
532 and must accept an arbitrary number of
535 with the special case of
543 .B \%PDFROFF_POSTPROCESSOR_COMMAND
550 .NH gs \-dBATCH \-dQUIET \-dNOPAUSE \-dSAFER \-sDEVICE=pdfwrite \-sOutputFile=\-
556 Identifies the directory in which
558 should create temporary files.
564 specified, then the variables
569 are considered in turn, as possible temporary file repositories.
570 If none of these are set, then temporary files are created
571 in the current directory.
574 .B GROFF_GHOSTSCRIPT_INTERPRETER
575 Specifies the program to be invoked, when
579 PostScript output to PDF.
582 .B \%PDFROFF_POSTPROCESSOR_COMMAND
584 then the command name it specifies is
587 .BR \%GROFF_GHOSTSCRIPT_INTERPRETER ,
588 overriding any explicit setting specified in the environment.
591 .B \%GROFF_GHOSTSCRIPT_INTERPRETER
592 is not specified, then
596 looking for a program with any of the well known names
597 for the GhostScript interpreter;
598 if no GhostScript interpreter can be found,
603 .B GROFF_AWK_INTERPRETER
604 Specifies the program to be invoked, when
606 is extracting reference dictionary entries from a
608 intermediate message stream.
611 .B \%GROFF_AWK_INTERPRETER
612 is not specified, then
616 looking for any of the preferred programs, \[oq]gawk\[cq],
617 \[oq]mawk\[cq], \[oq]nawk\[cq], and \[ok]awk\[cq], in this order; if
618 none of these are found,
620 issues a warning message, and continue processing;
621 however, in this case, no reference dictionary is created.
625 Typically defined automatically by the operating system,
627 is used on Microsoft Win32/MS-DOS platforms
632 which is used when parsing the process
634 to search for external helper programs.
640 overrides the default separator character,
641 (\[oq]:\[cq] on POSIX/UNIX systems,
644 on Microsoft Win32/MS-DOS),
645 which is used when parsing the process
647 to search for external helper programs.
651 If this is set to a non-empty value, then
653 always behaves as if the
654 .B \%\-\-report\-progress
655 option is specified, on the command line.
658 .\" --------------------------------------------------------------------
660 .\" --------------------------------------------------------------------
662 Input and output files for
664 may be named according to any convention of the user\[aq]s choice.
665 Typically, input files may be named according to the choice of the
666 principal formatting macro package, e.g.,
668 might be an input file for formatting using the
672 normally, the final output file should be named
678 Temporary files, created by
680 are placed in the file system hierarchy,
681 in or below the directory specified by environment variables
686 .BR mktemp (@MAN1EXT@)
688 it is invoked to create a private subdirectory of
689 the nominated temporary files directory,
690 (with subdirectory name derived from the template
691 .BR pdfroff-XXXXXXXXXX );
692 if this subdirectory is successfully created,
693 the temporary files will be placed within it,
694 otherwise they will be placed directly in the directory
695 nominated in the environment.
697 All temporary files themselves
698 are named according to the convention
702 is the standard shell variable representing the process ID of the
706 represents any of the extensions used by
708 to identify the following temporary and intermediate files.
713 used to capture reference data emitted by
716 .I reference dictionary
722 .IR "reference dictionary" ,
723 as compiled in the last but one pass of the
724 .I reference dictionary
726 (at the start of the first pass,
727 this file is created empty;
728 in successive passes,
730 .I reference dictionary
732 as collected in the preceding pass).
736 .BR \%\-\-reference\-dictionary =\c
739 this intermediate file becomes permanent,
749 .I reference dictionary
750 entries during the active pass of the
751 .I reference dictionary
754 At the end of any pass,
757 compares as identical to
760 (or the corresponding file named by the
761 .BR \%\-\-reference\-dictionary =\c
765 .I reference dictionary
766 compilation is terminated,
768 .I document reference map
769 is appended to this intermediate file,
770 for inclusion in the final formatting passes.
777 in which \*[lq]Table of Contents\*[rq] entries are collected,
778 to facilitate relocation before the body text,
779 on ultimate output to the
788 in which the body text is collected prior to ultimate output to the
791 in the proper sequence,
797 .\" --------------------------------------------------------------------
799 .\" --------------------------------------------------------------------
802 .BR groff (@MAN1EXT@)
803 for the definitive reference to document formatting with
808 provides a superset of all
811 .BR groff (@MAN1EXT@)
812 may also be considered to be the definitive reference to all
816 with this document providing the reference to
824 imposes neither any restriction on, nor any requirement for,
825 the use of any specific
827 macro package, a number of supplied macro packages,
828 and in particular those associated with the package
830 are best suited for use with
832 as the preferred formatter.
834 Detailed documentation on the use of these packages may be found,
835 in PDF format, in the reference guide
836 .BR "\*(lqPortable Document Format Publishing with GNU Troff\*(rq" ,
837 included in the installed documentation set as
838 .BR \%@PDFDOCDIR@/pdfmark.pdf .
841 .\" --------------------------------------------------------------------
843 .\" --------------------------------------------------------------------
845 .\" --------------------------------------------------------------------
847 .\" --------------------------------------------------------------------
851 .\" --------------------------------------------------------------------
852 .\" EOF / vim: ft=groff / -*- nroff -*-