Включая вывод doxygen LaTeX в качестве приложения к более крупному документу

У меня есть "проектная книга", в которой используется LaTeX \documentclass{report} ( "отчет" похож на более компактную версию \documentclass{book}). Я хотел бы включить в эту книгу приложение с документацией API, созданной Doxygen для программного обеспечения в проекте.

Я достиг этого, установив параметры конфигурации Doxygen LATEX_HEADER и LATEX_FOOTER в пустой файл. Это приводит к тому, что полученный latex/refman.tex имеет команды верхнего уровня, такие как: \section{\-Namespace \-Index}, после чего я могу обернуть это документом верхнего уровня, например:

\documentclass{report}
\usepackage{doxygen.sty}
% the "import" package helps to find Doxygen files in the latex/ subdirectory
\usepackage{import}
% [...] title page and the rest of the book

\appendix
\chapter{API reference (generated by Doxygen)
subimport{latex/}{refman.tex}

% [...] final stuff
\end{document}

Это работает достаточно хорошо, и я получаю doxygen.sty с помощью этого специального вызова doxygen:

doxygen -w latex /dev/null /dev/null doxygen.sty

Одна из проблем заключается в том, что это создает "автогенерированный" заголовок для всего документа (не только в приложении doxygen). Я могу избавиться от этого, отредактировав doxygen.sty (я также переименую его для моего включения, фактически) и комментируя блок, который начинается с % Setup fancy headings.

В этот момент у меня есть кое-что, с чем я могу жить, но я хотел бы сделать еще один шаг: стиль "doxygen" изменяет многие другие аспекты стиля документа LaTeX, и мне он меньше нравится.

Итак, мой вопрос (на двух уровнях превосходства):

  • Каким будет минимальный набор команд LaTeX для добавления в файл doxygen.sty, который красиво отобразит приложение doxygen, но не будет мешать остальному документу LaTeX?

  • Еще лучше, кто-нибудь придумал способ сделать

    \usepackage{doxygen_standalone}
    % [... until you need doxygen]
    \begin{doxygen}
    % the stuff you need to insert your auto-generated doxygen API docs,
    % for example the \subimport{latex/}{refman.tex} that I showed above
    \end{doxygen}
    

Этот последний подход - это тот, который я считаю очень чистым.

Я надеюсь, что есть очень простой ответ, например, "это уже существует в doxygen.sty как опция, и вы его пропустили!"

Ответы

Ответ 1

переименуйте doxygen.sty в mydoxygen.sty, затем измените его, вставив \newenvironment {doxygen} {... большая часть doxygen.sty идет здесь...} {}