[OS X TeX] TeXniscope problem

Ross Moore ross at ics.mq.edu.au
Sat May 13 21:09:13 EDT 2006

Hi Herb,

On 12/05/2006, at 11:57 PM, Herbert Schulz wrote:

> On May 12, 2006, at 2:34 AM, Ross Moore wrote:
>> The best way that I've found to deal with this is to use either
>> (or both) of the packages  ps4pdf  and  pdftricks .

... or the  pst-pdf  package, which is similar in the way it works
to  ps4pdf  ---  thanks to Michael Hoppe for mentioning this update.

(However, because of the way this affects  {pspicture}  environments
there may be some esoteric usages for which it would be desirable
to stick with the older ps4pdf .)

> Howdy,
> My first impression was that pdftricks placed each figure into a 
> separate file (although there was a common file containing 
> \usepackage's for the requested packages) while ps4pdf placed the 
> figures on separate pages in a single file and extracted the images 
> page by page into the original document. I can see situations where 
> one method might be more convenient than another when having to send 
> the documents to someone else for review but not otherwise.
> Are there other differences that are worth mentioning?

The ways these packages work has a significant effect on how they
can be used, when you want to do more than just include some
stand-alone images/figures which require PostScript.

Put simply,  ps4pdf  and  pst-pdf   act as output-filters,
whereas  pdftricks  acts as an input-filter.

By an output filter, I mean that with  ps4pdf  loaded, when you
run your job in  TeX+dvips+Ghostscript  mode, all the document
processing is done as per normal, but the only output that is
produced is that which is contained within the \PSforPDF{...}
commands --- or  {postscript}  (and some other) environments
using  pst-pdf .

This means that you can include arbitrary (La)TeX material,
including counter-values and cross-references, citations, etc.
The correct values will be displayed in the resulting PDF image.

With pdf-tricks , each portion requiring use of PostScript is bundled
into a separate job, to be run separately --- with its own
\documentclass, packages and other preamble material.
In a sense, your LaTeX input source has been filtered so as to
find the pieces required to build this separate job.

Because this job is run external to the main processing, it cannot
automatically use numbering and cross-references from the main job.
By careful setup of the preamble material it may be possible to do
this --- but it doesn't come for free. You have to work hard to make
this happen.

So it seems that  ps4pdf  and pst-pdf are better ?
Well, actually no.
It still depends on exactly what you want to do.

Think about what happens when the PostScript coding places
material outside of the area that TeX regards as the typeset area
for the material provided.
There are many situations where this can happen;
e.g. labels on/over/around  an included figure (in particular,
when using the  psfrag  technique); or rotated labels.

With ps4pdf  and  pst-pdf  the output is sized for what TeX knows
about. This can result in parts of the PostScript-constructed
image being cropped away.
(There is a mechanism  --- notightcrop  option, or somesuch
--- that allows a whole page to be used. This then needs to
be trimmed down to the correct size, by specifying a viewport.
A fair bit of work is needed to get this correct and adjust your
LaTeX source; it doesn't happen for free.)

With  pdftricks  there is no such problem.
Because each environment has been made as a separate
image, it can be processed by other utilities; e.g.  pdfcrop .
Indeed this is what happens, automatically, as  pdftricks
uses the  \write18  (shell-escape)  mechanism to run the
external job and call-up other utilities as needed.

Of course this requires that the initial  pdflatex  job is called
using the   --shell-escape  switch. (But this is normal with
TeXshop, I think. With a script or Makefile, it's just a single
short edit.)

With  pdftricks,  a TeX programmer could add the ability
to create a  .aux  file for each single-image sub-process.
This could be done similarly to what is done with LaTeX's
  \include  macro.
This solves the problem mentioned above.
It is still necessary to ensure that any home-grown macro
definitions are made available in the preambles of the

For  pst-pdf , there is no way to get the true bounding-box,
except after-the-fact, requiring some hand-work.

> Good Luck,
> Herb Schulz
> (herbs at wideopenwest.com)



------------------------- Info --------------------------
Mac-TeX Website: http://www.esm.psu.edu/mac-tex/
          & FAQ: http://latex.yauh.de/faq/
TeX FAQ: http://www.tex.ac.uk/faq
List Archive: http://tug.org/pipermail/macostex-archives/

More information about the MacOSX-TeX mailing list