• R语言
  • 【已解决】R代码块中英文混合情况下,多出来的空格到底是谁的锅

经过一晚上被各种炮轰 <https://github.com/CTeX-org/ctex-kit/issues/331#issue>,却发现这问题可能bookdownrmarkdown 等带来的,下面展示测试的效果图,请客观注意看print函数那行,保留sessioninfo 是为了说明两个测试是在统一环境下。

  1. 首先我在 R Sweave 下测试,情况正常,测试源文件

space

  1. 换到 R Markdown 下测试,情况异常,测试源文件
    code-space_1

PS: 在Windows下测试,情况如上

    yihui 我看到您在 CTeX 上的跟帖,实实在在的神助攻,这个问题会在rmarkdown的语法高亮环境中修正,还是等到他们去给xeCJK打补丁?

      Cloud2016 我可以修。我估计他们不会为这个问题打补丁。

      所以这个报告的教训就是,给示例一定要极简化(能用三个字就不要用五个字),简化到开发者不用考虑任何其它可能性。比如 LaTeX 包开发者不需要知道什么 R Markdown / Pandoc 之类的,这些都与他们无关。要是你掺和太多因素进来,人家很难去帮你一个个排除。

        Cloud2016 你新建一个 .tex 文件,如 preamble.tex:

        \RecustomVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\},formatcom=\xeCJKVerbAddon}

        然后用 includes 选项中的 in_header 引入这个文件即可。

          Cloud2016 更改标题为「【已解决】R代码块中英文混合情况下,多出来的空格到底是谁的锅