gpt4 book ai didi

MATLAB:force doc命令打开指定引用HTML页面

转载 作者:太空宇宙 更新时间:2023-11-03 19:20:50 24 4
gpt4 key购买 nike

假设我在包中编写了一个类,名为 mypackage.myclass。我已经为包和类编写了自己的 HTML 文档,并将其包含在 MATLAB 帮助浏览器中,如 the MATLAB documentation 中所述。 .

我可以通过使用帮助浏览器直接导航到它来显示这个 HTML 文档,但是键入 doc mypackage.myclass 不会显示它;相反,它显示一些由 helpwin 自动生成的 HTML 文档(这是一个很好的功能,但不是我想要的 - 自动生成的文档对我的用户来说太技术化了)。

如何强制 doc 显示我的文档,而不是自动生成的文档?

等价于:

当您运行 doc docTopic 时,在 doc 命令中调用 Java 类 com.mathworks.mlservices.MLHelpServices.showReferencePage(docTopic)。如果 docTopic 的引用页存在,它会显示它并返回一个成功值。如果引用页不存在,它会返回一个失败值,然后调用 helpwin(docTopic)。某处必须有一些目录将 docTopic 的值与各个引用 HTML 文件联系起来。我该如何摆弄那个目录 - 或者我可以为我的包裹创建一个目录吗?

MathWorkers 和@Yair,请给我足够的无证绳索来吊死自己:)

最佳答案

据我所知,这是不可能的,也不是 MathWorks 的意图。我也不知道这样做的无证方式。据我所知,doc 的关键字在某处进行了硬编码。

根据您的设置,您可以尝试以下操作:准备您自己的 doc 命令,该命令使用 web(..., '-helpbrowser') 显示 HTML 页面MATLAB 的帮助浏览器:

function doc(topic)

my_topics = {
'foo', 'foo.html'
'bar', 'bar/help/intro.html'
};

for i = 1 : size(my_topics, 1)
if strcmpi(topic, my_topics{i, 1})
web(my_topics{i, 2}, '-helpbrowser');
return;
end
end

% Fall back to MATLAB's doc. Note that our doc shadows MATLAB's doc.
docs = which('doc', '-all');
old_dir = cd();
c = onCleanup(@() cd(old_dir));
cd(fileparts(docs{2}));
doc(topic);
end

如果您将该函数放在文件 doc.m 中,并将相应的目录放在 MATLAB 路径的开头(请参阅 help addpath),那么它将被调用而不是内置的 doc

当然,您可以使用其他地方来存储自定义文档映射(例如文件)或使用某种动态查找方案。

更新:自 MATLAB R2012b 起,web'-helpbrowser' 选项未记录。这可能与该 MATLAB 版本中的 GUI 更改有关,其中还包括帮助浏览器。 web(..., '-helpbrowser') 仍按预期工作,但在未来的 MATLAB 版本中可能会发生变化。据我所知,在 R2012b 的帮助浏览器中没有打开任何 HTML 页面的记录方法。

关于MATLAB:force doc命令打开指定引用HTML页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10410120/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com