Tabus example¶
This example shows the functionality of the MiniPage element.
It creates a sample page filled with labels using the MiniPage element.
The code¶
from random import randint
from pylatex import Document, LongTabu, Tabu, Center
from pylatex.utils import bold
def genenerate_tabus():
geometry_options = {
"landscape": True,
"margin": "1.5in",
"headheight": "20pt",
"headsep": "10pt",
"includeheadfoot": True
}
doc = Document(page_numbers=True, geometry_options=geometry_options)
# Generate data table with 'tight' columns
fmt = "X[r] X[r] X[r] X[r] X[r] X[r]"
with doc.create(LongTabu(fmt, spread="0pt")) as data_table:
header_row1 = ["Prov", "Num", "CurBal", "IntPay", "Total", "IntR"]
data_table.add_row(header_row1, mapper=[bold])
data_table.add_hline()
data_table.add_empty_row()
data_table.end_table_header()
data_table.add_row(["Prov", "Num", "CurBal", "IntPay", "Total",
"IntR"])
row = ["PA", "9", "$100", "%10", "$1000", "Test"]
for i in range(40):
data_table.add_row(row)
with doc.create(Center()) as centered:
with centered.create(Tabu("X[r] X[r]", spread="1in")) as data_table:
header_row1 = ["X", "Y"]
data_table.add_row(header_row1, mapper=[bold])
data_table.add_hline()
row = [randint(0, 1000), randint(0, 1000)]
for i in range(4):
data_table.add_row(row)
with doc.create(Center()) as centered:
with centered.create(Tabu("X[r] X[r]", to="4in")) as data_table:
header_row1 = ["X", "Y"]
data_table.add_row(header_row1, mapper=[bold])
data_table.add_hline()
row = [randint(0, 1000), randint(0, 1000)]
for i in range(4):
data_table.add_row(row)
doc.generate_pdf("tabus", clean_tex=False)
genenerate_tabus()
The generated files¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | \documentclass{article}%
\usepackage[T1]{fontenc}%
\usepackage[utf8]{inputenc}%
\usepackage{lmodern}%
\usepackage{textcomp}%
\usepackage{lastpage}%
\usepackage[landscape=True,margin=1.5in,headheight=20pt,headsep=10pt,includeheadfoot=True]{geometry}%
\usepackage{longtable}%
\usepackage{tabu}%
\usepackage{ragged2e}%
%
%
%
\begin{document}%
\normalsize%
\begin{longtabu}spread 0pt{X[r] X[r] X[r] X[r] X[r] X[r]}%
\textbf{Prov}&\textbf{Num}&\textbf{CurBal}&\textbf{IntPay}&\textbf{Total}&\textbf{IntR}\\%
\hline%
&&&&&\\%
\endhead%
Prov&Num&CurBal&IntPay&Total&IntR\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
PA&9&\$100&\%10&\$1000&Test\\%
\end{longtabu}%
\begin{center}%
\begin{tabu}spread 1in{X[r] X[r]}%
\textbf{X}&\textbf{Y}\\%
\hline%
319&129\\%
319&129\\%
319&129\\%
319&129\\%
\end{tabu}%
\end{center}%
\begin{center}%
\begin{tabu}to 4in{X[r] X[r]}%
\textbf{X}&\textbf{Y}\\%
\hline%
62&957\\%
62&957\\%
62&957\\%
62&957\\%
\end{tabu}%
\end{center}%
\end{document}
|
tabus.pdf