我在RStudio中使用R Markdown创建一个混合Markdown和R输出的报告.我知道如何在Markdown中使用内联R表达式,但我想知道如何进行反转,即在R代码中使用Markdown.我想循环一系列的计算并获得每个计算的Markdown标题.我希望标题用于格式化(例如,粗体标题等),并且还能够在生成的PDF中指定(子)部分(这是RMarkdown处理#和##等的方式的一个很好的特征).
我知道我可以做到以下几点:
---
title: "test"
output: pdf_document
---
#Section 1
```{r, echo=FALSE}
print(1+1)
```
#Section 2
```{r, echo=FALSE}
print(2+2)
```
#Section 3
```{r, echo=FALSE}
print(3+3)
```
Run Code Online (Sandbox Code Playgroud)
这给出了(粗略地)这样的东西:
## [1] 2
## [1] 4
## [1] 6
是否有可能使用以下内容来实现相同的输出:
---
title: "test2"
output: pdf_document
---
```{r, echo=FALSE}
for (i in 1:3)
{
print(paste("#Section",i))
print(i+i)
}
```
Run Code Online (Sandbox Code Playgroud) 我正在尝试在Visual Studio Code中创建扩展,以便为自定义语言启用语法突出显示。我在这里找到@Wosi提供的有用建议:在Visual Studio Code中创建自定义语言。基于此,我尝试进行以下测试。我创建下一个子文件夹%USERPROFILE%\.vscode\extensions用package.json在根定义如下(从上面的例子):
{
"name": "mylang",
"version": "0.0.1",
"engines": {
"vscode": ">=0.9.0-pre.1"
},
"publisher": "me",
"contributes": {
"languages": [{
"id": "mylang",
"aliases": ["MyLang", "mylang"],
"extensions": [".mylang",".myl"]
}],
"grammars": [{
"language": "mylang",
"scopeName": "source.mylang",
"path": "./syntaxes/mylang.tmLanguage"
}]
}
}
Run Code Online (Sandbox Code Playgroud)
然后,我在其下创建了一个语法子文件夹,并mylang.tmLanguage根据@wozi给出的示例在其中包含一个文件:如何为VS Code创建简单的自定义语言着色有一些小的修改只是为了使命名与上述JSON一致文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>scopeName</key>
<string>source.mylang</string>
<key>fileTypes</key>
<array>
<string>mylang</string>
<string>myl</string>
</array>
<key>name</key>
<string>mylang file</string>
<key>patterns</key>
<array>
<dict>
<key>match</key>
<string>\b(?i:(hint|info|information))\b</string> …Run Code Online (Sandbox Code Playgroud) json syntax-highlighting visual-studio-code tmlanguage vscode-extensions