How can I print line numbers when I use the PUBLISH command in MATLAB?
60 次查看(过去 30 天)
显示 更早的评论
MathWorks Support Team
2009-12-22
编辑: MathWorks Support Team
2015-3-30
I want line numbers printed next to each line of my function when I publish functions using the PUBLISH command.
I would like to see something like
001 function y = MyFunc(x)
002 y = x.^2;
003 end
采纳的回答
MathWorks Support Team
2015-3-30
Use the dbtype function for this purpose:
>>doc dbtype
You can achieve the same thing using code such as the following:
function mypublish(filename)
% A Custom publish function that includes the line
% number for each line in the function
% Usage: mypublish('myfun.m')
function_options.format='html'
function_options.evalCode=false;
function_options.showCode=true;
copyfile(filename, 'mytemp.m')
fid1 = fopen(filename);
fid2 = fopen('mytemp.m', 'w');
i=1;
while 1
tline = fgetl(fid1);
if ~ischar(tline)
break;
end
if ~isempty(tline)
tline = [num2str(i),' ', tline];
fprintf(fid2,'%s',tline);
fprintf(fid2,'%s\n','');
i = i + 1;
end
end
fclose(fid1);
fclose(fid2);
publish(filename, function_options); % publish original function without line numbers
publish('mytemp',function_options); % publish temp function with line numbers
delete('mytemp.m'); % delete temp M -file
Note that the second approach would give you more flexibility if you wanted to display more than the line number.
0 个评论
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!