typst/tests/suite/layout/grid/subheaders.typ
2025-04-08 18:45:36 -03:00

148 lines
2.1 KiB
Typst

--- grid-subheaders-basic ---
#grid(
grid.header(
[a]
),
grid.header(
level: 2,
[b]
),
[c]
)
--- grid-subheaders-basic-non-consecutive ---
#grid(
grid.header(
[a]
),
[x],
grid.header(
level: 2,
[b]
),
[y],
)
--- grid-subheaders-basic-replace ---
#grid(
grid.header(
[a]
),
[x],
grid.header(
level: 2,
[b]
),
[y],
grid.header(
level: 2,
[c]
),
[z],
)
--- grid-subheaders-repeat ---
#set page(height: 8em)
#grid(
grid.header(
[a]
),
grid.header(
level: 2,
[b]
),
..([c],) * 10,
)
--- grid-subheaders-repeat-non-consecutive ---
#set page(height: 8em)
#grid(
grid.header(
[a]
),
[x],
grid.header(
level: 2,
[b]
),
..([y],) * 10,
)
--- grid-subheaders-repeat-replace ---
#set page(height: 8em)
#grid(
grid.header(
[a]
),
[x],
grid.header(
level: 2,
[b]
),
..([y],) * 10,
grid.header(
level: 2,
[c]
),
..([z],) * 10,
)
--- grid-subheaders-repeat-replace-multiple-levels ---
#set page(height: 8em)
#grid(
grid.header(
[a]
),
[x],
grid.header(
level: 2,
[b]
),
grid.header(
level: 3,
[c]
),
..([y],) * 10,
grid.header(
level: 2,
[d]
),
..([z],) * 6,
)
--- grid-subheaders ---
#set page(width: auto, height: 12em)
#let rows(n) = {
range(n).map(i => ([John \##i], table.cell(stroke: green)[123], table.cell(stroke: blue)[456], [789], [?], table.hline(start: 4, end: 5, stroke: red))).flatten()
}
#table(
columns: 5,
align: center + horizon,
table.header(
table.cell(colspan: 5)[*Cool Zone*],
),
table.header(
level: 2,
table.cell(stroke: red)[*Name*], table.cell(stroke: aqua)[*Number*], [*Data 1*], [*Data 2*], [*Etc*],
table.hline(start: 2, end: 3, stroke: yellow)
),
..rows(6),
table.header(
level: 2,
table.cell(stroke: red)[*New Name*], table.cell(stroke: aqua, colspan: 4)[*Other Data*],
table.hline(start: 2, end: 3, stroke: yellow)
),
..rows(5)
)
--- grid-subheaders-alone ---
#table(
table.header(
[a]
),
table.header(
level: 2,
[b]
),
)