diff --git a/matlab/display_estimation_results_table.m b/matlab/display_estimation_results_table.m
new file mode 100644
index 0000000000000000000000000000000000000000..8ae45c01f3d3387cb9190d1216b18aaa500e7151
--- /dev/null
+++ b/matlab/display_estimation_results_table.m
@@ -0,0 +1,560 @@
+function oo_=display_estimation_results_table(xparam1,stdh,M_,options_,estim_params_,bayestopt_,oo_,pnames,table_title,field_name)
+%function oo_=display_results_table(xparam1,stdh,M_,estim_params_,bayestopt_,oo_,pnames,table_title,field_name)
+% Display estimation results on screen and write them to TeX-file
+% 
+% INPUTS 
+%   o xparam1       [double]   (p*1) vector of estimate parameters.
+%   o stdh          [double]   (p*1) vector of estimate parameters.
+%   o M_                        Matlab's structure describing the Model (initialized by dynare, see @ref{M_}).          
+%   o estim_params_             Matlab's structure describing the estimated_parameters (initialized by dynare, see @ref{estim_params_}).
+%   o options_                  Matlab's structure describing the options (initialized by dynare, see @ref{options_}).
+%   o bayestopt_                Matlab's structure describing the priors (initialized by dynare, see @ref{bayesopt_}).
+%   o oo_                       Matlab's structure gathering the results (initialized by dynare, see @ref{oo_}).
+%   o pnames        [string]    Character Array storing the names for prior distributions     
+%   o table_title   [string]    Title of the Table     
+%   o field_name    [string]    String storing the name of the fields for oo_ where the parameters are stored
+%  
+% OUTPUTS 
+%   o oo_                       Matlab's structure gathering the results
+%
+% SPECIAL REQUIREMENTS
+%   None.
+
+% Copyright (C) 2013 Dynare Team
+%
+% This file is part of Dynare.
+%
+% Dynare is free software: you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation, either version 3 of the License, or
+% (at your option) any later version.
+%
+% Dynare is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with Dynare.  If not, see <http://www.gnu.org/licenses/>.
+
+nvx = estim_params_.nvx;  % Variance of the structural innovations (number of parameters).
+nvn = estim_params_.nvn;  % Variance of the measurement innovations (number of parameters).
+ncx = estim_params_.ncx;  % Covariance of the structural innovations (number of parameters).
+ncn = estim_params_.ncn;  % Covariance of the measurement innovations (number of parameters).
+np  = estim_params_.np ;  % Number of deep parameters.
+nx  = nvx+nvn+ncx+ncn+np; % Total number of parameters to be estimated.
+
+disp(' ')
+disp(['RESULTS FROM ' upper(table_title) ' ESTIMATION'])
+LaTeXtitle=strrep(table_title,' ','_');
+tstath = abs(xparam1)./stdh;
+
+header_width = row_header_width(M_,estim_params_,bayestopt_);
+if strcmp(field_name,'posterior')
+    tit1 = sprintf('%-*s %7s %8s %7s %4s %6s\n',header_width-2,' ','prior mean', ...
+                   'mode','s.d.','prior','pstdev');
+else
+    tit1 = sprintf('%-*s %10s %7s %6s\n',header_width-2,' ','Estimate','s.d.','t-stat');
+end
+if np
+    ip = nvx+nvn+ncx+ncn+1;
+    disp('parameters')
+    disp(tit1)
+    for i=1:np
+        name = bayestopt_.name{ip};
+        if strcmp(field_name,'posterior')
+            fprintf('%-*s %7.3f %8.4f %7.4f %4s %6.4f \n', ...
+                     header_width,name, ...
+                     bayestopt_.p1(ip),xparam1(ip),stdh(ip), ...
+                     pnames(bayestopt_.pshape(ip)+1,:), ...
+                     bayestopt_.p2(ip));
+        else
+            fprintf('%-*s %8.4f %7.4f %7.4f \n', ...
+                 header_width,name,xparam1(ip),stdh(ip),tstath(ip));
+        end
+        eval(['oo_.' field_name '_mode.parameters.' name ' = xparam1(ip);']);
+        eval(['oo_.' field_name '_std.parameters.' name ' = stdh(ip);']);
+        ip = ip+1;
+    end
+    disp(' ')
+end
+if nvx
+    ip = 1;
+    disp('standard deviation of shocks')
+    disp(tit1)
+    for i=1:nvx
+        k = estim_params_.var_exo(i,1);
+        name = deblank(M_.exo_names(k,:));
+        if strcmp(field_name,'posterior')
+            fprintf('%-*s %7.3f %8.4f %7.4f %4s %6.4f \n', ...
+                     header_width,name,bayestopt_.p1(ip),xparam1(ip), ...
+                     stdh(ip),pnames(bayestopt_.pshape(ip)+1,:), ...
+                     bayestopt_.p2(ip));
+        else
+            fprintf('%-*s %8.4f %7.4f %7.4f \n',header_width,name,xparam1(ip),stdh(ip),tstath(ip));
+        end
+        M_.Sigma_e(k,k) = xparam1(ip)*xparam1(ip);
+        eval(['oo_.' field_name '_mode.shocks_std.' name ' = xparam1(ip);']);
+        eval(['oo_.' field_name '_std.shocks_std.' name ' = stdh(ip);']);
+        ip = ip+1;
+    end
+    disp(' ')
+ end
+ if nvn
+    disp('standard deviation of measurement errors')
+    disp(tit1)
+    ip = nvx+1;
+    for i=1:nvn
+        name = deblank(options_.varobs(estim_params_.nvn_observable_correspondence(i,1),:));
+        if strcmp(field_name,'posterior')           
+            fprintf('%-*s %7.3f %8.4f %7.4f %4s %6.4f \n', ...
+                     header_width,name,bayestopt_.p1(ip), ...
+                     xparam1(ip),stdh(ip), ...
+                     pnames(bayestopt_.pshape(ip)+1,:), ...
+                     bayestopt_.p2(ip));
+        else
+            fprintf('%-*s %8.4f %7.4f %7.4f \n',header_width,name,xparam1(ip),stdh(ip),tstath(ip))            
+        end
+        eval(['oo_.' field_name '_mode.measurement_errors_std.' name ' = xparam1(ip);']);
+        eval(['oo_.' field_name '_std.measurement_errors_std.' name ' = stdh(ip);']);
+        ip = ip+1;
+    end
+    disp(' ')
+ end
+
+if ncx
+    disp('correlation of shocks')
+    disp(tit1)
+    ip = nvx+nvn+1;
+    for i=1:ncx
+        k1 = estim_params_.corrx(i,1);
+        k2 = estim_params_.corrx(i,2);
+        name = [deblank(M_.exo_names(k1,:)) ',' deblank(M_.exo_names(k2,:))];
+        NAME = [deblank(M_.exo_names(k1,:)) '_' deblank(M_.exo_names(k2,:))];
+        if strcmp(field_name,'posterior')           
+            fprintf('%-*s %7.3f %8.4f %7.4f %4s %6.4f \n', ...
+                     header_width,name,bayestopt_.p1(ip),xparam1(ip),stdh(ip),  ...
+                     pnames(bayestopt_.pshape(ip)+1,:), bayestopt_.p2(ip));
+        else
+            fprintf('%-*s %8.4f %7.4f %7.4f \n', header_width,name,xparam1(ip),stdh(ip),tstath(ip));            
+        end
+        M_.Sigma_e(k1,k2) = xparam1(ip)*sqrt(M_.Sigma_e(k1,k1)*M_.Sigma_e(k2,k2));
+        M_.Sigma_e(k2,k1) = M_.Sigma_e(k1,k2);
+        eval(['oo_.' field_name '_mode.shocks_corr.' NAME ' = xparam1(ip);']);
+        eval(['oo_.' field_name '_std.shocks_corr.' NAME ' = stdh(ip);']);
+        ip = ip+1;
+    end
+    disp(' ')
+end
+
+if ncn
+    disp('correlation of measurement errors')
+    disp(tit1)
+    ip = nvx+nvn+ncx+1;
+    for i=1:ncn
+        k1 = estim_params_.corrn(i,1);
+        k2 = estim_params_.corrn(i,2);
+        name = [deblank(M_.endo_names(k1,:)) ',' deblank(M_.endo_names(k2,:))];
+        NAME = [deblank(M_.endo_names(k1,:)) '_' deblank(M_.endo_names(k2,:))];
+        if strcmp(field_name,'posterior')                 
+            fprintf('%-*s %7.3f %8.4f %7.4f %4s %6.4f \n', ...
+                     header_width,name,bayestopt_.p1(ip),xparam1(ip),stdh(ip), ...
+                     pnames(bayestopt_.pshape(ip)+1,:), bayestopt_.p2(ip));
+        else
+            fprintf('%-*s %8.4f %7.4f %7.4f \n',header_width,name,xparam1(ip),stdh(ip),tstath(ip));            
+        end
+        eval(['oo_.' field_name '_mode.measurement_errors_corr.' NAME ' = xparam1(ip);']);
+        eval(['oo_.' field_name '_std.measurement_errors_corr.' NAME ' = stdh(ip);']);
+        ip = ip+1;
+    end
+    disp(' ')
+end
+
+OutputDirectoryName = CheckPath('Output',M_.dname);
+
+if any(bayestopt_.pshape > 0) && options_.TeX %% Bayesian estimation (posterior mode) Latex output
+    if np
+        filename = [OutputDirectoryName '/' M_.fname '_Posterior_Mode_1.TeX'];
+        fidTeX = fopen(filename,'w');
+        fprintf(fidTeX,'%% TeX-table generated by dynare_estimation (Dynare).\n');
+        fprintf(fidTeX,'%% RESULTS FROM POSTERIOR MAXIMIZATION (parameters)\n');
+        fprintf(fidTeX,['%% ' datestr(now,0)]);
+        fprintf(fidTeX,' \n');
+        fprintf(fidTeX,' \n');
+        fprintf(fidTeX,'\\begin{center}\n');
+        fprintf(fidTeX,'\\begin{longtable}{l|lcccc} \n');
+        fprintf(fidTeX,'\\caption{Results from posterior maximization (parameters)}\n ');
+        fprintf(fidTeX,'\\label{Table:Posterior:1}\\\\\n');
+        fprintf(fidTeX,'\\hline\\hline \\\\ \n');
+        fprintf(fidTeX,'  & Prior distribution & Prior mean  & Prior s.d. & Posterior mode & s.d. \\\\ \n');
+        fprintf(fidTeX,'\\hline \\endfirsthead \n');
+        fprintf(fidTeX,'\\caption{(continued)}\n ');
+        fprintf(fidTeX,'\\label{Table:Posterior:1}\\\\\n');
+        fprintf(fidTeX,'\\hline\\hline \\\\ \n');
+        fprintf(fidTeX,'  & Prior distribution & Prior mean  & Prior s.d. & Posterior mode & s.d. \\\\ \n');
+        fprintf(fidTeX,'\\hline \\endhead \n');
+        fprintf(fidTeX,'\\hline \\multicolumn{6}{r}{(Continued on next page)} \\\\ \\hline \\endfoot \n');
+        fprintf(fidTeX,'\\hline \\hline \\endlastfoot \n');
+        ip = nvx+nvn+ncx+ncn+1;
+        for i=1:np
+            fprintf(fidTeX,'$%s$ & %s & %7.3f & %6.4f & %8.4f & %7.4f \\\\ \n',...
+                    M_.param_names_tex(estim_params_.param_vals(i,1),:),...
+                    deblank(pnames(bayestopt_.pshape(ip)+1,:)),...
+                    bayestopt_.p1(ip),...
+                    bayestopt_.p2(ip),...
+                    xparam1(ip),...
+                    stdh(ip));
+            ip = ip + 1;
+        end
+        fprintf(fidTeX,'\\end{longtable}\n ');    
+        fprintf(fidTeX,'\\end{center}\n');
+        fprintf(fidTeX,'%% End of TeX file.\n');
+        fclose(fidTeX);
+    end
+    if nvx
+        TeXfile = [OutputDirectoryName '/' M_.fname '_Posterior_Mode_2.TeX'];
+        fidTeX = fopen(TeXfile,'w');
+        fprintf(fidTeX,'%% TeX-table generated by dynare_estimation (Dynare).\n');
+        fprintf(fidTeX,'%% RESULTS FROM POSTERIOR MAXIMIZATION (standard deviation of structural shocks)\n');
+        fprintf(fidTeX,['%% ' datestr(now,0)]);
+        fprintf(fidTeX,' \n');
+        fprintf(fidTeX,' \n');
+        fprintf(fidTeX,'\\begin{center}\n');
+        fprintf(fidTeX,'\\begin{longtable}{l|lcccc} \n');
+        fprintf(fidTeX,'\\caption{Results from posterior maximization (standard deviation of structural shocks)}\n ');
+        fprintf(fidTeX,'\\label{Table:Posterior:2}\\\\\n');
+        fprintf(fidTeX,'\\hline\\hline \\\\ \n');
+        fprintf(fidTeX,'  & Prior distribution & Prior mean  & Prior s.d. & Posterior mode & s.d. \\\\ \n');
+        fprintf(fidTeX,'\\hline \\endfirsthead \n');
+        fprintf(fidTeX,'\\caption{(continued)}\n ');
+        fprintf(fidTeX,'\\label{Table:Posterior:2}\\\\\n');
+        fprintf(fidTeX,'\\hline\\hline \\\\ \n');
+        fprintf(fidTeX,'  & Prior distribution & Prior mean  & Prior s.d. & Posterior mode & s.d. \\\\ \n');
+        fprintf(fidTeX,'\\hline \\endhead \n');
+        fprintf(fidTeX,'\\hline \\multicolumn{6}{r}{(Continued on next page)} \\\\ \\hline \\endfoot \n');
+        fprintf(fidTeX,'\\hline \\hline \\endlastfoot \n');
+        ip = 1;
+        for i=1:nvx
+            k = estim_params_.var_exo(i,1);
+            fprintf(fidTeX,[ '$%s$ & %4s & %7.3f & %6.4f & %8.4f & %7.4f \\\\ \n'],...
+                    deblank(M_.exo_names_tex(k,:)),...
+                    deblank(pnames(bayestopt_.pshape(ip)+1,:)),...
+                    bayestopt_.p1(ip),...
+                    bayestopt_.p2(ip),...
+                    xparam1(ip), ...
+                    stdh(ip));
+            ip = ip+1;
+        end
+        fprintf(fidTeX,'\\end{longtable}\n ');    
+        fprintf(fidTeX,'\\end{center}\n');
+        fprintf(fidTeX,'%% End of TeX file.\n');
+        fclose(fidTeX);
+    end
+    if nvn
+        TeXfile = [OutputDirectoryName '/' M_.fname '_Posterior_Mode_3.TeX'];
+        fidTeX  = fopen(TeXfile,'w');
+        fprintf(fidTeX,'%% TeX-table generated by dynare_estimation (Dynare).\n');
+        fprintf(fidTeX,'%% RESULTS FROM POSTERIOR MAXIMIZATION (standard deviation of measurement errors)\n');
+        fprintf(fidTeX,['%% ' datestr(now,0)]);
+        fprintf(fidTeX,' \n');
+        fprintf(fidTeX,' \n');
+        fprintf(fidTeX,'\\begin{center}\n');
+        fprintf(fidTeX,'\\begin{longtable}{l|lcccc} \n');
+        fprintf(fidTeX,'\\caption{Results from posterior maximization (standard deviation of measurement errors)}\n ');
+        fprintf(fidTeX,'\\label{Table:Posterior:3}\\\\\n');
+        fprintf(fidTeX,'\\hline\\hline \\\\ \n');
+        fprintf(fidTeX,'  & Prior distribution & Prior mean  & Prior s.d. &  Posterior mode & s.d. \\\\ \n');
+        fprintf(fidTeX,'\\hline \\endfirsthead \n');
+        fprintf(fidTeX,'\\caption{(continued)}\n ');
+        fprintf(fidTeX,'\\label{Table:Posterior:3}\\\\\n');
+        fprintf(fidTeX,'\\hline\\hline \\\\ \n');
+        fprintf(fidTeX,'  & Prior distribution & Prior mean  & Prior s.d. &  Posterior mode & s.d. \\\\ \n');
+        fprintf(fidTeX,'\\hline \\endhead \n');
+        fprintf(fidTeX,'\\hline \\multicolumn{6}{r}{(Continued on next page)} \\\\ \\hline \\endfoot \n');
+        fprintf(fidTeX,'\\hline \\hline \\endlastfoot \n');
+        ip = nvx+1;
+        for i=1:nvn
+            idx = strmatch(options_.varobs(estim_params_.nvn_observable_correspondence(i,1),:),M_.endo_names);
+            fprintf(fidTeX,'$%s$ & %4s & %7.3f & %6.4f & %8.4f & %7.4f \\\\ \n',...
+                    deblank(M_.endo_names_tex(idx,:)), ...
+                    deblank(pnames(bayestopt_.pshape(ip)+1,:)), ...
+                    bayestopt_.p1(ip), ...
+                    bayestopt_.p2(ip),...
+                    xparam1(ip),...
+                    stdh(ip));
+            ip = ip+1;
+        end
+        fprintf(fidTeX,'\\end{longtable}\n ');    
+        fprintf(fidTeX,'\\end{center}\n');
+        fprintf(fidTeX,'%% End of TeX file.\n');
+        fclose(fidTeX);
+    end
+    if ncx
+        TeXfile = [OutputDirectoryName '/' M_.fname '_Posterior_Mode_4.TeX'];
+        fidTeX = fopen(TeXfile,'w');
+        fprintf(fidTeX,'%% TeX-table generated by dynare_estimation (Dynare).\n');
+        fprintf(fidTeX,'%% RESULTS FROM POSTERIOR MAXIMIZATION (correlation of structural shocks)\n');
+        fprintf(fidTeX,['%% ' datestr(now,0)]);
+        fprintf(fidTeX,' \n');
+        fprintf(fidTeX,' \n');
+        fprintf(fidTeX,'\\begin{center}\n');
+        fprintf(fidTeX,'\\begin{longtable}{l|lcccc} \n');
+        fprintf(fidTeX,'\\caption{Results from posterior parameters (correlation of structural shocks)}\n ');
+        fprintf(fidTeX,'\\label{Table:Posterior:4}\\\\\n');
+        fprintf(fidTeX,'\\hline\\hline \\\\ \n');
+        fprintf(fidTeX,'  & Prior distribution & Prior mean  & Prior s.d. &  Posterior mode & s.d. \\\\ \n');
+        fprintf(fidTeX,'\\hline \\endfirsthead \n');
+        fprintf(fidTeX,'\\caption{(continued)}\n ');
+        fprintf(fidTeX,'\\label{Table:Posterior:4}\\\\\n');
+        fprintf(fidTeX,'\\hline\\hline \\\\ \n');
+        fprintf(fidTeX,'  & Prior distribution & Prior mean  & Prior s.d. &  Posterior mode & s.d. \\\\ \n');
+        fprintf(fidTeX,'\\hline \\endhead \n');
+        fprintf(fidTeX,'\\hline \\multicolumn{6}{r}{(Continued on next page)} \\\\ \\hline \\endfoot \n');
+        fprintf(fidTeX,'\\hline \\hline \\endlastfoot \n');
+        ip = nvx+nvn+1;
+        for i=1:ncx
+            k1 = estim_params_.corrx(i,1);
+            k2 = estim_params_.corrx(i,2);
+            fprintf(fidTeX,[ '$%s$ & %s & %7.3f & %6.4f & %8.4f & %7.4f \\\\ \n'],...
+                    [deblank(M_.exo_names_tex(k1,:)) ',' deblank(M_.exo_names_tex(k2,:))], ...
+                    deblank(pnames(bayestopt_.pshape(ip)+1,:)), ...
+                    bayestopt_.p1(ip), ...
+                    bayestopt_.p2(ip), ...
+                    xparam1(ip), ...
+                    stdh(ip));
+            ip = ip+1;
+        end
+        fprintf(fidTeX,'\\end{longtable}\n ');    
+        fprintf(fidTeX,'\\end{center}\n');
+        fprintf(fidTeX,'%% End of TeX file.\n');
+        fclose(fidTeX);
+    end
+    if ncn
+        TeXfile = [OutputDirectoryName '/' M_.fname '_Posterior_Mode_5.TeX'];
+        fidTeX = fopen(TeXfile,'w');
+        fprintf(fidTeX,'%% TeX-table generated by dynare_estimation (Dynare).\n');
+        fprintf(fidTeX,'%% RESULTS FROM POSTERIOR MAXIMIZATION (correlation of measurement errors)\n');
+        fprintf(fidTeX,['%% ' datestr(now,0)]);
+        fprintf(fidTeX,' \n');
+        fprintf(fidTeX,' \n');
+        fprintf(fidTeX,'\\begin{center}\n');
+        fprintf(fidTeX,'\\begin{longtable}{l|lcccc} \n');
+        fprintf(fidTeX,'\\caption{Results from posterior parameters (correlation of measurement errors)}\n ');
+        fprintf(fidTeX,'\\label{Table:Posterior:5}\\\\\n');
+        fprintf(fidTeX,'\\hline\\hline \\\\ \n');
+        fprintf(fidTeX,'  & Prior distribution & Prior mean  & Prior s.d. &  Posterior mode & s.d. \\\\ \n');
+        fprintf(fidTeX,'\\hline \\endfirsthead \n');
+        fprintf(fidTeX,'\\caption{(continued)}\n ');
+        fprintf(fidTeX,'\\label{Table:Posterior:5}\\\\\n');
+        fprintf(fidTeX,'\\hline\\hline \\\\ \n');
+        fprintf(fidTeX,'  & Prior distribution & Prior mean  & Prior s.d. &  Posterior mode & s.d. \\\\ \n');
+        fprintf(fidTeX,'\\hline \\endhead \n');
+        fprintf(fidTeX,'\\hline \\multicolumn{6}{r}{(Continued on next page)} \\\\ \\hline \\endfoot \n');
+        fprintf(fidTeX,'\\hline \\hline \\endlastfoot \n');
+        ip = nvx+nvn+ncx+1;
+        for i=1:ncn
+            k1 = estim_params_.corrn(i,1);
+            k2 = estim_params_.corrn(i,2);
+            fprintf(fidTeX,'$%s$ & %s & %7.3f & %6.4f & %8.4f & %7.4f \\\\ \n',...
+                    [deblank(M_.endo_names_tex(k1,:)) ',' deblank(M_.endo_names_tex(k2,:))], ...
+                    pnames(bayestopt_.pshape(ip)+1,:), ...
+                    bayestopt_.p1(ip), ...
+                    bayestopt_.p2(ip), ...
+                    xparam1(ip), ...
+                    stdh(ip));
+            ip = ip+1;
+        end
+        fprintf(fidTeX,'\\end{longtable}\n ');    
+        fprintf(fidTeX,'\\end{center}\n');
+        fprintf(fidTeX,'%% End of TeX file.\n');
+        fclose(fidTeX);
+    end
+elseif all(bayestopt_.pshape == 0) && options_.TeX %% MLE and GMM Latex output
+    if np        
+        filename = [OutputDirectoryName '/' M_.fname '_' LaTeXtitle '_Mode_1.TeX'];
+        fidTeX = fopen(filename,'w');
+        fprintf(fidTeX,'%% TeX-table generated by dynare_estimation (Dynare).\n');
+        fprintf(fidTeX,['%% RESULTS FROM ' table_title ' MAXIMIZATION (parameters)\n']);
+        fprintf(fidTeX,['%% ' datestr(now,0)]);
+        fprintf(fidTeX,' \n');
+        fprintf(fidTeX,' \n');
+        fprintf(fidTeX,'\\begin{center}\n');
+        fprintf(fidTeX,'\\begin{longtable}{l|lcc} \n');
+        fprintf(fidTeX,['\\caption{Results from ' table_title ' maximization (parameters)}\n ']);
+        fprintf(fidTeX,['\\label{Table:' LaTeXtitle ':1}\\\\\n']);
+        fprintf(fidTeX,'\\hline\\hline \\\\ \n');
+        fprintf(fidTeX,'  & Mode & s.d. & t-stat\\\\ \n');
+        fprintf(fidTeX,'\\hline \\endfirsthead \n');
+        fprintf(fidTeX,'\\caption{(continued)}\n ');
+        fprintf(fidTeX,['\\label{Table:' LaTeXtitle ':1}\\\\\n']);
+        fprintf(fidTeX,'\\hline\\hline \\\\ \n');
+        fprintf(fidTeX,'  & Mode & s.d. & t-stat\\\\ \n');
+        fprintf(fidTeX,'\\hline \\endhead \n');
+        fprintf(fidTeX,'\\hline \\multicolumn{4}{r}{(Continued on next page)} \\\\ \\hline \\endfoot \n');
+        fprintf(fidTeX,'\\hline \\hline \\endlastfoot \n');
+        ip = nvx+nvn+ncx+ncn+1;
+        for i=1:np
+            fprintf(fidTeX,'$%s$ & %8.4f & %7.4f & %7.4f\\\\ \n',...
+                    M_.param_names_tex(estim_params_.param_vals(i,1),:),...
+                    xparam1(ip),...
+                    stdh(ip),...
+                    tstath(ip));                    
+            ip = ip + 1;
+        end
+        fprintf(fidTeX,'\\end{longtable}\n ');    
+        fprintf(fidTeX,'\\end{center}\n');
+        fprintf(fidTeX,'%% End of TeX file.\n');
+        fclose(fidTeX);
+    end
+    if nvx
+        filename = [OutputDirectoryName '/' M_.fname '_' LaTeXtitle '_Mode_2.TeX'];
+        fidTeX = fopen(filename,'w');
+        fprintf(fidTeX,'%% TeX-table generated by dynare_estimation (Dynare).\n');
+        fprintf(fidTeX,['%% RESULTS FROM ' table_title ' MAXIMIZATION (standard deviation of structural shocks)\n']);
+        fprintf(fidTeX,['%% ' datestr(now,0)]);
+        fprintf(fidTeX,' \n');
+        fprintf(fidTeX,' \n');
+        fprintf(fidTeX,'\\begin{center}\n');
+        fprintf(fidTeX,'\\begin{longtable}{l|lcc} \n');
+        fprintf(fidTeX,['\\caption{Results from ' table_title ' maximization (standard deviation of structural shocks)}\n ']);
+        fprintf(fidTeX,['\\label{Table:' LaTeXtitle ':2}\\\\\n']);
+        fprintf(fidTeX,'\\hline\\hline \\\\ \n');
+        fprintf(fidTeX,'  & Mode & s.d. & t-stat\\\\ \n');
+        fprintf(fidTeX,'\\hline \\endfirsthead \n');
+        fprintf(fidTeX,'\\caption{(continued)}\n ');
+        fprintf(fidTeX,['\\label{Table:' LaTeXtitle ':2}\\\\\n']);
+        fprintf(fidTeX,'\\hline\\hline \\\\ \n');
+        fprintf(fidTeX,'  & Mode & s.d. & t-stat\\\\ \n');
+        fprintf(fidTeX,'\\hline \\endhead \n');
+        fprintf(fidTeX,'\\hline \\multicolumn{4}{r}{(Continued on next page)} \\\\ \\hline \\endfoot \n');
+        fprintf(fidTeX,'\\hline \\hline \\endlastfoot \n');
+        ip = 1;
+        for i=1:nvx
+            k = estim_params_.var_exo(i,1);
+            fprintf(fidTeX,[ '$%s$ & %8.4f & %7.4f & %7.4f\\\\ \n'],...
+                    deblank(M_.exo_names_tex(k,:)),...
+                    xparam1(ip), ...
+                    stdh(ip),...
+                    tstath(ip));
+            ip = ip+1;
+        end
+        fprintf(fidTeX,'\\end{longtable}\n ');    
+        fprintf(fidTeX,'\\end{center}\n');
+        fprintf(fidTeX,'%% End of TeX file.\n');
+        fclose(fidTeX);
+    end
+    if nvn
+        filename = [OutputDirectoryName '/' M_.fname '_' LaTeXtitle '_Mode_3.TeX'];
+        fidTeX = fopen(filename,'w');
+        fprintf(fidTeX,'%% TeX-table generated by dynare_estimation (Dynare).\n');
+        fprintf(fidTeX,['%% RESULTS FROM ' table_title ' MAXIMIZATION (standard deviation of measurement errors)\n']);
+        fprintf(fidTeX,['%% ' datestr(now,0)]);
+        fprintf(fidTeX,' \n');
+        fprintf(fidTeX,' \n');
+        fprintf(fidTeX,'\\begin{center}\n');
+        fprintf(fidTeX,'\\begin{longtable}{l|lcc} \n');
+        fprintf(fidTeX,['\\caption{Results from ' table_title ' maximization (standard deviation of measurement errors)}\n ']);
+        fprintf(fidTeX,['\\label{Table:' LaTeXtitle ':3}\\\\\n']);
+        fprintf(fidTeX,'\\hline\\hline \\\\ \n');
+        fprintf(fidTeX,'  & Mode & s.d. & t-stat\\\\ \n');
+        fprintf(fidTeX,'\\hline \\endfirsthead \n');
+        fprintf(fidTeX,'\\caption{(continued)}\n ');
+        fprintf(fidTeX,['\\label{Table:' LaTeXtitle ':3}\\\\\n']);
+        fprintf(fidTeX,'\\hline\\hline \\\\ \n');
+        fprintf(fidTeX,'  & Mode & s.d. & t-stat\\\\ \n');
+        fprintf(fidTeX,'\\hline \\endhead \n');
+        fprintf(fidTeX,'\\hline \\multicolumn{4}{r}{(Continued on next page)} \\\\ \\hline \\endfoot \n');
+        fprintf(fidTeX,'\\hline \\hline \\endlastfoot \n');
+        ip = nvx+1;
+        for i=1:nvn
+           idx = strmatch(options_.varobs(estim_params_.nvn_observable_correspondence(i,1),:),M_.endo_names);
+           fprintf(fidTeX,'$%s$ & %8.4f & %7.4f & %7.4f \\\\ \n',...
+                    deblank(M_.endo_names_tex(idx,:)), ...
+                    xparam1(ip),...
+                    stdh(ip),...
+                    tstath(ip));
+            ip = ip+1;
+        end
+        fprintf(fidTeX,'\\end{longtable}\n ');    
+        fprintf(fidTeX,'\\end{center}\n');
+        fprintf(fidTeX,'%% End of TeX file.\n');
+        fclose(fidTeX);
+    end
+    if ncx
+        filename = [OutputDirectoryName '/' M_.fname '_' LaTeXtitle '_Mode_4.TeX'];
+        fidTeX = fopen(filename,'w');
+        fprintf(fidTeX,'%% TeX-table generated by dynare_estimation (Dynare).\n');
+        fprintf(fidTeX,['%% RESULTS FROM ' table_title ' MAXIMIZATION (correlation of structural shocks)\n']);
+        fprintf(fidTeX,['%% ' datestr(now,0)]);
+        fprintf(fidTeX,' \n');
+        fprintf(fidTeX,' \n');
+        fprintf(fidTeX,'\\begin{center}\n');
+        fprintf(fidTeX,'\\begin{longtable}{l|lcc} \n');
+        fprintf(fidTeX,['\\caption{Results from ' table_title ' maximization (correlation of structural shocks)}\n ']);
+        fprintf(fidTeX,['\\label{Table:' LaTeXtitle ':4}\\\\\n']);
+        fprintf(fidTeX,'\\hline\\hline \\\\ \n');
+        fprintf(fidTeX,'  & Mode & s.d. & t-stat\\\\ \n');
+        fprintf(fidTeX,'\\hline \\endfirsthead \n');
+        fprintf(fidTeX,'\\caption{(continued)}\n ');
+        fprintf(fidTeX,['\\label{Table:' LaTeXtitle ':4}\\\\\n']);
+        fprintf(fidTeX,'\\hline\\hline \\\\ \n');
+        fprintf(fidTeX,'  & Mode & s.d. & t-stat\\\\ \n');
+        fprintf(fidTeX,'\\hline \\endhead \n');
+        fprintf(fidTeX,'\\hline \\multicolumn{4}{r}{(Continued on next page)} \\\\ \\hline \\endfoot \n');
+        fprintf(fidTeX,'\\hline \\hline \\endlastfoot \n');
+        ip = nvx+nvn+1;
+        for i=1:ncx
+            k1 = estim_params_.corrx(i,1);
+            k2 = estim_params_.corrx(i,2);
+            fprintf(fidTeX,[ '$%s$  & %8.4f & %7.4f & %7.4f \\\\ \n'],...
+                    [deblank(M_.exo_names_tex(k1,:)) ',' deblank(M_.exo_names_tex(k2,:))], ...
+                    xparam1(ip), ...
+                    stdh(ip),...
+                    tstath(ip));
+            ip = ip+1;
+        end
+        fprintf(fidTeX,'\\end{longtable}\n ');    
+        fprintf(fidTeX,'\\end{center}\n');
+        fprintf(fidTeX,'%% End of TeX file.\n');
+        fclose(fidTeX);
+    end
+    if ncn
+        filename = [OutputDirectoryName '/' M_.fname '_' LaTeXtitle '_Mode_5.TeX'];
+        fidTeX = fopen(filename,'w');
+        fprintf(fidTeX,'%% TeX-table generated by dynare_estimation (Dynare).\n');
+        fprintf(fidTeX,['%% RESULTS FROM ' table_title ' MAXIMIZATION (correlation of measurement errors)\n']);
+        fprintf(fidTeX,['%% ' datestr(now,0)]);
+        fprintf(fidTeX,' \n');
+        fprintf(fidTeX,' \n');
+        fprintf(fidTeX,'\\begin{center}\n');
+        fprintf(fidTeX,'\\begin{longtable}{l|lcc} \n');
+        fprintf(fidTeX,['\\caption{Results from ' table_title ' maximization (correlation of measurement errors)}\n ']);
+        fprintf(fidTeX,['\\label{Table:' LaTeXtitle ':5}\\\\\n']);
+        fprintf(fidTeX,'\\hline\\hline \\\\ \n');
+        fprintf(fidTeX,'  & Mode & s.d. & t-stat\\\\ \n');
+        fprintf(fidTeX,'\\hline \\endfirsthead \n');
+        fprintf(fidTeX,'\\caption{(continued)}\n ');
+        fprintf(fidTeX,['\\label{Table:' LaTeXtitle ':5}\\\\\n']);
+        fprintf(fidTeX,'\\hline\\hline \\\\ \n');
+        fprintf(fidTeX,'  & Mode & s.d. & t-stat\\\\ \n');
+        fprintf(fidTeX,'\\hline \\endhead \n');
+        fprintf(fidTeX,'\\hline \\multicolumn{4}{r}{(Continued on next page)} \\\\ \\hline \\endfoot \n');
+        fprintf(fidTeX,'\\hline \\hline \\endlastfoot \n');
+        ip = nvx+nvn+ncx+1;
+        for i=1:ncn
+            k1 = estim_params_.corrn(i,1);
+            k2 = estim_params_.corrn(i,2);
+            fprintf(fidTeX,'$%s$  & %8.4f & %7.4f & %7.4f \\\\ \n',...
+                    [deblank(M_.endo_names_tex(k1,:)) ',' deblank(M_.endo_names_tex(k2,:))], ...
+                    xparam1(ip), ...
+                    stdh(ip),...
+                    tstath(ip));
+            ip = ip+1;
+        end
+        fprintf(fidTeX,'\\end{longtable}\n ');    
+        fprintf(fidTeX,'\\end{center}\n');
+        fprintf(fidTeX,'%% End of TeX file.\n');
+        fclose(fidTeX);
+    end
+
+end
\ No newline at end of file
diff --git a/matlab/dynare_estimation_1.m b/matlab/dynare_estimation_1.m
index 7efbd29c99c6f2ae7cc6d627397858b1e972ca03..1ec2ddc2ea12cce7269ef98e1a684f78707f324f 100644
--- a/matlab/dynare_estimation_1.m
+++ b/matlab/dynare_estimation_1.m
@@ -523,102 +523,8 @@ if ~options_.cova_compute
 end
 
 if any(bayestopt_.pshape > 0) && ~options_.mh_posterior_mode_estimation
