@@ -18,45 +18,67 @@ Getting started
1818General file structure
1919----------------------
2020
21- All documentation is built from the:file: `doc/ ` directory. This directory
22- contains both reStructuredText ( ReST _; `` .rst ``) files that contain pages in
23- the documentation and configuration filesfor Sphinx _.
21+ All documentation is built from the:file: `doc/ `, :file: ` tutorials/ `, and
22+ :file: ` examples/ ` directories. The :file: ` doc/ ` directory contains configuration files for Sphinx
23+ and reStructuredText ( ReST _; `` .rst ``) filesthat are rendered to documentation pages.
2424
25- The `` .rst `` files are kept in :file: ` doc/users `,
26- :file: ` doc/devel `, :file: ` doc/api ` and :file: `doc/faq `. The main entry point is
27- :file: `doc/ index.rst `, which pulls in the:file: `index.rst ` file for the users
28- guide, developers guide , api reference, and FAQs. The documentation suite is
29- built as a single document in order to make the most effective use of cross
30- referencing.
25+
26+ The main entry point is :file: `doc/index.rst `, which pulls in the
27+ :file: `index.rst ` file for theusers guide ( :file: `doc/users `), developers
28+ guide ( :file: ` doc/devel `) , api reference ( :file: ` doc/api `) , and FAQs
29+ ( :file: ` doc/faq `). The documentation suite is built as a single document in
30+ order to make the most effective use of cross referencing.
3131
3232Sphinx _ also creates ``.rst `` files that are staged in:file: `doc/api ` from
3333the docstrings of the classes in the Matplotlib library. Except for
3434:file: `doc/api/api_changes/ `, these ``.rst `` files are created when the
3535documentation is built.
3636
3737Similarly, the contents of:file: `doc/gallery ` and:file: `doc/tutorials ` are
38- generated by the `Sphinx Gallery `_ from the sources in:file: `examples ` and
39- :file: `tutorials `. These sources consist of python scripts that haveReST _
40- documentation built into their comments. Don't directly edit the
41- ``.rst `` files in:file: `doc/gallery ` and:file: `doc/tutorials ` as they are
42- regenerated when the documentation are built.
38+ generated by the `Sphinx Gallery `_ from the sources in:file: `examples/ ` and
39+ :file: `tutorials/ `. These sources consist of python scripts that haveReST _
40+ documentation built into their comments.
41+
42+ ..note ::
43+
44+ Don't directly edit the ``.rst `` files in:file: `doc/gallery `,
45+ :file: `doc/tutorials `, and:file: `doc/api ` (excepting
46+ :file: `doc/api/api_changes/ `).Sphinx _ regenerates files in these
47+ directories when building documentation.
4348
4449Installing dependencies
4550-----------------------
4651
4752The documentation for Matplotlib is generated from reStructuredText (ReST _)
48- using theSphinx _ documentation generation tool. There are several extra
49- requirements that are needed to build the documentation. They are listed in
50- :file: `doc-requirements.txt `, which is shown below:
53+ using theSphinx _ documentation generation tool. To build the documentation
54+ you will need to (1) set up an appropriate Python environment and (2)
55+ separately install LaTeX and Graphviz.
56+
57+ To (1) set up an appropriate Python environment for building the
58+ documentation, you should:
59+
60+ * create a clean virtual environment with no existing Matplotlib
61+ installation
62+ * install the Python packages required for Matplotlib
63+ * install the additional Python packages required to build the documentation
64+
65+ There are several extra python packages that are needed to build the
66+ documentation. They are listed in:file: `doc-requirements.txt `, which is
67+ shown below:
5168
5269..include ::../../requirements/doc/doc-requirements.txt
5370:literal:
5471
72+ To (2) set up LaTeX and Graphviz dependencies you should:
73+
74+ * install a minimal working LaTeX distribution
75+ * install the LaTeX packages cm-super and dvipng
76+ * install `Graphviz <http://www.graphviz.org/download >`_
77+
5578..note ::
5679
57- * You'll need a minimal working LaTeX distribution for many examples to run.
58- * `Graphviz <http://www.graphviz.org/Download.php >`_ is not a Python package,
59- and needs to be installed separately.
80+ The documentation will not build without LaTeX and Graphviz. These are not
81+ Python packages and must be installed separately.
6082
6183Building the docs
6284-----------------