Содержание статьи

Оглавление в Jupyter Notebook позволяет быстро ориентироваться в больших проектах, где количество ячеек с кодом и текстом превышает 50–100. Использование встроенного расширения Table of Contents (ToC) сокращает время поиска нужного раздела и упрощает работу с документом при совместной разработке.
Для создания оглавления достаточно подключить расширение через JupyterLab или Jupyter Notebook Classic. После установки ToC автоматически собирает все заголовки Markdown в структуру, которую можно расположить слева в отдельной панели или встроить в саму ячейку.
Правильное оформление заголовков напрямую влияет на качество навигации. Рекомендуется использовать последовательность H1-H3, избегая лишних уровней, и прописывать их лаконично, чтобы названия разделов отражали конкретные действия или результаты, а не общие темы.
В статье представлены конкретные шаги по установке, настройке и использованию оглавления, а также рекомендации по синхронизации с навигацией и экспорту. Каждый шаг сопровождается практическими примерами, позволяющими внедрить оглавление сразу в рабочий проект без лишних экспериментов.
Создание оглавления в Jupyter Notebook: пошаговая инструкция

Для начала необходимо убедиться, что установлен пакет jupyter_contrib_nbextensions, который содержит расширение Table of Contents (ToC). В командной строке достаточно выполнить pip install jupyter_contrib_nbextensions и затем jupyter contrib nbextension install —user.
После установки откройте Jupyter Notebook и перейдите в меню Nbextensions. Там активируйте расширение Table of Contents (2). Оно добавит панель оглавления, которая автоматически собирает все заголовки Markdown в документе.
Создавая заголовки, используйте символы # для указания уровня. Например, # Заголовок первого уровня, ## Заголовок второго уровня, ### Заголовок третьего уровня. ToC будет формировать структуру на основе этих уровней и отображать их иерархически.
Для закрепления панели оглавления слева выберите опцию Floating Table of Contents. Это позволяет быстро переходить к нужным разделам без прокрутки документа. При этом изменения в заголовках обновляются автоматически.
Чтобы экспортировать оглавление вместе с ноутбуком, используйте стандартные форматы HTML или PDF через меню File → Download as. В экспортированном документе ссылки из ToC остаются активными, обеспечивая удобную навигацию.
Установка и подключение расширения Table of Contents

Расширение Table of Contents (ToC) доступно через пакет jupyter_contrib_nbextensions. Для его установки выполните в терминале команды:
pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install —user
После установки откройте Jupyter Notebook и перейдите в меню Nbextensions. Найдите в списке расширений Table of Contents (2) и активируйте его, установив галочку. Панель ToC будет доступна в интерфейсе и начнет собирать заголовки Markdown автоматически.
Для удобства навигации можно настроить параметры расширения. Ниже приведена таблица с рекомендуемыми настройками и их назначением:
| Параметр | Значение | Назначение |
|---|---|---|
| Number sections | Включено | Нумерация заголовков для удобной структуры |
| Show code | Выключено | Скрывает ячейки с кодом в панели ToC |
| Collapsed by default | Выключено | Панель ToC открыта сразу при запуске ноутбука |
| Floating | Включено | Панель закрепляется слева и остается видимой при прокрутке |
После настройки панель ToC готова к использованию. Все изменения в заголовках будут автоматически отражаться в оглавлении без дополнительного вмешательства.
Добавление заголовков и подзаголовков в ячейки Markdown

Для корректного формирования оглавления в Jupyter Notebook все заголовки должны быть созданы в ячейках Markdown с использованием символов # для указания уровня:
- # Заголовок первого уровня – основной раздел
- ## Заголовок второго уровня – подраздел
- ### Заголовок третьего уровня – детализированный подраздел
Рекомендуется придерживаться последовательной иерархии: не использовать уровень заголовка H3 без предварительного H2. Это обеспечивает корректное отображение структуры в панели ToC.
Для улучшения читаемости заголовков:
- Используйте короткие и точные формулировки, отражающие содержание раздела.
- Избегайте повторов ключевых слов внутри одного блока заголовков.
- Не включайте специальные символы, которые могут нарушить форматирование Markdown.
После добавления заголовков рекомендуется обновить панель ToC, нажав кнопку Refresh. Это позволит отобразить новые разделы и проверить правильность структуры.
Автоматическое формирование оглавления из заголовков

