【问题标题】:Error with german umlauts in R Markdown generated pdf, when a string is inserted by a function当函数插入字符串时,R Markdown 生成的 pdf 中的德语变音符号出错
【发布时间】:2018-06-08 16:58:27
【问题描述】:

我在尝试使用自制函数时遇到了一个奇怪的问题,该函数根据字符串在文本中的位置,以特定格式将字符串从数据框中插入到具有多个子文档的文档中。在我的字符串 df 中使用带有变音符号的德国机构名称后,PDF 文档的生成总是以 LaTeX 错误代码 1 停止。没有编码解决方法(例如\"u, ü)可以解决问题。

设置:Windows 10 (1803) 上带有 rmarkdown (1.9) 和 papaja (0.1.0) 的 RStudio (1.1.442)。函数在主文档中定义,但在编织过程中在子文档中调用。

我已经摆弄了 LaTeX 模板的编码/语言设置,但没有成功。主文档中的变音符号按预期工作,所以我很确定子文档的编织有问题。

注意我已经自己解决了这个问题(见答案)。但是,我认为这是函数和子文档的问题,而不是 papaja 包的问题,​​因此在类似情况下可能会有所帮助。也许其他人可以就这个问题多说一些,或者有一些更可靠的方法来防止这种情况发生?

【问题讨论】:

    标签: function pdf r-markdown children diacritics


    【解决方案1】:

    最终,我能够使用 Georgery 和 Dirk Eddelbuettel 在this 问题中描述的两种方法来解决这个问题。

    简而言之

    1. 检查所有相关文档的编码,如有必要,将其设置为 UTF-8
    2. 将函数打印的字符串中的变音符号更改为 html & 符号。

    我发现子文档的编码错误,但将其更改为 UTF-8 仅解决了文档本身的问题。当函数从 main 打印一个字符串到 child 时,LaTeX 仍然会抛出一个错误。多次尝试编织也没有奏效。在另外将“ü”换成ü之后一切都很好。

    我不知道幕后发生了什么,但我认为当字符串放置在子文档中的预期位置时,编码会以某种方式搞砸。

    【讨论】:

    • 嗨 Jan,这可能是 papaja 中的一个错误。你愿意给我一个最小的可重现的例子吗?
    • 嗨@crsh,感谢您的评论和很棒的 papaja 包。虽然我试图为您做一个最小的例子,但我注意到这个问题似乎随着 rmarkdown (1.10) 的更新版本而消失了。与此同时,我还更新了其他包(tidyverse)和 R 本身,我不怀疑它们会干扰 LaTeX 级别。我唯一没有升级的软件包是 papaja,所以我想你这边一切都很好,现在每个人都解决了这个问题。
    猜你喜欢
    • 1970-01-01
    • 2018-11-17
    • 2021-09-28
    • 2014-11-21
    • 2023-03-08
    • 2017-07-06
    • 1970-01-01
    • 1970-01-01
    • 2021-09-07
    相关资源
    最近更新 更多