You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
179 lines
6.9 KiB
179 lines
6.9 KiB
Metadata-Version: 2.1
|
|
Name: jupyter-latex-envs
|
|
Version: 1.4.6
|
|
Summary: Jupyter notebook extension which supports (some) LaTeX environments within markdown cells. Also provides support for labels and crossreferences, document wide numbering, bibliography, and more...
|
|
Home-page: https://github.com/jfbercher/jupyter_latex_envs
|
|
Author: Jean-François Bercher
|
|
Author-email: jf.bercher@gmail.com
|
|
License: Modified BSD
|
|
Platform: UNKNOWN
|
|
Classifier: Intended Audience :: End Users/Desktop
|
|
Classifier: Intended Audience :: Science/Research
|
|
Classifier: License :: OSI Approved :: BSD License
|
|
Classifier: Natural Language :: English
|
|
Classifier: Operating System :: OS Independent
|
|
Classifier: Programming Language :: JavaScript
|
|
Classifier: Programming Language :: Python
|
|
Classifier: Programming Language :: Python :: 3
|
|
Classifier: Topic :: Utilities
|
|
Requires-Dist: ipython
|
|
Requires-Dist: jupyter-core
|
|
Requires-Dist: nbconvert
|
|
Requires-Dist: notebook (>=4.0)
|
|
Requires-Dist: traitlets (>=4.1)
|
|
|
|
(some) LaTeX environments for Jupyter notebook
|
|
==============================================
|
|
|
|
This extension for Jupyter notebook enables the use of some LaTeX
|
|
commands and environments markdown cells.
|
|
|
|
1. **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
|
|
|
|
2. **Citations and bibliography**
|
|
|
|
- support for ``\cite`` with creation of a References section
|
|
|
|
3. **Document-wide numbering of equations and environments, support for
|
|
``\label`` and ``\ref``**
|
|
4. **Configuration toolbar**
|
|
5. **LaTeX\_envs dropdown menu for a quick insertion of environments**
|
|
6. **User's LaTeX definitions** file can be loaded and used
|
|
7. **Export to plain HTML, Slides and LaTeX with a customized exporter**
|
|
8. Environments title/numbering can be customized by users in
|
|
``user_envs.json`` config file.
|
|
9. Styles can be customized in the ``latex_env.css`` stylesheet
|
|
10. **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 :math:`\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
|
|
|
|
.. code:: bash
|
|
|
|
jupyter nbconvert --to html_with_lenvs FILE.ipynb
|
|
|
|
or
|
|
|
|
.. code:: bash
|
|
|
|
jupyter nbconvert --to latex_with_lenvs FILE.ipynb
|
|
|
|
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 <https://rawgit.com/jfbercher/jupyter_latex_envs/master/src/latex_envs/static/doc/latex_env_doc.html>`__).
|
|
|
|
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 <https://rawgit.com/jfbercher/jupyter_latex_envs/master/src/latex_envs/static/doc/latex_env_doc.html>`__
|
|
serves as
|
|
`documentation <https://rawgit.com/jfbercher/jupyter_latex_envs/master/src/latex_envs/static/doc/latex_env_doc.html>`__.
|
|
|
|
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)
|
|
- via pip for the version hosted on Pypi
|
|
- via conda, from the `conda-forge <https://conda-forge.github.io/>`__
|
|
`channel <https://anaconda.org/conda-forge>`__
|
|
- as part of the great
|
|
`jupyter\_contrib\_nbextensions <https://github.com/ipython-contrib/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.
|
|
|
|
From the github repo or from Pypi,
|
|
|
|
1. install the package
|
|
|
|
- ``pip3 install https://github.com/jfbercher/jupyter_latex_envs/archive/master.zip [--user][--upgrade]``
|
|
- or ``pip3 install jupyter_latex_envs [--user][--upgrade]``
|
|
- or clone the repo and install git clone
|
|
https://github.com/jfbercher/jupyter\_latex\_envs.git python3
|
|
setup.py install
|
|
|
|
2. install the notebook extension
|
|
|
|
::
|
|
|
|
jupyter nbextension install --py latex_envs [--user|--sys-prefix|--system]
|
|
|
|
3. and enable it
|
|
|
|
::
|
|
|
|
jupyter nbextension enable --py latex_envs [--user|--sys-prefix|--system]
|
|
|
|
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 <https://github.com/jcb91/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'])))"
|
|
|
|
Then, issue
|
|
|
|
::
|
|
|
|
jupyter nbextension install <output source directory>
|
|
jupyter nbextension enable latex_envs/latex_envs
|
|
|
|
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 <https://github.com/benweet/stackedit/issues/187>`__, where
|
|
the authors also considered the problem of incorporating LaTeX markup in
|
|
their markdown.
|
|
|
|
I also studied and used examples and code from
|
|
`ipython-contrib/jupyter\_contrib\_nbextensions <https://github.com/ipython-contrib/jupyter_contrib_nbextensions>`__.
|
|
|
|
|
|
- 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/issues``
|
|
`here <https://github.com/jfbercher/jupyter_latex_envs/issues>`__.
|
|
|
|
**Self-Promotion** -- Like ``latex_envs``? Please star and follow the
|
|
`repository <https://github.com/jfbercher/jupyter_latex_envs>`__ on
|
|
GitHub.
|
|
|
|
|