如何将 pandoc 管道表编译成 html?
How to compile pandoc pipe tables into html?
这个 thread 是关于如何使用多行 table 来做到这一点。
但是,我需要在原始数据中使用更严格的语法,以便在起草笔记中使用 AWK 和 Gnuplot 进行更好的二次数据计算。
Pandoc 烟斗 tables
原始数据
-------------------------------------------------
Size | File | EventSize | W.Events | fafa
----------|-------|------------|----------|------
L805067 | 009 | L805+4 | 1000 | -
L805067 | 001 | L805+4 | 1000 | -
-------------------------------------------------
manual 表示可以将扩展名 +pipe_tables
添加到 markdown。
我 运行 未成功执行以下操作,但未获取由 HTML 语法分隔的字段:
pandoc data.tex -f markdown+pipe_tables -t html
仅提供(我在没有扩展名的情况下也得到相同的输出)
<table>
<tbody>
<tr class="odd">
<td align="left">Size | File | EventSize | W.Events | fafa</td>
</tr>
<tr class="even">
<td align="left">----------|-------|------------|----------|------</td>
</tr>
<tr class="odd">
<td align="left">L805067 | 009 | L805+4 | 1000 | -</td>
</tr>
<tr class="even">
<td align="left">L805067 | 001 | L805+4 | 1000 | -</td>
</tr>
</tbody>
</table>
正确输出
<table>
<colgroup>
<col width="15%" />
<col width="12%" />
<col width="16%" />
<col width="13%" />
<col width="9%" />
</colgroup>
<thead>
<tr class="header">
<th align="left">Size</th>
<th align="center">File</th>
<th align="left">EventSize</th>
<th align="left">W.Events</th>
<th align="left">fafa</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td align="left">L805067</td>
<td align="center">009</td>
<td align="left">L805+4</td>
<td align="left">1000</td>
<td align="left">-</td>
</tr>
<tr class="even">
<td align="left">L805067</td>
<td align="center">001</td>
<td align="left">L805+4</td>
<td align="left">1000</td>
<td align="left">-</td>
</tr>
</tbody>
</table>
可以用下面的table用同样的命令生成pandoc /tmp/1.tex -f markdown -t html
:
-------------------------------------------------
Size File EventSize W.Events fafa
---------- ------- ----------- -------- -------
L805067 009 L805+4 1000 -
L805067 001 L805+4 1000 -
-------------------------------------------------
Pandoc Ugly 管道 tables
我得到了使用丑陋 tables here:
的建议
-------------------------------------------------
Size | File | EventSize | W.Events | fafa
----------|-------|------------|----------|----:
L805067 | 009 | L805+4 | 1000 | -
L805067 | 001 | L805+4 | 1000 | -
-------------------------------------------------
but 运行ning pandoc /tmp/1.tex -f markdown -t html
给出与上面使用管道 tables 相同的不成功输出。
Kurt 发表评论后两 table 秒
我遗漏“:”标记的测试数据
Asetukset
--------------------------------------------------
Virta I = 1-100 nA
Resistanssi R = 5 T\Omega
Table: Asetukset elektromateriaaliselle virralle.
Tilanteet
---------------------------------------------
tasainen virta
muuttuva virta
kuormitus
Table: Elektrokarakteristiset ominaisuudet.
产生错误
通过当前答案中提供的代码。
OS:Debian 8.5,OS X El Capitan
硬件:华硕 Zenbook UX303UA、Macbook Air 2013 年中期
一般规则
您的 table 存在三个不同的问题。两个与格式不正确有关:虚线(仅包含三个或更多 -
的线)和空行。最后一个大概是one-columntables.
虚线在 pandoc 中可以解释为:
- 一条横线(html中的
<hr/>
)
- 上一行文字为2级的标记Setext-styleheaders
- 多行table的开始和结束标记(并且只有多行table:它们不适用于管道table s,简单 tables 或网格 tables)
tables 中的空行 仅允许用于多行 tables(它们不适用于简单、管道和网格 tables)。在多行 table 中,它们用作行分隔符。
如果 one-column table 没有 table 在 之前,pandoc 似乎无法识别它们] 标题。这可能是因为没有其他方法可以区分 one-column table 和 level-2 header。
为什么当前的 table 没有按预期工作
您的第一个 table 是一个不正确的管道 table。它有两条虚线,一条在开头,一条在结尾。
您添加的"Two tables after Kurt's comment"也不正确。它们有空行,但没有多行的其他属性 table(即开始和结束虚线)。
什么会起作用
与 table 类型保持一致:不要对竖线 table 使用任何虚线或任何空行。如果只有一列,请注意在 table 之前添加 table 标题。
pandoc test.md -o test.pdf
Size | File | EventSize | W.Events | fafa
----------|-------|------------|----------|------
L805067 | 009 | L805+4 | 1000 | -
L805067 | 001 | L805+4 | 1000 | -
Table: Title
Table: Asetukset elektromateriaaliselle virralle.
Asetukset
--------------------------------------------------
Virta I = 1-100 nA
Resistanssi R = 5 T$$\Omega$$
Table: Elektrokarakteristiset ominaisuudet.
Tilanteet
---------------------------------------------
tasainen virta
muuttuva virta
kuormitus
这个 thread 是关于如何使用多行 table 来做到这一点。 但是,我需要在原始数据中使用更严格的语法,以便在起草笔记中使用 AWK 和 Gnuplot 进行更好的二次数据计算。
Pandoc 烟斗 tables
原始数据
-------------------------------------------------
Size | File | EventSize | W.Events | fafa
----------|-------|------------|----------|------
L805067 | 009 | L805+4 | 1000 | -
L805067 | 001 | L805+4 | 1000 | -
-------------------------------------------------
manual 表示可以将扩展名 +pipe_tables
添加到 markdown。
我 运行 未成功执行以下操作,但未获取由 HTML 语法分隔的字段:
pandoc data.tex -f markdown+pipe_tables -t html
仅提供(我在没有扩展名的情况下也得到相同的输出)
<table>
<tbody>
<tr class="odd">
<td align="left">Size | File | EventSize | W.Events | fafa</td>
</tr>
<tr class="even">
<td align="left">----------|-------|------------|----------|------</td>
</tr>
<tr class="odd">
<td align="left">L805067 | 009 | L805+4 | 1000 | -</td>
</tr>
<tr class="even">
<td align="left">L805067 | 001 | L805+4 | 1000 | -</td>
</tr>
</tbody>
</table>
正确输出
<table>
<colgroup>
<col width="15%" />
<col width="12%" />
<col width="16%" />
<col width="13%" />
<col width="9%" />
</colgroup>
<thead>
<tr class="header">
<th align="left">Size</th>
<th align="center">File</th>
<th align="left">EventSize</th>
<th align="left">W.Events</th>
<th align="left">fafa</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td align="left">L805067</td>
<td align="center">009</td>
<td align="left">L805+4</td>
<td align="left">1000</td>
<td align="left">-</td>
</tr>
<tr class="even">
<td align="left">L805067</td>
<td align="center">001</td>
<td align="left">L805+4</td>
<td align="left">1000</td>
<td align="left">-</td>
</tr>
</tbody>
</table>
可以用下面的table用同样的命令生成pandoc /tmp/1.tex -f markdown -t html
:
-------------------------------------------------
Size File EventSize W.Events fafa
---------- ------- ----------- -------- -------
L805067 009 L805+4 1000 -
L805067 001 L805+4 1000 -
-------------------------------------------------
Pandoc Ugly 管道 tables
我得到了使用丑陋 tables here:
的建议-------------------------------------------------
Size | File | EventSize | W.Events | fafa
----------|-------|------------|----------|----:
L805067 | 009 | L805+4 | 1000 | -
L805067 | 001 | L805+4 | 1000 | -
-------------------------------------------------
but 运行ning pandoc /tmp/1.tex -f markdown -t html
给出与上面使用管道 tables 相同的不成功输出。
Kurt 发表评论后两 table 秒
我遗漏“:”标记的测试数据
Asetukset
--------------------------------------------------
Virta I = 1-100 nA
Resistanssi R = 5 T\Omega
Table: Asetukset elektromateriaaliselle virralle.
Tilanteet
---------------------------------------------
tasainen virta
muuttuva virta
kuormitus
Table: Elektrokarakteristiset ominaisuudet.
产生错误
通过当前答案中提供的代码。
OS:Debian 8.5,OS X El Capitan
硬件:华硕 Zenbook UX303UA、Macbook Air 2013 年中期
一般规则
您的 table 存在三个不同的问题。两个与格式不正确有关:虚线(仅包含三个或更多 -
的线)和空行。最后一个大概是one-columntables.
虚线在 pandoc 中可以解释为:
- 一条横线(html中的
<hr/>
) - 上一行文字为2级的标记Setext-styleheaders
- 多行table的开始和结束标记(并且只有多行table:它们不适用于管道table s,简单 tables 或网格 tables)
- 一条横线(html中的
tables 中的空行 仅允许用于多行 tables(它们不适用于简单、管道和网格 tables)。在多行 table 中,它们用作行分隔符。
如果 one-column table 没有 table 在 之前,pandoc 似乎无法识别它们] 标题。这可能是因为没有其他方法可以区分 one-column table 和 level-2 header。
为什么当前的 table 没有按预期工作
您的第一个 table 是一个不正确的管道 table。它有两条虚线,一条在开头,一条在结尾。
您添加的"Two tables after Kurt's comment"也不正确。它们有空行,但没有多行的其他属性 table(即开始和结束虚线)。
什么会起作用
与 table 类型保持一致:不要对竖线 table 使用任何虚线或任何空行。如果只有一列,请注意在 table 之前添加 table 标题。
pandoc test.md -o test.pdf
Size | File | EventSize | W.Events | fafa
----------|-------|------------|----------|------
L805067 | 009 | L805+4 | 1000 | -
L805067 | 001 | L805+4 | 1000 | -
Table: Title
Table: Asetukset elektromateriaaliselle virralle.
Asetukset
--------------------------------------------------
Virta I = 1-100 nA
Resistanssi R = 5 T$$\Omega$$
Table: Elektrokarakteristiset ominaisuudet.
Tilanteet
---------------------------------------------
tasainen virta
muuttuva virta
kuormitus