Comment maintenez la position de la figure avec la figure de légende dans le fichier pdf de sortie de knitr?
Je suis en utilisant knitr (1.9.5 et 1.9.17) et rmarkdown (0.5.3.1), et il aimerait que la figure de la position dans le fichier pdf de sortie. Le fichier pdf généré fonctionne bien lorsque le morceau option fig.pos="H"
est utilisé.
Cependant, le chiffre de la position n'est pas prise quand fig_caption: yes
est définie dans le
yaml en-tête.
Comment dois-je régler ce problème? Merci pour toutes les suggestions.
EDIT:
Après l'apprentissage, le flotteur de l'environnement de Latex. - Je ajouter float
paquet dans l'en-tête.
\usepackage{float}
La génération de fichier tex toujours utiliser htbp
dans le figure
environnement à l'égard de toute fig.pos
les options sont utilisées. Après de modifier manuellement htbp
à H
, les positions de tous les chiffres sont en attente.
C'est mon exemple de mdm fichier:
---
title: "Untitled"
output:
pdf_document:
fig_caption: yes
includes:
in_header: mystyles.sty
---
# Section 1
Note that the `echo = FALSE` parameter was added to the code chunk to prevent printing of the R code that generated the plot.
Note that the `echo = FALSE` parameter was added to the code chunk to prevent printing of the R code that generated the plot.
Note that the `echo = FALSE` parameter was added to the code chunk to prevent printing of the R code that generated the plot.
Note that the `echo = FALSE` parameter was added to the code chunk to prevent printing of the R code that generated the plot.
```{r fig1, echo=FALSE, fig.height=8.5, fig.pos="H"}
plot(cars)
```
# Section 2
More test
```{r fig2, echo=FALSE, fig.height=8.5, fig.pos="H"}
plot(cars)
```
# Section 3
```{r fig3, echo=FALSE, fig.height=8.5, fig.pos="H"}
plot(cars)
```
More test
J'ai eu un problème similaire. Je suis en supposant que la fig.pos n'est pas réellement analysée .Mdm Pandoc, parce que, lors de l'examen .tex de sortie des listes de l'4 options [htpb] pour votre silhouette.
Comme Yihui mentionné dans sa réponse, nous ne pouvons pas attendre trop sur la mise en forme de markdown. Il suffit d'écrire quelques script R pour remplacer htpb H. Vais poster mes scripts.
Bien sûr. Je viens de trouver ça bizarre, il est répertorié comme une option quand il ne reçoit pas analysée.
Double Possible de la Figure de la position en markdown lors de la conversion au format PDF avec knitr et pandoc
OriginalL'auteur Bangyou | 2015-04-17
Vous devez vous connecter pour publier un commentaire.
D'Andrew, a souligné, ce
fig.pos
ne fonctionne pas dans les morceaux, mais il ne fonctionne que s'il est mis dans les options globales:fig.pos = 'h'
(c'est à dire en minuscules au lieu de majuscules)... j'ai aussi trouvé que l'emplacement de cette "global_options' morceau de matière, il doit être placé après le YAML en-tête et avant tout des morceaux avec include=TRUE.Belle observation @InTheRed. Notez que le global_options' chunk nom est arbitraire, comme je le comprends. L'important est que le
knitr::opts_chunk$set()
de commande qui définit la knitr morceau options par défaut - doit être exécutée dès que possible au cours de knitr-ing. Donc, il doit être quelque part en haut du document.Bon point, le nom du chunk est arbitraire.
Cela ne fonctionne pas pour moi et mes chiffres sont encore flottant autour.
OriginalL'auteur Davor Josipovic
Mise à jour regardez cette meilleure solution ici. (le résumé du problème ci-dessous est encore bon, mais suivez le lien pour une meilleure solution).
De résumer quelques tests dans RStudio
La knitr morceau argument fig.pos = "H" fonctionne tant que
fig_caption: yes
n'est pas dans le fichier yaml en-tête.Chaque figure dans le générés .tex ressemble à ceci
Mais si
fig_caption: yes
est dans le fichier yaml en-tête de la .tex ressemble à cecifig.pos = "H"
n'a pas été utilisé,"htbp"
est-il à la place.Une solution de contournement pour ce à l'aide de RStudio:
mettre
dans le fichier yaml ainsi que
puis de rechercher et de remplacer
[htbp]
avec[H]
dans le générés .fichier texpuis ouvrez le .fichier tex dans RStudio et utiliser la fonction "Compiler PDF" bouton.
Exemple .Mdm
Cela a été d'une grande aide! Simplement en ajoutant [htbp] après \begin{figure} a fait le tour - la figure.
OriginalL'auteur Andrew
Bien que la réponse fournie par @Bangyou œuvres, il complique le tricot.
Vous pouvez également définir une option par défaut pour la figure de placement en latex, y compris dans votre YAML en-tête comprend:
Comme expliqué ici (et ici pour la
\makeat...
partie).De cette façon, vous pouvez simplement utiliser le bouton tricoter dans RStudio ou rmarkdown::render et être fait avec elle.
Question est, tous les chiffres de remplissage être forcé avec H, et vous ne serez pas en mesure d'en établir un à flotter autour.
Ce 1 ligne gem me semble que la réponse définitive. Dommage que si peu de upvotes!
Cela n'a pas fonctionné pour moi, sans la fig.pos = 'h' option activée pour chaque morceau, j'ai ajouté une réponse distincte pour résumer..
OriginalL'auteur Oscar de León
Pour moi, l'ajout de la
float
package, puis\floatplacement{figure}{H}
en YAML résolu le problème comme :OriginalL'auteur user9112767
Comme Yihui mentionné dans sa réponse (La Figure de la position en markdown lors de la conversion au format PDF avec knitr et pandoc), nous ne pouvons pas attendre trop sur la mise en forme de mardown. Pour contourner ce problème, il suffit d'écrire quelques R de scripts pour remplacer
htbp
àH
.Comparé avec
knit
de knitr paquet, j'ai trouvérender
de rmarkdown est préférable d'exporter untex
fichier. N'oubliez pas d'ajouterkeep_tex: yes
dans le fichier yaml en-tête de votre rmarkdown fichier.OriginalL'auteur Bangyou
L'option qui a fonctionné pour moi:
Dans le .tex mettre au début:
\usepackage{float}
.Au début de la Mdm:
knitr::opts_chunk$set(fig.pos = 'H')
. LeH
en majuscules).Et dans chaque bloc avec une image:
fig.cap="lorem blabla"
etout.extra=''
(valeur de paramètre=chaîne de caractères vide).Pas nécessité de définir:
fig_caption: yes
etkeep_tex: yes
dans le fichier yaml.Ces options de rendre l'image pour garder leur poste, que ce soit pour
include_graphics
et les parcelles généré par R code.Je les ai utilisés dans le
bookdown
de l'environnement, de générer le pdf et html comme prévu 🙂out.extra
option est utilisée: stackoverflow.com/a/43245550/1494531OriginalL'auteur pablo_sci