11

Im trying to create a report from my IPython notebook. Im using the toc extension to create a toc for my nb. I already converted the notebook to html, but the toc is not shown and is not linking to the rest of the doc. Is there any way to convert to one of the specified fromat and still keep a link-able (or even non-link-able) TOC?

2 Answers 2

4

I used a method without the nb extension to write the ToC to pdf (through Latex). I don't think it'd work when exporting as HTML though.

I added this cell at the top of the notebook:

%%latex
\tableofcontents

And then converted to pdf based on this answer

jupyter nbconvert --to pdf --TemplateExporter.exclude_input=True my_notebook.ipynb
Sign up to request clarification or add additional context in comments.

Comments

2

Assuming you use IPython 1.x you have the following options to include the toc in the pdf

  • use the latex_book template
    (ipython nbconvert --to=latex --template=latex_book --post=pdf file.ipynb)

  • extend the latex_article (default) template
    Create a file with the following content (e.g. toc_latex.tplx) in the working dir:

    ((*- extends 'latex_article.tplx' -*))
    ((* block toc *))\tableofcontents((* endblock toc *))
    

    Use it as a template like
    ipython nbconvert --to=latex --template=toc_latex --post=pdf file.ipynb

If you use IPython 2.x

  • use the latex_report template
    (ipython nbconvert --to=latex --template=latex_report --post=pdf file.ipynb)

  • the custom template could be something like

    ((*- extends 'latex_article.tplx' -*))
    ((* block abstract *))\tableofcontents((* endblock abstract *))
    

1 Comment

Ok, tried them both. They both produce very (very) poor pdf doc on a relatively trivial notebook (mostly text then figures). I guess the pdf integration with IPython is not mature enough to allow straightforward conversion.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.