如何在bookdown

时间:2018-01-29 17:59:16

标签: r bookdown

我正在使用thesisdown模板在rmarkdown中撰写文档。

与问题thesisdown-41相关:如何添加新语言以突出显示当前不支持的语言?

链接中提到的项目源自bookdown

2 个答案:

答案 0 :(得分:1)

幕后bookdown使用pandoc将markdown转换为HTML / PDF / ....来自http://pandoc.org/MANUAL.html#syntax-highlighting的pandoc手册,我们得到:

  • 用于突出显示的库是skylighting
  • 可以使用pandoc --list-highlight-languages
  • 检索可用语言列表

答案 1 :(得分:0)

稍微偏离主题,但是我只是想出了如何在RMarkdown中而不是Bookdown中做到这一点。我怀疑您会需要这个,也许还有更多。

通过YAML前端将额外的参数传递给Pandoc:

output:
  html_document: 
    highlight: haddock
    pandoc_args: ["--syntax-definition", "cobol.xml"]  

从某处获取XML语法定义文件(或创建它)。我从以下位置获得了COBOL:

wget http://kde.6490.n7.nabble.com/attachment/1163657/0/cobol.xml.gz

高亮文件的语法与KDE中的Kate项目所用。

获取先决条件language.dtd文件,这与pandoc有很深的依赖性。

wget https://raw.githubusercontent.com/jgm/highlighting-kate/master/xml/language.dtd

如果刚刚将这两个文件添加到我的git repo中,然后将YAML行添加到我的RMarkdown中,那么所有内容都可以在其他开发人员的计算机上工作了。