-    disp(' ')
-    disp('RESULTS FROM POSTERIOR MAXIMIZATION')
-    tstath = zeros(nx,1);
-    for i = 1:nx
-        tstath(i) = abs(xparam1(i))/stdh(i);
-    end
-
-    header_width = row_header_width(M_,estim_params_,bayestopt_);
-
-    tit1 = sprintf('%-*s %7s %8s %7s %6s %4s %6s\n',header_width-2,' ','prior mean', ...
-                   'mode','s.d.','t-stat','prior','pstdev');
-    if np
-        ip = nvx+nvn+ncx+ncn+1;
-        disp('parameters')
-        disp(tit1)
-        for i=1:np
-            name = bayestopt_.name{ip};
-            disp(sprintf('%-*s %7.3f %8.4f %7.4f %7.4f %4s %6.4f', ...
-                         header_width,name, ...
-                         bayestopt_.p1(ip),xparam1(ip),stdh(ip),tstath(ip), ...
-                         pnames(bayestopt_.pshape(ip)+1,:), ...
-                         bayestopt_.p2(ip)));
-            eval(['oo_.posterior_mode.parameters.' name ' = xparam1(ip);']);
-            eval(['oo_.posterior_std.parameters.' name ' = stdh(ip);']);
-            ip = ip+1;
-        end
-    end
-    if nvx
-        ip = 1;
-        disp('standard deviation of shocks')
-        disp(tit1)
-        for i=1:nvx
-            k = estim_params_.var_exo(i,1);
-            name = deblank(M_.exo_names(k,:));
-            disp(sprintf('%-*s %7.3f %8.4f %7.4f %7.4f %4s %6.4f', ...
-                         header_width,name,bayestopt_.p1(ip),xparam1(ip), ...
-                         stdh(ip),tstath(ip),pnames(bayestopt_.pshape(ip)+1,:), ...
-                         bayestopt_.p2(ip)));
-            M_.Sigma_e(k,k) = xparam1(ip)*xparam1(ip);
-            eval(['oo_.posterior_mode.shocks_std.' name ' = xparam1(ip);']);
-            eval(['oo_.posterior_std.shocks_std.' name ' = stdh(ip);']);
-            ip = ip+1;
-        end
-    end
-    if nvn
-        disp('standard deviation of measurement errors')
-        disp(tit1)
-        ip = nvx+1;
-        for i=1:nvn
-            name = deblank(options_.varobs(estim_params_.nvn_observable_correspondence(i,1),:));
-            disp(sprintf('%-*s %7.3f %8.4f %7.4f %7.4f %4s %6.4f', ...
-                         header_width,name,bayestopt_.p1(ip), ...
-                         xparam1(ip),stdh(ip),tstath(ip), ...
-                         pnames(bayestopt_.pshape(ip)+1,:), ...
-                         bayestopt_.p2(ip)));
-            eval(['oo_.posterior_mode.measurement_errors_std.' name ' = xparam1(ip);']);
-            eval(['oo_.posterior_std.measurement_errors_std.' name ' = stdh(ip);']);
-            ip = ip+1;
-        end
-    end
-    if ncx
-        disp('correlation of shocks')
-        disp(tit1)
-        ip = nvx+nvn+1;
-        for i=1:ncx
-            k1 = estim_params_.corrx(i,1);
-            k2 = estim_params_.corrx(i,2);
-            name = [deblank(M_.exo_names(k1,:)) ',' deblank(M_.exo_names(k2,:))];
-            NAME = [deblank(M_.exo_names(k1,:)) '_' deblank(M_.exo_names(k2,:))];
-            disp(sprintf('%-*s %7.3f %8.4f %7.4f %7.4f %4s %6.4f', ...
-                         header_width,name,bayestopt_.p1(ip),xparam1(ip),stdh(ip),tstath(ip),  ...
-                         pnames(bayestopt_.pshape(ip)+1,:), bayestopt_.p2(ip)));
-            M_.Sigma_e(k1,k2) = xparam1(ip)*sqrt(M_.Sigma_e(k1,k1)*M_.Sigma_e(k2,k2));
-            M_.Sigma_e(k2,k1) = M_.Sigma_e(k1,k2);
-            eval(['oo_.posterior_mode.shocks_corr.' NAME ' = xparam1(ip);']);
-            eval(['oo_.posterior_std.shocks_corr.' NAME ' = stdh(ip);']);
-            ip = ip+1;
-        end
-    end
-    if ncn
-        disp('correlation of measurement errors')
-        disp(tit1)
-        ip = nvx+nvn+ncx+1;
-        for i=1:ncn
-            k1 = estim_params_.corrn(i,1);
-            k2 = estim_params_.corrn(i,2);
-            name = [deblank(M_.endo_names(k1,:)) ',' deblank(M_.endo_names(k2,:))];
-            NAME = [deblank(M_.endo_names(k1,:)) '_' deblank(M_.endo_names(k2,:))];
-            disp(sprintf('%-*s %7.3f %8.4f %7.4f %7.4f %4s %6.4f', ...
-                         header_width,name,bayestopt_.p1(ip),xparam1(ip),stdh(ip),tstath(ip), ...
-                         pnames(bayestopt_.pshape(ip)+1,:), bayestopt_.p2(ip)));
-            eval(['oo_.posterior_mode.measurement_errors_corr.' NAME ' = xparam1(ip);']);
-            eval(['oo_.posterior_std.measurement_errors_corr.' NAME ' = stdh(ip);']);
-            ip = ip+1;
-        end
-    end
+    %% display results table and store parameter estimates and standard errors in results
+    oo_=display_estimation_results_table(xparam1,stdh,M_,options_,estim_params_,bayestopt_,oo_,pnames,'Posterior','posterior');
     %% Laplace approximation to the marginal log density:
     if options_.cova_compute
         estim_params_nbr = size(xparam1,1);
