{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "nbsphinx": "hidden"
   },
   "source": [
    "This notebook is part of the `nbsphinx` documentation: http://nbsphinx.readthedocs.io/."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Using `toctree` In A Notebook\n",
    "\n",
    "In Sphinx-based documentation, there is typically a file called `index.rst` which contains one or more [toctree](http://www.sphinx-doc.org/en/stable/markup/toctree.html) directives.\n",
    "Those can be used to pull in further source files (which themselves can contain `toctree` directives).\n",
    "\n",
    "With `nbsphinx` it is possible to get a similar effect within a Jupyter notebook using the `\"nbsphinx-toctree\"` cell metadata.\n",
    "Markdown cells with `\"nbsphinx-toctree\"` metadata are not converted like \"normal\" Markdown cells.\n",
    "Instead, they are only scanned for links to other notebooks (or `*.rst` files and other Sphinx source files) and those links are added to a `toctree` directive.\n",
    "External links can also be used, but they will not be visible in the LaTeX output.\n",
    "\n",
    "If there is a section title in the cell, it is used as `toctree` caption (but it also works without a title).\n",
    "\n",
    "<div class=\"alert alert-info\">\n",
    "\n",
    "**Note:**\n",
    "\n",
    "All other content of such a cell is *ignored*!\n",
    "\n",
    "</div>\n",
    "\n",
    "Use ...\n",
    "\n",
    "    \"nbsphinx-toctree\": {}\n",
    "\n",
    "... for the default settings, ...\n",
    "\n",
    "    \"nbsphinx-toctree\": {\n",
    "      \"maxdepth\": 2\n",
    "    }\n",
    "\n",
    "... for setting the `:maxdepth:` option, or...\n",
    "\n",
    "    \"nbsphinx-toctree\": {\n",
    "      \"hidden\": true\n",
    "    }\n",
    "\n",
    "... for setting the `:hidden:` option.\n",
    "\n",
    "Of course, multiple options can be used at the same time, e.g.\n",
    "\n",
    "    \"nbsphinx-toctree\": {\n",
    "      \"maxdepth\": 3,\n",
    "      \"numbered\": true\n",
    "    }\n",
    "\n",
    "For more options, have a look a the [Sphinx documentation](http://www.sphinx-doc.org/markup/toctree.html).\n",
    "All options can be used -- except `:glob:`, which can only be used in [rst files](../a-normal-rst-file.rst) and in [raw reST cells](../raw-cells.ipynb#reST).\n",
    "\n",
    "Note that in the HTML output, a `toctree` cell generates an in-line table of contents (containing links) at its position in the notebook, whereas in the LaTeX output, a new (sub-)section with the actual content is inserted at its position.\n",
    "All content below the `toctree` cell will appear after the table of contents/inserted section, respectively.\n",
    "If you want to use the LaTeX output, it is recommended that you don't add further cells below a `toctree` cell, otherwise their content may appear at unexpected places.\n",
    "Multiple `toctree` cells in a row should be fine, though.\n",
    "\n",
    "The following cell is tagged with `\"nbsphinx-toctree\"` metadata and contains a link to the notebook [yet-another.ipynb](../yet-another.ipynb) and an external link (which will only be visible in the HTML output).\n",
    "It also contains a section title which will be used as `toctree` caption."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "nbsphinx-toctree": {}
   },
   "source": [
    "The following section title will be converted to the `toctree` caption.\n",
    "\n",
    "## A sub-toctree\n",
    "\n",
    "[A Notebook that's just a \"toctree\" Target](../yet-another.ipynb)\n",
    "\n",
    "[An External Link (HTML only)](http://nbsphinx.readthedocs.io/)\n",
    "\n",
    "Only the first section title (optional) and links to other sources (and external links) are used, all other cell content is ignored!"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.1+"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
