Knitr Ignorieren fig.pos?

8

Ich versuche, eine Figur in ein RMarkdown-Dokument einzufügen, habe aber Schwierigkeiten, sie an der richtigen Stelle erscheinen zu lassen. Die folgende Abbildung zeigt das Problem: Wenn eine Bildbeschriftung verwendet wird, erscheint die Abbildung oben auf der Seite und nicht unterhalb des entsprechenden Absatzes im Dokument.

Hier ist der Code für dieses minimale Arbeitsbeispiel:

%Vor%

Und hier ist der relevante Teil der LaTeX-Ausgabe; Beachten Sie, dass die Option fig.pos ignoriert wird:

%Vor%

Meine Einrichtung wird unten beschrieben. Ich bin mir ziemlich sicher, dass dies in der vorherigen Version von knitr funktioniert hat, aber ich habe keine Notiz, welche Version es hätte sein können.

%Vor%     
jkeirstead 27.02.2017, 13:09
quelle

2 Antworten

9

Die Chunk-Option fig.pos wird nur verwendet, wenn knitr denkt, dass sie eine LaTeX figure -Umgebung anstelle von reinem Markdown ![]() schreiben muss und LaTeX nur bei einer Bildunterschrift schreibt ( fig.cap ) angegeben, und mindestens eine dieser Optionen wurde angegeben: fig.align , out.width , out.extra . Wenn Sie knitr zwingen möchten, LaTeX-Code für Zahlen zu schreiben und fig.pos zu verwenden, können Sie die Chunk-Option out.extra = '' .

setzen     
Yihui Xie 06.04.2017, 04:08
quelle
0

Ich weiß, dass dies bereits von Yihui Xie beantwortet wurde, aber ich habe eine alternative Lösung, die das Einbeziehen überflüssig macht out.extra = '' oder eine der anderen Optionen, die angegeben wurden, ohne dabei Zahlen zu beeinträchtigen, die ohne Bildunterschriften gerendert wurden.

Fügen Sie einfach das Latex-Paket 'float' hinzu und verwenden Sie \floatplacement{figure}{H} , um sicherzustellen, dass jede Figur mit einer Beschriftung in der richtigen Reihenfolge innerhalb des Textes gerendert wird. Alternativ kann es zur Datei .tex hinzugefügt werden, die verwendet wird, wenn RMarkdown eine PDF erstellt, aber ich bin ziemlich neu und habe selbst keine Zeit gehabt, diese Option selbst zu untersuchen.

Ich habe dieses Update gefunden, indem ich die Datei .tex im These-down Paket von Chestar Ismay

Es ist eine ziemlich einfache Lösung, indem Sie einfach drei Zeilen in die YAML einfügen. Ich habe nicht genug Reputation, um einen Screenshot davon zu veröffentlichen, aber du kannst einfach kopieren, was ich getan habe und es selbst ausprobieren!

%Vor%     
bthorne 05.01.2018 19:54
quelle

Tags und Links