1function collect_latex_files 2% function collect_LaTeX_Files; 3% Creates TeX-File embedding all eps-loaders created for current mod-file 4% 5% Inputs: none 6% 7% Notes: 8% - The packages loaded enable pdflatex to run 9% - The _dynamic and _static TeX-model files are not included as they are standalone TeX-files 10 11% Copyright (C) 2015-2019 Dynare Team 12% 13% This file is part of Dynare. 14% 15% Dynare is free software: you can redistribute it and/or modify 16% it under the terms of the GNU General Public License as published by 17% the Free Software Foundation, either version 3 of the License, or 18% (at your option) any later version. 19% 20% Dynare is distributed in the hope that it will be useful, 21% but WITHOUT ANY WARRANTY; without even the implied warranty of 22% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 23% GNU General Public License for more details. 24% 25% You should have received a copy of the GNU General Public License 26% along with Dynare. If not, see <http://www.gnu.org/licenses/>. 27 28global M_ 29%% Write header 30f_name_binder=[M_.fname,'_TeX_binder.tex']; 31fid=fopen(f_name_binder,'w+'); 32fprintf(fid,'%s \n','\documentclass[12pt]{article}'); 33fprintf(fid,'%s \n','\usepackage[margin=2cm]{geometry}'); 34fprintf(fid,'%s \n','\usepackage{psfrag}'); 35fprintf(fid,'%s \n','\usepackage{graphicx}'); 36fprintf(fid,'%s \n','\usepackage{epstopdf}'); 37fprintf(fid,'%s \n','\usepackage{longtable,booktabs}'); 38fprintf(fid,'%s \n','\usepackage{amsmath,amsfonts}'); 39fprintf(fid,'%s \n','\usepackage{breqn}'); 40fprintf(fid,'%s \n','\usepackage{float,morefloats,caption}'); 41fprintf(fid,'%s \n','\begin{document}'); 42 43%% Include LaTeX files from <fname>/latex/ directory, except the standalone ones 44TeX_Files=dir([M_.dname filesep 'latex' filesep '*.tex']); 45for ii=1:length(TeX_Files) 46 [pathstr,f_name,ext] = fileparts(TeX_Files(ii).name); 47 if ~strcmp(f_name, 'dynamic') && ... 48 ~strcmp(f_name, 'static') && ... 49 ~strcmp(f_name, 'original') && ... 50 ~strcmp(f_name, 'steady_state') 51 fprintf(fid,'%s \n',['\include{' M_.dname '/latex/' f_name '}']); 52 end 53end 54 55%% Output directory 56TeX_Files=dir([M_.dname filesep 'Output' filesep M_.fname '*.tex']); 57for ii=1:length(TeX_Files) 58 [pathstr,f_name,ext] = fileparts(TeX_Files(ii).name); 59 if ~strcmp(TeX_Files(ii).name,f_name_binder) 60 fprintf(fid,'%s \n',['\include{', M_.dname '/Output' '/',f_name,'}']); 61 end 62end 63 64%% graphs directory 65TeX_Files=dir([M_.dname filesep 'graphs' filesep M_.fname '*.tex']); 66for ii=1:length(TeX_Files) 67 [pathstr,f_name,ext] = fileparts(TeX_Files(ii).name); 68 if ~strcmp(TeX_Files(ii).name,f_name_binder) 69 fprintf(fid,'%s \n',['\include{', M_.dname '/graphs' '/',f_name,'}']); 70 end 71end 72 73%% Identification directory 74TeX_Files=dir([M_.dname filesep 'identification' filesep M_.fname '*.tex']); 75for ii=1:length(TeX_Files) 76 [pathstr,f_name,ext] = fileparts(TeX_Files(ii).name); 77 if ~strcmp(TeX_Files(ii).name,f_name_binder) 78 fprintf(fid,'%s \n',['\include{', M_.dname '/identification' '/',f_name,'}']); 79 end 80end 81 82 83%% Identification/Output directory 84TeX_Files=dir([M_.dname filesep 'identification' filesep 'Output' filesep M_.fname '*.tex']); 85for ii=1:length(TeX_Files) 86 [pathstr,f_name,ext] = fileparts(TeX_Files(ii).name); 87 if ~strcmp(TeX_Files(ii).name,f_name_binder) 88 fprintf(fid,'%s \n',['\include{', M_.dname '/identification/Output' '/',f_name,'}']); 89 end 90end 91 92%% GSA directory 93TeX_Files=dir([M_.dname filesep 'gsa' filesep M_.fname '*.tex']); 94for ii=1:length(TeX_Files) 95 [pathstr,f_name,ext] = fileparts(TeX_Files(ii).name); 96 if ~strcmp(TeX_Files(ii).name,f_name_binder) 97 fprintf(fid,'%s \n',['\include{', M_.dname '/gsa' '/',f_name,'}']); 98 end 99end 100 101%% GSA/Output directory 102TeX_Files=dir([M_.dname filesep 'gsa' filesep 'Output' filesep M_.fname '*.tex']); 103for ii=1:length(TeX_Files) 104 [pathstr,f_name,ext] = fileparts(TeX_Files(ii).name); 105 if ~strcmp(TeX_Files(ii).name,f_name_binder) 106 fprintf(fid,'%s \n',['\include{', M_.dname '/gsa/Output' '/',f_name,'}']); 107 end 108end 109 110 111dirinfo_parent = dir([M_.dname filesep 'gsa' filesep 'redform*']); 112dirinfo_parent(~[dirinfo_parent.isdir]) = []; %remove non-directories 113tf = ismember( {dirinfo_parent.name}, {'.', '..'}); 114dirinfo_parent(tf) = []; %remove current and parent directory. 115numsubdir_level1 = length(dirinfo_parent); 116for level1_iter = 1:numsubdir_level1 117 dirinfo_subfolder = dir([M_.dname filesep 'gsa' filesep dirinfo_parent(level1_iter).name]); 118 dirinfo_subfolder(~[dirinfo_subfolder.isdir]) = []; %remove non-directories 119 tf = ismember( {dirinfo_subfolder.name}, {'.', '..'}); 120 dirinfo_subfolder(tf) = []; %remove current and parent directory. 121 numsubdir_level2 = length(dirinfo_subfolder); 122 for level2_iter = 1:numsubdir_level2 123 TeX_Files=dir([M_.dname filesep 'gsa' filesep dirinfo_parent(level1_iter).name filesep dirinfo_subfolder(level2_iter).name filesep M_.fname '*.tex']); 124 for ii=1:length(TeX_Files) 125 [pathstr,f_name,ext] = fileparts(TeX_Files(ii).name); 126 if ~strcmp(TeX_Files(ii).name,f_name_binder) 127 fprintf(fid,'%s \n',['\include{', M_.dname '/gsa/',dirinfo_parent(level1_iter).name '/' dirinfo_subfolder(level2_iter).name ,'/',f_name,'}']); 128 end 129 end 130 TeX_Files=dir([M_.dname filesep 'gsa' filesep dirinfo_parent(level1_iter).name filesep dirinfo_subfolder(level2_iter).name filesep 'Output' filesep M_.fname '*.tex']); 131 for ii=1:length(TeX_Files) 132 [pathstr,f_name,ext] = fileparts(TeX_Files(ii).name); 133 if ~strcmp(TeX_Files(ii).name,f_name_binder) 134 fprintf(fid,'%s \n',['\include{', M_.dname '/gsa/', dirinfo_parent(level1_iter).name '/' dirinfo_subfolder(level2_iter).name, '/Output' '/',f_name,'}']); 135 end 136 end 137 end 138end 139 140 141 142 143%% Write footer 144fprintf(fid,'%s \n','\end{document}'); 145 146fclose(fid); 147