@@ -631,289 +537,11 @@ if any(bayestopt_.pshape > 0) && ~options_.mh_posterior_mode_estimation
         disp(' ')
     end
 elseif ~any(bayestopt_.pshape > 0) && ~options_.mh_posterior_mode_estimation
-    disp(' ')
-    disp('RESULTS FROM MAXIMUM LIKELIHOOD')
-    tstath = zeros(nx,1);
-    for i = 1:nx
-        tstath(i) = abs(xparam1(i))/stdh(i);
-    end
-    header_width = row_header_width(M_,estim_params_,bayestopt_);
-    tit1 = sprintf('%-*s %10s %7s %6s\n',header_width-2,' ','Estimate','s.d.','t-stat');
-    if np
-        ip = nvx+nvn+ncx+ncn+1;
-        disp('parameters')
-        disp(tit1)
-        for i=1:np
-            name = bayestopt_.name{ip};
-            disp(sprintf('%-*s %8.4f %7.4f %7.4f', ...
-                         header_width,name,xparam1(ip),stdh(ip),tstath(ip)));
-            eval(['oo_.mle_mode.parameters.' name ' = xparam1(ip);']);
-            eval(['oo_.mle_std.parameters.' name ' = stdh(ip);']);
-            ip = ip+1;
-        end
-    end
-    if nvx
-        ip = 1;
-        disp('standard deviation of shocks')
-        disp(tit1)
-        for i=1:nvx
-            k = estim_params_.var_exo(i,1);
-            name = deblank(M_.exo_names(k,:));
-            disp(sprintf('%-*s %8.4f %7.4f %7.4f',header_width,name,xparam1(ip),stdh(ip),tstath(ip)));
-            M_.Sigma_e(k,k) = xparam1(ip)*xparam1(ip);
-            eval(['oo_.mle_mode.shocks_std.' name ' = xparam1(ip);']);
-            eval(['oo_.mle_std.shocks_std.' name ' = stdh(ip);']);
-            ip = ip+1;
-        end
-    end
-    if nvn
-        disp('standard deviation of measurement errors')
-        disp(tit1)
-        ip = nvx+1;
-        for i=1:nvn
-            name = deblank(options_.varobs(estim_params_.nvn_observable_correspondence(i,1),:));
-            disp(sprintf('%-*s %8.4f %7.4f %7.4f',header_width,name,xparam1(ip),stdh(ip),tstath(ip)))
-            eval(['oo_.mle_mode.measurement_errors_std.' name ' = xparam1(ip);']);
-            eval(['oo_.mle_std.measurement_errors_std.' name ' = stdh(ip);']);
-            ip = ip+1;
-        end
-    end
-    if ncx
-        disp('correlation of shocks')
-        disp(tit1)
-        ip = nvx+nvn+1;
-        for i=1:ncx
-            k1 = estim_params_.corrx(i,1);
-            k2 = estim_params_.corrx(i,2);
-            name = [deblank(M_.exo_names(k1,:)) ',' deblank(M_.exo_names(k2,:))];
-            NAME = [deblank(M_.exo_names(k1,:)) '_' deblank(M_.exo_names(k2,:))];
-            disp(sprintf('%-*s %8.4f %7.4f %7.4f', header_width,name,xparam1(ip),stdh(ip),tstath(ip)));
-            M_.Sigma_e(k1,k2) = xparam1(ip)*sqrt(M_.Sigma_e(k1,k1)*M_.Sigma_e(k2,k2));
-            M_.Sigma_e(k2,k1) = M_.Sigma_e(k1,k2);
-            eval(['oo_.mle_mode.shocks_corr.' NAME ' = xparam1(ip);']);
-            eval(['oo_.mle_std.shocks_corr.' NAME ' = stdh(ip);']);
-            ip = ip+1;
-        end
-    end
-    if ncn
-        disp('correlation of measurement errors')
-        disp(tit1)
-        ip = nvx+nvn+ncx+1;
-        for i=1:ncn
-            k1 = estim_params_.corrn(i,1);
-            k2 = estim_params_.corrn(i,2);
-            name = [deblank(M_.endo_names(k1,:)) ',' deblank(M_.endo_names(k2,:))];
-            NAME = [deblank(M_.endo_names(k1,:)) '_' deblank(M_.endo_names(k2,:))];
-            disp(sprintf('%-*s %8.4f %7.4f %7.4f',header_width,name,xparam1(ip),stdh(ip),tstath(ip)));
-            eval(['oo_.mle_mode.measurement_error_corr.' NAME ' = xparam1(ip);']);
-            eval(['oo_.mle_std.measurement_error_corr.' NAME ' = stdh(ip);']);
-            ip = ip+1;
-        end
-    end
+    oo_=display_estimation_results_table(xparam1,stdh,M_,options_,estim_params_,bayestopt_,oo_,pnames,'Maximum Likelihood','mle');
 end
 
