Рисунок на странице один, даже если на предыдущей странице достаточно места - PullRequest
0 голосов
/ 01 февраля 2019

Я пишу свою диссертацию в Markdown, и она включает в себя множество цифр в разделе «результаты».Поскольку мне действительно нужны все цифры и таблицы, чтобы они оставались в порядке и подразделе, я сохраняю их на месте с помощью \floatplacement{figure}{H} в YAML для цифр и kable_styling(latex_options = c("hold_position") для таблиц.

Мой вопросесть ли способ заставить текст плавать вокруг фигур без изменения их порядка / сечения?Как только я установил floatplacement на h вместо H, они больше не остаются в своем разделе.

Я попробовал , out.width="1\\textwidth", wrapfigure = list("C", 1) в опциях фрагмента кода, что заставляет текст идтив верхней части рисунка (что хорошо), но помещает фигуру на следующую страницу, даже если на текущей странице для нее будет достаточно места:

ar

Мой YAML:

---
output: 
   bookdown::pdf_document2:
    toc: no
    fig_caption: yes
    includes:
            in_header: header.tex 
lang: de
geometry: "left=3cm, right=2.5cm, top=2.5cm, bottom=2.5cm"
fontsize: 12pt
bibliography: library.bib
csl: science-modified1.csl
link-citations: yes
linkcolor: black
urlcolor: black
header-includes:
- \usepackage{placeins} #definiert den Befehl \FloatBarrier
- \usepackage{fancyhdr}
- \usepackage[doublespacing]{setspace}
- \usepackage{chngcntr}
- \counterwithout{figure}{section}
- \counterwithout{table}{section}
- \usepackage{microtype}
- \usepackage{amsmath}
- \usepackage{float}
- \floatplacement{figure}{H}
- \usepackage{wrapfig}
- \setlength{\parindent}{1cm}
---

Параметры блока кода моего рисунка:

```{r, include = F}
defOut <- knitr::knit_hooks$get("plot")  # save the default plot hook 
knitr::knit_hooks$set(plot = function(x, options) {  # set new plot hook ...
  x <- defOut(x, options)  # first apply the default hook
  if(!is.null(options$wrapfigure)) {  # then, if option wrapfigure is given ...
    # create the new opening string for the wrapfigure environment ...
    wf <- sprintf("\\begin{wrapfigure}{%s}{%g\\textwidth}", options$wrapfigure[[1]], options$wrapfigure[[2]])
   x  <- gsub("\\begin{figure}", wf, x, fixed = T)  # and replace the default one with it.
    x  <- gsub("{figure}", "{wrapfigure}", x, fixed = T)  # also replace the environment ending
  }
  return(x)
})
```

```{r figure-USB-J01-DDD-absolut-line, fig.cap = "Absoluter Verbrauch von J01-Antibiotika DDDs am USB (auf 30 Tage normiert)", out.width="1\\textwidth", wrapfigure = list("C", 1)}
```

Есть ли способ, чтобы текст помещался поверх рисунка (например, есть ли место для него на предыдущей странице, но не на рисунке), если фигуры не покидают свои секции или ведут себя странно, как в моем примере?

...