【问题标题】:How to deal with double braces in code chunk?如何处理代码块中的双括号?
【发布时间】:2014-08-10 23:51:11
【问题描述】:

我正在编写 Rmd 文件来介绍 whisker 包。并使用slidify将其编译为html幻灯片。

因此在代码中使用{{}}是不可避免的。我在Rmd文件中写了如下代码:

```{r}
tpl <- "
<b>Against:</b> {{x.against}}<br/>
<b>Venue:</b> {{x.venue}}<br/>
<b>Match:</b> {{x.type}}<br/>
<b>Score:</b> {{x.score}}<br/>
<b>Result:</b> <span class={{x.result}}>{{x.result}}</span><br/>
{{#x.sr}}<b>Strike Rate:</b> {{x.sr}} {{/x.sr}}
"
```

但是在解析后的html文件中,大括号和里面的内容都被忽略了:

<pre><code class="r">tpl &lt;- &quot;
&lt;b&gt;Against:&lt;/b&gt; &lt;br/&gt;
&lt;b&gt;Venue:&lt;/b&gt; &lt;br/&gt;
&lt;b&gt;Match:&lt;/b&gt; &lt;br/&gt;
&lt;b&gt;Score:&lt;/b&gt; &lt;br/&gt;
&lt;b&gt;Result:&lt;/b&gt; &lt;span class=&gt;&lt;/span&gt;&lt;br/&gt;

&quot;
</code></pre>

代码不方便直接写html到Rmd文件中。 knitr 中的选项 results='asis' 仅影响输出,但不影响代码块。

有没有办法处理代码块中的{{}}?谢谢。

【问题讨论】:

    标签: r markdown knitr slidify


    【解决方案1】:

    你用什么来做你的编织物?我刚刚在 RStudio 中测试过这个(我曾经做过我所有的 Rmd 东西,因为它非常方便)而且我没有遇到这个问题;我刚刚复制了你的代码,它包含了双括号中的内容。

    如果您还没有使用 RStudio,请尝试一下?

    【讨论】:

    • 嗨 Lucy,我很抱歉我忘记注意到我正在尝试使用 slidify 制作幻灯片。我已经更新了这个问题。谢谢。
    【解决方案2】:

    默认情况下,Slidify 会扩展所有的 mustache 标签。有一个未记录的功能可以让您原封不动地传递这些标签。这是一个简单的例子

    --- .RAW
    
    Template
    
    ```{r}
    {{ myvariable }}
    ```
    

    因此,将.RAW 类属性添加到您想要此行为的幻灯片中。

    【讨论】:

    • 谢谢。这是一个完美的解决方案。
    猜你喜欢
    • 1970-01-01
    • 2014-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-07
    • 2011-11-16
    相关资源
    最近更新 更多