diff --git a/matlab/reports/@report_table/writeTableFile.m b/matlab/reports/@report_table/writeTableFile.m index 3aeaaecdc16ba06db91c4d3ffaf8c45b072c3136..5721583d872e13934f5d39db2cc46d3792c0a10b 100644 --- a/matlab/reports/@report_table/writeTableFile.m +++ b/matlab/reports/@report_table/writeTableFile.m @@ -68,24 +68,17 @@ fprintf(fid, '\\setlength{\\tabcolsep}{4pt}\n'); fprintf(fid, '\\begin{tabular}{@{}l'); for i=1:ndates + fprintf(fid, 'r'); if o.showVlines - fprintf(fid, 'r|'); - else - fprintf(fid, 'r'); - if o.vlineAfterEndOfPeriod - if dates(i).time(2) == dates(i).freq + fprintf(fid, '|'); + elseif o.vlineAfterEndOfPeriod && dates(i).time(2) == dates(i).freq + fprintf(fid, '|'); + elseif ~isempty(o.vlineAfter) + for j=1:length(o.vlineAfter) + if dates(i) == o.vlineAfter{j} fprintf(fid, '|'); end end - if ~isempty(o.vlineAfter) - for j=1:length(o.vlineAfter) - if dates(i) == o.vlineAfter{j} - if ~(o.vlineAfterEndOfPeriod && dates(i).time(2) == dates(i).freq) - fprintf(fid, '|'); - end - end - end - end end end datedata = dates.time; @@ -140,7 +133,7 @@ else for i=1:length(rhscols) fprintf(fid, ' & %s', rhscols{i}); end - fprintf(fid, '\\\\\\cline{%d-%d}%%\n', nlhc+1, ncols); + fprintf(fid, '\\\\\n'); switch dates.freq case 4 sep = 'Q'; @@ -154,7 +147,20 @@ else for i=1:size(thdr, 1) period = thdr{i, 2}; for j=1:size(period, 2) - fprintf(fid, ' & \\multicolumn{1}{c}{%s%d}', sep, period(j)); + fprintf(fid, ' & \\multicolumn{1}{c'); + if o.showVlines + fprintf(fid, '|'); + elseif o.vlineAfterEndOfPeriod && j == size(period, 2) + fprintf(fid, '|'); + elseif ~isempty(o.vlineAfter) + for k=1:length(o.vlineAfter) + if o.vlineAfter{k}.time(1) == thdr{i} && ... + o.vlineAfter{k}.time(2) == period(j) + fprintf(fid, '|'); + end + end + end + fprintf(fid, '}{%s%d}', sep, period(j)); end end end