Создать роль (цвет шрифта) в sphinx, которая работает с `make latexpdf`
Я привык писать документы Rest, пока я никогда не использовал LaTex.
То, что я хотел бы сделать, это создать некоторые роли цвета шрифта, которые я могу добавить встроенный текст (например: красный:this text is red
), которые работают как в html, так и в компиляции latexpdf.
Я нашел подобный вопрос здесь, но я не могу воспроизвести его.
Я думаю, что волшебство будет сделано, изменяя conf.py
файл, но я не узнал как.
Более того, во время latexpdf
сборник, в _build/latex
каталог, есть sphinx.sty
файл, который содержит много вещей для настройки окончательного PDF-файла.
Если я хочу изменить какой-либо параметр окончательного PDF-файла, должен ли я редактировать этот файл, поместить его куда-нибудь и сказать sphinx, чтобы он взял этот файл стиля?
Извините за все эти вещи, но я немного запутался..
Спасибо!
2 ответа
Просто добавь:
файл 'source/_templates/layout.html' с
{% extends "!layout.html" %} {% block extrahead %} <link rel="stylesheet" type="text/css" href="{{ pathto('_static/custom.css', 1) }}" /> {% endblock %}
файл 'source/_static/custom.css' с
@import url("default.css"); .red { color: red; }
Теперь вы можете использовать: red: role в ваших первых файлах. Не забывайте обратную галочку и чистую цель после html или css выпусков:
A :red:`red`text
$> make clean html
Глобальное дерево:
test-sphinx
├── Makefile
├── build
└── source
├── _static
│ └── custom.css
├── _templates
│ └── layout.html
├── conf.py
└── index.rst
Пример index.rst:
TS test!
========
.. role:: red
This is :red:`just` a test …
Надеюсь, это поможет,
Antoine
Ответ aflp91 работает для установки цвета с помощью CSS для вывода html, но не меняет цвет в выводе латекса.
Ответ Aflp91 фактически генерирует специальную роль в tex-файле, которую можно перезаписать, чтобы изменить цвет. Не хватало только кода для настройки пользовательской роли в LaTex. Для этого добавьте в conf.py следующее:
latex_elements = {
'passoptionstopackages': r'\PassOptionsToPackage{svgnames}{xcolor}',
'preamble': r'''
\newcommand{\DUrolered}[1]{{\color{red} #1}}
''',
}
Синтаксис Durole описан в документации docutils .