web-dev-qa-db-ja.com

Matlab HTMLドキュメントを生成するMathworksの方法は何ですか?

私は共有Matlabコードに取り組んでおり、ローカルネットワーク内で検索可能なHTMLドキュメントとして生成されたドキュメントを共有したいと考えています。

ドキュメントを生成する次の方法を知っています。

  1. コンバーターをC++のようなファイルに書き込みます。これは MatlabでDoxygenを使用 (最終更新2011)および mtoc ++ (最終更新2013)で行われます。 C++のようなファイルは、Doxygenによって解析されます。
  2. Pythonの sphinxcontrib-matlabdomain を使用して、HTMLドキュメントを生成します。
  3. サードパーティのソリューションでもある m2html を使用します。
  4. その他のオプションは、このQ&Aにリストされています: OneTwo および Three

Mathworksでは、すべての可能性がサポートされているわけではありません。すべての可能性について、つまり関数のパラメーターを自分で言及する必要があります。彼らはある意味でコードを分析しません、DoxygenはJavaのためにそれを行います:

//! an object representation of the advertisement package sent by the beacon
private AdvertisementPackage advertisementPackage;

Matlabの publish() 関数について聞いたことがありますが、前述の意味で使用されることはありませんでした。

質問:Matlab HTMLドキュメントを生成するMathworksの方法は何ですか?コード自体を分析できますか? 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);
26
Lukas

このトピック(MATLAB関数からHTMLドキュメンテーションを生成する方法)をよく調べたと思いますが、最適な方法を選択するのはあなた次第です。

publish 関数は 著者のドキュメント に使用できます。通常のMファイルを 特別に細工されたコメント で記述し(実際、ファイルはコードなしのすべてのコメントである可能性があります)、ファイルを発行して、レンダリングされたHTMLを取得します( その他のターゲットもサポートしています) PDF、DOC、LaTeXなど...)。それを Stack Exchangeサイト で投稿をフォーマットするためにここで使用した、Markdownのより単純なMATLAB固有のバージョンと考えてください。

言及しなかった1つの側面は、生成されたドキュメントを組み込みのヘルプビューアに統合することです。これは info.xml および demos.xml ファイル、およびドキュメントを特定の方法で整理します。 builddocsearchdb 関数を使用して Lucene インデックスファイルを作成することにより、カスタムドキュメントを検索可能にすることもできます(これは、MATLABカスタムドキュメントの検索機能を内部的に強化します)。 HTMLドキュメントの生成方法は関係ありません(publishを使用したり、手動で作成したHTMLファイルを使用したりすることもできます)。

実際、publishベースのワークフローは拡張可能であり、カスタム [〜#〜] xsl [〜#〜] テンプレートファイルを作成して変換およびレンダリングすることで、興味深い方法で使用できます。解析されたコメント。たとえば、組み込みのソリューションに依存する代わりに、 MathJax を使用して、 レンダリング方程式 に使用されるのを見ました。別の例は MediaWikiマークアップへの発行Wikipedia で使用される形式)です。他の人々はこれを使用してブログ投稿を作成します(MATLAB Centralで 公式ブログ を参照して、この方法で作成しています)、または テキストファイルを生成 後で静的サイトジェネレーターで処理します( Jekyll および Octopress フレームワークなど)。

私の知る限り、MATLABコードをより詳細に検査し、関数パラメーターを分析する公開ツールはありません。その解決策は完璧ではありませんが、私が思いつくことができる最善の方法は、関数とクラスに関するメタデータを取得するために reflection を使用することです...

MathWorksは独自の内部システムを使用してHTMLドキュメントを作成しているようです。彼らが私たちのユーザーと共有しないのは残念です:)

15
Amro

これは公式に認可されたMathworksのドキュメント作成方法だと思います。 http://www.mathworks.co.uk/help/matlab/matlab_prog/display-custom-documentation.html

基本的にHTMLを記述し、MATLABドキュメンテーションで検索および表示できるように一連のファイルを追加します。

4
am304

関数とそれに対応する入力でパブリッシュを使用する簡単な方法があります。 publish('test',struct('codeToEvaluate','test(inputs);','showCode',false, ))を見てください。

1
user5161122