默认代码在rmarkdown中按单个块折叠

时间:2016-08-03 15:49:44

标签: r-markdown

我正在使用rmarkdown编写HTML课程来演示如何在R中实现分析方法,因此文档中有很多代码需要理解这些方法,而且还有很多代码是仅用于生成图和数字。我想默认显示第一种代码,并保留绘图代码供学生查看但默认隐藏。

我知道rmarkdown最近通过将08-03 11:42:21.333 3901-3901/? E/AndroidRuntime: FATAL EXCEPTION: main Process: ca.davesautoservice.davesautoservice, PID: 3901 java.lang.NullPointerException at android.support.design.widget.Snackbar.<init>(Snackbar.java:183) at android.support.design.widget.Snackbar.make(Snackbar.java:215) at ca.davesautoservice.davesautoservice.MapsActivity.onMapReady(MapsActivity.java:48) at com.google.android.gms.maps.SupportMapFragment$zza$1.zza(Unknown Source) at com.google.android.gms.maps.internal.zzo$zza.onTransact(Unknown Source) at android.os.Binder.transact(Binder.java:361) at xz.a(:com.google.android.gms.DynamiteModulesB:82) at maps.ad.u$5.run(Unknown Source) at android.os.Handler.handleCallback(Handler.java:808) at android.os.Handler.dispatchMessage(Handler.java:103) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:5333) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:828) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:644) at dalvik.system.NativeStart.main(Native Method) html_document参数设置为code_foldingshow来添加对代码折叠的支持。但是,这会使所有代码块在默认情况下展开或折叠 - 是否有任何方法可以指示在允许代码折叠时是否应显示或折叠单个代码块?

谢谢!

2 个答案:

答案 0 :(得分:1)

我来到这里想知道同样的事情。这不是一个完美的解决方案,但是我编写了两次代码:一次是在常规markdown中(因此它显示-请注意,在三个反引号之后没有{r}),另一次是在代码块中(因此它运行)。

示例:

This runs but doesn't display the actual code
```{r}
5 * 5 
```


This results in both the code and execution being displayed
```
5 * 5
```
```{r}
5 * 5 
```

这将导致:

enter image description here

答案 1 :(得分:0)

David Fong 在他们的回答中为此提供了完美的解决方案:https://stackoverflow.com/a/56657730/9727624

要覆盖状态,如果 yaml 设置为 {r class.source = "fold-hide"},请使用 show,如果设置为 {r class.source = "fold-show"},请使用 hide