潘多克为我创造了一张宽33%的桌子,为什么?

时间:2016-06-22 10:51:04

标签: html-table width pandoc

降价:

| Symbol | Beschreibung |
|--------|--------------|
| ![Erfolgskriterium erfüllt](/assets/reports/audit/signal_ok.jpg) | Wenn ein Erfolgskriterium erfüllt ist, so wurden bei den Tests alle gefundenen Fälle richtig umgesetzt gefunden. Keine weiteren Massnahmen sind nötig. |
| ![Erfolgskriterium nicht erfüllt](/assets/reports/audit/signal_not_ok.jpg) | Wenn ein Erfolgskriterium nicht erfüllt ist, so wurden bei den Tests Fälle gefunden, die das Kriterium nicht in der verlangten Art und Weise erfüllen. Beispiele für Probleme werden aufgeführt. Nötige Massnahmen werden aufgeführt oder es wird zu weiterführenden Quellen verwiesen. |

结果:

<table style="width:33%;">
  <caption>Bewertungen und Symbole</caption>
  <colgroup>
    <col width="12%">
    <col width="20%">
  </colgroup>
<thead>
...

我希望默认情况下有一个自动宽度的表格。如何实现这一目标?

3 个答案:

答案 0 :(得分:1)

来自管道表上的Pandoc README

  

如果管道表包含可打印内容宽于列宽的行(请参阅--columns),则单元格内容将换行,相对单元格宽度由分隔线的宽度确定。 / p>

降价的想法是让它在源代码中看起来很漂亮,例如使用多行表也可以控制列宽:

---------------------------------------------------------------
Symbol                   Beschreibung
------                   ---------------
![Erfolgskriterium       Wenn ein Erfolgskriterium erfüllt
erfüllt][ok]             ist, so wurden bei den Tests alle
                         gefundenen Fälle richtig umgesetzt
                         efunden. Keine weiteren Massnahmen
                         sind nötig.

![Erfolgskriterium       Wenn ein Erfolgskriterium nicht
nicht erfüllt][not_ok]   erfüllt ist, so wurden bei den Tests
                         Fälle gefunden, die das Kriterium
                         nicht in der verlangten Art und Weise
                         erfüllen. Beispiele für Probleme
                         werden aufgeführt. Nötige Massnahmen
                         werden aufgeführt oder es wird zu
                         weiterführenden Quellen verwiesen.
---------------------------------------------------------------

[ok]:     /assets/reports/audit/signal_ok.jpg
[not_ok]: /assets/reports/audit/signal_not_ok.jpg

如果你真的,真的不想要列宽,你必须使用简单的表格,但他们不允许多行文字。或者写一个pandoc过滤器来删除宽度。

答案 1 :(得分:1)

  

我希望默认情况下有一个带有自动宽度的。如何实现这一目标?

在标题行和内容行之间增加分隔线的宽度

Pandoc Manual: pipe_tables section仅简要提及表分隔线如何影响相对列宽。

  

如果管道表包含可打印内容宽于列宽的行(请参阅--columns),则单元格内容将换行,相对单元格宽度由分隔线宽度<确定/强>

通过实验,可以发现分隔线的宽度也会影响整个表格宽度。

在我的情况下(pandoc 1.19.1),以下降价显示整个分隔线宽度从上面的问题示例中增加...

| Symbol | Beschreibung |
|----------------------|------------------------------------------------------------------|
| ![Erfolgskriterium erfüllt](/assets/reports/audit/signal_ok.jpg) | Wenn ein Erfolgskriterium erfüllt ist, so wurden bei den Tests alle gefundenen Fälle richtig umgesetzt gefunden. Keine weiteren Massnahmen sind nötig. |
| ![Erfolgskriterium nicht erfüllt](/assets/reports/audit/signal_not_ok.jpg) | Wenn ein Erfolgskriterium nicht erfüllt ist, so wurden bei den Tests Fälle gefunden, die das Kriterium nicht in der verlangten Art und Weise erfüllen. Beispiele für Probleme werden aufgeführt. Nötige Massnahmen werden aufgeführt oder es wird zu weiterführenden Quellen verwiesen. |

...生成以下html表...

<table>
  <colgroup>
    <col style="width: 25%" />
    <col style="width: 74%" />
  </colgroup>
<thead>
<tr class="header">
  <th>Symbol</th>
  <th>Beschreibung</th>
</tr>

......表格本身没有宽度约束。

在这种情况下,结果表跨越窗口。并且,随着窗口宽度的变化,列内容会很好地回流。

答案 2 :(得分:-1)

你可能讨厌我。但是为什么不使用 javascript 删除 <colgroup>

这不是真正干净的方法,但在您强迫自己更改表格样式之前,这可能会产生您不想要的其他副作用,使用这个简单的解决方案也可以。

而且它不会用繁重的表格语法 *ck 你的降价。