From 323c05e6dc85ddeaf9a90c101a6fdf00fc766a23 Mon Sep 17 00:00:00 2001 From: obi134 <6304830+obi134@users.noreply.github.com> Date: Wed, 30 Oct 2024 15:20:54 +0100 Subject: [PATCH] Add option to disallow pagebreaks after row Add option to disallow pagebreaks after row by adding allow_pagebreak with default value = True. When disallowed, "*" is added at the end of row after "//" --- pylatex/table.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pylatex/table.py b/pylatex/table.py index fd1f2ded..745f15fe 100644 --- a/pylatex/table.py +++ b/pylatex/table.py @@ -215,7 +215,7 @@ def add_empty_row(self): self.append(NoEscape((self.width - 1) * "&" + r"\\")) - def add_row(self, *cells, color=None, escape=None, mapper=None, strict=True): + def add_row(self, *cells, color=None, escape=None, mapper=None, strict=True, allow_pagebreak=True): """Add a row of cells to the table. Args @@ -277,9 +277,10 @@ def flatten(x): color_command = Command(command="rowcolor", arguments=color) self.append(color_command) - self.append( - dumps_list(cells, escape=escape, token="&", mapper=mapper) + NoEscape(r"\\") - ) + row = dumps_list(cells, escape=escape, token="&", mapper=mapper) + NoEscape(r"\\") + if not allow_pagebreak: + row += NoEscape(r"*") + self.append(row) class Tabularx(Tabular):