书本中的图形标题后是否有大空白?

时间:2019-06-24 18:02:44

标签: r latex r-markdown knitr bookdown

我似乎无法控制图形标题后的空格数。

对于两段(在我看来)相同的代码,放置一个并在其标题后立即跟上文本,而另一张图在其标题后紧随我想要的文本之前有一半的空白空间

the two chunks giving different results in the .pdf output

the corresponding two plots

在第二张图片-乳胶图中,为什么第一个代码块在标题后给出了几乎为空的页面,而第二个代码后跟随后的文本是如此好?

这是我的 index.rmd (减去标题等)的一部分-可能与linestretch有关吗?

header-includes: 
- \usepackage{float}  #use the 'float' package
- \floatplacement{figure}{H} #make every figure with caption = H
output:
  bookdown::pdf_book:
    fig_caption: yes
    fig_crop: false
    df_print: kable
    includes:
      in_header: preamble.tex
    latex_engine: xelatex
    keep_tex: yes
fontsize: 11pt
linestretch: 1.5
toc-depth: 1
secnumdepth: 1
lof: True
lot: True
site: bookdown::bookdown_site
documentclass: book
classoption: openany
bibliography: [packages.bib, book.bib]
biblio-style: apalike
link-citations: True
geometry: "left=2.5cm, right=2.5cm, top=2.5cm, bottom=2.5cm"
---

我的 bookdown.yml

book_filename: "_Project2019"
delete_merged_file: true
before_chapter_script: "script1.R"
rmd_files: ["index.Rmd", "01-intro.Rmd", "02-EDA.Rmd", "03-method.Rmd"]
documentclass: book
language:
  label:
    fig: "Figure"
    tab: "Table"

和我的 output.yml

bookdown::pdf_book:
  latex_engine: xelatex
  citation_package: natbib
  keep_tex: yes
  fig_width: 6
  fig_height: 4.5
  fig_crop: false
  fig_caption: true
  df_print: kable

此外,我将其用作 preamble.tex ,其中所有\ let \ origfigure行仅是使fig.pos =“ h”始终如一地工作的一种解决方案前一段时间...

\usepackage{booktabs}
\usepackage[none]{hyphenat}
\usepackage{float}
\usepackage[belowskip=-5pt,aboveskip=0pt]{caption}
\let\origfigure\figure
\let\endorigfigure\endfigure
\renewenvironment{figure}[1][2] {
    \expandafter\origfigure\expandafter[H]
} {
    \endorigfigure
}
\pagestyle{plain}

正如您在此所看到的,我已经尝试过添加具有belowskip = -5pt的字幕包。我也已经尝试过在每个块之前/之后进行很多无空格的组合,但这似乎是随机的-在代码块本身中我是否缺少选项?我很困!

我真的不知道如何使这个问题可复制,因此我对此表示歉意,任何想法都让我知道

先谢谢了,
詹姆斯

1 个答案:

答案 0 :(得分:1)

我建议将\floatplacement{figure}{H}更改为\floatplacement{figure}{htbp}。这将为乳胶提供更多的可能性,为图像提供合适的位置。

目前,一页上没有足够的空间来放置两个图形,但是由于放置浮点数的限制选项,tex剩下的唯一解决方案是插入空格,因为不允许有效地插入空格将图片浮动到合适的位置