如何防止RMarkdown将数学解释为MathJax?

时间:2020-10-01 16:50:13

标签: knitr mathjax tex

我有一个小小的提法,我要抽出几张桌子。它们都是问题的开放式答案。几个答案是“ $$$”或“我没有$$$”。

当我在本地运行代码时,得到的是我所期望的(提供的干净的答案表),但是当我尝试编织为HTML时,它将被解释为“ MathJax”并显示原始HTML而不是表格:

using a different renderer called org.displaytag.export.excel.ExcelHssfView [Mathjax as rendered

我似乎无法重现确切的行为(只是破坏HTML,而不是在RStudio中渲染该块时),但是如果我在微弱的随机小标题上添加一些美元符号并生成一个“ kable:”, >

habits <- tribble(
    ~Habit, ~Description,
    "Q1_apple", "$$$", 
    "Q1_pineapple", "Random Thought", 
    "Q1_passionfruit", "$$$$", 
    "Q1_honeydew", "Not even pretending this makes sense."
  ) 

kable(habits)

我得到的错误表明它遇到了同样的问题-TeX希望将“ $$$”解释为一个等式:

[WARNING] Could not convert TeX math '$ </td>
    </tr>
    <tr>
     <td style="text-align:left;"> Q1_bathe </td>
     <td style="text-align:left;"> Random Thought </td>
    </tr>
    <tr>
     <td style="text-align:left;"> Q1_hair </td>
     <td style="text-align:left;"> ', rendering as TeX:
  $ </td>
  ^
  unexpected '$'

如何告诉TeX(或Knitr?)忽略此块中的任何潜在数学运算?

1 个答案:

答案 0 :(得分:1)

我找不到标志来说“不要将其解释为数学”,但是我可以在$周围添加对我有用的空格:

kable(
habits %>% 
  mutate(Description = str_replace_all(Description, "\\$", " $ "))
)