Расширение Table of Contents в Jupyter Notebook собирает оглавление автоматически на основе всех заголовков Markdown в документе. Каждый заголовок #, ## или ### превращается в элемент структуры ToC, сохраняя иерархию.
Для корректного формирования:
- Все заголовки должны находиться в отдельных ячейках Markdown.
- Не пропускайте уровни заголовков, например, не используйте H3 без H2.
- Следите за уникальностью названий для предотвращения дублирования в панели ToC.
Обновление оглавления происходит автоматически при добавлении новых заголовков, но можно вручную нажать кнопку Refresh в панели ToC, чтобы синхронизировать структуру с текущим состоянием ноутбука.
Для больших документов рекомендуется включить нумерацию разделов через параметр Number sections, что упрощает переход к нужному блоку и повышает удобство навигации по ноутбуку.
Настройка видимости и структуры оглавления
В панели Table of Contents можно изменить способ отображения элементов и глубину структуры. Для этого откройте настройки расширения в меню Nbextensions и обратите внимание на следующие параметры:
Floating: закрепляет панель слева, она остается видимой при прокрутке документа.
Collapsed by default: определяет, будет ли панель свернутой при открытии ноутбука.
Number sections: включает нумерацию заголовков для наглядного отображения иерархии.
Depth: задает количество уровней заголовков, отображаемых в оглавлении, например, 2–3 для больших документов.
После изменения параметров рекомендуется обновить ToC кнопкой Refresh, чтобы изменения сразу отразились в панели. Для ускоренной навигации используйте сочетания клавиш Ctrl+Click на элементах ToC – это мгновенно перемещает к соответствующей ячейке Markdown.
Синхронизация оглавления с навигацией по блокам
Table of Contents в Jupyter Notebook автоматически связывает элементы оглавления с ячейками Markdown, позволяя переходить к нужному разделу одним кликом. Для этого убедитесь, что все заголовки оформлены корректными символами # и находятся в отдельных ячейках.
Для ускоренной навигации рекомендуется включить режим Floating и использовать параметр Number sections. Это позволяет быстро ориентироваться в больших документах, перемещаясь по разделам с помощью Ctrl+Click или клика мышью.
Изменения в заголовках автоматически отражаются в оглавлении, но при внесении крупных изменений полезно нажать кнопку Refresh в панели ToC. Это синхронизирует структуру и исключает несоответствие между оглавлением и содержимым блоков.
Для улучшения точности навигации можно использовать уникальные формулировки заголовков и минимизировать дублирование названий, что особенно важно при работе с проектами более 50 ячеек.
Экспорт и сохранение оглавления вместе с ноутбуком

Для сохранения оглавления вместе с Jupyter Notebook используйте стандартные форматы экспорта:
- HTML: сохраняет активные ссылки из ToC, позволяя переходить между разделами в браузере.
- PDF: при использовании File → Download as → PDF via LaTeX можно включить оглавление с нумерацией, если оно отображается в ноутбуке.
- Notebook (.ipynb): стандартное сохранение сохраняет структуру заголовков, а панель ToC будет доступна при следующем открытии ноутбука с активным расширением.
Рекомендации для корректного экспорта:
- Перед сохранением убедитесь, что все заголовки правильно оформлены и панели ToC отображают актуальную структуру.
- Нажмите кнопку Refresh в панели ToC для синхронизации перед экспортом.
- Для PDF-экспорта используйте нумерацию разделов через параметр Number sections в ToC, чтобы получить правильную иерархию в документе.
- Проверяйте активность ссылок в HTML-версии после экспорта для уверенности, что переходы по разделам работают.
Эти шаги позволяют сохранять и делиться ноутбуками с оглавлением, обеспечивая удобную навигацию для команды или аудитории документа.
Вопрос-ответ:
Как установить расширение Table of Contents в Jupyter Notebook?
Для установки расширения сначала выполните в терминале команду pip install jupyter_contrib_nbextensions. Затем установите расширение с помощью jupyter contrib nbextension install —user. После этого откройте Jupyter Notebook, перейдите в меню Nbextensions, найдите Table of Contents (2) и активируйте его. Панель оглавления станет доступна в интерфейсе и будет автоматически собирать заголовки Markdown.
Можно ли обновлять оглавление автоматически при добавлении новых разделов?
Да, расширение ToC отслеживает изменения заголовков и обновляет структуру автоматически. Если вносится большое количество изменений, рекомендуется нажать кнопку Refresh в панели оглавления, чтобы синхронизировать отображение с текущими заголовками. Это гарантирует, что все новые разделы и подзаголовки будут корректно отображены и доступны для перехода.
Как сделать оглавление видимым при прокрутке документа?
В настройках расширения ToC есть параметр Floating. При его включении панель закрепляется слева и остается на экране при прокрутке ноутбука. Дополнительно можно включить Number sections для нумерации заголовков и выбрать глубину отображения уровней через параметр Depth, что помогает быстро ориентироваться в больших документах.
Какие правила оформления заголовков нужно соблюдать для корректного оглавления?
Все заголовки должны находиться в отдельных ячейках Markdown. Используйте последовательную иерархию: H1 для основных разделов, H2 для подразделов, H3 для детализированных блоков. Не пропускайте уровни, например, не используйте H3 без H2. Заголовки лучше формулировать коротко и уникально, без специальных символов, чтобы ToC корректно отображало структуру и обеспечивало точные ссылки на ячейки.
Как сохранить оглавление вместе с ноутбуком при экспорте в HTML или PDF?
При экспорте в HTML с помощью File → Download as → HTML ссылки из ToC остаются активными, позволяя переходить между разделами. Для PDF через Download as → PDF via LaTeX нужно убедиться, что панель ToC открыта и включена нумерация разделов через параметр Number sections. Стандартное сохранение ноутбука в формате .ipynb сохраняет структуру заголовков, и оглавление будет доступно при следующем открытии ноутбука с активированным расширением.
Почему оглавление в Jupyter Notebook не показывает новые заголовки после их добавления?
Если новые заголовки не отображаются в панели ToC, это обычно связано с кэшированием структуры. Панель ToC собирает заголовки автоматически, но иногда требуется вручную обновить оглавление кнопкой Refresh. Также убедитесь, что новые заголовки оформлены правильно: каждый заголовок должен находиться в отдельной ячейке Markdown, а уровни заголовков должны следовать последовательно (например, H2 после H1, H3 после H2). Неправильная последовательность или использование специальных символов в названии может препятствовать корректному отображению заголовков в панели.
