【问题标题】:Bookdown reference {#}: underscore (_) becomes dash (-)Bookdown 参考 {#}:下划线 (_) 变为破折号 (-)
【发布时间】:2018-03-12 22:01:04
【问题描述】:

我们正在使用 bookdown 来记录我们的 SQL 查询,这些查询具有带破折号的命名约定,例如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’

【问题讨论】:

  • 这是设计使然:github.com/rstudio/bookdown/blob/… 不幸的是,您不能使用下划线自定义 bookdown 中的文件名(至少目前如此)。
  • 非常感谢您的快速回答和出色的包裹

标签: knitr r-markdown pandoc bookdown


【解决方案1】:

正如一辉所指出的,这是在 bookdown 包的编码中设计的,使用以下语句:

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

目前一个半优雅的解决方案是在第二级有引用

# Header {#TEST}

## SQL-Query {#test_underscore}

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-19
    • 2010-09-12
    • 1970-01-01
    • 2017-10-16
    • 1970-01-01
    • 2023-03-05
    • 2015-11-29
    • 2013-04-29
    相关资源
    最近更新 更多