Maintainer(s) wanted...
Unfortunately, I, @jfbercher, don't have the time to continue the development of this extension, which I still use very often.
Are there any volunteers to maintain it or continue the development? A big project would be to port it to jupyter-lab.
(some) LaTeX environments for Jupyter notebook
This extension for Jupyter notebook enables the use of some LaTeX
commands and environments markdown cells.
LaTeX commands and environments
support for some LaTeX commands within markdown cells, e.g.\textit, \textbf, \underline.
support for theorems-like environments, support for labels
and cross references
support for lists: enumerate, itemize,
limited support for a figure environment,
support for an environment listing,
additional textboxa environment
Citations and bibliography
support for \cite with creation of a References section
Document-wide numbering of equations and environments, support for
\label and \ref
Configuration toolbar
LaTeX_envs dropdown menu for a quick insertion of environments
User's LaTeX definitions file can be loaded and used
Export to plain HTML, Slides and LaTeX with a customized
exporter
Environments title/numbering can be customized by users in
user_envs.json config file.
Styles can be customized in the latex_env.css stylesheet
Autocompletion for $, (, {, [, for LaTeX commands and
environments
More environments can be simply added in user_envs.json or in the
source file (thmsInNb4.js).
It is possible to export the notebooks to plain $\LaTeX$ and html while
keeping all the features of the latex_envs notebook extension in the
converted version. We provide specialized exporters, pre and post
processors, templates. We also added entry-points to simplify the
conversion process. It is now as simple as
to convert FILE.ipynb into html/latex while keeping all the features
of the latex_envs notebook extension in the converted version. Other
options are slides_with_lenvs for converting to reveal-js
presentations, and html_with_toclenvs to include a table of contents.
The LaTeX converter also expose several conversion options (read the
docs).
Demo/documentation
The doc subdirectory that constains an example notebook and its html
and pdf versions. This serves as the documentation. A demo notebook
latex_env_doc.ipynb is provided. Its html version is
latex_env_doc.html
serves as
documentation.
Installation
The extension consists of a pypi package that includes a javascript
notebook extension, along with python code for nbconvert support. Since
Jupyter 4.2, pypi is the recommended way to distribute nbextensions. The
extension can be installed
from the master version on the github repo (this will be always the
most recent version)
as part of the great
jupyter_contrib_nbextensions
collection. Follow the instructions there for installing. Once this
is done, you can open a tab at http://localhost:8888/nbextensions
to enable and configure the various extensions.
For Jupyter versions before 4.2, the situation after step 1 is more
tricky, since the --py option isn't available, so you will have to
find the location of the source files manually as follows (instructions
adapted from [@jcb91](https://github.com/jcb91)'s
jupyter_highlight_selected_word).
Execute
python -c "import os.path as p; from latex_envs import __file__ as f, _jupyter_nbextension_paths as n; print(p.normpath(p.join(p.dirname(f), n()[0]['src'])))"
where <output source directory> is the output of the first python
command.
Disclaimer, sources and acknowledgments
Originally, I used a piece of code from the nice online markdown editor
stackedit, where the
authors also considered the problem of incorporating LaTeX markup in
their markdown.
This is done in the hope it can be useful. However there are many
impovements possible, in the code and in the documentation.
Contributions will be welcome and deeply appreciated.
If you have issues, please post an issue at
https://github.com/jfbercher/jupyter_latex_envs/issueshere.
Self-Promotion -- Like latex_envs? Please star and follow the
repository on GitHub.
请发表评论