预订参考{#}:下划线(_)变为破折号( - )

时间:2018-03-12 22:01:05

标签: knitr r-markdown pandoc bookdown

我们正在使用bookdown来记录我们的SQL-Queries,它们具有破折号的命名约定,例如: GG1_G1SDMP01_Q001,出于测试目的,我们使用 test_underscore

我们根据此技术名称链接到文档并使用参考,例如#SQL Query {#GG1_G1SDMP01_Q001},供我们测试使用 {#} test_underscore

在构建期间的某处,下划线被短划线取代,例如 http://book.smart-r.net/GG1-G1SDMP01-Q001.html 点击链接将显示

http://book.smart-r.net/test-underscore.html

下划线已成为破折号,无法将链接的自动创建视为简单连接。

我试图在Pandoc文档中找到一些东西,但是显着失败了,我甚至不确定pandoc是否用于生成HTML。

R version 3.4.3 (2017-11-30)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)

Matrix products: default

locale:
[1] LC_COLLATE=English_United Kingdom.1252  LC_CTYPE=English_United Kingdom.1252   
[3] LC_MONETARY=English_United Kingdom.1252 LC_NUMERIC=C                           
[5] LC_TIME=English_United Kingdom.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
 [1] compiler_3.4.3  backports_1.1.2 bookdown_0.7    magrittr_1.5    rsconnect_0.8.5 rprojroot_1.3-2
 [7] htmltools_0.3.6 tools_3.4.3     yaml_2.1.16     Rcpp_0.12.15    stringi_1.1.6   rmarkdown_1.8  
[13] knitr_1.18      xfun_0.1        stringr_1.2.0   digest_0.6.14   evaluate_0.10.1

rmarkdown::pandoc_version()
[1] ‘2.1.2’

1 个答案:

答案 0 :(得分:1)

如Yihui所示,这是在bookdown包的编码设计中使用以下声明:

gsub('[^[:alnum:]]+', '-', nm)

目前半优雅的解决方案是在第二级提供参考

# Header {#TEST}

## SQL-Query {#test_underscore}

这将生成如下链接: http://book.smart-r.net/TEST.html#test_underscore