sphinx-jupyterbook-latex
sphinx-jupyterbook-latex copied to clipboard
Supporting LaTeX infrastructure for Jupyter Book
sphinx-jupyterbook-latex
Sphinx extension to support LaTeX infrastructure for Jupyter Book.
This repository is a development project to improve LaTeX support
in Jupyter Book.
Get started
To get started with sphinx-jupyterbook-latex, first install it through pip:
pip install sphinx-jupyterbook-latex
then, add sphinx_jupyterbook_latex to your extensions,
in a Sphinx conf.py:
extensions = ["sphinx_jupyterbook_latex"]
# autoload the sphinx.ext.imgconverter extension, optional (default is True)
# jblatex_load_imgconverter = True
# turn root level toctree captions into top-level `part` headings, optional (default is to auto-infer)
# jblatex_captions_to_parts = True
OR in the jupyterbook config.yml:
sphinx:
extra_extensions:
- sphinx_jupyterbook_latex
# config:
# jblatex_load_imgconverter: true
# jblatex_captions_to_parts: true
Extension Details
This extension does not provide an actual Sphinx LaTeX theme, instead it instantiates a number of transforms (for LaTeX builders only) that manipulate the AST into the required format:
- Overrides some configuration:
latex_engine->xelatexlatex_theme->jupyterBook- appends necessary LaTeX commands to the preamble
- When a latex builder is specified:
- Set's up
sphinx.ext.imgconverter(ifjblatex_load_imgconverter) - Replace sub-headers in the root document
- Create headings from the root-level toctree captions (if
jblatex_captions_to_parts) - Move bibliographies to the bottom of the document
Issues
A list of issues that need to be addressed:
https://github.com/executablebooks/meta/issues/169
Developer Notes
A repository that contains many different project configurations for testing and development is available, along with implementation idea and notes