2015-04-01 17 views
9

Sto tentando di creare un documento rmarkdown. Finalmente ho trovato un modo per avvicinarmi a questo, sebbene ci sia voluto del tempo. L'ultima cosa che vorrei essere in grado di fare è aggiungere un'immagine alla pagina del titolo del mio documento pdf.aggiungi immagine nella pagina del titolo di rmarkdown pdf

Il problema è che il mio frontespizio è definito dalla sezione superiore di YAML. Di seguito è il contenuto del mio file example.Rmd. Io uso il pulsante Knit PDF in RStudio per trasformarlo in un PDF.

--- 
title: "This is a my document" 
author: "Prepared by: Dan Wilson" 
date: '`r paste("Date:",Sys.Date())`' 
mainfont: Roboto Light 
fontsize: 12pt 
documentclass: report 
output: 
    pdf_document: 
    latex_engine: xelatex 
    highlight: tango 
--- 
This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see <http://rmarkdown.rstudio.com>. 

When you click the **Knit** button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this: 

```{r} 
summary(cars) 
``` 

You can also embed plots, for example: 

```{r, echo=FALSE} 
plot(cars) 
``` 

Note that the `echo = FALSE` parameter was added to the code chunk to prevent printing of the R code that generated the plot. 

Se qualcuno ha qualche consiglio che mi avrebbe permesso di mettere un'immagine (logo.png) sopra il mio titolo che sarebbe grande.

+0

Fa questo aiuto? http://stackoverflow.com/questions/25890939/inserting-logo-into-beamer-presentation-using-r-markdown – tonytonov

+0

non con il mio tentativo di replicarlo. Sto tentando un PDF piuttosto che una presentazione di Beamer quindi non sono troppo chiaro come regolare il codice per adattarlo. Avrà una ricerca per vedere se riesco a trovare una cosa simile per PDF. – Dan

+0

Ho scoperto che avevo bisogno di riordinare l'istruzione YAML, inserendo il simbolo 'includes' subito dopo la riga' pdf_document: '. Quindi ora ho 'in_header: mystyle.tex' con' {\ includegraphics {tdclogo.png}} 'nel file .tex. Questo genera un errore '! Errore di LaTeX: mancante \ begin {document} .' Anche se inserisco '\ begin {document}' in là ottengo altri messaggi di errore. qualche idea? – Dan

risposta

9

sono stato in grado di risolvere questo utilizzando LaTeX pacchetto di titolazione

--- 
title: "Untitled" 
author: "Name" 
date: "September 19, 2015" 
output: 
    pdf_document: 
    includes: 
     in_header: header.tex 
--- 

This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see <http://rmarkdown.rstudio.com>. 

When you click the **Knit** button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this: 

```{r} 
summary(cars) 
``` 

You can also embed plots, for example: 

```{r, echo=FALSE} 
plot(cars) 
``` 

Note that the `echo = FALSE` parameter was added to the code chunk to prevent printing of the R code that generated the plot. 

Qualora il header.tex dovrebbe includere il seguente codice:

\usepackage{titling} 

\pretitle{% 
    \begin{center} 
    \LARGE 
    \includegraphics[width=4cm,height=6cm]{logo.png}\\[\bigskipamount] 
} 
\posttitle{\end{center}} 

e sostituire logo.png con l'immagine che si desidera utilizzare e assicurarsi che il file si trovi nella directory principale del file Rmd. È possibile modificare la larghezza e l'altezza dell'immagine in base alle proprie esigenze. Per ulteriori informazioni sulle opzioni disponibili, vedere titling

+0

Ottengo '! Sequenza di controllo indefinita. l.35 \ if @ titlepage' quando si lavora a maglia PDF da Rmd – akhmed

+1

Stesso errore ma modificato 'in_header.sty' per incorporare questa soluzione http://tex.stackexchange.com/questions/61051/logo-in-the-first- Solo per pagina Basta aggiungere '\ logo {\ includegraphics {path}}' – animalito

5

In base alla soluzione precedente, il seguente codice non richiede un file ausiliario header.tex. Tutti i contenuti sono contenuti nel file .Rmd. I comandi LaTeX sono invece definiti in un blocco header-includes nell'intestazione YAML. Altre informazioni possono essere trovate here.

Sostituire my_graphic.png di seguito con il file grafico locale.

--- 
title: "A title page image should be above me" 
header-includes: 
- \usepackage{titling} 
- \pretitle{\begin{center}\LARGE\includegraphics[width=12cm]{my_graphic.png}\\[\bigskipamount]} 
- \posttitle{\end{center}} 
output: 
    pdf_document: 
    toc: true 
--- 

\newpage 

# Section 1 

Some text. 
0

Per un beamer presentazione che si può fare in questo modo:

title: "Title" 
subtitle: "Subtitle" 
author: "author" 
date: "date" 
header-includes: 
- \titlegraphic{\centering \includegraphics[width=12cm]{/titlepic.png}} 
output: 
    beamer_presentation: 
    latex_engine: xelatex 
    theme: "metropolis" 
    highlight: "espresso" 
classoption: "aspectratio=169" 

Il titlegraphic sarà posto sotto il titolo di testo