2015-10-27 1 views
1

У меня есть некоторые HTML-таблицы, которые при визуализации с браузером выглядят нормально обернутыми. Но когда я пытаюсь преобразовать в pdf, используя pdftex, таблицы обрезаются по полям и не обертываются. Как сделать pandoc для переноса таблиц HTML?Pandoc конвертирование HTML-таблиц в PDF-результаты в незавернутых таблицах

Не то же самое, что проблема с уценкой. Таблицы - это чистый html.

ответ

3

Проблема заключается в том, что LaTeX требует явной спецификации ширины столбцов, если вы хотите, чтобы ячейки обертывались, поэтому вам нужно вручную указать их как-то (в методе уценки вы должны были бы do this using multiline or grid tables).

HTML-код Pandoc поддерживает относительные атрибуты width на col элементах.

pandoc -f html -t latex << EOF 
> <table> 
> <colgroup> 
>  <col width="10%"> 
>  <col width="90%"> 
> </colgroup> 
> <tr> 
>  <td>3476896</td> 
>  <td>My first HTML</td> 
> </tr> 
> </table> 
> 
> EOF 

\begin{longtable}[c]{@{}[email protected]{}} 
\toprule 
\begin{minipage}[t]{0.09\columnwidth}\raggedright\strut 
3476896 
\strut\end{minipage} & 
\begin{minipage}[t]{0.85\columnwidth}\raggedright\strut 
My first HTML 
\strut\end{minipage}\tabularnewline 
\bottomrule 
\end{longtable} 

Обратите внимание на \columnwidth в выходе LaTeX.

Если у вас нет контроля над HTML, вы можете написать Pandoc filter, который изменяет AST и устанавливает произвольные ширины столбцов, которые составляют до 100%. Может быть, вы также должны возродить this old thread on pandoc-discuss где JGM ака fiddlosopher писал:

Основная причина заключается в том, что с более сложными таблицами, нам нужна информация о относительной ширины столбцов, , в котором отсутствует HTML документ. Но я думаю, что я уверен, что мы просто должны угадать.

Или подайте файл feature request, чтобы запросить это.

+0

Я думаю, что все! Но как вы примените это, если у вас нет контроля над HTML? То есть, HTML очищается? – CMCDragonkai