如何定位和格式化表格的长度';s标题[R降价,pander套餐]
我正在准备pdf格式的R降价文件。在文档中,我有两个表。我使用pander包格式化表格。假设我有数据帧DF,我想在pdf输出中将其转换为表。为了实现这一点,在r代码块中,我更改了表标题前缀的panderOptions,以便用非英语语言打印它,在下一行中,我使用指定的标题参数调用pander函数 以下是R降价代码的相关部分:如何定位和格式化表格的长度';s标题[R降价,pander套餐],r,markdown,pandoc,pander,R,Markdown,Pandoc,Pander,我正在准备pdf格式的R降价文件。在文档中,我有两个表。我使用pander包格式化表格。假设我有数据帧DF,我想在pdf输出中将其转换为表。为了实现这一点,在r代码块中,我更改了表标题前缀的panderOptions,以便用非英语语言打印它,在下一行中,我使用指定的标题参数调用pander函数 以下是R降价代码的相关部分: --- title: "Let's try!" author: "Newbie_R" date: "Monday, December 15, 2014" output: pd
---
title: "Let's try!"
author: "Newbie_R"
date: "Monday, December 15, 2014"
output: pdf_document
---
```{r setoptions, echo = F, message=FALSE}
library (knitr)
library (pander)
opts_chunk$set(echo = F)
```
```{r DF}
vm <- 3/2 + 4/2
jl <- vm
ik <- 2+4
sr <- 3 + 4/2
lb <- 4
dk <- 3
zb <- 3
ss <- 2
DF <- data.frame (VM = vm,
JL = jl,
IK = ik,
SR = sr,
LB = lb,
DK = dk,
ZB = zb,
SS = ss)
```
Try to make a table!!!
```{r panderTable}
panderOptions("table.caption.prefix", "XXXXXX 1: ")
pander (DF, caption = "This is a very long table's title that should be printed above the table; Also, I would like format it to match boundaries of a length of the table")
```
好吧,这不是一个
pander
,甚至不是一个降价问题,因为Pandoc的mardown有一个关于在哪里放置标题的问题:它应该放在表的降价下
但在将标记转换为HTML或PDF后,您可以随意(重新)放置标题,因为Pandoc将标记表转换为常规的表
LaTeX环境,可以通过上述floatrow
包轻松定制
不幸的是,这已经不可能了,因为Pandoc使用
longtable
而不是table
或ctable
,其中标题的位置由Pandoc的版本定义:它用来将标题放在表格下方,但由于a,标题放在表格上方。有关更多详细信息,请参阅Pandoc邮件列表上的。不确定,但它看起来不是一个选项,或者至少不包括在邮件列表中。您是否尝试过knitr或xtable或其他软件包中的kable?有趣的是,当我在控制台中尝试kable(DF,format='pandoc',caption=“Table caption”)
时,标题打印在表格上方,但当我编织时,标题添加在下方。一定是潘多克的东西。@rawr-thx寻求建议。我尝试了kable和xtable,但没有成功。我环顾四周,我发现pander软件包有很多选择,我相信其中一定有一些可以完成这项工作…请澄清。你知道我怎样才能解决问题2吗。三,。从我的帖子(特别是2.)来看?@Newbie_R:不幸的是,#2
对于长表
来说并不容易,但例如,使用其他LaTeX环境(如三部分表
)支持此设置。但是在当前版本的pandoc
中,您必须使用longtable
,因此手动指定标题宽度是您最后的选择:\captionsetup{width=.75\textwidth}
和标题
软件包。关于#3
:这是一个相当简单的问题,您可以使用例如\vspace{10mm}
在放置此项的任何位置都有1cm的空白。
\usepackage{floatrow}
\floatsetup[table]{capposition=top}
\floatsetup[figure]{capposition=top}