def fromTable(self, s: Table): c = Center() # c.append(NoEscape(r"\newlength\q")) c.append( NoEscape( rf"\setlength\tablewidth{{\dimexpr (\textwidth -{2*s.col_num}\tabcolsep)}}" )) c.append(NoEscape(r"\arrayrulecolor{tablelinegray!75}")) c.append(NoEscape(r"\rowcolors{2}{tablerowgray}{white}")) ratios = s.cacu_col_ratio() # format = "|".join([rf"p{{{r}\textwidth}}<{{\centering}}" for r in ratios]) format = "|".join( [rf"p{{{r}\tablewidth}}<{{\centering}}" for r in ratios]) format = f"|{format}|" t = Tabular(format) t.add_hline() for i, row in enumerate(s.tables): if i == 0: t.append(NoEscape(r"\rowcolor{tabletopgray}")) row = [self.fromTokenLine(c) for c in row] if i == 0: row = [bold(c) for c in row] t.add_row(row) t.add_hline() c.append(t) return c
def de_table(s: env.Table): col, row = s.shape c = Center() # c.append(NoEscape(r"\newlength\q")) c.append( NoEscape( r"\setlength\tablewidth{{\dimexpr (\textwidth -{}\tabcolsep)}}". format(2 * col))) c.append(NoEscape(r"\arrayrulecolor{tablelinegray!75}")) c.append(NoEscape(r"\rowcolors{2}{tablerowgray}{white}")) ratios = s.cacu_col_ratio() format = "|".join( [r"p{{{r}\tablewidth}}<{{\centering}}".format(r=r) for r in ratios]) format = "|{format}|".format(format=format) t = Tabular(format) t.add_hline() for i, row in enumerate(s.iter_rows()): if i == 0: t.append(NoEscape(r"\rowcolor{tabletopgray}")) row = [de_line(c) for c in row] if i == 0: row = [bold(c) for c in row] t.add_row(row) t.add_hline() c.append(t) return c