diff --git a/matlab/nonlinear-filters/src/DSMH_sampler.m b/matlab/nonlinear-filters/src/DSMH_sampler.m
index d44a43f501db7df3145f93ab575bd586dc58ba27..99307013f4a1384e7dd9167409da285d236d0096 100644
--- a/matlab/nonlinear-filters/src/DSMH_sampler.m
+++ b/matlab/nonlinear-filters/src/DSMH_sampler.m
@@ -132,35 +132,27 @@ 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
     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');
-        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.}');
+        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/matlab/nonlinear-filters/src/Herbst_Schorfheide_sampler.m b/matlab/nonlinear-filters/src/Herbst_Schorfheide_sampler.m
index 3c648291971755f615b6f09780d5bbb5705fe48f..03323a0d9275639bf5b36abf2d9fcc9f9105e7e8 100644
--- a/matlab/nonlinear-filters/src/Herbst_Schorfheide_sampler.m
+++ b/matlab/nonlinear-filters/src/Herbst_Schorfheide_sampler.m
@@ -160,35 +160,27 @@ 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
     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');
-        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.}');
+        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/matlab/nonlinear-filters/src/online_auxiliary_filter.m b/matlab/nonlinear-filters/src/online_auxiliary_filter.m
index 6acadc6080c6a7512934ded68bf6cfebac3b1d70..0da8e48fa841911cc73b80e999d319aa614c3a19 100644
--- a/matlab/nonlinear-filters/src/online_auxiliary_filter.m
+++ b/matlab/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,36 +346,28 @@ 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
     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');
-        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.}');
-        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