From c3b9c499baeb4422da58868e625ee0d5c7a499d3 Mon Sep 17 00:00:00 2001 From: Johannes Pfeifer Date: Mon, 4 Dec 2023 10:59:25 +0100 Subject: [PATCH] GSA: more fixes to LaTeX output --- matlab/dynare_sensitivity.m | 32 ++++++--- matlab/gsa/filt_mc_.m | 92 +++++++++++++++----------- matlab/gsa/redform_map.m | 60 ++++++++++++----- matlab/gsa/redform_screen.m | 19 +++++- tests/identification/as2007/as2007.mod | 6 +- 5 files changed, 142 insertions(+), 67 deletions(-) diff --git a/matlab/dynare_sensitivity.m b/matlab/dynare_sensitivity.m index 405fb92f1..894dcc528 100644 --- a/matlab/dynare_sensitivity.m +++ b/matlab/dynare_sensitivity.m @@ -200,8 +200,29 @@ options_gsa = set_default_option(options_gsa,'threshold_redform',[]); options_gsa = set_default_option(options_gsa,'ksstat_redform',0.001); options_gsa = set_default_option(options_gsa,'alpha2_redform',1.e-5); options_gsa = set_default_option(options_gsa,'namendo',{}); -options_gsa = set_default_option(options_gsa,'namlagendo',[]); +options_gsa = set_default_option(options_gsa,'namlagendo',{}); options_gsa = set_default_option(options_gsa,'namexo',{}); +options_gsa = set_default_option(options_gsa,'namendo_tex',{}); +options_gsa = set_default_option(options_gsa,'namlagendo_tex',{}); +options_gsa = set_default_option(options_gsa,'namexo_tex',{}); +if strmatch(':',options_gsa.namendo,'exact') + options_gsa.namendo = M_.endo_names(1:M_.orig_endo_nbr); +end +if strmatch(':',options_gsa.namexo,'exact') + options_gsa.namexo = M_.exo_names; +end +if strmatch(':',options_gsa.namlagendo,'exact') + options_gsa.namlagendo = M_.endo_names(1:M_.orig_endo_nbr); +end + +if options_.TeX + [~,Locb]=ismember(options_gsa.namendo,M_.endo_names); + options_gsa.namendo_tex=cellfun(@(x) horzcat('$', x, '$'), M_.endo_names_tex(Locb), 'UniformOutput', false); + [~,Locb]=ismember(options_gsa.namlagendo,M_.endo_names); + options_gsa.namlagendo_tex=cellfun(@(x) horzcat('$', x, '$'), M_.endo_names_tex(Locb), 'UniformOutput', false); + [~,Locb]=ismember(options_gsa.namexo,M_.exo_names); + options_gsa.namexo_tex=cellfun(@(x) horzcat('$', x, '$'), M_.exo_names_tex(Locb), 'UniformOutput', false); +end % RMSE mapping options_gsa = set_default_option(options_gsa,'load_rmse',0); options_gsa = set_default_option(options_gsa,'lik_only',0); @@ -325,15 +346,6 @@ if options_gsa.redform && ~isempty(options_gsa.namendo) x0 = stab_map_(OutputDirectoryName,options_gsa,M_,oo_,options_,bayestopt_,estim_params_); end - if strmatch(':',options_gsa.namendo,'exact') - options_gsa.namendo = M_.endo_names(1:M_.orig_endo_nbr); - end - if strmatch(':',options_gsa.namexo,'exact') - options_gsa.namexo = M_.exo_names; - end - if strmatch(':',options_gsa.namlagendo,'exact') - options_gsa.namlagendo = M_.endo_names(1:M_.orig_endo_nbr); - end if options_gsa.morris==1 redform_screen(OutputDirectoryName,options_gsa, estim_params_, M_, oo_.dr, options_, bayestopt_); else diff --git a/matlab/gsa/filt_mc_.m b/matlab/gsa/filt_mc_.m index 6624517e5..ef362dca0 100644 --- a/matlab/gsa/filt_mc_.m +++ b/matlab/gsa/filt_mc_.m @@ -61,7 +61,7 @@ istart = max(2,options_gsa_.istart_rmse); fname_ = M_.fname; -skipline(2) +skipline(1) disp('Starting sensitivity analysis') disp('for the fit of EACH observed series ...') skipline() @@ -99,6 +99,8 @@ if ~options_.nograph disp('done !') end +[param_names,param_names_tex]=get_LaTeX_parameter_names(M_,options_,estim_params_,bayestopt_); + nshock=estim_params_.nvx + estim_params_.nvn + estim_params_.ncx + estim_params_.ncn; npar=estim_params_.np; if ~isempty(options_.mode_file) @@ -107,10 +109,12 @@ end if options_.opt_gsa.ppost c=load([M_.dname filesep 'Output' filesep fname_,'_mean.mat'],'xparam1'); xparam1_mean=c.xparam1; + xparam1=c.xparam1; clear c elseif ~isempty(options_.mode_file) && exist([M_.dname filesep 'Output' filesep fname_,'_mean.mat'],'file')==2 c=load([M_.dname filesep 'Output' filesep fname_,'_mean.mat'],'xparam1'); xparam1_mean=c.xparam1; + xparam1=c.xparam1; clear c end @@ -149,7 +153,7 @@ if ~loadSA sto_ys=[]; for j=1:length(filparam) if isempty(strmatch([M_.fname '_param_irf'],filparam(j).name)) - temp=load([DirectoryName filesep filparam(j).name]); + temp=load([DirectoryName filesep filparam(j).name]); % from prior_posterior_statistics_core x=[x; temp.stock]; logpo2=[logpo2; temp.stock_logpo]; sto_ys=[sto_ys; temp.stock_ys]; @@ -178,7 +182,7 @@ if ~loadSA r2_mode = 1-sum((yobs(istart:end,:)-y0(istart:end,:)).^2)./sum(yobs(istart:end,:).^2); end - y0=-yss; + y0=-yss; %demean everything using the theoretical mean, i.e. steady state nbb=0; for j=1:length(filfilt) temp=load([DirectoryName filesep M_.fname '_filter_step_ahead',num2str(j),'.mat']); @@ -259,17 +263,17 @@ end % visual scatter analysis! if options_.opt_gsa.ppost - tmp_title='R2 Posterior:'; - atitle='R2 Posterior:'; + tmp_title='R2 Scatter plot: Posterior'; + atitle='R2 Scatter plot: Posterior'; asname='r2_post'; else if options_.opt_gsa.pprior - tmp_title='R2 Prior:'; - atitle='R2 Prior:'; + tmp_title='R2 Scatter plot: Prior'; + atitle='R2 Scatter plot: Prior'; asname='r2_prior'; else - tmp_title='R2 MC:'; - atitle='R2 MC:'; + tmp_title='R2 Scatter plot: MC'; + atitle='R2 Scatter plot: MC'; asname='r2_mc'; end end @@ -294,13 +298,10 @@ if ~options_.opt_gsa.ppost && options_.opt_gsa.lik_only options_mcf.pvalue_ks = alpha; options_mcf.pvalue_corr = pvalue; options_mcf.alpha2 = alpha2; + options_mcf.param_names = param_names; if options_.TeX - [pnames,pnames_tex]=get_LaTeX_parameter_names(M_,options_,estim_params_,bayestopt_); - options_mcf.param_names = pnames; - options_mcf.param_names_tex = pnames_tex; + options_mcf.param_names_tex = param_names_tex; else - [pnames]=get_LaTeX_parameter_names(M_,options_,estim_params_,bayestopt_); - options_mcf.param_names = pnames; options_mcf.param_names_tex = {}; end options_mcf.fname_ = fname_; @@ -408,7 +409,11 @@ else set(h,'color','k','linewidth',1) h=cumplot(lnprior(ixx(nfilt0(i)+1:end,i))); set(h,'color','red','linewidth',2) - title(vvarvecm{i},'interpreter','none') + if options_.TeX + title(vvarvecm_tex{i},'interpreter','latex') + else + title(vvarvecm{i},'interpreter','none') + end if mod(i,9)==0 || i==length(vvarvecm) if ~isoctave annotation('textbox', [0.1,0,0.35,0.05],'String', 'Log-prior for BETTER R2','Color','Blue','horizontalalignment','center'); @@ -456,7 +461,11 @@ else set(h,'color','k','linewidth',1) h=cumplot(likelihood(ixx(nfilt0(i)+1:end,i))); set(h,'color','red','linewidth',2) - title(vvarvecm{i},'interpreter','none') + if options_.TeX + title(vvarvecm_tex{i},'interpreter','latex') + else + title(vvarvecm{i},'interpreter','none') + end if options_.opt_gsa.ppost==0 set(gca,'xlim',[min( likelihood(ixx(1:nfilt0(i),i)) ) max( likelihood(ixx(1:nfilt0(i),i)) )]) end @@ -507,7 +516,11 @@ else set(h,'color','k','linewidth',1) h=cumplot(logpo2(ixx(nfilt0(i)+1:end,i))); set(h,'color','red','linewidth',2) - title(vvarvecm{i},'interpreter','none') + if options_.TeX + title(vvarvecm_tex{i},'interpreter','latex') + else + title(vvarvecm{i},'interpreter','none') + end if options_.opt_gsa.ppost==0 set(gca,'xlim',[min( logpo2(ixx(1:nfilt0(i),i)) ) max( logpo2(ixx(1:nfilt0(i),i)) )]) end @@ -537,15 +550,6 @@ else end end end - if options_.TeX - [pnames,pnames_tex]=get_LaTeX_parameter_names(M_,options_,estim_params_,bayestopt_); - param_names = pnames; - param_names_tex = pnames_tex; - else - [pnames]=get_LaTeX_parameter_names(M_,options_,estim_params_,bayestopt_); - param_names = pnames; - param_names_tex = {}; - end skipline() title_string='RMSE over the MC sample:'; data_mat=[min(rmse_MC)' max(rmse_MC)']; @@ -557,7 +561,7 @@ else end invar = find( std(rmse_MC)./mean(rmse_MC)<=0.0001 ); if ~isempty(invar) - skipline(2) + skipline(1) disp('RMSE is not varying significantly over the MC sample for the following variables:') disp(vvarvecm{invar}) disp('These variables are excluded from SA') @@ -569,8 +573,7 @@ else rmse_MC = rmse_MC(:,ivar); skipline() disp(['Sample filtered the ',num2str(pfilt*100),'% best RMSE''s for each observed series ...' ]) - skipline(2) - disp('RMSE ranges after filtering:') + skipline(1) title_string='RMSE ranges after filtering:'; if options_.opt_gsa.ppost==0 && options_.opt_gsa.pprior headers = {'Variable'; 'min'; 'max'; 'min'; 'max'; 'posterior mode'}; @@ -704,7 +707,7 @@ else snam1=param_names(nsp==1); snam2=param_names(nsp>1); nsnam=(find(nsp>1)); - skipline(2) + skipline(1) disp('These parameters do not affect significantly the fit of ANY observed series:') disp(char(snam0)) skipline() @@ -713,7 +716,6 @@ else skipline() disp('These parameters affect MORE THAN ONE observed series: trade off exists!') disp(char(snam2)) - pnam=bayestopt_.name; % plot trade-offs if ~options_.nograph a00=jet(length(vvarvecm)); @@ -782,13 +784,21 @@ else set(h1,'color',[0.85 0.85 0.85],'linewidth',2) end xlabel('') - title([pnam{ipar(j)}],'interpreter','none') + if options_.TeX + title([param_names_tex{ipar(j)}],'interpreter','latex') + else + title([param_names{ipar(j)}],'interpreter','none') + end end if isoctave legend(vertcat('base',vvarvecm),'location','eastoutside'); else - h0=legend(vertcat('base',vvarvecm)); - set(h0,'fontsize',6,'position',[0.7 0.1 0.2 0.3],'interpreter','none'); + if options_.TeX + h0=legend(vertcat('base',vvarvecm_tex),'interpreter','latex'); + else + h0=legend(vertcat('base',vvarvecm),'interpreter','none'); + end + set(h0,'fontsize',6,'position',[0.7 0.1 0.2 0.3]); end if options_.opt_gsa.ppost dyn_saveas(hh_fig,[ OutDir filesep fname_ '_rmse_post_' vvarvecm{iy} '_' int2str(ix)],options_.nodisplay,options_.graph_format); @@ -839,14 +849,22 @@ else set(h1,'color',[0.85 0.85 0.85],'linewidth',2) end xlabel('') - title([pnam{nsnam(j)}],'interpreter','none') + if options_.TeX + title([param_names_tex{nsnam(j)}],'interpreter','latex') + else + title([param_names{nsnam(j)}],'interpreter','none') + end end %subplot(3,2,6) if isoctave legend(vertcat('base',vvarvecm),'location','eastoutside'); else - h0=legend(vertcat('base',vvarvecm)); - set(h0,'fontsize',6,'position',[0.7 0.1 0.2 0.3],'interpreter','none'); + if options_.TeX + h0=legend(vertcat('base',vvarvecm_tex),'interpreter','latex'); + else + h0=legend(vertcat('base',vvarvecm),'interpreter','none'); + end + set(h0,'fontsize',6,'position',[0.7 0.1 0.2 0.3]); end if options_.opt_gsa.ppost dyn_saveas(hh_fig,[ OutDir filesep fname_ '_rmse_post_params_' int2str(ix)],options_.nodisplay,options_.graph_format); diff --git a/matlab/gsa/redform_map.m b/matlab/gsa/redform_map.m index a368c975e..8475fd7e1 100644 --- a/matlab/gsa/redform_map.m +++ b/matlab/gsa/redform_map.m @@ -34,6 +34,9 @@ function redform_map(dirname,options_gsa_,M_,estim_params_,options_,bayestopt_,o anamendo = options_gsa_.namendo; anamlagendo = options_gsa_.namlagendo; anamexo = options_gsa_.namexo; +anamendo_tex = options_gsa_.namendo_tex; +anamlagendo_tex = options_gsa_.namlagendo_tex; +anamexo_tex = options_gsa_.namexo_tex; iload = options_gsa_.load_redform; pprior = options_gsa_.pprior; ilog = options_gsa_.logtrans_redform; @@ -134,11 +137,13 @@ lpmat0=[]; js=0; for j = 1:length(anamendo) namendo = anamendo{j}; + namendo_tex = anamendo_tex{j}; iendo = strmatch(namendo, M_.endo_names(oo_.dr.order_var), 'exact'); ifig = 0; iplo = 0; for jx = 1:length(anamexo) namexo = anamexo{jx}; + namexo_tex = anamexo_tex{jx}; iexo=strmatch(namexo, M_.exo_names, 'exact'); skipline() disp(['[', namendo,' vs ',namexo,']']) @@ -187,9 +192,13 @@ for j = 1:length(anamendo) hc = cumplot(y0); set(hc,'color','k','linewidth',2) hold off, - title([namendo,' vs ', namexo ' - threshold [' num2str(threshold(1)) ' ' num2str(threshold(2)) ']'],'interpreter','none') + if options_.TeX + title([namendo_tex,' vs ', namexo_tex ' - threshold [' num2str(threshold(1)) ' ' num2str(threshold(2)) ']'],'interpreter','latex') + else + title([namendo,' vs ', namexo ' - threshold [' num2str(threshold(1)) ' ' num2str(threshold(2)) ']'],'interpreter','none') + end dyn_saveas(hf,[xdir,filesep, fname_ '_' type '_' namendo,'_vs_', namexo],options_.nodisplay,options_.graph_format); - create_TeX_loader(options_,[xdir,filesep, fname_ '_' type '_' namendo,'_vs_', namexo],['Reduced Form Mapping (Monte Carlo Filtering): ',strrep(namendo,'_','\_'),' vs ', strrep(namexo,'_','\_')],[type '_' namendo,'_vs_', namexo]) + create_TeX_loader(options_,[xdir,filesep, fname_ '_' type '_' namendo,'_vs_', namexo],['Reduced Form Mapping (Monte Carlo Filtering): ',namendo_tex,' vs ', namexo_tex],[type '_' namendo,'_vs_', namexo]) end si(:,js) = NaN(np,1); delete([xdir, '/*threshold*.*']) @@ -271,12 +280,20 @@ for j = 1:length(anamendo) set(gca,'xticklabel',' ','fontsize',10) set(gca,'xlim',[0.5 10.5]) for ip=1:min(np,10) - text(ip,-0.02,deblank(pnames(iso(ip),:)),'rotation',90,'HorizontalAlignment','right','interpreter','none') + if options_.TeX + text(ip,-0.02,deblank(pnames_tex(iso(ip),:)),'rotation',90,'HorizontalAlignment','right','interpreter','latex') + else + text(ip,-0.02,deblank(pnames(iso(ip),:)),'rotation',90,'HorizontalAlignment','right','interpreter','none') + end + end + if options_.TeX + title([logflag,' ',namendo_tex,' vs ',namexo_tex],'interpreter','none') + else + title([logflag,' ',namendo,' vs ',namexo],'interpreter','none') end - title([logflag,' ',namendo,' vs ',namexo],'interpreter','none') if iplo==9 dyn_saveas(hh_fig,[dirname,filesep,M_.fname,'_redform_', namendo,'_vs_shocks_',logflag,num2str(ifig)],options_.nodisplay,options_.graph_format); - create_TeX_loader(options_,[dirname,filesep,M_.fname,'_redform_', namendo,'_vs_shocks_',logflag,num2str(ifig)],[logflag,' ',strrep(namendo,'_','\_'),' vs ',strrep(namexo,'_','\_')],['redform_', namendo,'_vs_shocks_',logflag,num2str(ifig)],1) + create_TeX_loader(options_,[dirname,filesep,M_.fname,'_redform_', namendo,'_vs_shocks_',logflag,num2str(ifig)],[logflag,' ',namendo_tex,' vs ',namexo_tex],['redform_', namendo,'_vs_shocks_',logflag,num2str(ifig)],1) end end @@ -293,6 +310,7 @@ for j = 1:length(anamendo) iplo=0; for je=1:length(anamlagendo) namlagendo = anamlagendo{je}; + namlagendo_tex = anamlagendo_tex{je}; ilagendo=strmatch(namlagendo, M_.endo_names(oo_.dr.order_var(M_.nstatic+1:M_.nstatic+nsok)), 'exact'); skipline() disp(['[', namendo,' vs lagged ',namlagendo,']']) @@ -313,9 +331,9 @@ for j = 1:length(anamendo) if isempty(dir(xdir0)) mkdir(xdir0) end - atitle0=['Reduced Form Mapping (ANOVA) for ',namendo,' vs ', namlagendo]; - aname=[type '_' namendo '_vs_' namlagendo]; - atitle=[type ' Reduced Form Mapping (ANOVA): Parameter(s) driving ',namendo,' vs ',namlagendo]; + atitle0=['Reduced Form Mapping (ANOVA) for ',namendo,' vs lagged', namlagendo]; + aname=[type '_' namendo '_vs_lag_' namlagendo]; + atitle=[type ' Reduced Form Mapping (ANOVA): Parameter(s) driving ',namendo,' vs lagged',namlagendo]; options_map.amap_name = aname; options_map.amap_title = atitle; options_map.figtitle = atitle0; @@ -340,10 +358,14 @@ for j = 1:length(anamendo) hold all, hc = cumplot(y0); set(hc,'color','k','linewidth',2) - hold off, - title([namendo,' vs lagged ', namlagendo ' - threshold [' num2str(threshold(1)) ' ' num2str(threshold(2)) ']'],'interpreter','none') + hold off + if options_.TeX + title([namendo_tex,' vs lagged ', namlagendo_tex ' - threshold [' num2str(threshold(1)) ' ' num2str(threshold(2)) ']'],'interpreter','latex') + else + title([namendo,' vs lagged ', namlagendo ' - threshold [' num2str(threshold(1)) ' ' num2str(threshold(2)) ']'],'interpreter','none') + end dyn_saveas(hf,[xdir,filesep, fname_ '_' type '_' namendo,'_vs_', namlagendo],options_.nodisplay,options_.graph_format); - create_TeX_loader(options_,[xdir,filesep, fname_ '_' type '_' namendo,'_vs_', namlagendo],['Reduced Form Mapping (Monte Carlo Filtering): ',strrep(namendo,'_','\_'),' vs lagged ', strrep(namlagendo,'_','\_')],[type '_' namendo,'_vs_', namlagendo],1) + create_TeX_loader(options_,[xdir,filesep, fname_ '_' type '_' namendo,'_vs_', namlagendo],['Reduced Form Mapping (Monte Carlo Filtering): ',namendo_tex,' vs lagged ', namlagendo_tex],[type '_' namendo,'_vs_', namlagendo],1) end delete([xdir, '/*threshold*.*']) @@ -427,12 +449,16 @@ for j = 1:length(anamendo) set(gca,'xticklabel',' ','fontsize',10) set(gca,'xlim',[0.5 10.5]) for ip=1:min(np,10) - text(ip,-0.02,deblank(pnames(iso(ip),:)),'rotation',90,'HorizontalAlignment','right','interpreter','none') + if options_.TeX + text(ip,-0.02,deblank(pnames_tex(iso(ip),:)),'rotation',90,'HorizontalAlignment','right','interpreter','latex') + else + text(ip,-0.02,deblank(pnames(iso(ip),:)),'rotation',90,'HorizontalAlignment','right','interpreter','none') + end end title([logflag,' ',namendo,' vs ',namlagendo,'(-1)'],'interpreter','none') if iplo==9 dyn_saveas(hh_fig,[dirname,filesep,M_.fname,'_redform_', namendo,'_vs_lags_',logflag,num2str(ifig)],options_.nodisplay,options_.graph_format); - create_TeX_loader(options_,[dirname,filesep,M_.fname,'_redform_', namendo,'_vs_lags_',logflag,num2str(ifig)],[logflag,' ',strrep(namendo,'_','\_'),' vs ',strrep(namlagendo,'_','\_'),'(-1)'],['redform_', namendo,'_vs_lags_',logflag,':',num2str(ifig)],1) + create_TeX_loader(options_,[dirname,filesep,M_.fname,'_redform_', namendo,'_vs_lags_',logflag,num2str(ifig)],[logflag,' ',namendo_tex,' vs ',namlagendo_tex,'(-1)'],['redform_', namendo,'_vs_lags_',logflag,':',num2str(ifig)],1) end end @@ -443,7 +469,7 @@ for j = 1:length(anamendo) end if iplo<9 && iplo>0 && ifig && ~options_.nograph dyn_saveas(hh_fig,[dirname,filesep,M_.fname,'_redform_', namendo,'_vs_lags_',logflag,num2str(ifig)],options_.nodisplay,options_.graph_format); - create_TeX_loader(options_,[dirname,filesep,M_.fname,'_redform_', namendo,'_vs_lags_',logflag,num2str(ifig)],[logflag,' ',strrep(namendo,'_','\_'),' vs ',strrep(namlagendo,'_','\_'),'(-1)'],['redform_', namendo,'_vs_lags_',logflag,':',num2str(ifig)],options_.figures.textwidth*min(iplo/3,1)); + create_TeX_loader(options_,[dirname,filesep,M_.fname,'_redform_', namendo,'_vs_lags_',logflag,num2str(ifig)],[logflag,' ',namendo_tex,' vs ',namlagendo_tex,'(-1)'],['redform_', namendo,'_vs_lags_',logflag,':',num2str(ifig)],options_.figures.textwidth*min(iplo/3,1)); end end @@ -725,7 +751,11 @@ for jx=1:nbr_par set(h,'color', cmap(jt,:), 'linewidth', 2) hold all end - title(options_mcf.param_names(indmcf(jx),:),'interpreter','none') + if options_.TeX + title(options_mcf.param_names_tex(indmcf(jx),:),'interpreter','latex') + else + title(options_mcf.param_names(indmcf(jx),:),'interpreter','none') + end end hleg = legend(leg); aa=get(hleg,'Position'); diff --git a/matlab/gsa/redform_screen.m b/matlab/gsa/redform_screen.m index e2eb86cd7..4ef7ad153 100644 --- a/matlab/gsa/redform_screen.m +++ b/matlab/gsa/redform_screen.m @@ -35,6 +35,10 @@ function redform_screen(dirname, options_gsa_, estim_params_, M_, dr, options_, anamendo = options_gsa_.namendo; anamlagendo = options_gsa_.namlagendo; anamexo = options_gsa_.namexo; +anamendo_tex = options_gsa_.namendo_tex; +anamlagendo_tex = options_gsa_.namlagendo_tex; +anamexo_tex = options_gsa_.namexo_tex; + nliv = options_gsa_.morris_nliv; pnames = M_.param_names(estim_params_.param_vals(:,1)); @@ -59,11 +63,13 @@ nsok = length(find(M_.lead_lag_incidence(M_.maximum_lag,:))); js=0; for j=1:size(anamendo,1) namendo = anamendo{j,:}; + namendo_tex = anamendo_tex{j,:}; iendo = strmatch(namendo, M_.endo_names(dr.order_var), 'exact'); iplo=0; ifig=0; for jx=1:size(anamexo,1) namexo = anamexo{jx}; + namexo_tex = anamexo_tex{jx}; iexo = strmatch(namexo, M_.exo_names, 'exact'); if ~isempty(iexo) y0=teff(T(iendo,iexo+nspred,:), kn, istable); @@ -90,7 +96,11 @@ for j=1:size(anamendo,1) text(ip,-0.02,pnames(iso(ip)),'rotation',90,'HorizontalAlignment','right','interpreter','none') end end - title([namendo,' vs. ',namexo],'interpreter','none') + if options_.TeX + title([namendo_tex,' vs. ',namexo_tex],'interpreter','latex') + else + title([namendo,' vs. ',namexo],'interpreter','none') + end if iplo==9 dyn_saveas(hh_fig,[dirname,'/',M_.fname,'_', namendo,'_vs_shock_',num2str(ifig)],options_.nodisplay,options_.graph_format); create_TeX_loader(options_,[dirname,'/',M_.fname,'_', namendo,'_vs_shock_',num2str(ifig)],ifig,[namendo,' vs. shocks ',int2str(ifig)],[namendo,'_vs_shock'],1) @@ -108,6 +118,7 @@ for j=1:size(anamendo,1) ifig=0; for je=1:size(anamlagendo,1) namlagendo=anamlagendo{je}; + namlagendo_tex=anamlagendo_tex{je}; ilagendo=strmatch(namlagendo, M_.endo_names(dr.order_var(M_.nstatic+1:M_.nstatic+nsok)), 'exact'); if ~isempty(ilagendo) @@ -136,7 +147,11 @@ for j=1:size(anamendo,1) end end - title([namendo,' vs. ',namlagendo,'(-1)'],'interpreter','none') + if options_.TeX + title([namendo_tex,' vs. ',namlagendo_tex,'(-1)'],'interpreter','latex') + else + title([namendo,' vs. ',namlagendo,'(-1)'],'interpreter','none') + end if iplo==9 dyn_saveas(hh_fig,[dirname,'/',M_.fname,'_', namendo,'_vs_lags_',num2str(ifig)],options_.nodisplay,options_.graph_format); create_TeX_loader(options_,[dirname,'/',M_.fname,'_', namendo,'_vs_lags_',num2str(ifig)],ifig,[namendo,' vs. lagged endogenous ',int2str(ifig)],[namendo,'_vs_lags'],1) diff --git a/tests/identification/as2007/as2007.mod b/tests/identification/as2007/as2007.mod index 1591a7308..ed025b1a1 100644 --- a/tests/identification/as2007/as2007.mod +++ b/tests/identification/as2007/as2007.mod @@ -19,9 +19,9 @@ % along with Dynare. If not, see . % ========================================================================= -var pie y R g z YGR INFL INT; -varexo e_R e_g e_z; -parameters tau kap psi1 psi2 rhoR rhog rhoz rr_steady pi_steady gam_steady std_R std_g std_z; +var pie $\pi$ y R g z YGR INFL INT; +varexo e_R $\varepsilon_R$ e_g e_z; +parameters tau $\tau$ kap $\kappa$ psi1 psi2 rhoR rhog rhoz rr_steady pi_steady gam_steady std_R std_g std_z; tau = 2; kap = 0.15;