在 for 循环 r markdown(pdf 输出)中的两个变量之间包括 space

Including space between two variables in a for loop r markdown (pdf output)

我正在尝试使用 R Markdown 创建一些刺激,对于每次试验,我打算从数据框中的两列 (L_Prob & R_Prob) 中提取两个值 ( D1) 并排展示它们。我打算将 r markdown 文件输出为 pdf。我还打算在两个值之间加入一些 space;但是,我遇到了困难。 我当前的代码如下所示。

{r, echo = F, comment=NA, results='asis'}
D1= data.frame(L_Prob=c("a+b","b+c","c+d"),R_Prob=c("d+e","e+f","f+g"))

for (i in 1:nrow(D1)){

  a = D1%>% select(L_Prob) %>% slice(i) %>% pull
  b = D1%>% select(R_Prob) %>% slice(i) %>% pull
  cat(a,b)
  cat("  \n") 
  cat("Why do you choose this problem?")
  cat("  \n") 
  cat("It looks to be easier to solve")
  cat("  \n") 
  cat("I prefer problems in this number type")
  cat("  \n") 
  cat("No particular reason")
  cat("  \n") 
  cat("Other______________________________")
  cat("\newpage  ")
}

输出看起来像 a+b b+c,中间没有 space。 我希望它看起来像

a+b                                 b+c

我已经试过 cat(a," ",b) 但没有用。 我不确定我该怎么做,如有任何建议,我们将不胜感激。 由于我是输出成pdf,所以我的理解是我不能左对齐a和右对齐b,但是,如果我错了,请指正。 再次感谢您的帮助!

使用format():

s <- format(c("A", "BB", "CCC"), width=10, justify="centre")
cat(s)

输出:

A BB CCC

LaTeX 默认忽略空格。试试 \hspace{length}:

cat(a, "\hspace{10em}", b)

More on length units. 玩它直到达到你想要的结果。或者使用 \space:

cat(a,rep("\space", 33),b)