Уравнения с несколькими случаями в таблице kableExtra

Я делаю таблицу в документе Markdown, который будет включать уравнения с различными случаями. Когда я пишу массив в Markdown, он вяжется с этим:

Когда я включаю одно и то же уравнение в таблицу, используя kable() условия в конце массива искажены:

Кто-нибудь знает, как получить условия в таблицах kableExtra, чтобы они выглядели так же, как вне таблиц? Я хочу, чтобы условия в конце были приведены в соответствие. Добавление пробелов вручную (0\\\ \\\ \\\ \\\ \\\ a = 0 \\\\) выглядит плохо. Я хотел бы знать, как исправить это в Markdown, прежде чем переходить к хакерским решениям. Код для каждого случая ниже.

Уравнение в уценке:

 $$C_{y,a}=
    \begin{cases}
    0 &   a=0 \\ 
    \frac{C_y N_{y,a}}{N_y^{1+}} & a>0 \\
    \end{cases}$$

То же уравнение в таблице в Markdown:

 **Table 1.** Population dynamics.
```{r echo = F}
Equation_number <- c(1,2)

Equation <- c("$N_{i1,y} = R_{i,y} = R_{0,i }e^{\\tau_{i,y}}$",
              "$C_{y,a}=
              \\begin{cases}
              0 &   a=0 \\\\
              \\frac{C_y N_{y,a}}{N_y^{1+}} & a>0 \\\\
              \\end{cases}$")

Description <- c("Initial numbers at age","Catches at age")

Population_Equations <- data.frame(cbind(Equation_number,
                                         Equation,
                                         Description))
colnames(Population_Equations) = c("Eq.",
                                   "Equation", 
                                   "Description")
knitr::kable(format="html",
             Population_Equations, 
             escape = FALSE) %>% 
            kable_styling()

```

Заранее спасибо за любые рекомендации!

1 ответ

Решение

Обновить:

Как подсказывает @user2554330, установка последней версии для разработчиков из github должна исправить это:

devtools::install_github("haozhu233/kableExtra")

Старый ответ:

Когда вы не используете kable_styling это работает отлично. Unfortunetly, kable_styling не имеет escape аргумента пока нет. Обходной путь должен был бы вручную заменить экранированные символы:

myTable <- knitr::kable(format="html",
                        Population_Equations, 
                        escape = FALSE) %>% 
  kable_styling()
myTable <- gsub("&amp;", "&", myTable) 
myTable <- gsub("&gt;", ">", myTable) 

Другие вопросы по тегам