【问题标题】:When trying to knit in RStudio it writes a ligature in the tex file and cannot compile it当尝试在 RStudio 中编织时,它会在 tex 文件中写入一个连字并且无法编译它
【发布时间】:2020-01-23 01:39:11
【问题描述】:

我正在安装全新的 Linux Mint (19.2)、全新的 RStudio 和全新的 texlive。


当我尝试在 RStudio 中编写 Rmarkdown 文件时,出现错误

! Package inputenc Error: Unicode char fi (U+FB01)
(inputenc)                not set up for use with LaTeX.

它似乎正在为字符“fi”生成一个连字,而 LaTeX 无法读取它。但是,我不知道如何让它停止产生这个连字。我尝试寻找其他解决方案,它引导我安装最新版本的 texlive-full 并运行 init-usertree。然后我尝试运行install tlmgr inputenc,它返回了一个错误。我查看了错误,建议将 texlive 设置为早期版本。然后我再次运行它并得到

tlmgr install: package inputenc not present in repository.

即使我追查此错误,我似乎也无法解决我的问题,因为这似乎无法解决连字问题。我看到了一项更改 LaTeX 排版的建议,因此我将其从 pdflatex 切换到 xelatex,但这并没有引起任何变化。

【问题讨论】:

  • 有趣的问题。请将您的文档缩小到minimal reproducible example。我的猜测是你的代码中有一个文字
  • @RalfStubner 在尝试在 TeXWorks 中运行 tex 文件后,fi 似乎首先出现在序言中的代码中。 Knitr 生成的代码中有很多\if\fi。但我会在一分钟内花一些时间尝试将其缩减到导致问题的第一个实例。
  • 一个最小的 tex 文件也会很有趣。但是,生成最小的 Rmd 文件可能更容易/更快。
  • @RalfStubner 你是绝对正确的,我没有想到我的 Rmd 源可能有连字,因为我在 RStudio 中输入了它......但后来我找到了一个......我记得我从其他地方粘贴了一些文本。所以这正是问题所在。如果您想发布答案并收集一些 Stackoverflow 积分,我会接受并投票。

标签: r rstudio knitr


【解决方案1】:

从 Rmd 到 tex 的翻译不应添加显式的 连字。因此,您的Rmd 文件很可能已经包含连字,这可能是之前复制和粘贴的结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-02
    • 1970-01-01
    • 2021-01-04
    相关资源
    最近更新 更多