Thank you Duncan for pointing this out. I did have tried using the
command \out with no success, but I finally manage to do what I want with:
\if{html}{\Sexpr[results=rd,
stage=render]{"\\\\out{<pre>line\nnewline\n\nother line</pre>}"}}
\if{text}{\Sexpr[results=rd,
stage=render]{"\\\\out{line\nnewline\n\nother line}"}}
\if{latex}{\Sexpr[results=rd,
stage=render]{"\\\\out{\\\\begin{verbatim}line\nnewline\n\nother
line\\\\end{verbatim}}"}}
The only remaining issue is with format 'text', that does not show
single break lines. Double break lines are shown correctly with an empty
line.
This can be put in a macro:
\newcommand{\rdVerb}{\if{html}{\Sexpr[results=rd,
stage=render]{paste("\\\\\\out{<pre>",#1,"</pre>}",
sep='')}}\if{text}{\Sexpr[results=rd,
stage=render]{paste("\\\\\\out{",#1,"}",
sep='')}}\if{latex}{\Sexpr[results=rd,stage=render]{paste("\\\\\\out{\\\\\\\\begin{verbatim}",#1,"\\\\\\\\end{verbatim}}",
sep='')}}
}
which can be used as:
\rdVerb{"line\nnew line\n\nother paragraph"}
Dynamic code works as well:
\rdVerb{paste("This is the result of tools:::Rd_expr_PR(1234):",
tools:::Rd_expr_PR(1234), sep="")}
\rdVerb{paste("This is the result of tools:::Rd_expr_PR(1234):",
tools:::Rd_expr_PR(1234), sep="\n")}
But backslashes must be escaped twice:
\rdVerb{"\\\\\begin{section}\ntest\nsd\n\n\\\\\end{section}"}
Note that on the text version generated by the second \VERBATIM actually
correctly shows the new line. Not sure why (?).
Renaud
--
Renaud Gaujoux
Computational Biology - University of Cape Town
South Africa
On 03/11/2011 18:28, Duncan Murdoch wrote:
On 03/11/2011 10:49 AM, Renaud Gaujoux wrote:
On 03/11/2011 16:28, Duncan Murdoch wrote:
> On 03/11/2011 10:21 AM, Renaud Gaujoux wrote:
>> Thank you Georgi.
>> With the fix \long the output is indeed consistent with the
>> documentation.
>> I think my use of cat() worked by luck as its output should not have
>> been rendered.
>>
>> Would a 'results=tex' (html, text) be possible? or
'results=source' that
>> could be combined with \if{format}{text}?
>> This would allow to generate custom Latex, or HTML code, but it
might
>> also be is hazardous...
>
> Yes, that's possible. See the manual, especially the section "2.12
> conditional text".
>
> Duncan Murdoch
Conditional text is possible, but latex or html code seem to be
preprocessed and escaped, or maybe I am not doing the right things.
Not if you ask it not to do that. See the example in that section of
the manual.
Duncan Murdoch
To test:
%%%%%%%%
\name{Sexpr}
\alias{Sexpr}
\title{Error and verbatim in Sexpr}
\description{
Testing Sexpr in Rd files
\if{html}{\Sexpr[results=text, stage=render]{"<bold>text in
bold</bold>"}}
\if{text}{\Sexpr[results=text, stage=render]{"_text in bold_"}}
\if{latex}{\Sexpr[results=text, stage=render]{"\\\\textbf{text in
bold}"}}
}
%%%%%%%
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel