function sdf(varargin) % SDF Set the line width and fonts of a figure % % sdf(fig) % % where fig is the figure number. If the figure number is omitted, the % currently active figure is updated. Edit the file to set you own style % settings. % % sdf(fig, 'stylename') % applies a pre-configured style from the File-->Export Setup menu of the % figure's window. The stylename should be one of the 'Export Styles' % section of the dialog. % % The function allows applying the same settings as through the % File-->Export Setup-->Apply menu of the figure, but much faster and % without the annoying clicking. % % Example % figure(1); t=0:0.1:10; plot(t, sin(t)); % sdf(1) % pause % sdf(1,'PowerPoint') % Andrey Popov, Hamburg, 2009 %% Parse the input data default = true; if nargin == 0 % no input - take current fig and apply default style fig = gcf(); else % at least 1 input if ischar(varargin{1}) % style name default = false; style_name = varargin{1}; fig = gcf(); else fig = varargin{1}; figure(fig); % just in case it does not exist if nargin == 2 default = false; style_name = varargin{2}; end end end %% Apply a style if default % Apply a default style style = struct(); style.Version = '1'; style.Format = 'eps'; style.Preview = 'none'; style.Width = 'auto'; style.Height = 'auto'; style.Units = 'centimeters'; style.Color = 'rgb'; style.Background = 'w'; % '' = no change; 'w' = white background style.FixedFontSize = '10'; style.ScaledFontSize = 'auto'; style.FontMode = 'fixed'; style.FontSizeMin = '8'; style.FixedLineWidth = '2'; style.ScaledLineWidth = 'auto'; style.LineMode = 'fixed'; style.LineWidthMin = '0.5'; style.FontName = 'auto'; style.FontWeight = 'auto'; style.FontAngle = 'auto'; style.FontEncoding = 'latin1'; style.PSLevel = '2'; style.Renderer = 'auto'; style.Resolution = 'auto'; style.LineStyleMap = 'none'; style.ApplyStyle = '0'; style.Bounds = 'loose'; style.LockAxes = 'on'; style.ShowUI = 'on'; style.SeparateText = 'off'; hgexport(fig,'temp_dummy',style,'applystyle', true); else % Apply an existing style, defined as in the Export dialog % The files are in folder fullfile(prefdir(0),'ExportSetup'); style = hgexport('readstyle',style_name); hgexport(fig,'temp_dummy',style,'applystyle', true); end