[Xy-pic] pdflatex and xypic

Ross Moore ross at ics.mq.edu.au
Tue May 2 22:35:23 CEST 2006


Hello Scott,

On 02/05/2006, at 4:45 PM, Scott Morrison wrote:

> I'm sure this has been asked before, but I don't seem to be able to
> work this out. I need to use pdflatex (I have many complicated pdf
> graphics.) I can't work out how to allow xypic to make smooth curved
> arrows.
>
> Here's a small example:
>
> \documentclass{beamer}
> \usepackage[pdftex,all]{xy}
> \usepackage{pdftricks}
>
> \begin{document}
> \begin{frame}
> $\xymatrix{
>  X \ar@/^/[r] & Y
> }$
> \end{frame}
> \end{document}
>
> How do I make this arrow smooth? Can someone point me in the right 
> direction?

This coding is correct for a smooth curved arrow.

Which PDF browser are you using ?

With Preview on a Mac, the result is wonderfully smooth,
even up to 800% .

But with Adobe Reader on the same machine, the appearance
is nowhere near as good.
Higher magnification shows some improvement, but still
not close to the quality from Preview.

The problem appears to be that the single font character that
is repeated multiply to create the "smooth" curve is not anti-aliased
adequately by the Adobe software, yet it is by Apple software.


You can do better using the PostScript back-end; e.g. to generated
images of the diagrams, which are then imported back into your
slide-document.


Here's a way of doing this, provided you process with \write18 enabled;
i.e., with the command
              pdflatex  -shell-escape   filename.tex

\documentclass{beamer}
%\usepackage[pdftex,all]{xy}
\usepackage{pdftricks}
\begin{psinputs}%
   \documentclass{beamer}
   \usepackage[dvips,ps,all]{xy}
\end{psinputs}
\begin{document}
\setbox0=\hbox{\vbox{%
\begin{pdfpic}
  $\xymatrix{
   X \ar@/^/[r] & Y
  }$
\end{pdfpic}
}}%  end of  \setbox 0
\begin{frame}
  \box0 %
\end{frame}
\end{document}


>
> Thanks, scott morrison
>

Hope this helps,

	Ross Moore



More information about the xy-pic mailing list