Question: What is the quickest and best way to export a plot image from Mathematica to a $\LaTeX$ Editor? Is there something quicker than exporting it to an image and then including it in the $\LaTeX$ document?

Answer: 
The absolutely fastest way I know to get high-quality `latex` output is:

* Make sure you use **LyX** as the editor (<http://www.lyx.org/>)
* In MMA, highlight the plot, select "Copy as ... PDF" from the `Edit` menu
* In Lyx, paste wherever you want, that's it.
* The `PDF` will be saved under a default numbered file name (you can optionally rename it)
* Run `pdflatex` from the `View` menu

**Edit**

Copying as `PDF` may not be available on all platforms - but you asked for the fastest way to export a plot image to a $\LaTeX$ editor, and this is it. My platform is Mac OS X. On other platforms, LyX is also available, but the "Copy As..." function may not offer `PDF`. Then you have to choose whatever other format that platform offers.

**Edit 2: copying complex graphics: 3D plots, contour plots, etc.**

As has been noted in [this post on $\LaTeX$ and Mathematica](https://mathematica.stackexchange.com/q/736/245), you can no longer rely on `EPS` as an acceptable file format for exporting graphics, because it can't handle opacity and can't be used in `pdflatex` workflows. 

Unfortunately, this means that answers based on `Save As ... LaTeX document` are simply **not ready for production use** at this point, because that method relies on `EPS` files. 

On the other hand, copying as `PDF` can also have *one* problem: the large file size created especially when attempting to convert `Graphics3D` objects to `PDF`. 

Fortunately, that can be avoided by making sure that Mathematica automatically rasterizes 3D graphics upon export to `PDF`. There is an export option `"AllowRasterization"->True`, but I found a method that produces better quality rasterization without setting that option. The reason it's relevant here is that this approach works with copy-and-paste, too. It's described [here](http://pages.uoregon.edu/noeckel/MathematicaGraphics.html#PDF3D) and [here](https://groups.google.com/d/msg/comp.soft-sys.math.mathematica/GyzqqkudKp8/1lAqLMYOf7kJ), and I'll just give the recipe below: start the notebook with this initialization:

```
Map[SetOptions[#, 
    Prolog -> {{EdgeForm[], Texture[{{{0, 0, 0, 0}}}], 
       Polygon[#, VertexTextureCoordinates -> #] &[{{0, 0}, {1, 
          0}, {1, 1}}]}}] &, {Graphics3D, ContourPlot3D, 
   ListContourPlot3D, ListPlot3D, Plot3D, ListSurfacePlot3D, 
   ListVectorPlot3D, ParametricPlot3D, RegionPlot3D, RevolutionPlot3D,
    SphericalPlot3D, VectorPlot3D}];

```

Now all exported and copied `PDF` of 3D graphics will be a wrapper for a print-quality high resolution image instead, and pasting it into LyX works in the blink of an eye.

The list of 3D plot functions in the command above can be extended to include some notoriously unwieldy 2D plot functions as well, e.g., `ContourPlot`, `DensityPlot` etc. They have a lot in common with 3D graphics in that they tend to produce huge numbers of polygons to create colored regions or gradients. For my own use, I didn't include these functions in the list above because I prefer to employ a couple of homemade substitutes for these functions that produce rasterized color gradients in their own special way.
I just figured out the following workaround imitating the psfrag convenience while avoiding intense programming or additional software:

1. Create a new PlotTheme as described [here](https://mathematica.stackexchange.com/questions/54545/is-it-possible-to-define-a-new-plottheme?newreg=152b31896aa843649f4693beeb69c7a1). It should contain the Latex fonts i.e. `FontFamily->"CMU Serif"`, the font size of the document to be created, i.e. `FontSize->11` and the final size of the plot via `ImageSize->425`. The latter is necessary for reproducible font sizes. My result looks like this:

```
Themes`AddThemeRules["Export",
DefaultPlotStyle->Thread@Directive[ColorData[97,"ColorList"], Thick],
Frame ->True, Background -> None, LabelStyle -> {FontSize->11,           
FontFamily -> "CMU Serif"}, ImageSize -> 425, PlotMarkers -> {Automatic, Small}];

```
2. Use the new PlotTheme on the figure like so: `Plot[...,PlotTheme->"MyTheme"]` and export as EPS
3. Import into Latex with size of 100%.

I ended up creating a small version with 212pt Image Size and a larger for full-page plots of 425pt. Also, I made a package to have them ready at every session.
This imitates psfrag in the way that if the document font size or -style changes, the plots can be redrawn quickly by simply changing the custom themes and exporting again. 

This is not a proper solution to the problem, but an easy workaround, which should be sufficient for most cases. It might not be enough for a journal article, though:

[![](https://i.stack.imgur.com/506tX.png)](https://i.stack.imgur.com/506tX.png)

In general it is a shame that Mathematica cannot separate graphics and text upon export. Matlab and most other Software packages have much better latex export functionalities. Maybe it is just a marketing thing - making it hard to avoid the Mathematica style. In any case a much-needed feature for v11!