Как добавить уведомление об авторских правах в сгенерированную сфинксом латексную документацию? - PullRequest
0 голосов
/ 11 января 2019

Я установил copyright значение конфигурации , и оно правильно отображается в выводе HTML. Тем не менее, он вообще не отображается в выводе LaTeX, и я не могу найти никакой опции для вывода LaTeX , которая бы заставляла его появляться.

Как я могу автоматически включить уведомление об авторских правах в вывод LaTeX, используя sphinx? Конечно, я мог бы добавить его вручную или написать небольшой скрипт, чтобы добавить его, но я ожидаю, что это должно быть возможно в рамках sphinx.

Очевидно, существует запрос на улучшение , чтобы сделать это проще.

1 Ответ

0 голосов
/ 19 января 2019

Если вы хотите получить авторское право на каждую страницу (после титульного листа и обратно), вы можете сделать это с помощью этого множества макросов LaTeX (и извините, он игнорирует значение конфигурации copyright)

latex_elements = {
    'preamble': r'''
\makeatletter
   \fancypagestyle{normal}{
% this is the stuff in sphinx.sty
    \fancyhf{}
    \fancyfoot[LE,RO]{{\py@HeaderFamily\thepage}}
% we comment this out and
    %\fancyfoot[LO]{{\py@HeaderFamily\nouppercase{\rightmark}}}
    %\fancyfoot[RE]{{\py@HeaderFamily\nouppercase{\leftmark}}}
% add copyright stuff
    \fancyfoot[LO,RE]{{This is \textcopyright\ 2019, Sphinx Team.}}
% again original stuff
    \fancyhead[LE,RO]{{\py@HeaderFamily \@title\sphinxheadercomma\py@release}}
    \renewcommand{\headrulewidth}{0.4pt}
    \renewcommand{\footrulewidth}{0.4pt}
    }
% this is applied to each opening page of a chapter
   \fancypagestyle{plain}{
    \fancyhf{}
    \fancyfoot[LE,RO]{{\py@HeaderFamily\thepage}}
    \renewcommand{\headrulewidth}{0pt}
    \renewcommand{\footrulewidth}{0.4pt}
% add copyright stuff for example at left of footer on odd pages,
% which is the case for chapter opening page by default
    \fancyfoot[LO,RE]{{This is \textcopyright\ 2019, Sphinx Team.}}
    }
\makeatother
''',
}

Для получения дополнительной информации о синтаксисе LaTeX см. fancyhdr docs . Вы должны LaTeX-избежать себя любого тревожного персонажа, как $.

Начиная с Sphinx 1.8.3, вы можете поместить материал LaTeX непосредственно в конец титульного листа (для 'manual' docclass, так как нет такого понятия для 'howto' docclass) через \sphinxbackoftitlepage, который является дополнительным макросом LaTeX, который вы можете определить в 'preamble' или 'maketitle'. См. документы (вам нужно прокрутить вниз до 'maketitle').

Представляется, что действительно имеет смысл выдавать авторские права только в одном месте, так почему бы не на задней части титульного листа, поскольку оно оставлено пустым по умолчанию. ('manual' docclass)

...