Comment tricoter une image en ligne qui s'aligne sur plusieurs lignes de texte en utilisant r-markdown?

10

Je veux tricoter un rapport tel que l'en-tête soit similaire à l'image ci-dessous.

  • le carré tout à gauche est une icône
  • les rectangles sont du texte

J'ai rencontré trois problèmes actuellement

  1. comment insérer une icône avec url (image en ligne)?
  2. comment formater l'icône pour qu'elle soit en ligne avec 3 lignes de texte
  3. comment changer la taille de la police et l'espacement des lignes entre les lignes

entrez la description de l'image ici

veuillez trouver l'exemple reproductible minimal ci-dessous (notez que j'ai commenté l'image en ligne car je ne sais pas comment la coder correctement)

---
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
la source
On dirait que vous devez créer votre propre modèle personnalisé, voir bookdown.org/yihui/rmarkdown/document-templates.html . Devrait être faisable, mais cela pourrait nécessiter des commandes LaTeX plus avancées.
mikeck
Je pense que le flexdashboard sera également une bonne solution. Il vous permet de rendre des morceaux de brillant dans un document rmarkdown. Au moins, la création du modèle souhaité doit être simple et brillante.
Justin Landis

Réponses:

3

Vos trois questions peuvent être résolues en incluant des htmléléments.

Le RMarkdown est essentiellement un Markdown, vous pouvez inclure des éléments html dans le fichier.

vous pouvez soit utiliser html en:

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

Ou

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

Ensuite, vous pouvez utiliser le code html pour modifier la mise en page et la police dans les documents, fondamentalement, vous devez apprendre à écrire du code html simple, pas difficile juste beaucoup de googler.

Désolé de ne pas avoir écrit le code pour vous avec vos exemples, cela devrait être simple. La référence est ici, qui est un problème GitHub fermé: https://github.com/rstudio/rmarkdown/issues/326 .

J'espère que cela t'aides.

Bill Chen
la source