groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Groff] pdfroff produces two copies


From: Keith Marshall
Subject: Re: [Groff] pdfroff produces two copies
Date: Tue, 4 Aug 2009 22:05:07 +0100
User-agent: KMail/1.9.10

On Tuesday 04 August 2009 16:17:35 brian m. carlson wrote:
> My main motivation for using pdfroff instead of plain groff -Tps
> is that ghostscript (and all the document viewers based on it)
> produces (IMO) ugly font output when viewing PostScript files in
> X, whereas poppler produces nice output for PDF.  I guess I'll go
> back to piping the output of groff into ps2pdf.

Well, pdfroff effectively pipes the output from groff -Tps through 
ghostscript anyway, and since ps2pdf is just a wrapper script for 
ghostscript, you should see little difference.

pdfroff doesn't really offer any advantage piping groff output 
directly into ps2pdf (or into ghostscript itself), unless you need 
multiple pass groff processing, (e.g. to resolve references).

Earlier I wrote:
> ... its multipass processing, (required to resolve pdfmark
> references), is an expensive overhead for documents which don't
> require it.

To clarify: pdfroff initially performs a minimum of two, and more 
commonly three initial groff passes on the input data, with output 
suppressed, to compile a consistent reference dictionary; these may 
be suppressed, by specifying the --no-reference-dictionary option.  
Following these preliminary passes, a further pass is performed, to 
capture the output for the TOC; this may be suppressed by specifying 
the --no-toc-relocation option.  A final groff pass, which cannot[*] 
be suppressed, is then performed to capture the PS output for the 
body of the document; this is then appended to the TOC output, the 
combined stream is filtered to remove redundant pages, and the 
residue is piped through ghostscript's pdfwrite output filter.

Thus, while `pdfroff --no-toc --no-ref ...' should be approximately 
equivalent to `groff -Tps ... | ps2pdf -', it still incurs a setup 
overhead, so really offers no advantage.

[*] Unless the --no-pdf-output option is specified; this terminates 
pdfroff processing immediately after compilation of the reference 
dictionary, suppressing both the TOC and body output passes, and the 
following output filtering and ghostscript pdfwrite processing.

-- 

Regards,
Keith.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]