6
$\begingroup$

I am preparing a paper. The journal requirements are odd: only eps files for pictures are accepted. All pictures I have drawn in Mathematica and exported in eps format in the usual way: Export[path, "filename.eps", mmaImageName], where mmaImageNameis the name I give to the image in question within Mathematica.

Now in order to check what have I obtained by such an export, I need to open this eps file and have a look. Out of all graphic applications understanding eps, I only have CorelDraw X3 in which I am not at all a specialist. All I want to use CorelDraw for is to have a look. This is what I see when I open my eps file in the CorelDraw:

enter image description here

In other words, I see nothing and, hence, I am not sure that I can send these eps files to the journal.

There is a work-around. It is to export the image as, say, pdf (or something else), import it into Corel and then export it from Corel as eps.

My question: Is there any trick that would enable me to export the eps file directly from Mathematica in a way that I can open it directly in CorelDraw?

$\endgroup$
4
  • 2
    $\begingroup$ You might want to install Ghostview or GSView to examine eps files. $\endgroup$ Jun 28, 2015 at 9:31
  • 1
    $\begingroup$ You should use Linux, then all what you have to do is click on the file ;) but I would not even save from Mathematica as eps. You could save the image to pdf, and then crop it then convert it to eps, like this: pdfcrop --margins 10 --clip image.pdf image.pdf then pdftops -f 1 -l 1 -level3 -eps image.pdf pdfcrop comes with texlive. Very nice program. It removes all empty space around the image from the pdf. I have script that does the above for all my pdf images. $\endgroup$
    – Nasser
    Jun 28, 2015 at 10:22
  • $\begingroup$ @Nasser Unfortunateloy, I do not use Lunix $\endgroup$ Jun 28, 2015 at 11:35
  • $\begingroup$ I tried opening a Mathematica generated EPS file with Adobe Reader on OS X. Abode Reader didn't like it at all -- said was corrupt. If Adobe Reader can't open an EPS file, I think one must conclude the file is bad. So it appears to me that Mathematica's EPS generator is broken. $\endgroup$
    – m_goldberg
    Jun 28, 2015 at 13:10

2 Answers 2

5
$\begingroup$

CorelDRAW is not a PostScript viewer. Its ability to import EPS files has serious limitations and is not guaranteed to preserve the original appearance of the figure. One workaround is to place the EPS file inside of the CorelDRAW document instead of importing it but it has a drawback: you will see only EPS preview, not the actual content of the EPS file. (Note that you should Export into "EPS" from Mathematica with option "PreviewFormat" set to anything but None: by default it is set to None and preview is not generated.)

For this in CorelDraw you should create a new document (FileNew...), then place your EPS file via FileImport... ► (select your file in the "Import" dialog) ► press Import button ► in the "Import EPS" dialog check "Place as encapsulated PostScript" ► press OK. Then you should click inside of the document at any place where you wish to place your EPS file.

Here is how this dialog looks in CorelDRAW X6:

screenshot

I personally prefer to import EPS file in MS Word which (starting from MS Office 2003) creates its own preview from the PostScript code of the EPS file, and does not use the preview image embedded into the EPS file (which may be absent). In the linked Adobe Community thread and in this answer of mine limitations of the MS Office EPS Import filter are discussed.

Another possibility is to Import the EPS file backward into Mathematica (but it does not always preserve the original appearance of the figure).

The simplest solution of course would be to have something like Adobe Acrobat, GhostScript or free EPS/PS Viewer installed.

$\endgroup$
5
  • $\begingroup$ Thank you. The PreviewFormat story I missed. $\endgroup$ Jul 2, 2015 at 15:03
  • $\begingroup$ Alexey, could you give me a hint on a decreasing the size of the eps file obtained as discussed. I am submitting a paper to arXive with Mma-produced images. arXive limits the size of the possible upload and requires images to only be eps, if the paper file is tex. I must, therefore, decrease the size of the eps image files, produced as discussed above (including your answer). I understand that this is not a right place to discuss a CorelDraw question, but might you kindly reply to my private mail boulbitch@gmx.de not to violate rules? $\endgroup$ Jul 7, 2015 at 8:28
  • $\begingroup$ @AlexeiBoulbitch I don't think that CorelDRAW is the right tool to decrease the size of EPS file. In the most cases you can achieve this by some sort of simplification of the underlying structure of the figure and this can be best achieved on the Mathematica side (there are already several questions on this topic, see in particular this answer of mine). $\endgroup$ Jul 7, 2015 at 9:02
  • $\begingroup$ @AlexeiBoulbitch What you probably can achieve with third-party tools (and what Mathematica still cannot do) is to compress the data streams inside of the EPS file and delete unnecessary information. I never tried to do this but here you can find one approach. $\endgroup$ Jul 7, 2015 at 9:07
  • $\begingroup$ @AlexeiBoulbitch There is a paper dedicated to compression of PDF files. All these methods are in principle applicable to EPS because PDF and EPS can be converted to each other and basically are written on the same PostScript language. $\endgroup$ Jul 7, 2015 at 9:24
3
$\begingroup$

I think your syntax is wrong. Try the following

Export[pathWithFileName, mmaImageName, "EPS"], 

where pathWithFileName contains the path and the name of the exported file i.e. "path/filename.eps". In my answer the option "EPS" is not necessarily needed.

$\endgroup$
1
  • $\begingroup$ Thank you, you are right, it is my miswritings, in fact I do exactly this, without the option "EPS" though $\endgroup$ Jun 29, 2015 at 16:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.