Use JuliaCall as Julia Engine in R Markdown

To use JuliaCall package for julia engine in R Markdown document. Just set the engine for julia to JuliaCall::eng_juliacall like this:

knitr::knit_engines$set(julia = JuliaCall::eng_juliacall)
## This is a julia language chunk.
## In julia, the command without ending semicolon will trigger the display
## so is JuliaCall package. 
## The julia display will follow immediately after the corresponding command
## just as the R code in R Markdown.
a = sqrt(2)
1.4142135623730951
a = sqrt(2);

## And lots of different types of display are supported in JuliaCall.
## Like markdown.
@doc sqrt
sqrt(x)

Return $\sqrt{x}$. Throws DomainError for negative Real arguments. Use complex negative arguments instead. The prefix operator is equivalent to sqrt.

Get Access to Julia in R Chunk

And you can also get access to julia variables in R code chunk quite easily using JuliaCall, for example:

## This is a R language chunk.
## In the previous julia chunk, we define variable a, 
## we can use functions in JuliaCall to get access to it.
JuliaCall::julia_eval("a")
## [1] 1.414214

Current Limitations

Currently only R Markdown html output is fully supported by JuliaCall.

Custom Style of Julia Display in R Markdown Using CSS

When using JuliaCall in R Markdown, every julia display will be wrapped in a div with class = "JuliaDisplay", so you could customize the looking of julia display using css, for example, I use

    <style>
    .JuliaDisplay {
        color: blue;
    }
    </style>

in this document.