如何在输出到docx时使pandoc多行表格单元格正常工作?

时间:2014-09-25 16:28:24

标签: multiline pandoc

我安装了最新版本的pandoc。我创建了一个test.txt文件,其中包含直接从多行表上的pandoc用户指南部分复制的以下多行表:

-------------------------------------------------------------
 Centered   Default           Right Left
  Header    Aligned         Aligned Aligned
----------- ------- --------------- -------------------------
   First    row                12.0 Example of a row that
                                    spans multiple lines.

  Second    row                 5.0 Here's another one. Note
                                    the blank line between
                                    rows.
-------------------------------------------------------------

然后我使用以下pandoc命令和multiline_tables扩展名输出到docx:

pandoc -f markdown_mmd+multiline_tables -o text.docx test.txt

创建了test.docx文件,但只显示了多行单元格的第一行。没有后续的多行单元格行。所以它看起来像这样(但在微软的单词表中):

-------------------------------------------------------------
 Centered   Default           Right Left
  Header    Aligned         Aligned Aligned
----------- ------- --------------- -------------------------
   First    row                12.0 Example of a row that

  Second    row                 5.0 Here's another one. Note
-------------------------------------------------------------

任何人都没有办法解决这个问题?

2 个答案:

答案 0 :(得分:2)

默认情况下,Pandoc的降价功能会启用multiline_tables - 扩展程序。所以不需要使用Multi Markdown flavour。所以这应该有效:

pandoc -o text.docx test.txt

P.S。大多数人将test.md

的文件命名为test.markdown

p.p.s。在重新阅读您的问题时,我想到了您的问题可能与Word如何显示生成的docx文件有关。您尝试过不同版本的Word,还是尝试输出到HTML? (docx格式非常脆弱)

答案 1 :(得分:1)

步骤1: 键入命令行:pandoc --print-default-data-file reference.docx > myref.docx

如果您的操作系统是linux,请在./之前添加

pandoc

您将获得一个名为myref.docx的文档。

1)打开myref.docx

2)选择(或单击表中的任何地方)

3)点击“表格设计”标签

4)单击“快速样式”列表上的小向下箭头图标(仅当您将鼠标悬停在样式上时,该图标才会出现)

5)在弹出菜单上单击“修改表样式”

6)进行样式更改,以使后续各行出现。

7)将参考文档保存到同一文件夹

步骤2: 键入命令行:pandoc anyTypeOfYourInput.html -s --reference-doc=myref.docx -o resultOutput.docx

如果您的操作系统是linux,请在./之前添加

pandoc

以上答案基于Iansco先生在github上的答案。 https://github.com/jgm/pandoc/issues/3275。 您可以搜索关键字“ iansco”快速找到原始答案。