diff --git a/src/@dseries/tex_rename.m b/src/@dseries/tex_rename.m index 76a6967d36062ed01c0ee76f65c925c0624bbd07..801b8df789187607821cd09a19b4e505258e5af3 100644 --- a/src/@dseries/tex_rename.m +++ b/src/@dseries/tex_rename.m @@ -1,6 +1,6 @@ function ts = tex_rename(ts, varargin) % --*-- Unitary tests --*-- -% Copyright (C) 2013 Dynare Team +% Copyright (C) 2013-2015 Dynare Team % % This file is part of Dynare. % @@ -21,14 +21,17 @@ assert(nargin <= 3, 'dseries::tex_rename: accepts at most three args'); if nargin == 2 newtexname = varargin{1}; - assert(vobs(ts) == 1, ['dseries::tex_rename: with one argument, the dseries contain only one variable.']); + assert(vobs(ts) == 1 || vobs(ts) == length(newtexname), ... + 'dseries::tex_rename: with one argument, the dseries contain only one variable.'); else newtexname = varargin{2}; name = varargin{1}; assert(ischar(name), 'dseries::tex_rename: second input argument (name) must be a string'); end -assert(ischar(newtexname), 'dseries::tex_rename: third input argument (newtexname) name must be a string'); +assert(ischar(newtexname) || (iscellstr(newtexname) && length(newtexname) == vobs(ts)), ... + ['dseries::tex_rename: third input argument (newtexname) name must either be a string' ... + ' or a cell array of strings with the same number of entries as varibles in the dseries']); if nargin == 2 idname = 1; @@ -39,7 +42,11 @@ else end end -ts.tex(idname) = {newtexname}; +if iscellstr(newtexname) + ts.tex = newtexname; +else + ts.tex(idname) = {newtexname}; +end %@test:1 %$ t = zeros(8,1); @@ -86,3 +93,20 @@ ts.tex(idname) = {newtexname}; %$ %$ T = all(t); %@eof:2 + +%@test:3 +%$ t = zeros(2,1); +%$ ts = dseries(rand(3,3)); +%$ try +%$ ts = ts.tex_rename({'Output','\\Delta Y_t','\\theta_{-1}'}); +%$ t(1) = 1; +%$ catch +%$ t = 0; +%$ end +%$ +%$ if length(t)>1 +%$ t(2) = dassert(ts.tex,{'Output','\\Delta Y_t','\\theta_{-1}'}); +%$ end +%$ +%$ T = all(t); +%@eof:3