From 638999f39e7057d41264b4cf353607a16c88ee4b Mon Sep 17 00:00:00 2001 From: Johannes Pfeifer Date: Wed, 17 Jun 2020 20:32:40 +0200 Subject: [PATCH 1/2] Consistently use LaTeX labels in figures instead of relying on psfrag --- nonlinear-filters/src/DSMH_sampler.m | 18 +++------- .../src/Herbst_Schorfheide_sampler.m | 18 +++------- .../src/online_auxiliary_filter.m | 36 ++++++------------- 3 files changed, 20 insertions(+), 52 deletions(-) diff --git a/nonlinear-filters/src/DSMH_sampler.m b/nonlinear-filters/src/DSMH_sampler.m index d44a43f50..3e3732717 100644 --- a/nonlinear-filters/src/DSMH_sampler.m +++ b/nonlinear-filters/src/DSMH_sampler.m @@ -132,21 +132,16 @@ plt = 1 ; subplot(ceil(sqrt(npar)),floor(sqrt(npar)),k) %kk = (plt-1)*nstar+k; [name,texname] = get_the_name(k,TeX,M_,estim_params_,options_); - if TeX - if isempty(NAMES) - NAMES = name; - TeXNAMES = texname; - else - NAMES = char(NAMES,name); - TeXNAMES = char(TeXNAMES,texname); - end - end optimal_bandwidth = mh_optimal_bandwidth(distrib_param(k,:)',options_.dsmh.number_of_particles,bandwidth,kernel_function); [density(:,1),density(:,2)] = kernel_density_estimate(distrib_param(k,:)',number_of_grid_points,... options_.dsmh.number_of_particles,optimal_bandwidth,kernel_function); plot(density(:,1),density(:,2)); hold on - title(name,'interpreter','none') + if TeX + title(texname,'interpreter','latex') + else + title(name,'interpreter','none') + end hold off axis tight drawnow @@ -155,9 +150,6 @@ plt = 1 ; if TeX % TeX eps loader file fprintf(fidTeX,'\\begin{figure}[H]\n'); - for jj = 1:min(nstar,length(x)-(plt-1)*nstar) - fprintf(fidTeX,'\\psfrag{%s}[1][][0.5][0]{%s}\n',deblank(NAMES(jj,:)),deblank(TeXNAMES(jj,:))); - end fprintf(fidTeX,'\\centering \n'); fprintf(fidTeX,'\\includegraphics[scale=0.5]{%s_ParametersDensities%s}\n',M_.fname,int2str(plt)); fprintf(fidTeX,'\\caption{ParametersDensities.}'); diff --git a/nonlinear-filters/src/Herbst_Schorfheide_sampler.m b/nonlinear-filters/src/Herbst_Schorfheide_sampler.m index 3c6482919..cc5160683 100644 --- a/nonlinear-filters/src/Herbst_Schorfheide_sampler.m +++ b/nonlinear-filters/src/Herbst_Schorfheide_sampler.m @@ -160,21 +160,16 @@ plt = 1 ; subplot(ceil(sqrt(npar)),floor(sqrt(npar)),k) %kk = (plt-1)*nstar+k; [name,texname] = get_the_name(k,TeX,M_,estim_params_,options_); - if TeX - if isempty(NAMES) - NAMES = name; - TeXNAMES = texname; - else - NAMES = char(NAMES,name); - TeXNAMES = char(TeXNAMES,texname); - end - end optimal_bandwidth = mh_optimal_bandwidth(distrib_param(k,:)',options_.HSsmc.nparticles,bandwidth,kernel_function); [density(:,1),density(:,2)] = kernel_density_estimate(distrib_param(k,:)',number_of_grid_points,... options_.HSsmc.nparticles,optimal_bandwidth,kernel_function); plot(density(:,1),density(:,2)); hold on - title(name,'interpreter','none') + if TeX + title(texname,'interpreter','latex') + else + title(name,'interpreter','none') + end hold off axis tight drawnow @@ -183,9 +178,6 @@ plt = 1 ; if TeX % TeX eps loader file fprintf(fidTeX,'\\begin{figure}[H]\n'); - for jj = 1:min(nstar,length(x)-(plt-1)*nstar) - fprintf(fidTeX,'\\psfrag{%s}[1][][0.5][0]{%s}\n',deblank(NAMES(jj,:)),deblank(TeXNAMES(jj,:))); - end fprintf(fidTeX,'\\centering \n'); fprintf(fidTeX,'\\includegraphics[scale=0.5]{%s_ParametersDensities%s}\n',M_.fname,int2str(plt)); fprintf(fidTeX,'\\caption{ParametersDensities.}'); diff --git a/nonlinear-filters/src/online_auxiliary_filter.m b/nonlinear-filters/src/online_auxiliary_filter.m index 6acadc608..c7df9d805 100644 --- a/nonlinear-filters/src/online_auxiliary_filter.m +++ b/nonlinear-filters/src/online_auxiliary_filter.m @@ -306,21 +306,16 @@ for plt = 1:nbplt for k=1:length(pmean) subplot(nr,nc,k) [name,texname] = get_the_name(k,TeX,Model,EstimatedParameters,DynareOptions); - if TeX - if isempty(NAMES) - NAMES = name; - TeXNAMES = texname; - else - NAMES = char(NAMES,name); - TeXNAMES = char(TeXNAMES,texname); - end - end % Draw the surface for an interval containing 95% of the particles. shade(1:sample_size, ub95_xparam(k,:)', 1:sample_size, lb95_xparam(k,:)', 'FillType',[1 2], 'LineStyle', 'none', 'Marker', 'none') hold on % Draw the mean of particles. plot(1:sample_size, mean_xparam(k,:), '-k', 'linewidth', 2) - title(name,'interpreter','none') + if TeX + title(texname,'interpreter','latex') + else + title(name,'interpreter','none') + end hold off axis tight drawnow @@ -329,9 +324,6 @@ for plt = 1:nbplt if TeX % TeX eps loader file fprintf(fidTeX,'\\begin{figure}[H]\n'); - for jj = 1:length(x) - fprintf(fidTeX,'\\psfrag{%s}[1][][0.5][0]{%s}\n',deblank(NAMES(jj,:)),deblank(TeXNAMES(jj,:))); - end fprintf(fidTeX,'\\centering \n'); fprintf(fidTeX,'\\includegraphics[scale=0.5]{%s_ParamTraj%s}\n',Model.fname,int2str(plt)); fprintf(fidTeX,'\\caption{Parameters trajectories.}'); @@ -354,21 +346,16 @@ for plt = 1:nbplt for k=1:length(pmean) subplot(nr,nc,k) [name,texname] = get_the_name(k,TeX,Model,EstimatedParameters,DynareOptions); - if TeX - if isempty(NAMES) - NAMES = name; - TeXNAMES = texname; - else - NAMES = char(NAMES,name); - TeXNAMES = char(TeXNAMES,texname); - end - end optimal_bandwidth = mh_optimal_bandwidth(xparam(k,:)',number_of_particles,bandwidth,kernel_function); [density(:,1),density(:,2)] = kernel_density_estimate(xparam(k,:)', number_of_grid_points, ... number_of_particles, optimal_bandwidth, kernel_function); plot(density(:,1), density(:,2)); hold on - title(name, 'interpreter', 'none') + if TeX + title(texname,'interpreter','latex') + else + title(name,'interpreter','none') + end hold off axis tight drawnow @@ -377,9 +364,6 @@ for plt = 1:nbplt if TeX % TeX eps loader file fprintf(fidTeX, '\\begin{figure}[H]\n'); - for jj = 1:length(x) - fprintf(fidTeX, '\\psfrag{%s}[1][][0.5][0]{%s}\n', deblank(NAMES(jj,:)), deblank(TeXNAMES(jj,:))); - end fprintf(fidTeX,'\\centering \n'); fprintf(fidTeX,'\\includegraphics[scale=0.5]{%s_ParametersDensities%s}\n',Model.fname,int2str(plt)); fprintf(fidTeX,'\\caption{ParametersDensities.}'); From 08a399622ed2be7a6abbdaaef12538a0f939b7e7 Mon Sep 17 00:00:00 2001 From: Johannes Pfeifer Date: Thu, 18 Jun 2020 13:14:00 +0200 Subject: [PATCH 2/2] Fix eps-TeX-loaders --- nonlinear-filters/src/DSMH_sampler.m | 6 +++--- nonlinear-filters/src/Herbst_Schorfheide_sampler.m | 6 +++--- nonlinear-filters/src/online_auxiliary_filter.m | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/nonlinear-filters/src/DSMH_sampler.m b/nonlinear-filters/src/DSMH_sampler.m index 3e3732717..99307013f 100644 --- a/nonlinear-filters/src/DSMH_sampler.m +++ b/nonlinear-filters/src/DSMH_sampler.m @@ -147,12 +147,12 @@ plt = 1 ; drawnow end dyn_saveas(hh,[ M_.fname '_param_density' int2str(plt) ],options_.nodisplay,options_.graph_format); - if TeX + if TeX && any(strcmp('eps',cellstr(options_.graph_format))) % TeX eps loader file fprintf(fidTeX,'\\begin{figure}[H]\n'); fprintf(fidTeX,'\\centering \n'); - fprintf(fidTeX,'\\includegraphics[scale=0.5]{%s_ParametersDensities%s}\n',M_.fname,int2str(plt)); - fprintf(fidTeX,'\\caption{ParametersDensities.}'); + fprintf(fidTeX,'\\includegraphics[width=%2.2f\\textwidth]{%_param_density%s}\n',min(k/floor(sqrt(npar)),1),M_.fname,int2str(plt)); + fprintf(fidTeX,'\\caption{Parameter densities based on the Dynamic Striated Metropolis-Hastings algorithm.}'); fprintf(fidTeX,'\\label{Fig:ParametersDensities:%s}\n',int2str(plt)); fprintf(fidTeX,'\\end{figure}\n'); fprintf(fidTeX,' \n'); diff --git a/nonlinear-filters/src/Herbst_Schorfheide_sampler.m b/nonlinear-filters/src/Herbst_Schorfheide_sampler.m index cc5160683..03323a0d9 100644 --- a/nonlinear-filters/src/Herbst_Schorfheide_sampler.m +++ b/nonlinear-filters/src/Herbst_Schorfheide_sampler.m @@ -175,12 +175,12 @@ plt = 1 ; drawnow end dyn_saveas(hh,[ M_.fname '_param_density' int2str(plt) ],options_.nodisplay,options_.graph_format); - if TeX + if TeX && any(strcmp('eps',cellstr(options_.graph_format))) % TeX eps loader file fprintf(fidTeX,'\\begin{figure}[H]\n'); fprintf(fidTeX,'\\centering \n'); - fprintf(fidTeX,'\\includegraphics[scale=0.5]{%s_ParametersDensities%s}\n',M_.fname,int2str(plt)); - fprintf(fidTeX,'\\caption{ParametersDensities.}'); + fprintf(fidTeX,'\\includegraphics[width=%2.2f\\textwidth]{%_param_density%s}\n',min(k/floor(sqrt(npar)),1),M_.fname,int2str(plt)); + fprintf(fidTeX,'\\caption{Parameter densities based on the Herbst/Schorfheide sampler.}'); fprintf(fidTeX,'\\label{Fig:ParametersDensities:%s}\n',int2str(plt)); fprintf(fidTeX,'\\end{figure}\n'); fprintf(fidTeX,' \n'); diff --git a/nonlinear-filters/src/online_auxiliary_filter.m b/nonlinear-filters/src/online_auxiliary_filter.m index c7df9d805..0da8e48fa 100644 --- a/nonlinear-filters/src/online_auxiliary_filter.m +++ b/nonlinear-filters/src/online_auxiliary_filter.m @@ -361,13 +361,13 @@ for plt = 1:nbplt drawnow end dyn_saveas(hh,[ Model.fname '_param_density' int2str(plt) ],DynareOptions.nodisplay,DynareOptions.graph_format); - if TeX + if TeX && any(strcmp('eps',cellstr(DynareOptions.graph_format))) % TeX eps loader file fprintf(fidTeX, '\\begin{figure}[H]\n'); fprintf(fidTeX,'\\centering \n'); - fprintf(fidTeX,'\\includegraphics[scale=0.5]{%s_ParametersDensities%s}\n',Model.fname,int2str(plt)); - fprintf(fidTeX,'\\caption{ParametersDensities.}'); - fprintf(fidTeX,'\\label{Fig:ParametersDensities:%s}\n',int2str(plt)); + fprintf(fidTeX,'\\includegraphics[width=%2.2f\\textwidth]{%_param_density%s}\n',min(k/nc,1),M_.fname,int2str(plt)); + fprintf(fidTeX,'\\caption{Parameter densities based on the Liu/West particle filter.}'); + fprintf(fidTeX,'\\label{Fig:ParameterDensities:%s}\n',int2str(plt)); fprintf(fidTeX,'\\end{figure}\n'); fprintf(fidTeX,' \n'); end