Боковое меню оглавления в Sphinx LaTeX PDF
Я генерирую документ LaTeX из Sphinx и конвертирую его в PDF с использованием pdflatex (из MikTeX). В документе отсутствует оглавление на боковой панели средства просмотра PDF.
Если я добавлю вручную \usepackage{hyperref}
в текстовый файл, это работает. Но как я могу сказать Sphinx сделать это в файле проекта conf.py? В параметрах вывода латекса нет (очевидной) связанной опции.
Спасибо!
1 ответ
Раздел 2.5.3 Настройка рендеринга документа Sphinx упоминает:
Латексная преамбула
Дополнительные команды могут быть добавлены в виде преамбулы в сгенерированный файл LaTeX. Это легко сделать, отредактировав файл
conf.py
:f = open('latex-styling.tex', 'r+'); PREAMBLE = f.read(); latex_elements = { # The paper size ('letterpaper' or 'a4paper'). #'papersize': 'a4paper', # The font size ('10pt', '11pt' or '12pt'). #'pointsize': '10pt', # Additional stuff for the LaTeX preamble. 'preamble': PREAMBLE }
Это скопирует содержимое файла
latex-styling.tex
(в том же каталоге, что иconf.py
) к созданному документу LaTeX. Например, еслиlatex-styling.tex
гласит:% My personal "bold" command \newcommand{\mycommand}[1]{\textbf{#1}}
сгенерированный документ LaTeX становится:
% Generated by Sphinx. \def\sphinxdocclass{report} \documentclass[a4paper,10pt,english]{sphinxmanual} % snip (packages) % My personal "bold" command \newcommand{\mycommand}[1]{\textbf{#1}} \title{My Extension Documentation} \date{2013-06-30 22:25} \release{1.0.0} \author{Xavier Perseguers}
Другие опции
Файл конфигурации
conf.py
позволяет вам дополнительно настроить рендеринг с LaTeX. Пожалуйста, обратитесь к http://www.sphinx-doc.org/en/stable/config.html для получения дальнейших инструкций.
Более прямой способ добавления контента, а не вставка его в отдельный файл (скажем, latex-styling.tex
), чтобы указать, если дословно. Следующий подраздел в документации упоминает это для определенного пакета typo3
:
Шаблон TYPO3
Мы хотим придерживаться максимально возможного рендеринга по умолчанию, чтобы не приходилось менять генерацию кода LaTeX на Sphinx. Таким образом, мы решили включить пользовательский пакет
typo3
(файлtypo3.sty
), что переопределит некоторые настройки пакетаsphinx
, Чтобы включить его автоматически, мы просто используемpreamble
вариантconf.py
:latex_elements = { # Additional stuff for the LaTeX preamble. 'preamble': '\\usepackage{typo3}' }
Лучше, чтобы ваши варианты стилей содержались в отдельном latex-styling.tex
файл, который вы можете включить с помощью preamble
ключ через f.read()
, Таким образом, вам не нужно обновлять conf.py
, Разделение обычно лучше.