How to best include Matlab figure with transparency in a LaTeX document?

58 views (last 30 days)
Usually, the recommended way to include figures in LaTeX is via eps as discussed in https://de.mathworks.com/matlabcentral/answers/96084-how-do-i-include-a-matlab-figure-in-a-latex-document. This has the big advantage that eps stores the bounding boxes so that LaTeX will crop the figure automatically to remove whitespace.
But now I have a figure with alpha transparency and such transparency is not supported by eps. Of course I could export the figure into a PDF, but then I have to manually crop it before including it in LaTeX. So is there a better pipeline available?

Accepted Answer

Subhadeep Koley
Subhadeep Koley on 3 Sep 2019
In MATLAB R2019a you can save EPS with alpha transparency.
print('yourTransparentImage','-depsc');% place this code after the figure generation code
Find the attached zip file having transparent EPS file generated using this code. Also see the attached PDF with transparent EPS generated by LaTeX.
Otherwise, you can find a custom function to exports figures to a number of vector & bitmap formats here.
  4 Comments
Fred
Fred on 4 Dec 2022
I am having problems with this solution. My plot with an alpha channel assigned is washed out in eps but okay in pdf, but I need the eps for the bounding box. See the attached zip file. The m-file is repeated below.
%%% Test alpha channel
clear vars, close all
x = (0:0.002:1)';
hold on
for ii = 1:100
plot(x,x+0.1*randn(length(x),1),'Color',[0 0 1 0.01])
end
exportgraphics(gca,'TestAlphaPlotEG.eps')
print('TestAlphaPlot.eps','-depsc')
print('TestAlphaPlot.pdf','-dpdf')

Sign in to comment.

More Answers (0)

Categories

Find more on Printing and Saving in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!