如何以智能方式在Rmarkdown中添加\ newpage?

时间:2014-08-11 09:56:25

标签: r r-markdown

我想知道是否可以用不同的方式在R markdown v2中使用LaTeX \newpage命令:

```{r, results='asis', echo=FALSE}
cat("\\newpage")
```

我制作了pdf_output。 如果any1有任何想法请不要犹豫评论:)! 感谢

我像这样创建pdf:

---
title: " "
author: " "
date: "2014"
output: 
   pdf_document:
      includes:
         in_header: naglowek.tex
      highlight: pygments
      toc: true
      toc_depth: 3
      number_sections: true
      keep_tex: true
---

4 个答案:

答案 0 :(得分:152)

只需\newpage\pagebreak即可,例如

hello world
\newpage
```{r, echo=FALSE}
1+1
```
\pagebreak
```{r, echo=FALSE}
plot(1:10)
```

此解决方案假设您正在编织PDF。对于HTML,您可以通过添加标记<P style="page-break-before: always">来实现类似的效果。请注意,您可能无法在浏览器中看到分页符(HTML本身没有页面),但打印布局会有。

答案 1 :(得分:9)

您可以将网页打印条件设置为PDF格式。这对我有用。

ds.Tables.Add(SubtoSubCategoryTable);

//add relations to the tables here
ds.Relations.Add("CatSubCat", CategoryTable.Columns["CatID"], SubCategoryTable.Columns["CatID"]);
ds.Relations["CatSubCat"].Nested = true;
ds.Relations.Add("SubCatSubSubCat", SubCategoryTable.Columns["SubID"], SubtoSubCategoryTable.Columns["SubID"]);
ds.Relations["SubCatSubSubCat"].Nested = true;

//call the writexml overload with WriteSchema to save the contents with schema
ds.WriteXml(Server.MapPath("~/") + "Product.xml", XmlWriteMode.WriteSchema);

答案 2 :(得分:4)

在初始化块中,我定义了一个函数

pagebreak <- function() {
  if(knitr::is_latex_output())
    return("\\newpage")
  else
    return('<div style="page-break-before: always;" />')
}

在要插入分页符的markdown部分中,键入

`r pagebreak()`

答案 3 :(得分:0)

如果您在使用 \newpage\pagebreak 以及浮动数字/表格时遇到问题。您需要使用 \clearpage,如回答 here