我很抱歉,如果我忽视的东西很明显,但我GOOGLE了,我能想到的,并没有找到适合我的回答了一切。
我的问题是我创建与GGPLOT2包数据(在块选项与“fig.cap = XY”创建字幕),并与kable包桌。现在的问题是,当编织成PDF,这些表的标题会自动在表的顶部和底部的数字字幕创建。我想一个统一的外观到我的PDF,所以我想有两个在上面的表格和图形的标题。
什么已经建议用- \usepackage{floatrow}
和- \floatsetup[figure]{capposition=top}
在YAML,但是当我尝试这个,我这个错误试图编织PDF文件时:
"! Package floatrow Error: Do not use float package with floatrow.
(floatrow) The latter will be skipped.
Error: Failed to compile test.tex. See test.log for more info.
Execution stopped"
日志具有以下在它的结尾:
“!==>发生了致命错误,没有输出PDF文件制作!”
这些都是我的“报头包含”在YAML:
- \usepackage[below]{placeins}
- \usepackage{setspace}
- \usepackage{flafter}
- \usepackage{chngcntr}
- \counterwithout{figure}{section}
- \counterwithout{table}{section}
- \usepackage{microtype}
- \floatplacement{figure}{H}
- \floatplacement{table}{H}
- \usepackage{floatrow}
- \floatsetup[figure]{capposition=top}
而那些使用我的包:
library(plyr)
library(readxl)
library(xlsx)
library(markdown)
library(rmarkdown)
library(knitr)
library(kableExtra)
library(ggplot2)
library(reshape2)
library(httpuv)
formatlibrary(caTools)
对此有一个解决方法吗?还是有另一种方式来获得在图的顶部图形的标题?
EDIT1:我把范围缩小到包“kableExtra”导致此问题,即使作为sessionInfo加载的“浮动”包不出现()。删除它和它所有的代码后,我遇到了另一个错误:
! Undefined control sequence.
<recently read> \floatplacement
取出后
- \floatplacement{figure}{H}
- \floatplacement{table}{H}
从YAML它成功knitred。字幕现在是顶部,但一切是一个烂摊子了。我大概可以管理没有“kableExtra”包,但也不是没有在YAML的“floatplacement”。
每一个建议,将不胜感激!
我有这个错误了。花了一段时间来弄清楚,但如果你阻止kableExtra
加载任何LaTeX
包,那么就不会有float
和floatrow
之间的冲突。
所以指定YAML头为正常:
output:
bookdown::pdf_document2:
fig_caption: yes
header-includes:
- \usepackage{floatrow}
- \floatsetup[figure]{capposition=top}
- \floatsetup[table]{capposition=top}
- \floatplacement{figure}{H}
- \floatplacement{table}{H}
---
并确保您设置装载kableExtra
之前这个选项
options(kableExtra.latex.load_packages = FALSE)
library(kableExtra)
这取决于你如何使用kableExtra
,您可能需要指定在YAML头附加包(例如,如果你选中的行颜色)。通过kableExtra
使用的封装的完整列表,可以在3页here找到。