Sfinks PDF themes

Czy narzędzie dokumentacji Sphinx oferuje różne motywy PDF, tak jak oferuje różne motywy HTML?

Wygooglowałem problem, ale nie mogę znaleźć odpowiedzi, co prowadzi mnie do przekonania, że odpowiedź brzmi "nie". Ale pomyślałem, że zapytam tutaj.

Dzięki.
Author: mzjn, 2012-03-17

2 answers

Po pierwsze, Sphinx nie generuje pliku wyjściowego PDF samodzielnie, chociaż istnieją dwie ogólne metody pobierania z plików źródłowych Sphinx do pliku wyjściowego PDF:

    Latex 2pdf pozwala na generowanie plików wyjściowych w formacie PDF za pomocą Latex 2pdf.]}
  1. Użyj wtyczki Sphinx z projektu rst2pdf

Biorąc to pod uwagę, Istnieje wiele możliwości dostosowania stylizacji wyjściowego pliku PDF za pomocą obu metod.

  1. przy użyciu metody latex - > pdf, możesz dostosować swoje wyjście latex za pomocą wielu opcji w pliku konfiguracyjnym sphinx. Zobacz tutaj . Ta metoda jest nieco mniej wygodna niż motywy HTML, których Sphinx używa do generowania HTML (IMO).
  2. używając rst2pdf możesz zdefiniować swój własny arkusz stylów, który został opisany bardziej szczegółowo w manual (spójrz pod nagłówkiem "Style"). rst2pdf zawiera wiele arkuszy stylów, które można łączyć dla różnych wyników. I oczywiście możesz również zmodyfikować je lub utworzyć własne (są to tylko pliki JSON). Te arkusze stylów również obsługują rodzaj dziedziczenia, więc działają bardziej jak motywy HTML Sphinx niż poprzednia metoda.
 21
Author: Kevin Horn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-26 04:31:41

Nie ma predefiniowanych motywów dla wyjścia PDF dla Sphinx. Ale LaTex oferuje bogaty zestaw opcji do stylu dokumentu. Moim problemem było znalezienie odpowiedniego sposobu stylizacji dokumentu za pomocą Sfinksa. Oto sposób, który u mnie zadziałał:

Najpierw przyjrzyj się conf.py. Tam znajdziesz opcję latex_elements. Za pomocą tej opcji możesz dodać własne polecenia LaTex do wyjścia. Na przykład:

latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
'papersize': 'a4paper',

# The font size ('10pt', '11pt' or '12pt').
'pointsize': '12pt',

'fontpkg': r"""
\PassOptionsToPackage{bookmarksnumbered}{hyperref}

""",

# Additional stuff for the LaTeX preamble.
'preamble': r"""
\usepackage{setspace}
""",

'footer': r"""
""",

'maketitle': r'''
\pagenumbering{arabic}
''',
}

Jest kilka punktów, które warto wiedzieć.

  • Użyj r""" do unikaj konfliktów z Pythonem
  • chociaż preamble byłoby właściwym punktem, aby dodać \usepackage możesz mieć konflikty z domyślnymi ustawieniami Sphinx. Spójrz na fontpkg w przykładzie. Jest to pierwszy include w dokumencie wyjściowym .tex. Jeśli musisz ustawić opcje domyślnych pakietów, zrób to tutaj.
  • maketitle pozwala zdefiniować własną stronę tytułową. Zobacz dokumentację latex. Ustawiłem \pagenumbering tam spis treści z cyframi arabskimi, więc prawdziwa treść zaczyna się na stronie "1".

Z odpowiednią znajomością poleceń Latex można uzyskać dobry temat za pomocą kilku poleceń. Dobrym źródłem do znalezienia pomocy jest https://tex.stackexchange.com / gdzie najczęstsze problemy mają rozwiązanie. Ale znalezienie odpowiednich poleceń Latex jest o wiele trudniejsze niż wybranie motywu tak jak w przypadku HTML.

Warto zajrzeć do Tex-Output Pod ./_build. Tam możesz zobaczyć, jak opcje latex_elementszostały zawarte w dokumencie.

 2
Author: Trendfischer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-13 12:34:29