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