如何在Pandoc/Markdown表格中控制单元格宽度?

29

有没有办法在Pandoc表格中控制单元格的最大宽度?

例如:

|          |            |
|----------|------------|
| I want to the contents of this cell to fit on one line|   XXXXXXX  |

我想控制左侧单元格中的文本如何换行,或者换句话说,我想控制单元格的最大宽度。


尝试使用多行或网格表格。 - Matthew Pickering
网格表格没有帮助。 - Mustafa
2个回答

26
{注意:此答案仅适用于Pandoc,并且仅在Markdown语法的输入中使用multiline_table扩展时才有效。因此,它不适用于Github Flavored Markdown(GFM)。}

多行表格支持相对列宽。(但是,您将无法精确控制任何单元格中的行在哪里以及如何断开。)

请参见我的另一个问题的答案

请注意,这仅适用于LaTeX、PDF和HTML输出,但不一定适用于HTML、ODT、DOCX或其他输出...


更新

以下是一个示例,使用三个不同的多行表格示例。它们在Markdown中的表头/内容分隔线宽度方面有所不同:

--------------------------------------------------------------------
Column 1                                                Column 2
------------------------------------------------------  ------------
我希望这个单元格的内容能够放在一行内               Word1 Word2
------------------------------------------------------ ------------
: **列2较窄。** 对于列1:在Markdown源中为分隔线添加54个破折号;对于列2:在分隔线中添加12个破折号(占列1的22%)。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Column 1 Column 2 ------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------ 我希望这个单元格的内容能够放在一行内 Word1 Word2
------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------
: **列1较窄。** 对于列1:在Markdown源中为分隔线添加54个破折号;对于列2:在分隔线中添加162个破折号(占列1的300%)。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Column 1 Column 2 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --------------- 我希望这个单元格的内容能够放在一行内 Word1 Word2
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ---------------
: **列2甚至比表1中的列还要窄。** 对于列1:在Markdown源中为分隔线添加210个破折号;对于列2:在分隔线中添加15个破折号(占列1的7%)。

结果

  1. PDF

    3 different tables as PDF from multiline-table Markdown

  2. HTML(未使用太多样式表)

    3 different tables as HTML from multiline-table Markdown


这个回答以及所链接的那个有点令人困惑,因为它说,“是的,相对宽度列是可行的”,然后又说,“只有 Pandoc 支持——这是 Markdown 的 Pandoc 特定扩展”。因此,实际上,回答应该是“不,不使用扩展是不可能实现相对宽度列的”。 - Taylor D. Edmiston
只是想指出一下,因为这篇帖子在谷歌上搜索“markdown表格列宽度”时排名第一,许多访问者都试图解决GFM的问题。(似乎没有解决方案。) - Taylor D. Edmiston
@TaylorD.Edmiston:所以在阅读并理解了我的答案之后,他们会知道它不适用于GFM。 - Kurt Pfeifle
1
当然,我的目的只是为了节省其他人阅读两个答案、推断以及阅读评论所需的时间。如果前面能够明确地表达重点,这似乎更加高效。 - Taylor D. Edmiston

4

使用CuteMarkEd,我只需在页眉原始数据或单元格中添加多个非断行空格( )即可完成此操作。


谢谢Newuser!这个对我有用。另外,文本的宽度(包括 )控制着列的宽度。 - dougB

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接