Jak połączyć obraz w linii, który wyrównuje się do wielu wierszy tekstu za pomocą r-markdown?

10

Chcę zrobić raport tak, aby nagłówek był podobny do obrazka poniżej.

  • kwadrat po lewej stronie jest ikoną
  • prostokąty są tekstem

Obecnie napotkałem trzy problemy

  1. jak wstawić ikonę z adresem URL (obraz online)?
  2. jak sformatować ikonę, aby była w linii z 3 rzędami tekstu
  3. jak zmienić rozmiar czcionki i odstępy między wierszami

wprowadź opis zdjęcia tutaj

znajdź minimalny odtwarzalny przykład poniżej (zauważ, że skomentowałem obraz online, ponieważ nie wiem, jak go poprawnie zakodować)

---
output: pdf_document
geometry: margin=0.25in
classoption:
  - landscape
---

```{r, echo=FALSE, results='asis'}
for (i in unique(iris$Species)) {
  cat("\\newpage")
  # cat('\n![](https://bookdown.org/yihui/rmarkdown/images/hex-rmarkdown.png)\n')
  cat("\n#", "Iris Species Summary", "\\hfill", paste0("Exhibit ", grep(i, unique(iris$Species)), ".1"))
  cat("\n##", i, "\\hfill", "(Gross)")
  cat("\n######", "(000's)", "\\hfill", as.character(Sys.Date()))
}
```
Kevin Ho
źródło
Wygląda na to, że musisz utworzyć własny szablon, patrz bookdown.org/yihui/rmarkdown/document-templates.html . Powinno być wykonalne, ale może wymagać bardziej zaawansowanych poleceń LaTeX.
mikeck
Myślę, że flexdashboard będzie również dobrym rozwiązaniem. Pozwala renderować błyszczące fragmenty w dokumencie rmarkdown. Przynajmniej tworzenie szablonu, który chcesz, powinno być proste i błyszczące.
Justin Landis

Odpowiedzi:

3

Wszystkie trzy pytania można rozwiązać, dołączając htmlelementy.

RMarkdown jest zasadniczo Markdown, możesz dołączyć elementy html do pliku.

możesz użyć html poprzez:

```{r echo=FALSE}
knitr::asis_output(htmltools::htmlPreserve("
<div>
    <div>block 2
    </div>
</div>
"))
\``` <remove the \ here.>

Lub

<!--html_preserve-->
<div>
    <div>block 3
    </div>
</div>
<!--/html_preserve-->

Następnie możesz użyć html, aby zmienić układ i czcionkę w dokumentach, w zasadzie musisz nauczyć się pisać prosty kod HTML, a nie ciężko tylko google.

Przepraszam, że nie napisałem kodu z twoimi przykładami, powinien być prosty. Odniesienie znajduje się tutaj, który jest zamkniętym problemem GitHub: https://github.com/rstudio/rmarkdown/issues/326 .

Mam nadzieję że to pomoże.

Bill Chen
źródło