include an m file in a report

12 次查看(过去 30 天)
I would like to be able to include code contained in an m-file in a pdf report created with the Report Generator. I know I can use 'publish', to do this but I want to make use of the other functionality of report. Is this possible?
import mlreportgen.report.*
import mlreportgen.dom.*
R = Report('test','pdf');
open(R)
% add code from a separate M-file (eg 'script.m')
close(R)

采纳的回答

Mary Abbott
Mary Abbott 2020-2-5
Hello,
To display the contents of an M file in a Report Generator report, you can use an mlreportgen.dom.Text object to contain the text. Set the style of the Text object to look more like preformatted code:
import mlreportgen.dom.*
fileText = fileread('script.m');
textObj = Text(fileText);
% Set text object to preserve whitespace and use a monospace font
textObj.Style = {WhiteSpace('preserve'), FontFamily('Courier New')};
add(R, textObj);
Note: This will display the correct indentation in the M file, but will not display any syntax highlighting or evaluate code in the M file.
  1 个评论
Jon Brown
Jon Brown 2020-2-5
Thank you! That's very useful.
I guess there is no way of maintaining the syntax highlighting?

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by