【问题标题】:Special characters not rendered correctly when changing from git_book to bs4_book in bookdownbookdown 中从 git_book 更改为 bs4_book 时未正确呈现特殊字符
【发布时间】:2020-12-21 02:37:48
【问题描述】:

我正在写一本书,在 Rstudio 中使用 bookdowngit_book 格式呈现,但在更改为 bs4_book 格式后,所有拉丁字符甚至英文撇号都不再正确呈现(参见下图)。您可以在this page 和存储库here 中查看当前的实时版本。

我在Github中基于this issue安装了这个版本的bookdown,remotes::install_github("rstudio/bookdown#1027"),还像这样安装了bslibremotes::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"

【问题讨论】:

  • 看起来像双重mojibake。例如,Andrés Castañeda1252 UTF-8 编码Andrés Castañeda 的外观。我不清楚有关整数文字的警告。请edit您的问题提供minimal reproducible example

标签: r utf-8 r-markdown bookdown


【解决方案1】:

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

我担心,这个问题并没有简单地通过删除我的 html 文件所在的 docs 文件夹来解决。

这个discussion on GitHub 为我解决了这个问题。

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

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

我想这很快就会合并到主分支,但现在,它为我做了。

【讨论】:

    【解决方案2】:

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

    底线:git_book 切换到bs4_book 时,请确保删除输出文件夹(html 文件所在的位置),然后重新构建整个文件。

    谢谢。 最好的,

    【讨论】:

    • FWIW,您可以使用 bookdown::clean_book() 清理 bookdown 结果并在重建书籍之前重新开始!
    猜你喜欢
    • 1970-01-01
    • 2021-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多