函数publish提供了一种动态记录脚本文件的方式。与静态文档不同,publish会运行脚本文件,在运行过程中保存任何生成的图形和输出,并将它们与静态文档一同以所需的输出格式呈现。静态文档可以利用发布标记来增强和自定义输出。
(file) ¶(file, output_format) ¶(file, option1, value1, …) ¶(file, options) ¶output_file = publish (file, …) ¶从Octave脚本文件 file 生成一种输出格式的报告。
生成的报告会解释节注释中的发布标记,这在GNU Octave手册中有详细说明。节注释是以双注释字符开头的注释块。
假设以下示例(使用了一些发布标记)是脚本文件 pub_example.m 的内容:
## Headline title
#
# Some *bold*, _italic_, or |monospaced| Text with
# a <https://www.octave.org link to *GNU Octave*>.
##
# "Real" Octave commands to be evaluated
sombrero ()
%% MATLAB comment style ('%') is supported as well
%
% * Bulleted list item 1
% * Bulleted list item 2
%
% # Numbered list item 1
% # Numbered list item 2
要发布此脚本文件,请输入 publish ("pub_example.m")。
当使用一个输入参数调用时,会在当前工作目录下的 html 子目录中生成一个HTML报告。pub_example.m 中的所有Octave命令会在一个独立的上下文中执行,并且在执行脚本文件过程中创建的任何图形都会被包含在报告中。
使用 publish (file, output_format) 等价于以下使用结构体的函数调用:
options.format = output_format; publish (file, options)
其描述如下。使用键值对的方式也是如此:
options.option1 = value1; publish (file, options)
结构体 options 可以包含以下字段名。如果未指定字段名,则使用默认值:
‘html’(默认)、‘doc’、‘latex’、‘ppt’、 ‘pdf’ 或 ‘xml’。
输出格式 ‘doc’、‘ppt’ 和 ‘xml’ 目前不受支持。要生成 ‘doc’ 报告,请用办公套件打开生成的 ‘html’ 报告。
在Octave中,可以通过在名为 ‘__publish_<自定义格式>_output__.m’ 的函数文件中实现所有回调子函数来支持自定义格式。要获取HTML格式的模板,请输入:
edit (fullfile (fileparts (which ("publish")), ...
"private", "__publish_html_output__.m"))
‘[]’(默认),整数值 ≥ 0
‘true’(默认)或 ‘false’
‘true’(默认)或 ‘false’
‘true’(默认)或 ‘false’
‘Inf’(默认)或整数值 > 0
‘true’(默认)或 ‘false’
输出参数 output_file 是一个字符串,包含生成报告的路径和文件名。
另请参阅: grabcode。
与 publish 相对应的函数是 grabcode:
filename ¶url ¶code_str = grabcode (…) ¶从 publish 函数创建的报告中获取代码。
已发布报告中要抓取的代码必须由字符串 ‘##### SOURCE BEGIN #####’ 和 ‘##### SOURCE END #####’ 包围。publish 函数会自动创建这种格式。
如果不需要返回值,代码将保存到一个临时文件中,并在默认编辑器中打开。注意:临时文件必须保存为新的文件名,否则代码将丢失。
如果需要输出,抓取的代码将以字符串 code_str 的形式返回。
示例:
publish ("my_script.m");
grabcode ("html/my_script.html");
上面的示例将 my_script.m 发布到默认位置 html/my_script.html。然后,抓取已发布的Octave脚本,以便在新的临时文件中编辑其内容。
另请参阅: publish。
版权所有 © 2024-2026 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-2