Rstudio rmarkdown: both portrait and landscape layout in a single PDF Rstudio rmarkdown: both portrait and landscape layout in a single PDF r r

Rstudio rmarkdown: both portrait and landscape layout in a single PDF


So, pandoc does not parse the content of latex environments, but you can fool it by redefining the commands in your header.tex file:

\usepackage{lscape}\newcommand{\blandscape}{\begin{landscape}}\newcommand{\elandscape}{\end{landscape}}

Thus, here \begin{landscape} is redefined to \blandscape, and \end{landscape} to \elandscape. Using those newly defined command in the .Rmd file seems to work:

---title: "Mixing portrait and landscape"output:    pdf_document:        includes:            in_header: header.tex ---Portrait```{r}summary(cars)```\newpage\blandscapeLandscape```{r}summary(cars)```\elandscape\newpageMore portrait```{r}summary(cars)```


Building upon previous solutions, the following solution does not require an auxiliary header.tex file. All contents are contained in the .Rmd file. The LaTeX commands are instead defined in a header-includes block in the YAML header. More info can be found here.

Also, I noticed that using the lscape LaTeX package rotates the contents of a page, but not the PDF page itself. This is resolved using the pdflscape package.

---title: "Mixing portrait and landscape WITHOUT a header.tex file"header-includes:- \usepackage{pdflscape}- \newcommand{\blandscape}{\begin{landscape}}- \newcommand{\elandscape}{\end{landscape}}output: pdf_document---Portrait```{r}summary(cars)```\newpage\blandscapeLandscape```{r}summary(cars)```\elandscape\newpageMore portrait```{r}summary(cars)```


For the most common cases.

There are 3 conditions.

  1. Everything in portrait mode.
  2. Everything in landscape mode.
  3. Mixture of portrait and landscape modes.

Let’s narrow down to each conditions.

  1. The first one, say we have a markdown document start with the code below. And this is the default setting in Rstudio when you create an rmd file. When you knit it. It will automatically assume it’s a portrait mode without doubt.

    title: "Landscape and Portrait"    author: "Jung-Han Wang"    date: "Thursday, March 19, 2015"    output: pdf_document
  2. When you want to knit the PDF file to landscape mode, the only thing you need to add is classoption: landscape

        title: "Landscape and Portrait"    author: "Jung-Han Wang"    date: "Thursday, March 19, 2015"    output: pdf_document    classoption: landscape
  3. If you want mixture of both, you will need to add .tex file in YAML. By referencing the link I mentioned above. You can download the .tex code here. http://goo.gl/cptOqg Or just simply copy the code and save it as header.tex Then, to make life easier, put this .tex file along with the rmd file to be knitted. Make sure you did these two things:Copy the tex file and move it along with the rmd file.Change the beginning of rmd to be:

     title: "Landscape and Portrait"    author: "Jung-Han Wang"    date: "Thursday, March 19, 2015"    output:      pdf_document:        includes:          in_header: header.tex

This is the summary after I played with this issue and mostly benefited from baptiste's answer.

I included some snapshots and examples in my blogger my blogger.

Hope this helps.Good luck.