[R] odfWeave: Combining multiple output statements in a function

Jan van der Laan rhelp at eoos.dds.nl
Thu Sep 15 14:16:26 CEST 2011


What is the correct way to combine multiple calls to odfCat,  
odfItemize, odfTable etc. inside a function?

As an example lets say I have a function that needs to write two  
paragraphs of text and a list to the resulting odf-document (the real  
function has much more complex logic, but I don't think thats  
relevant). My first guess would be:

exampleOutput <- function() {
    odfCat("This is the first paragraph")
    odfCat("This is the second paragraph")
    odfItemize(letters[1:5])
}

However, calling this function in my odf-document only generates the  
last list as only the output of the odfItemize function is returned by  
exampleOutput. How do I combine the three results into one to be  
returned by exampleOutput?

I tried to wrap the calls to the odf* functions into a print statement:

exampleOutput2 <- function() {
    print(odfCat("This is the first paragraph"))
    print(odfCat("This is the second paragraph"))
    print(odfItemize(letters[1:5]))
}

In another document this seemed to work, but in my current document  
strange odf-output is generated.

Regards,

Jan



More information about the R-help mailing list