gpt4 book ai didi

r - 使用 knit/rmarkdown 突出显示 bash 代码

转载 作者:行者123 更新时间:2023-12-02 01:51:19 24 4
gpt4 key购买 nike

我正在尝试使用 RStudio、R Markdown 和knitr 生成 HTML 报告。在报告中我想显示一些 bash 代码。我不想运行该代码,但我希望它突出显示。

another question中已经提到过但那里的建议对我不起作用。这是我到目前为止所尝试过的:

---
title: "bash highlighting?"
output: html_document
---
```{r, engine = 'bash', eval = FALSE}
for foo in (ls bar)
do
echo $foo
done
```

```{bash, eval = FALSE}
for foo in (ls bar)
do
echo $foo
done
```

这些都没有让我在 HTML 文档中突出显示。我知道这是可能的,因为我记得大约一周前在某个地方看到过它,但我再也找不到它了!有谁知道我怎样才能实现它?

感谢您的阅读,

汤姆

编辑:我刚刚找到this answer ,建议在 .Rmd 中使用以下代码块

<link rel="stylesheet" href="http://yandex.st/highlightjs/7.3/styles/default.min.css">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script src="http://yandex.st/highlightjs/7.3/highlight.min.js"></script>
<script>
$(document).ready(function() {
$('pre code').each(function(i, e) {hljs.highlightBlock(e)});
});
</script>

这适用于文档中的 bash 代码,但会取消 R 代码的突出显示!

## R version 3.2.0 (2015-04-16)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 14.04.2 LTS
##
## locale:
## [1] LC_CTYPE=en_AU.UTF-8 LC_NUMERIC=C
## [3] LC_TIME=en_AU.UTF-8 LC_COLLATE=en_AU.UTF-8
## [5] LC_MONETARY=en_AU.UTF-8 LC_MESSAGES=en_AU.UTF-8
## [7] LC_PAPER=en_AU.UTF-8 LC_NAME=C
## [9] LC_ADDRESS=C LC_TELEPHONE=C
## [11] LC_MEASUREMENT=en_AU.UTF-8 LC_IDENTIFICATION=C
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## loaded via a namespace (and not attached):
## [1] formatR_1.2 tools_3.2.0 htmltools_0.2.6 yaml_2.1.13
## [5] rmarkdown_0.5.1 knitr_1.10 stringr_0.6.2 digest_0.6.8
## [9] evaluate_0.7

最佳答案

默认语法突出显示主题对于非 R 代码块效果不佳,您可以使用其他主题,例如pygments

---
title: "Bash Highlighting"
output:
html_document:
highlight: pygments
---

```{r, engine = 'bash', eval = FALSE}
for foo in (ls bar)
do
echo $foo
done
```

关于r - 使用 knit/rmarkdown 突出显示 bash 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29914059/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com