Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mathworks生成Matlab HTML文档的方法是什么?_Matlab_Doxygen_Python Sphinx_Documentation Generation - Fatal编程技术网

Mathworks生成Matlab HTML文档的方法是什么?

Mathworks生成Matlab HTML文档的方法是什么?,matlab,doxygen,python-sphinx,documentation-generation,Matlab,Doxygen,Python Sphinx,Documentation Generation,我正在编写共享的Matlab代码,我们希望在本地网络中将生成的文档作为可搜索的HTML文档共享 我知道以下生成文档的方法: 编写一个类似C++文件的转换器。这是在(2011年最后更新)和(2013年最后更新)中完成的。然后由Doxygen解析类似C++的文件 使用Python生成HTML文档 使用,这也是第三方解决方案 本Q&As中列出了更多选项,以及 Mathworks不支持所有的可能性。所有的可能性都需要我提及,即函数的参数。他们不分析代码,因为Doxygen是为Java进行分析的: //!

我正在编写共享的Matlab代码,我们希望在本地网络中将生成的文档作为可搜索的HTML文档共享

我知道以下生成文档的方法:

  • 编写一个类似C++文件的转换器。这是在(2011年最后更新)和(2013年最后更新)中完成的。然后由Doxygen解析类似C++的文件
  • 使用Python生成HTML文档
  • 使用,这也是第三方解决方案
  • 本Q&As中列出了更多选项,以及
  • Mathworks不支持所有的可能性。所有的可能性都需要我提及,即函数的参数。他们不分析代码,因为Doxygen是为Java进行分析的:

    //! an object representation of the advertisement package sent by the beacon
    private AdvertisementPackage advertisementPackage;
    
    我听说过Matlab的函数,但我从来没有见过它在上述意义上的使用

    问题:Mathworks生成MatlabHTML文档的方法是什么。代码本身可以被分析吗?我可以使用提供给Matlab输入解析器的信息吗?请在评论中提及您的个人偏好

    例如:

    %% Input parser
    p = inputParser;
    addRequired(p, 'x', @isnumeric);
    
    validationFcn = @(x) (isnumeric(x) && isscalar(x));
    addRequired(p, 'fftSize', validationFcn);
    addRequired(p, 'fftShift', validationFcn);
    
    validationFcn = @(x) (isa(x, 'function_handle'));
    addRequired(p, 'analysisWindowHandle', validationFcn);
    
    parse(p, x, fftSize, fftShift, analysisWindowHandle);
    

    我认为这是Santoned Mathworks编写文档的正式方式:


    基本上编写HTML,并添加一组文件,使其在MATLAB文档中可搜索和显示。

    我认为您已经对这个主题进行了很好的研究(如何从MATLAB函数生成HTML文档),现在由您选择最适合您的方法

    该函数可用于。使用编写常规M文件(事实上,该文件可能是所有注释,没有代码),然后发布该文件以获得呈现的HTML(它还支持PDF、DOC、LaTeX等)。可以把它想象成一个更简单的MATLAB特定版本的Markdown,在这里用来格式化帖子

    您没有提到的一个方面是将生成的文档集成到内置帮助查看器中。这是通过创建文档和文件,并以特定的方式组织文档来完成的。您还可以通过使用函数构建索引文件来搜索自定义文档(该函数在MATLAB自定义文档中内部支持搜索功能)。请注意,如何生成HTML文档并不重要(您可以使用
    publish
    甚至手动编写HTML文件)

    事实上,基于
    发布
    的工作流是可扩展的,您可以通过创建自定义模板文件来转换和呈现解析的注释,从而以有趣的方式使用它。例如,我看到它习惯于使用而不是依赖内置解决方案。另一个例子是(使用的格式)。其他人用它来写博客文章(参见MATLAB Central上的,以这种方式创建的),甚至后来由静态站点生成器(如和框架)处理

    据我所知,目前还没有公共工具可以在更深层次上检查MATLAB代码并分析函数参数。我能想到的最好办法是使用获取一些关于函数和类的元数据,尽管那个解决方案并不完美


    MathWorks似乎正在使用自己的内部系统来编写HTML文档。遗憾的是,他们没有与我们的用户共享它:)

    有一种简单的方法可以使用带有函数的publish&它是相应的输入。查看发布('test',结构('codeToEvaluate','test(inputs);','showCode',false,
    ))

    我在查看MATLAB的HTML帮助文件时,注意到对一个名为:to Clearify的产品的引用,该产品由我编写,它分析代码并自动生成类似于Epydoc的文档。尝试使用列出您想要的源代码,然后使用自动生成存根文件,然后生成您的文档。我们现在决定走斯芬克斯之路,因为我们在遇到问题时收到了快速而良好的反馈。您能详细说明一下吗?我发现我可以自己编写HTML文件。但是,您是否看到了一种根据源代码(头,InputParser)中给出的信息生成HTML文件的方法?据我所知,从代码生成HTML的唯一方法是使用
    publish
    函数和代码的MathWorks标记。据我所知,它将执行脚本。大多数时候,我想记录函数及其输入,而不是运行它们。你看到解决办法了吗?没有,对不起。它看起来像是
    publish
    只对脚本有效,并执行脚本以生成HTML。如果你想沿着这条路线走下去,你需要编写一个脚本(大部分可以是标记的注释),它本质上是你的文档,带有一点调用函数的代码,以生成一个如何在文档中调用函数的示例。