Hi,
while developing the Rdaemon I had one single question in my mind. How can you integrate Rdaemon in documents like LaTeX, HTML, Markdown etc.
Up to now I fiddled around with automatically copy&pasting R stuff, thought about modifying Sweave etc.
But I believe I found hopefully a very easy solution. One only has to use TextMate's wondrous facilities. ;P
Everybody knows, e.g. if one writes an HTML doc you have the HTML scope with all commands behind it. Then one inserts a new CSS declaration. If you are inside of such a CSS tag you have all CSS features available. This is done in the Language setting for HTML. This led me to an idea.
E.g. LaTeX: If I'm writing an article or paper about my analyses of a topic, and I did this by using R; then I usually explain how I did this with R. Or if you give a R course and you want to document it, or if you write a book about R, ... One can use Sweave to typeset it. Fine.
BUT, my idea was to combine LaTeX and Rdaemon. I wrote a new Language for LaTeX called "LaTeX Rdaemon". The only thing I did is to insert an include statement
include = 'source.rd.console'
within the 'verbatim' environment.
OK. How does this work now? You can start the Rdaemon and close that window. Then you open a LaTeX file, set the language to "LaTeX Rdaemon". Now you can write your LaTeX stuff, but if you declare a \begin{verbatim} block AND within that block a line begins with "> " then you are talking with the Rdaemon with all features coming from R and Rdaemon. Press RETURN and the line will be executed and the result will be written into the TeX document. (Remember the Rdaemon runs further in the background)
I recorded a very tiny movie to illustrate that.
http://www.bibiko.de/TM_Rdaemon_Latex.mov
And this is only a test without fine-tuning! One can think about to write some code to automate some things like:
- if a line starts with "> " within a tex document this line and the output will wrapped automatically by a verbatim block after pressing RETURN - if one plots something and the Rdaemon recognizes that the command is coming from a tex document which is saved in a certain folder then the Rdaemon will plot this image using a Quartz device, dev.copy2eps(/ TEX_FOLDER/THE_NAME) [the Quartz is still open for further stuff!], and return something like:
\begin{figure} \begin{center} \includegraphics{THE_NAME} \end{center} \caption{Scatter Plot with Regression Line} \label{fig:FOO} \end{figure}
[FOO could be calcualted, I guess]
etc...
By using this approach one could do this also with Markdown or HTML etc. The only thing is to expand the Language syntax, and to fine-tune the Rdaemon.
Are there any comments about my approach? What kind of side-effects could be expected? Would this be useful at all?
Kind regards,
--Hans
Yes, very useful and very nice. The only drawback that comes to mind is that with Rdaemon there is no code hinting as there is with R.app. Other than that, wow, this is great! -Ista
On Fri, Jul 4, 2008 at 7:37 AM, Hans-Joerg Bibiko bibiko@eva.mpg.de wrote: