Difference between revisions of "3d pdf"

From PyMOLWiki
Jump to navigation Jump to search
(Created page with "= Overview = PyMOL can convert to formats (vrml2 and idtf) that can be converted to a 3D PDF (will not work with most PDF browser plugins; must be downloaded ...")
 
(rearrange some tex to avoid dropping comma)
Line 22: Line 22:
 
         label=pymol.ud3
 
         label=pymol.ud3
 
         text=(pymol.u3d),
 
         text=(pymol.u3d),
 +
        3Dlights=CAD,
 
         % replace the next line with what PyMOL output
 
         % replace the next line with what PyMOL output
         3Daac=20.0, 3Droll=0, 3Dc2c=0 0 1, 3Droo=62.45, 3Dcoo=0 0 -62.45,
+
         3Daac=20.0, 3Droll=0, 3Dc2c=0 0 1, 3Droo=62.45, 3Dcoo=0 0 -62.45
        3Dlights=CAD,
 
 
]{\linewidth}{\linewidth}{pymol.u3d}
 
]{\linewidth}{\linewidth}{pymol.u3d}
 
\label{ex3d} A PyMOL object embedded in PDF, using U3D data format.
 
\label{ex3d} A PyMOL object embedded in PDF, using U3D data format.
Line 39: Line 39:
 
PyMOL will print a line that looks like:
 
PyMOL will print a line that looks like:
 
   3Daac=20.0, 3Droll=0, 3Dc2c=0 0 1, 3Droo=62.45, 3Dcoo=0 0 -62.45
 
   3Daac=20.0, 3Droll=0, 3Dc2c=0 0 1, 3Droo=62.45, 3Dcoo=0 0 -62.45
save this line for later.
+
copy this line into the pymol.tex file overwriting the same line in the file.
  
 
* Convert the IDTF to U3D:
 
* Convert the IDTF to U3D:
 
   ./IDTFConverter -input pymol.idtf -output pymol.u3d
 
   ./IDTFConverter -input pymol.idtf -output pymol.u3d
 
* Copy the line that looks like
 
  3Daac=20.0, 3Droll=0, 3Dc2c=0 0 1, 3Droo=62.45, 3Dcoo=0 0 -62.45
 
into the pymol.tex file overwriting the same line in the file.
 
  
 
* Create the PDF using LaTeX:
 
* Create the PDF using LaTeX:

Revision as of 04:23, 5 October 2011

Overview

PyMOL can convert to formats (vrml2 and idtf) that can be converted to a 3D PDF (will not work with most PDF browser plugins; must be downloaded and viewed with certain viewers liked Adobe Acrobat 9.2+).

Requirements

\documentclass[a4paper]{article}
\usepackage[3D]{movie15}
\usepackage[UKenglish]{babel}
\usepackage[colorlinks=true]{hyperref} 
\begin{document}
\title{PyMOL 3D Objects in PDF}
\author{Jason Vertrees}
\maketitle
\begin{center}
\includemovie[
        poster,
        toolbar, %same as `controls'
        label=pymol.ud3
        text=(pymol.u3d),
        3Dlights=CAD,
        % replace the next line with what PyMOL output
        3Daac=20.0, 3Droll=0, 3Dc2c=0 0 1, 3Droo=62.45, 3Dcoo=0 0 -62.45
]{\linewidth}{\linewidth}{pymol.u3d}
\label{ex3d} A PyMOL object embedded in PDF, using U3D data format.
\end{center}
\end{document}

Directions

  • Save your molecule to an IDTF file in PyMOL:
save pymol.idtf, *

PyMOL will print a line that looks like:

 3Daac=20.0, 3Droll=0, 3Dc2c=0 0 1, 3Droo=62.45, 3Dcoo=0 0 -62.45

copy this line into the pymol.tex file overwriting the same line in the file.

  • Convert the IDTF to U3D:
 ./IDTFConverter -input pymol.idtf -output pymol.u3d
  • Create the PDF using LaTeX:
 pdflatex pymol.tex


Caveats

  • Currently you have to compile the u3d converter on Linux. I did that with:
cmake .
make

which created "IDTFConverter" that I used above.

  • Some versions of Acrobat on Linux incorrectly parse the 3D data. Adobe knows about this and plans to fix it. Ironically, I created a 3D PDF on Linux but could only view it on Mac OS X.


More on 3D PDFs