Requirements

Usage

Configuration

In your Sphinx conf.py file add sphinxcontrib.matlab to the list of
extensions. To use auto-documentation features, also add sphinx.ext.autodoc
to the list of extensions.

In order for the Sphinx MATLAB domain to auto-document MATLAB source code, set
the config value of matlab_src_dir to the absolute path instead of adding
them to sys.path. Currently only one MATLAB path can be specified, but all
subfolders in that tree will be searched.

Roles and Directives

Please see Sphinx Domains and
sphinx.ext.autodoc for
documentation on the use of roles and directives. MATLAB code can be documented
using the following roles and directives:

Directive

MATLAB object

.. module:: foldername

folders, packages and namespaces

.. curremtmodule:: foldername

set folder but do not link

.. automodule:: foldername

auto-document

:mod:`foldername`

reference

.. function:: funcname

function definition and signature

.. autofunction:: funcname()

auto-document

:func:`funcname`

reference

.. class:: classname()

class definition and optional signature

.. autoclass:: classname

auto-document

:class:`classname`

reference

.. method:: methname()

method definition and signature

.. automethod:: methname

auto-document

:meth:`methname`

reference

.. staticmethod:: statmethname()

static method definition and signature

.. automethod:: statmethname

auto-document

:meth:`methname`

reference

.. attribute:: attrname

property definition

.. autoattribute:: attrname

auto-document

:attr:`attrname`

reference

Several options are available for auto-directives.

:members: auto-document public members

:show-inheritance: list bases

:undoc-members: document members without docstrings

:annotation: specifies attribute annotation instead of default

There are also several config values that can be set in conf.py that will
affect auto-docementation.

autoclass_content can be set to class, both or init, which
determines which docstring is used for classes. The constructor docstring
is used when this is set to init.

autodoc_member_order can be set to alphabetical, groupwise or
bysource.

autodoc_default_flags can be set to a list of options to apply. Use
the no-flag directive option to disable this config value once.

Note

The module roles and directives create a psuedo namespace for MATLAB
objects, similar to a package. They represent the path to the folder
containing the MATLAB object. If no module is specified then Sphinx will
assume that the object is a built-in.

Online Demo

Sphinx style markup are used to document parameters, types, returns and
exceptions. There must be a blank comment line before and after the
parameter descriptions. Currently property docstrings are only collected if
they are on the same line following the property definition. Getter and
setter methods are documented like methods currently, but the dot is
replaced by an underscore. Default values for properties are represented as
unicode strings, therefore strings will be double quoted.