微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 pandoc 和 Markdown 创建一个单元格可能包含多个行或段落的表格

如何解决使用 pandoc 和 Markdown 创建一个单元格可能包含多个行或段落的表格

我正在尝试创建一个表格,其中某些单元格可能包含多个行或段落。我正在用 Markdown 创建我的文档,并使用 pandoc 将其转换为其他格式,以便传播。

Pandoc 用户指南提到“网格表”支持多个段落甚至列表,我认为这符合我的要求。但是,用户指南提到“网格表”功能需要按照以下示例排列列:

+---------------+---------------+--------------------+
| Fruit         | Price         | Advantages         |
+===============+===============+====================+
| Bananas       | $1.34         | - built-in wrapper |
|               |               | - bright color     |
+---------------+---------------+--------------------+
| Oranges       | $2.10         | - cures scurvy     |
|               |               | - tasty            |
+---------------+---------------+--------------------+

如果竖线字符没有在行上对齐,则表格未正确呈现。我的问题是我在每个单元格中的条目都很长且长度可变。所以我不可能把管道字符排成一行。 Markdown 中有没有其他方法可以创建表格,其中单元格可以包含多行和以其他格式正确呈现的段落?

解决方法

在纯 pandoc Markdown 的范围内,网格表确实是唯一的选择。它们总是需要正确的单元格对齐。

另一种方法是使用 pandoc filters。例如,一个很好的基于 Markdown 的解决方案是 pandoc-list-table,它允许将表定义为嵌套列表。

来自自述文件的示例:

:::lol2table
*   -   foo
    -   bar
    -   baz
*   -   +   tic
        +   pic
    -   +   tac
        +   pac
:::

变得等价于

+---------+---------+-----+
| foo     | bar     | baz |
+=========+=========+=====+
| -   tic | -   tac |     |
| -   pic | -   pac |     |
+---------+---------+-----+

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。