我需要使用" complexe"创建一个rtf
文件。 table inside(实际上我只需要水平合并单元格)。
我尝试了{RTF}
包,但是addTable
函数接受了一个data.frame或table对象,没有像colspan这样的参数..
我尝试使用带有rtf_document
输出的Rmarkdown,但Rmarkdown不支持合并单元格(kableExtra
,创建一个html对象来执行此操作)
我知道如何使用此类表创建docx
(使用{officer}
和{flextable}
)所以也许这可能是转换.docx
文件的好方法进入.RTF
..任何想法如何做到这一点? (或者乳胶 - > RTF?)
此致
答案 0 :(得分:0)
pandoc
不支持跨越表格的多个列或行的单元格(请参阅here和this thread)。
在rtf
包中,有一个内部函数rtf:::.add.merged.table.row()
。它为水平合并的行生成rtf
代码。但也许你想写自己的功能。
下面是一行表的rtf
代码示例:
{\rtf1\ansi\deff0
\trowd
\cellx1000
\cellx2000
\cellx3000
\intbl cell 1\cell
\intbl cell 2\cell
\intbl cell 3\cell
\row
}
您可以将这些行保存到rtf
或doc
文件,以查看呈现的表格。
在rtf
spec之后,使用\clmgf
和\clmrg
定义了水平合并的单元格。这是同一个表,第二行合并了前两个单元格:
{\rtf1\ansi\deff0
\trowd
\cellx1000
\cellx2000
\cellx3000
\intbl cell 1\cell
\intbl cell 2\cell
\intbl cell 3\cell
\row
\trowd
\clmgf\cellx1000
\clmrg\cellx2000
\cellx3000
\intbl cell 1\cell
\cell
\intbl cell 3\cell
\row
}
然而,制作原生rtf
是一项艰巨的任务。
因此,我认为您最好的选择是(按照您的建议)生成docx
或latex
文件并将其后处理到rtf
。有一个latex2rtf
库,但它附带了一个很好的免责声明:
事实上,不要指望任何LaTeX文件可以按照您的意愿进行转换,不要指望它在没有错误或警告的情况下进行转换,并且在根本不进行转换时也不会特别惊讶。众所周知,LaTeX2RTF存在许多错误和许多缺失的功能。矛盾的是,这个数字似乎每天都在增长。但是,我们可以明确说明LaTeX2RTF有一些特殊情况可以令人满意地将LaTeX文件转换为RTF