2012-04-20 4 views
15

Ho un "libro di progetto" che utilizza LaTeX's \documentclass{report} ("report" è come una versione più compatta di \documentclass{book}). Vorrei includere in questo libro un'appendice con la documentazione dell'API generata da Doxygen per il software nel progetto.Includere l'output LaTeX di doxygen come appendice a un documento più grande

Ho raggiunto questo impostando le opzioni di configurazione di Doxygen LATEX_HEADER e LATEX_FOOTER in un file vuoto. Questo rende il risultante lattice/refman.tex hanno comandi di alto livello come: \section{\-Namespace \-Index}, a questo punto posso avvolgere questo con un documento di livello superiore come:

\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} 

Questo funziona abbastanza bene e ottengo doxygen.sty con questo doxygen speciale invocazione:

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

un problema è che questo pone un header "generata automaticamente" su tutto il documento (non solo sul appendice Doxygen). Posso liberarmene modificando doxygen.sty (lo denomino anche per la mia inclusione, in realtà) e commentando il blocco che inizia con % Setup fancy headings.

A questo punto ho qualcosa con cui posso convivere, ma vorrei fare un passo in più: lo stile "doxygen" modifica molti altri aspetti dello stile del documento LaTeX, e mi piace meno.

Quindi la mia domanda è (in due livelli di eccellenza):

  1. Quale potrebbe essere un insieme minimo di LaTeX comandi per mettere in un file doxygen.sty che avrebbe ben rendere l'appendice doxygen ma non interferire con il resto del documento LaTeX?

  2. Ancora meglio, ha qualcuno venire con un modo di fare

    \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} 
    

Quest'ultimo approccio è uno vorrei prendere in considerazione molto pulito.

Spero ci sia una risposta davvero semplice, come "questo esiste già in doxygen.sty come opzione, e l'hai perso!"

+2

Ho la stessa domanda. Qualcuno può commentare? Vedi anche il mio post su [SO qui] (http://stackoverflow.com/questions/12219578/individual-function-docs-in-latex-using-doxygen). – garyp

+1

Ho incluso PDF generati da Doxygen in lattice utilizzando il pacchetto pdfpages. – Anna

+0

In realtà non si avvicina ad una risposta adeguata, ma un modo potrebbe essere quello di individuare quali comandi si desidera ripristinare e utilizzare \ renewcommand o \ forgetcommand per rimuoverli. Immagino che potresti probabilmente usare \ includeonly anche per ottenere in modo selettivo ciò che vuoi senza i comandi. –

risposta

1

rinomina doxygen.sty a mydoxygen.sty, poi modificarlo inserendo \ newenvironment {doxygen} {... la maggior parte di doxygen.sty va qui ...} {}