-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmytitle.m
73 lines (64 loc) · 2.11 KB
/
mytitle.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
function title_handle=mytitle(string,varargin)
% Function creates a "standard" title
% Written by: E. R.: April 5, 2001
% Last updated: March 1, 2006: Add "tex" option
% mytitle(string,varargin)
% INPUT
% string title string
% % varargin one or more cell arrays; the first element of each cell array is a keyword,
% the other elements are parameters. Presently, keywords are:
% 'fig' figure handle.
% Default: {'fig',gcf} i.e. current figure
% 'color' Title color. Any of the Matlab colors or their abbreviations
% Default {'color','r'}
% 'fontsize' Font size of title text.
% Default: {'fontsize',ftsze}
% where ftsze=15*min([1,66/(length_of_title_string)]) for landscape format
% ftsze=15*min([1,48/(length_of_title_string)]) for portrait format
% 'fontname' Font name.
% Default: {'fontname',S4M.font_name}
% 'tex' Possible values are 'yes' and 'no'; 'yes' means that
% underscores (_) are trated as LaTeX symbols; no means they are not
% Default: {'tex','no'}
%
global S4M
% Set default parameters
param.fig=gcf;
param.color='r';
param.fontsize=[];
param.fontname=S4M.font_name;
param.tex='no';
% Read/interpret input arguments
param=assign_input(param,varargin);
if isempty(param.fontsize)
orient=get(param.fig,'PaperOrientation');
if iscell(string)
lstring=0;
for ii=1:length(string)
lstring=max([lstring,length(string{ii})]);
end
sph=gca;
pos=get(sph,'Position');
pos(2)=0.95*pos(2);
pos(4)=0.91*pos(4);
set(sph,'Position',pos);
else
lstring=length(string);
end
if strcmp(orient,'landscape')
param.fontsize=min([1,66/lstring])*15;
else
param.fontsize=min([1,40/lstring])*15;
end
end
figure(param.fig);
if strcmpi(param.tex,'no')
string=mnem2tex(string);
end
title_handle=title(string,'Color',param.color,'FontSize',param.fontsize);
if isempty(param.fontname)
set(htitle,'FontName',param.fontname)
end
if nargout == 0
clear title_handle
end