Адаптировать ширину столбца pandoc.table

Документ ниже дает следующий вывод HTML (требуется только HTML)

ширина столбца с pandoc

Первые столбцы могут быть расширены, а уменьшить ширина ячейки и размер шрифта таблицы с использованием pandoc.table () здесь не помогают.

Как заставить первые 2 столбца тратить меньше места?

---
output: html_document
---

```{r,echo=FALSE, results="asis"}
library(pander)
mytab = data.frame(col1=1:2, col2=2001:2002, col3="This is a lengthy test that should wrap, and wrap again, and again and again and again")
pandoc.table(mytab)
```

person Dieter Menne    schedule 17.11.2014    source источник


Ответы (1)


pandoc.table поддерживает указание ширины столбцов с помощью аргумента split.cells, который может возьмите простое число или вектор (относительных) чисел / процентов, Быстрая демонстрация:

> pandoc.table(mytab, split.cells = c(1,1,58))

----------------------------------------------------------------------
 col1   col2                            col3                          
------ ------ --------------------------------------------------------
  1     2001  This is a lengthy test that should wrap, and wrap again,
                           and again and again and again              

  2     2002  This is a lengthy test that should wrap, and wrap again,
                           and again and again and again              
----------------------------------------------------------------------

В результате получается следующий HTML-код после преобразования указанной выше уценки в HTML с помощью pandoc:

<table>
<col width="9%" />
<col width="9%" />
<col width="77%" />
<thead>
<tr class="header">
<th align="center">col1</th>
<th align="center">col2</th>
<th align="center">col3</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td align="center">1</td>
<td align="center">2001</td>
<td align="center">This is a lengthy test that should wrap, and wrap again, and again and again and again</td>
</tr>
<tr class="even">
<td align="center">2</td>
<td align="center">2002</td>
<td align="center">This is a lengthy test that should wrap, and wrap again, and again and again and again</td>
</tr>
</tbody>
</table>
person daroczig    schedule 17.11.2014
comment
Спасибо. Мне следовало бы прочитать внимательнее: split.cells Может быть также передан как вектор - person Dieter Menne; 17.11.2014
comment
Это решение приводит к тому, что третий столбец захватывает пространство из первого и второго, но на самом деле напрямую не касается ширины ячейки. Предположим, у вас было больше столбцов, и в результате этот сводник разбивал таблицу. Это решение не позволит вам сжимать столбцы с дополнительным пространством, сохраняя при этом длинный текстовый столбец обернутым, чтобы все столбцы располагались в одной строке. - person randy; 08.07.2019