使用\\ newpage in printr循环加粗文本输出

时间:2016-01-11 14:52:29

标签: r knitr

我试图在PDF文档的循环中加粗输出名称。它在我简单循环时起作用,但在我引入\\newpage

时失败

这是一些简单的示例代码,用于生成我正在谈论的内容。

```{r results='asis',echo=FALSE}
library(printr)
test_group<-c('Bob','Joan','Francois','Ximinea','Raga','Mohandas')
sample_data<-rnorm(6,mean=4.3123,sd=.123)

for(cur_person in test_group){
  cat("\n")
  cat(paste("**",cur_person,"**",sep=""),'\n\n')
  print(sample_data)
  cat('\n')
}

```

以下是我得到的结果:

  

鲍勃
  [1] 4.229853 4.281234 4.575009 4.265584 4.421579 4.445438
  的
  [1] 4.229853 4.281234 4.575009 4.265584 4.421579 4.445438
  的弗朗索瓦
  [1] 4.229853 4.281234 4.575009 4.265584 4.421579 4.445438
  的 Ximinea
  [1] 4.229853 4.281234 4.575009 4.265584 4.421579 4.445438
  的拉格
  [1] 4.229853 4.281234 4.575009 4.265584 4.421579 4.445438
  的莫汉达斯
  [1] 4.229853 4.281234 4.575009 4.265584 4.421579 4.445438

但是,当我添加\\newpage以便我可以在新的PDF页面上启动每个人时,我会得到不同的输出。

```{r results='asis',echo=FALSE}
library(printr)
test_group<-c('Bob','Joan','Francois','Ximinea','Raga','Mohandas')
sample_data<-rnorm(6,mean=4.3123,sd=.123)

for(cur_person in test_group){
  cat("\\newpage") ## HERE IS NEW LINE
  cat("\n")
  cat(paste("**",cur_person,"**",sep=""),'\n\n')
  print(sample_data)
  cat('\n')
}

```
  

** **鲍勃
  [1] 4.229853 4.281234 4.575009 4.265584 4.421579 4.445438

     

...(显示下一页)

     

** **琼
  [1] 4.229853 4.281234 4.575009 4.265584 4.421579 4.445438

注意:这是一个人为简单的例子来说明问题。请不要挂断数据。在我的完整代码中,我在每个循环中都做了很多。

您可以看到输出不是粗体,而是显示实际的星星。我尝试过添加额外的退货,退货。唯一的变化是引入了\\newpage

我无法在页面空间添加线条,因为每个循环的长度都是可变的,并且会使\\newpage的整个点失效。

任何人都知道我可以做些什么来修复?

技术说明:
- R版本3.2.3
- 针织版:1.11
- printr version:0.0.4
- YAML版本:2.1.13
- Windows 7,x64
- 通过RStudio编织

1 个答案:

答案 0 :(得分:1)

\n循环中再添加一个硬回车(for),如下所示,它可以正常工作。我不知道这种机制,但是当命令如此接近\newpage时,似乎LaTex会感到不快。

```{r results='asis',echo=FALSE}
test_group<-c('Bob','Joan','Francois','Ximinea','Raga','Mohandas')
sample_data<-rnorm(6,mean=4.3123,sd=.123)

for(cur_person in test_group){
  cat("\\newpage")
  cat("\n \n")
  cat(paste("**",cur_person,"**",sep=""),'\n\n')
  print(sample_data)
  cat('\n')
}
```