在 bookdown 中从 git_book 更改为 bs4_book 时,特殊字符无法正确呈现

Special characters not rendered correctly when changing from git_book to bs4_book in bookdown

我正在使用 Rstudio 中的 bookdown 编写一本书,该书以 git_book 格式呈现,但在更改为 bs4_book 格式后,所有拉丁字符甚至撇号都在英语不再正确呈现(见下图)。您可以在 this page and the repository here 中查看当前的实时版本。

我安装了这个版本的bookdown,remotes::install_github("rstudio/bookdown#1027")基于Github中的this issue,也安装了bslib这样的,remotes::install_github("rstudio/bslib")

当我在 bs4_book 中呈现这本书时,我收到了以下消息,这些消息是我以前在 git_book、

中没有收到的
#> Tweaking docs/index.html
#> Tweaking docs/intro.html
#> Tweaking docs/folder-strcutures.html
#> Tweaking docs/collaboration-in-git.html
#> Tweaking docs/stata-github.html
#> Tweaking docs/intro-povcal.html
#> Tweaking docs/prepare.html
#> Tweaking docs/lis-data.html
#> Tweaking docs/primus.html

#> Warning messages:
#> 1: In parse(text = text, keep.source = TRUE, encoding = "UTF-8") :
#>   integer literal 02.L contains unnecessary decimal point
#> 2: In parse(text = text, keep.source = TRUE, encoding = "UTF-8") :
#>   integer literal 00.L contains unnecessary decimal point
#> 3: In parse(text = text, keep.source = TRUE, encoding = "UTF-8") :
#>   integer literal 02.L contains unnecessary decimal point
#> 4: In parse(text = text, keep.source = TRUE, encoding = "UTF-8") :
#>   integer literal 02.L contains unnecessary decimal point
#> 5: In parse(text = text, keep.source = TRUE, encoding = "UTF-8") :
#>   integer literal 00.L contains unnecessary decimal point
#> 6: In parse(text = text, keep.source = TRUE, encoding = "UTF-8") :
#>   integer literal 03.L contains unnecessary decimal point

你可以在下面看到我的会话信息,

非常感谢您的帮助。最好的,

sessioninfo::platform_info()
#>  setting  value                       
#>  version  R version 4.0.2 (2020-06-22)
#>  os       Windows 10 x64              
#>  system   x86_64, mingw32             
#>  ui       RTerm                       
#>  language (EN)                        
#>  collate  English_United States.1252  
#>  ctype    English_United States.1252  
#>  tz       America/New_York            
#>  date     2020-12-20
Sys.getlocale()
#> [1] "LC_COLLATE=English_United States.1252;LC_CTYPE=English_United States.1252;LC_MONETARY=English_United States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252"
stringi::stri_locale_info()
#> $Language
#> [1] "en"
#> 
#> $Country
#> [1] "US"
#> 
#> $Variant
#> [1] ""
#> 
#> $Name
#> [1] "en_US"

我找到了问题的解决方案。在尝试按照@JosefZ 的建议创建可复制的示例时,我从字面上从原始存储库复制并粘贴了最少的必要文件,以将文档的可行版本创建到不同的文件夹中。因此,我没有复制输出文件夹(在本例中为“docs”)。通过这样做,问题就消失了。因此,我删除了原始仓库中的输出文件夹并重新构建了整本书。这解决了问题,现在可以正确渲染了。

底线: 当从 git_book 切换到 bs4_book 时,确保删除输出文件夹(html 文件所在的位置), 并重建整个东西。

谢谢。 最好的,

感谢这个问题,我也有类似的问题!

恐怕对我来说,问题并不能简单地通过删除我的 html 文件所在的 docs 文件夹来解决。

不过 discussion on GitHub 帮我解决了这个问题。

解决方案是从 Pull Request #1027 安装 bookdown 版本,Hadley 修复了这个问题。

remotes::install_github("rstudio/bookdown#1027")

我想这很快就会合并到主分支,但现在,这是为我完成的。