Liste der Erweiterungen ======================= Ihr könnt die Notebook-Erweiterungen aktivieren und konfigurieren, indem ihr auf den Reiter :menuselection:`Nbextensions` klickt. Dort habt ihr Zugriff auf die Erweiterungen, die über Kontrollkästchen aktiviert/deaktiviert werden können. Zusätzlich werden für jede Erweiterung eine Dokumentation und Konfigurationsoptionen angezeigt. .. image:: configure-nbextensions.png :alt: Konfiguration der Notebook-Erweiterungen Im Folgenden gebe ich einen kurzen Überblick über einige der Notebook-Erweiterungen. (some) LaTeX environments for Jupyter notebook ermöglicht die Verwendung von Markdown-Zellen für LaTeX-Befehle und -Umgebungen. Zudem werden zwei Menüs hinzugefügt: :menuselection:`LaTeX_envs` für die schnelle Auswahl der passenden LaTeX-Umgebung und :menuselection:`Some configuration options` weiteren Optionen: .. image:: latex-env.png :alt: LaTeX-Umgebung Das Notebook kann anschließend als HTML oder LaTeX-Dokument exportiert werden. Die Konfiguration der LaTeX-Umgebungen erfolgt in :file:`user_envs.json` und für die Stile in :file:`latex_env.css`. Weitere Umgebungen können in :file:`user_envs.json` oder in :file:`thmsInNb4.js` hinzugefügt werden (→ `LaTeX-Environments doc `_). :doc:`jupyter-contrib-nbextensions:nbextensions/code_prettify/README_autopep8` formatiert/verschönert Code in Python-Code-Zellen. Die Erweiterung verwendet `autopep8 `_ und ist daher nur mit Python-Kernel zu verwenden. :doc:`jupyter-contrib-nbextensions:nbextensions/code_prettify/README_code_prettify` formatiert/verschönert Code in Notebook-Code-Zellen. Dabei wird der aktuelle Notebook-Kernel verwendet, weswegen das verwendete Prettifier-Paket in diesem Kernel verfügbar sein muss. Beispiel-Implementierungen werden für IPython-, R- und Javascript-Kernel bereitgestellt. :doc:`jupyter-contrib-nbextensions:nbextensions/limit_output/readme` begrenzt die Anzahl der Zeichen, die eine Codezelle als Text oder HTML ausgibt. Dies unterbricht auch Endlosschleifen. Ihr könnt die Anzahl der Zeichen mit dem ``ConfigManager`` festlegen: .. code-block:: python from notebook.services.config import ConfigManager cm = ConfigManager().update("notebook", {"limit_output": 1000}) `Nbextensions edit menu item `_ fügt ein Bearbeitungsmenü hinzu, um die Konfigurationsseite für ``nbextensions`` zu öffnen. :doc:`jupyter-contrib-nbextensions:nbextensions/printview/readme` fügt eine Symbol hinzu, um die Druckansicht des aktuellen Notizbuchs in einem neuen Browser-Reiter anzuzeigen. :doc:`jupyter-contrib-nbextensions:nbextensions/ruler/readme` fügt ein Lineal nach einer bestimmten Anzahl von Zeichen hinzu. Die Anzahl der Zeichen lässt sich mit dem ``ConfigManager`` festlegen: .. code-block:: python from notebook.services.config import ConfigManager ip = get_ipython() cm = ConfigManager(parent=ip) cm.update("notebook", {"ruler_column": [80]}) :doc:`jupyter-contrib-nbextensions:nbextensions/scratchpad/README` fügt dem Notizbuch eine Notizzelle hinzu. In dieser Zelle könnt ihr Code des aktuellen Kernel ausführen, ohne das Dokument zu ändern. :doc:`jupyter-contrib-nbextensions:nbextensions/snippets/README` fügt Notebooks ein konfigurierbares Menüelement hinzu um Snippets, Boilerplate und Codebeispiele einzufügen. .. image:: snippets-menu.png :alt: Snippets-Menü Ihr könnt auch eigene Menüeinträge definieren, :abbr:`s. (siehe)` :doc:`jupyter-contrib-nbextensions:nbextensions/snippets/README`. :doc:`jupyter-contrib-nbextensions:nbextensions/toc2/README` ermöglicht es, alle Überschriften zu sammeln und in einem schwebenden Fenster, als Sidebar oder in einem Navigationsmenü anzuzeigen. Falls Überschriften nicht im Inhaltsverzeichnis angezeigt werden sollen, geht dies mit: .. code-block:: HTML ## My title Das Inhaltsverzeichnis lässt sich auch exportieren indem ein entsprechendes Template angegeben wird, also z.B. .. code-block:: console $ jupyter nbconvert mynotebook.ipynb --template toc2 Eine allgemeine Dokumentation zu Vorlagen findet ihr in :label:`nbconvert:external_exporters`. :doc:`jupyter-contrib-nbextensions:nbextensions/tree-filter/readme` filtert im Jupyter-Dashboard nach Dateinamen. :doc:`jupyter-contrib-nbextensions:nbextensions/code_prettify/README_2to3` konvertiert in einer Code-Zelle Python2- in Python3-Code unter Verwendung der `lib2to3 `_-Bibliothek :doc:`jupyter-contrib-nbextensions:nbextensions/codefolding/readme` ermöglicht Codefolding in Code-Zellen. .. image:: code-folding.png :alt: Codefolding Üblicherweise wird das Codefolding beim Export mit :doc:`../nbconvert` beibehalten. Dies kann entweder in ``jupyter_nbconvert_config.py`` geändert werden mit: .. code-block:: python c.CodeFoldingPreprocessor.remove_folded_code = True oder auf der Kommandozeile mit .. code-block:: console $ jupyter nbconvert --to html --CodeFoldingPreprocessor.remove_folded_code=True mynotebook.ipynb :doc:`jupyter-contrib-nbextensions:nbextensions/collapsible_headings/readme` ermöglicht Notebooks, zusammenklappbare Abschnitte zu haben, die durch Überschriften getrennt werden. :doc:`jupyter-contrib-nbextensions:nbextensions/datestamper/readme` fügt die aktuelle Zeit und das aktuelle Datum in eine Zelle ein. :doc:`jupyter-contrib-nbextensions:nbextensions/hinterland/README` ermöglicht Autovervollständigung. :doc:`jupyter-contrib-nbextensions:nbextensions/varInspector/README` sammelt alle definierten Variablen und zeigt sie in einem schwebenden Fenster an. :doc:`jupyter-contrib-nbextensions:nbextensions/load_tex_macros/readme` lädt automatisch eine Reihe von Latex-Befehlen aus der Datei :file:`latexdefs.tex` wenn ein Notizbuch geöffnet wird.