-
 OutputDirectoryName = CheckPath('Output',M_.dname);
 
-if any(bayestopt_.pshape > 0) && options_.TeX %% Bayesian estimation (posterior mode) Latex output
-    if np
-        filename = [OutputDirectoryName '/' M_.fname '_Posterior_Mode_1.TeX'];
-        fidTeX = fopen(filename,'w');
-        fprintf(fidTeX,'%% TeX-table generated by dynare_estimation (Dynare).\n');
-        fprintf(fidTeX,'%% RESULTS FROM POSTERIOR MAXIMIZATION (parameters)\n');
-        fprintf(fidTeX,['%% ' datestr(now,0)]);
-        fprintf(fidTeX,' \n');
-        fprintf(fidTeX,' \n');
-        fprintf(fidTeX,'\\begin{center}\n');
-        fprintf(fidTeX,'\\begin{longtable}{l|lcccc} \n');
-        fprintf(fidTeX,'\\caption{Results from posterior maximization (parameters)}\n ');
-        fprintf(fidTeX,'\\label{Table:Posterior:1}\\\\\n');
-        fprintf(fidTeX,'\\hline\\hline \\\\ \n');
-        fprintf(fidTeX,'  & Prior distribution & Prior mean  & Prior s.d. & Posterior mode & s.d. \\\\ \n');
-        fprintf(fidTeX,'\\hline \\endfirsthead \n');
-        fprintf(fidTeX,'\\caption{(continued)}\n ');
-        fprintf(fidTeX,'\\label{Table:Posterior:1}\\\\\n');
-        fprintf(fidTeX,'\\hline\\hline \\\\ \n');
-        fprintf(fidTeX,'  & Prior distribution & Prior mean  & Prior s.d. & Posterior mode & s.d. \\\\ \n');
-        fprintf(fidTeX,'\\hline \\endhead \n');
-        fprintf(fidTeX,'\\hline \\multicolumn{6}{r}{(Continued on next page)} \\\\ \\hline \\endfoot \n');
-        fprintf(fidTeX,'\\hline \\hline \\endlastfoot \n');
-        ip = nvx+nvn+ncx+ncn+1;
-        for i=1:np
-            fprintf(fidTeX,'$%s$ & %s & %7.3f & %6.4f & %8.4f & %7.4f \\\\ \n',...
-                    M_.param_names_tex(estim_params_.param_vals(i,1),:),...
-                    deblank(pnames(bayestopt_.pshape(ip)+1,:)),...
-                    bayestopt_.p1(ip),...
-                    bayestopt_.p2(ip),...
-                    xparam1(ip),...
-                    stdh(ip));
-            ip = ip + 1;
-        end
-        fprintf(fidTeX,'\\end{longtable}\n ');    
-        fprintf(fidTeX,'\\end{center}\n');
-        fprintf(fidTeX,'%% End of TeX file.\n');
-        fclose(fidTeX);
-    end
-    if nvx
-        TeXfile = [OutputDirectoryName '/' M_.fname '_Posterior_Mode_2.TeX'];
-        fidTeX = fopen(TeXfile,'w');
-        fprintf(fidTeX,'%% TeX-table generated by dynare_estimation (Dynare).\n');
-        fprintf(fidTeX,'%% RESULTS FROM POSTERIOR MAXIMIZATION (standard deviation of structural shocks)\n');
-        fprintf(fidTeX,['%% ' datestr(now,0)]);
-        fprintf(fidTeX,' \n');
-        fprintf(fidTeX,' \n');
-        fprintf(fidTeX,'\\begin{center}\n');
-        fprintf(fidTeX,'\\begin{longtable}{l|lcccc} \n');
-        fprintf(fidTeX,'\\caption{Results from posterior maximization (standard deviation of structural shocks)}\n ');
-        fprintf(fidTeX,'\\label{Table:Posterior:2}\\\\\n');
-        fprintf(fidTeX,'\\hline\\hline \\\\ \n');
-        fprintf(fidTeX,'  & Prior distribution & Prior mean  & Prior s.d. & Posterior mode & s.d. \\\\ \n');
-        fprintf(fidTeX,'\\hline \\endfirsthead \n');
-        fprintf(fidTeX,'\\caption{(continued)}\n ');
-        fprintf(fidTeX,'\\label{Table:Posterior:2}\\\\\n');
-        fprintf(fidTeX,'\\hline\\hline \\\\ \n');
-        fprintf(fidTeX,'  & Prior distribution & Prior mean  & Prior s.d. & Posterior mode & s.d. \\\\ \n');
-        fprintf(fidTeX,'\\hline \\endhead \n');
-        fprintf(fidTeX,'\\hline \\multicolumn{6}{r}{(Continued on next page)} \\\\ \\hline \\endfoot \n');
-        fprintf(fidTeX,'\\hline \\hline \\endlastfoot \n');
-        ip = 1;
-        for i=1:nvx
-            k = estim_params_.var_exo(i,1);
-            fprintf(fidTeX,[ '$%s$ & %4s & %7.3f & %6.4f & %8.4f & %7.4f \\\\ \n'],...
-                    deblank(M_.exo_names_tex(k,:)),...
-                    deblank(pnames(bayestopt_.pshape(ip)+1,:)),...
-                    bayestopt_.p1(ip),...
-                    bayestopt_.p2(ip),...
-                    xparam1(ip), ...
-                    stdh(ip));
-            ip = ip+1;
-        end
-        fprintf(fidTeX,'\\end{longtable}\n ');    
-        fprintf(fidTeX,'\\end{center}\n');
-        fprintf(fidTeX,'%% End of TeX file.\n');
-        fclose(fidTeX);
-    end
-    if nvn
-        TeXfile = [OutputDirectoryName '/' M_.fname '_Posterior_Mode_3.TeX'];
-        fidTeX  = fopen(TeXfile,'w');
-        fprintf(fidTeX,'%% TeX-table generated by dynare_estimation (Dynare).\n');
-        fprintf(fidTeX,'%% RESULTS FROM POSTERIOR MAXIMIZATION (standard deviation of measurement errors)\n');
-        fprintf(fidTeX,['%% ' datestr(now,0)]);
-        fprintf(fidTeX,' \n');
-        fprintf(fidTeX,' \n');
-        fprintf(fidTeX,'\\begin{center}\n');
-        fprintf(fidTeX,'\\begin{longtable}{l|lcccc} \n');
-        fprintf(fidTeX,'\\caption{Results from posterior maximization (standard deviation of measurement errors)}\n ');
-        fprintf(fidTeX,'\\label{Table:Posterior:3}\\\\\n');
-        fprintf(fidTeX,'\\hline\\hline \\\\ \n');
-        fprintf(fidTeX,'  & Prior distribution & Prior mean  & Prior s.d. &  Posterior mode & s.d. \\\\ \n');
-        fprintf(fidTeX,'\\hline \\endfirsthead \n');
-        fprintf(fidTeX,'\\caption{(continued)}\n ');
-        fprintf(fidTeX,'\\label{Table:Posterior:3}\\\\\n');
-        fprintf(fidTeX,'\\hline\\hline \\\\ \n');
-        fprintf(fidTeX,'  & Prior distribution & Prior mean  & Prior s.d. &  Posterior mode & s.d. \\\\ \n');
-        fprintf(fidTeX,'\\hline \\endhead \n');
-        fprintf(fidTeX,'\\hline \\multicolumn{6}{r}{(Continued on next page)} \\\\ \\hline \\endfoot \n');
-        fprintf(fidTeX,'\\hline \\hline \\endlastfoot \n');
-        ip = nvx+1;
-        for i=1:nvn
-            idx = strmatch(options_.varobs(estim_params_.nvn_observable_correspondence(i,1),:),M_.endo_names);
-            fprintf(fidTeX,'$%s$ & %4s & %7.3f & %6.4f & %8.4f & %7.4f \\\\ \n',...
-                    deblank(M_.endo_names_tex(idx,:)), ...
-                    deblank(pnames(bayestopt_.pshape(ip)+1,:)), ...
-                    bayestopt_.p1(ip), ...
-                    bayestopt_.p2(ip),...
-                    xparam1(ip),...
-                    stdh(ip));
-            ip = ip+1;
-        end
-        fprintf(fidTeX,'\\end{longtable}\n ');    
-        fprintf(fidTeX,'\\end{center}\n');
-        fprintf(fidTeX,'%% End of TeX file.\n');
-        fclose(fidTeX);
-    end
-    if ncx
-        TeXfile = [OutputDirectoryName '/' M_.fname '_Posterior_Mode_4.TeX'];
-        fidTeX = fopen(TeXfile,'w');
-        fprintf(fidTeX,'%% TeX-table generated by dynare_estimation (Dynare).\n');
-        fprintf(fidTeX,'%% RESULTS FROM POSTERIOR MAXIMIZATION (correlation of structural shocks)\n');
-        fprintf(fidTeX,['%% ' datestr(now,0)]);
-        fprintf(fidTeX,' \n');
-        fprintf(fidTeX,' \n');
-        fprintf(fidTeX,'\\begin{center}\n');
-        fprintf(fidTeX,'\\begin{longtable}{l|lcccc} \n');
-        fprintf(fidTeX,'\\caption{Results from posterior parameters (correlation of structural shocks)}\n ');
-        fprintf(fidTeX,'\\label{Table:Posterior:4}\\\\\n');
-        fprintf(fidTeX,'\\hline\\hline \\\\ \n');
-        fprintf(fidTeX,'  & Prior distribution & Prior mean  & Prior s.d. &  Posterior mode & s.d. \\\\ \n');
-        fprintf(fidTeX,'\\hline \\endfirsthead \n');
-        fprintf(fidTeX,'\\caption{(continued)}\n ');
-        fprintf(fidTeX,'\\label{Table:Posterior:4}\\\\\n');
-        fprintf(fidTeX,'\\hline\\hline \\\\ \n');
-        fprintf(fidTeX,'  & Prior distribution & Prior mean  & Prior s.d. &  Posterior mode & s.d. \\\\ \n');
-        fprintf(fidTeX,'\\hline \\endhead \n');
-        fprintf(fidTeX,'\\hline \\multicolumn{6}{r}{(Continued on next page)} \\\\ \\hline \\endfoot \n');
-        fprintf(fidTeX,'\\hline \\hline \\endlastfoot \n');
-        ip = nvx+nvn+1;
-        for i=1:ncx
-            k1 = estim_params_.corrx(i,1);
-            k2 = estim_params_.corrx(i,2);
-            fprintf(fidTeX,[ '$%s$ & %s & %7.3f & %6.4f & %8.4f & %7.4f \\\\ \n'],...
-                    [deblank(M_.exo_names_tex(k1,:)) ',' deblank(M_.exo_names_tex(k2,:))], ...
-                    deblank(pnames(bayestopt_.pshape(ip)+1,:)), ...
-                    bayestopt_.p1(ip), ...
-                    bayestopt_.p2(ip), ...
-                    xparam1(ip), ...
-                    stdh(ip));
-            ip = ip+1;
-        end
-        fprintf(fidTeX,'\\end{longtable}\n ');    
-        fprintf(fidTeX,'\\end{center}\n');
-        fprintf(fidTeX,'%% End of TeX file.\n');
-        fclose(fidTeX);
-    end
-    if ncn
-        TeXfile = [OutputDirectoryName '/' M_.fname '_Posterior_Mode_5.TeX'];
-        fidTeX = fopen(TeXfile,'w');
-        fprintf(fidTeX,'%% TeX-table generated by dynare_estimation (Dynare).\n');
-        fprintf(fidTeX,'%% RESULTS FROM POSTERIOR MAXIMIZATION (correlation of measurement errors)\n');
-        fprintf(fidTeX,['%% ' datestr(now,0)]);
-        fprintf(fidTeX,' \n');
-        fprintf(fidTeX,' \n');
-        fprintf(fidTeX,'\\begin{center}\n');
-        fprintf(fidTeX,'\\begin{longtabe}{l|lcccc} \n');
-        fprintf(fidTeX,'\\caption{Results from posterior parameters (correlation of measurement errors)}\n ');
-        fprintf(fidTeX,'\\label{Table:Posterior:5}\\\\\n');
-        fprintf(fidTeX,'\\hline\\hline \\\\ \n');
-        fprintf(fidTeX,'  & Prior distribution & Prior mean  & Prior s.d. &  Posterior mode & s.d. \\\\ \n');
-        fprintf(fidTeX,'\\hline \\endfirsthead \n');
-        fprintf(fidTeX,'\\caption{(continued)}\n ');
-        fprintf(fidTeX,'\\label{Table:Posterior:5}\\\\\n');
-        fprintf(fidTeX,'\\hline\\hline \\\\ \n');
-        fprintf(fidTeX,'  & Prior distribution & Prior mean  & Prior s.d. &  Posterior mode & s.d. \\\\ \n');
-        fprintf(fidTeX,'\\hline \\endhead \n');
-        fprintf(fidTeX,'\\hline \\multicolumn{6}{r}{(Continued on next page)} \\\\ \\hline \\endfoot \n');
-        fprintf(fidTeX,'\\hline \\hline \\endlastfoot \n');
-        ip = nvx+nvn+ncx+1;
-        for i=1:ncn
-            k1 = estim_params_.corrn(i,1);
-            k2 = estim_params_.corrn(i,2);
-            fprintf(fidTeX,'$%s$ & %s & %7.3f & %6.4f & %8.4f & %7.4f \\\\ \n',...
-                    [deblank(M_.endo_names_tex(k1,:)) ',' deblank(M_.endo_names_tex(k2,:))], ...
-                    pnames(bayestopt_.pshape(ip)+1,:), ...
-                    bayestopt_.p1(ip), ...
-                    bayestopt_.p2(ip), ...
-                    xparam1(ip), ...
-                    stdh(ip));
-            ip = ip+1;
-        end
-        fprintf(fidTeX,'\\end{longtable}\n ');    
-        fprintf(fidTeX,'\\end{center}\n');
-        fprintf(fidTeX,'%% End of TeX file.\n');
-        fclose(fidTeX);
-    end
-end
-
 if np > 0
     pindx = estim_params_.param_vals(:,1);
     save([M_.fname '_params.mat'],'pindx');