如何解决Pandoc转换md为docx时表头重复、表格缺上下水平线问题
Pandoc 2.16.2转换MD到DOCX表格异常解决方案
以下操作可同时解决跨页表头重复、表格上下边框未渲染两个问题:
优先方案:自定义参考文档(可复用,一次修改长期生效)
- 第一步:导出pandoc默认参考文档模板,执行命令:
pandoc -o custom-reference.docx --print-default-data-file reference.docx - 第二步:打开导出的
custom-reference.docx文件,找到内置的「表格」样式,右键选择「修改」 - 第三步:处理表头重复问题:在修改样式界面点击「格式」-「表格属性」,切换到「行」标签,取消「在各页顶端以标题行形式重复出现」选项的勾选,点击确定
- 第四步:处理边框缺失问题:在修改样式界面点击「格式」-「边框和底纹」,在「边框」标签的预设区域选择「外边框」,可根据需要调整边框的线条宽度、颜色,确认后保存样式修改,关闭参考文档
- 第五步:后续转换文件时执行以下命令即可:
pandoc 你的输入文件.md -o 输出文件.docx --reference-doc=custom-reference.docx
备选方案:仅关闭表头重复(无需修改参考文档)
如果只需要关闭跨页表头重复,可使用Lua过滤器实现:
- 第一步:新建
disable_header_repeat.lua文件,写入以下内容:
function Table(tbl) tbl.head.attr.attributes['repeat_header'] = '0' return tbl end
- 第二步:转换时添加过滤器参数:
pandoc 你的输入文件.md -o 输出文件.docx --lua-filter=disable_header_repeat.lua
如果需要同时修复边框,还是需要搭配自定义参考文档使用。
内容的提问来源于stack exchange,提问作者Issaku Kawashima
相关产品推荐
相关产品推荐

