Allow first column heading to overflow

This commit is contained in:
RunasSudo 2019-09-11 12:16:16 +10:00
parent 659b2a0534
commit 6a5c812fb0
Signed by: RunasSudo
GPG Key ID: 7234E476BF21C61A
4 changed files with 14 additions and 4 deletions

View File

@ -28,7 +28,7 @@ This is the *blah blah*.
### 3 Table example ### 3 Table example
| 1 First column | 2 Second column | | 1 This is a long column header that will overflow onto multiple lines | 2[4] Second column |
|----------------|-----------------| |----------------|-----------------|
| 1 First row | Foo bar | | 1 First row | Foo bar |
| 2 Second row | Baz qux | | 2 Second row | Baz qux |

Binary file not shown.

View File

@ -1 +1 @@
{\rtf1\deff0{\fonttbl{\f0 TeX Gyre Heros{\*\falt FreeSans}{\*\falt Liberation Sans}{\*\falt Arial};}}\paperw11905\paperh16837\margl1133\margr1133\margt1133\margb1133{\header\f0\fs16\tqr\tx9637 Example Legal Document\tab }{\footer\f0\fs16\tqr\tx9637 \tab\chpgn}\sa198\fs1\~\fs24 {\fs20\li566{\b Note:} This is a note.\par}{\sb566\keepn\b\fs26\qc\caps Part 1\u8212?Preliminary\par}{\keepn\b\fi-566\li566 1\tab Short title\par}{\li566 This is the {\i blah blah}.\par}{\keepn\b\fi-566\li566 2\tab Another heading\par}{\fi-566\li1133 (1)\tab ABC\par}{\li1133 Continued\par}{\fi-566\li1700 (a)\tab asdf\par}{\fi-566\li1700 (b)\tab abcdefg\par}{\li1700 hijkl\par}{\li1133 Continued\par}{\fi-566\li1133 (2)\tab DEF\par}{\keepn\b\fi-566\li566 3\tab Table example\par}{\sa0\trowd\trgaph120\trleft566\clbrdrt\brdrs\clbrdrb\brdrs\cellx5101\clbrdrt\brdrs\clbrdrb\brdrs\cellx9636 {\b Column 1\intbl\cell}{\b Column 2\intbl\cell}\row{\b First column\intbl\cell}{\b Second column\intbl\cell}\row {1. First row\intbl\cell}{Foo bar\intbl\cell}\row {2. Second row\intbl\cell}{Baz qux\intbl\cell}\row }} {\rtf1\deff0{\fonttbl{\f0 TeX Gyre Heros{\*\falt FreeSans}{\*\falt Liberation Sans}{\*\falt Arial};}}\paperw11905\paperh16837\margl1133\margr1133\margt1133\margb1133{\header\f0\fs16\tqr\tx9637 Example Legal Document\tab }{\footer\f0\fs16\tqr\tx9637 \tab\chpgn}\sa198\fs1\~\fs24 {\fs20\li566{\b Note:} This is a note.\par}{\sb566\keepn\b\fs26\qc\caps Part 1\u8212?Preliminary\par}{\keepn\b\fi-566\li566 1\tab Short title\par}{\li566 This is the {\i blah blah}.\par}{\keepn\b\fi-566\li566 2\tab Another heading\par}{\fi-566\li1133 (1)\tab ABC\par}{\li1133 Continued\par}{\fi-566\li1700 (a)\tab asdf\par}{\fi-566\li1700 (b)\tab abcdefg\par}{\li1700 hijkl\par}{\li1133 Continued\par}{\fi-566\li1133 (2)\tab DEF\par}{\keepn\b\fi-566\li566 3\tab Table example\par}{\sa0\trowd\trgaph120\trleft566\clbrdrt\brdrs\clbrdrb\brdrs\cellx2380\clbrdrt\brdrs\clbrdrb\brdrs\cellx9636 {\b Column 1\intbl\cell}{\b Column 2\intbl\cell}\row{\b This is a long column header that will overflow onto multiple lines\intbl\cell}{\b Second column\intbl\cell}\row {1. First row\intbl\cell}{Foo bar\intbl\cell}\row {2. Second row\intbl\cell}{Baz qux\intbl\cell}\row }}

View File

@ -173,8 +173,18 @@ class LaTeXRenderer(mistletoe.latex_renderer.LaTeXRenderer):
for cell in token.children: for cell in token.children:
if cell.colnum == 0: if cell.colnum == 0:
cells1.append('\\multicolumn{2}{l}{\\bfseries Column ' + cell.label + '}') coldef = format(r'p{\dimexpr\linewidth-<colx>\tabucolX-<colnd>\tabcolsep\relax}',
cells2.append('\\multicolumn{2}{l}{\\bfseries ' + self.render_inner(cell) + '}') colx=sum(col.weight for col in token.children[1:]),
colnd=2 * (len(token.children) - 1)
)
cells1.append(format('\\multicolumn{2}{<coldef>}{\\bfseries Column <label>}',
coldef=coldef,
label=cell.label
))
cells2.append(format('\\multicolumn{2}{<coldef>}{\\bfseries <content>}',
coldef=coldef,
content=self.render_inner(cell)
))
else: else:
cells1.append('{\\bfseries Column ' + cell.label + '}') cells1.append('{\\bfseries Column ' + cell.label + '}')
cells2.append('{\\bfseries ' + self.render_inner(cell) + '}') cells2.append('{\\bfseries ' + self.render_inner(cell) + '}')