예제 #1
0
def long_table(num=2, title=("符号", "说明")):
    data_table = LongTable("l " * num)
    data_table.add_hline()
    data_table.add_hline()
    data_table.add_row(title)
    data_table.add_hline()
    data_table.end_table_header()
    data_table.add_hline()
    data_table.end_table_footer()
    data_table.add_hline()
    data_table.add_hline()
    data_table.end_table_last_footer()
    return data_table
예제 #2
0
def make_table_of_symbols(symbols: List[str], units: List[str],
                          descriptions: List[str]):
    table_symbols_content = LongTable("l l l")
    table_symbols_content.add_hline()
    table_symbols_content.add_row(["Symbol", "Unit", "Description"])
    table_symbols_content.add_hline()
    table_symbols_content.end_table_header()
    table_symbols_content.add_hline()
    table_symbols_content.add_row(
        (MultiColumn(3, align='r', data='Continued on Next Page'), ))
    table_symbols_content.add_hline()
    table_symbols_content.end_table_footer()
    table_symbols_content.add_hline()
    table_symbols_content.add_row((MultiColumn(3, align='r', data='***End'), ))
    table_symbols_content.add_hline()
    table_symbols_content.end_table_last_footer()

    for i in range(len(symbols)):
        try:
            symbol = py2tex(symbols[i], print_latex=False,
                            print_formula=False).replace('$', '')
        except:
            symbol = symbols[i]
        try:
            unit = py2tex(units[i],
                          print_latex=False,
                          print_formula=False,
                          simplify_fractions=True).replace('$', '')
        except:
            unit = units[i]
        table_symbols_content.add_row([
            NoEscape(f'${symbol}$'),
            NoEscape(f'${unit}$'),
            NoEscape(descriptions[i])
        ])

    table_symbols_content.add_hline()

    return table_symbols_content
예제 #3
0
    def make_table(headers: List, *args):
        table = LongTable('|l| l| l| p{10cm}|')
        table.add_hline()
        table.add_row([
            NoEscape(f'\\textbf{{\\textcolor{{black}}{{{i}}}}}')
            for i in headers
        ])
        table.add_hline()
        table.end_table_header()
        table.add_hline()
        table.add_row((MultiColumn(4, align='r',
                                   data='Continued on next page'), ))
        # table.add_hline()
        table.end_table_footer()
        # table.add_hline()
        # table.add_row((MultiColumn(n_cols, align='r', data=''),))
        # table.add_hline()
        table.end_table_last_footer()

        for i in range(len(args[0])):
            table.add_row([NoEscape(j[i]) for j in args])
            table.add_hline()

        return table