diff options
| author | PgBiel <9021226+PgBiel@users.noreply.github.com> | 2024-08-29 11:32:18 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-29 14:32:18 +0000 |
| commit | e6cdcc53f3ba4dc1a0375f09249f3a09ea177cd4 (patch) | |
| tree | 0c7a4a9d203c12995b563e215291f7de57c477da /tests | |
| parent | ef4482ce4b084aa97155dbde89f02dda3f7fb219 (diff) | |
Line numbers (#4516)
Diffstat (limited to 'tests')
21 files changed, 249 insertions, 0 deletions
diff --git a/tests/ref/line-numbers-auto-alignment.png b/tests/ref/line-numbers-auto-alignment.png Binary files differnew file mode 100644 index 00000000..80f8d45d --- /dev/null +++ b/tests/ref/line-numbers-auto-alignment.png diff --git a/tests/ref/line-numbers-clearance.png b/tests/ref/line-numbers-clearance.png Binary files differnew file mode 100644 index 00000000..142d3a2f --- /dev/null +++ b/tests/ref/line-numbers-clearance.png diff --git a/tests/ref/line-numbers-columns-alignment.png b/tests/ref/line-numbers-columns-alignment.png Binary files differnew file mode 100644 index 00000000..6367bf08 --- /dev/null +++ b/tests/ref/line-numbers-columns-alignment.png diff --git a/tests/ref/line-numbers-columns-override.png b/tests/ref/line-numbers-columns-override.png Binary files differnew file mode 100644 index 00000000..d89b6007 --- /dev/null +++ b/tests/ref/line-numbers-columns-override.png diff --git a/tests/ref/line-numbers-columns-rtl.png b/tests/ref/line-numbers-columns-rtl.png Binary files differnew file mode 100644 index 00000000..e2108016 --- /dev/null +++ b/tests/ref/line-numbers-columns-rtl.png diff --git a/tests/ref/line-numbers-columns.png b/tests/ref/line-numbers-columns.png Binary files differnew file mode 100644 index 00000000..e6e3cd51 --- /dev/null +++ b/tests/ref/line-numbers-columns.png diff --git a/tests/ref/line-numbers-deduplication-tall-line.png b/tests/ref/line-numbers-deduplication-tall-line.png Binary files differnew file mode 100644 index 00000000..d34a13d6 --- /dev/null +++ b/tests/ref/line-numbers-deduplication-tall-line.png diff --git a/tests/ref/line-numbers-deduplication-zero-height-number.png b/tests/ref/line-numbers-deduplication-zero-height-number.png Binary files differnew file mode 100644 index 00000000..b203a455 --- /dev/null +++ b/tests/ref/line-numbers-deduplication-zero-height-number.png diff --git a/tests/ref/line-numbers-deduplication.png b/tests/ref/line-numbers-deduplication.png Binary files differnew file mode 100644 index 00000000..82493421 --- /dev/null +++ b/tests/ref/line-numbers-deduplication.png diff --git a/tests/ref/line-numbers-default-alignment.png b/tests/ref/line-numbers-default-alignment.png Binary files differnew file mode 100644 index 00000000..5a39674d --- /dev/null +++ b/tests/ref/line-numbers-default-alignment.png diff --git a/tests/ref/line-numbers-enable.png b/tests/ref/line-numbers-enable.png Binary files differnew file mode 100644 index 00000000..927096a5 --- /dev/null +++ b/tests/ref/line-numbers-enable.png diff --git a/tests/ref/line-numbers-margin.png b/tests/ref/line-numbers-margin.png Binary files differnew file mode 100644 index 00000000..94e03b26 --- /dev/null +++ b/tests/ref/line-numbers-margin.png diff --git a/tests/ref/line-numbers-multi-columns.png b/tests/ref/line-numbers-multi-columns.png Binary files differnew file mode 100644 index 00000000..45cb5378 --- /dev/null +++ b/tests/ref/line-numbers-multi-columns.png diff --git a/tests/ref/line-numbers-nested-content.png b/tests/ref/line-numbers-nested-content.png Binary files differnew file mode 100644 index 00000000..570aa6b0 --- /dev/null +++ b/tests/ref/line-numbers-nested-content.png diff --git a/tests/ref/line-numbers-page-scope-quasi-empty-first-column.png b/tests/ref/line-numbers-page-scope-quasi-empty-first-column.png Binary files differnew file mode 100644 index 00000000..4606311d --- /dev/null +++ b/tests/ref/line-numbers-page-scope-quasi-empty-first-column.png diff --git a/tests/ref/line-numbers-page-scope-with-columns.png b/tests/ref/line-numbers-page-scope-with-columns.png Binary files differnew file mode 100644 index 00000000..99864a60 --- /dev/null +++ b/tests/ref/line-numbers-page-scope-with-columns.png diff --git a/tests/ref/line-numbers-page-scope.png b/tests/ref/line-numbers-page-scope.png Binary files differnew file mode 100644 index 00000000..330cfe10 --- /dev/null +++ b/tests/ref/line-numbers-page-scope.png diff --git a/tests/ref/line-numbers-place-out-of-order.png b/tests/ref/line-numbers-place-out-of-order.png Binary files differnew file mode 100644 index 00000000..b1a4050a --- /dev/null +++ b/tests/ref/line-numbers-place-out-of-order.png diff --git a/tests/ref/line-numbers-rtl.png b/tests/ref/line-numbers-rtl.png Binary files differnew file mode 100644 index 00000000..58ed9d09 --- /dev/null +++ b/tests/ref/line-numbers-rtl.png diff --git a/tests/ref/line-numbers-start-alignment.png b/tests/ref/line-numbers-start-alignment.png Binary files differnew file mode 100644 index 00000000..edc3dd15 --- /dev/null +++ b/tests/ref/line-numbers-start-alignment.png diff --git a/tests/suite/layout/line-numbers.typ b/tests/suite/layout/line-numbers.typ new file mode 100644 index 00000000..5ee53e25 --- /dev/null +++ b/tests/suite/layout/line-numbers.typ @@ -0,0 +1,249 @@ +--- line-numbers-enable --- +#set page(margin: (left: 1.5cm)) +#set par.line(numbering: "1") + +First line \ +Second line \ +Third line + +--- line-numbers-clearance --- +#set page(margin: (left: 1.5cm)) +#set par.line(numbering: "1", number-clearance: 0cm) + +First line \ +Second line \ +Third line + +--- line-numbers-margin --- +#set page(margin: (right: 3cm)) +#set par.line(numbering: "1", number-clearance: 1.5cm, number-margin: end) + +First line \ +Second line \ +Third line + +--- line-numbers-default-alignment --- +#set page(margin: (left: 2cm)) +#set par.line(numbering: "1") +a +#([\ a] * 15) + +--- line-numbers-start-alignment --- +#set page(margin: (left: 2cm)) +#set par.line(numbering: "i", number-align: start) +a \ +a +#pagebreak() +a \ +a \ +a + +--- line-numbers-auto-alignment --- +#set page(margin: (right: 3cm)) +#set par.line(numbering: "i", number-clearance: 1.5cm, number-margin: end) + +First line \ +Second line \ +Third line + +--- line-numbers-rtl --- +#set page(margin: (right: 2cm)) +#set text(dir: rtl) +#set par.line(numbering: "1") +a +#([\ a] * 15) + +--- line-numbers-columns --- +#set page(columns: 2, margin: (x: 1.5em)) +#set par.line(numbering: "1", number-clearance: 0.5em) + +Hello \ +Beautiful \ +World +#colbreak() +Birds \ +In the \ +Sky + +--- line-numbers-columns-alignment --- +#set page(columns: 2, margin: (x: 1.5em)) +#set par.line(numbering: "i", number-clearance: 0.5em) + +Hello \ +Beautiful \ +World +#colbreak() +Birds \ +In the \ +Sky + +--- line-numbers-multi-columns --- +#set page(columns: 3, margin: (x: 1.5em)) +#set par.line(numbering: "1", number-clearance: 0.5em) + +A \ +B \ +C +#colbreak() +D \ +E \ +F +#colbreak() +G \ +H \ +I + +--- line-numbers-columns-rtl --- +#set page(columns: 2, margin: (x: 1.5em)) +#set par.line(numbering: "1", number-clearance: 0.5em) +#set text(dir: rtl) + +Hello \ +Beautiful \ +World +#colbreak() +Birds \ +In the \ +Sky + +--- line-numbers-columns-override --- +#set columns(gutter: 1.5em) +#set page(columns: 2, margin: (x: 1.5em)) +#set par.line(numbering: "1", number-margin: end, number-clearance: 0.5em) + +Hello \ +Beautiful \ +World +#colbreak() +Birds \ +In the \ +Sky + +--- line-numbers-page-scope --- +#set page(margin: (left: 2cm)) +#set par.line(numbering: "1", numbering-scope: "page") + +First line \ +Second line +#pagebreak() +Back to first line \ +Second line again +#page[ + Once again, first \ + And second +] +Back to first + +--- line-numbers-page-scope-with-columns --- +#set page(margin: (x: 1.1cm), columns: 2) +#set par.line( + numbering: "1", + number-clearance: 0.5cm, + numbering-scope: "page" +) + +A \ +A \ +A +#colbreak() +B \ +B \ +B +#pagebreak() +One \ +Two \ +Three +#colbreak() +Four \ +Five \ +Six +#page[ + Page \ + Elem + #colbreak() + Number \ + Reset +] +We're back +#colbreak() +Bye! + +--- line-numbers-page-scope-quasi-empty-first-column --- +// Ensure this case (handled separately internally) is properly handled. +#set page(margin: (x: 1.1cm), height: 2cm, columns: 2) +#set par.line( + numbering: "1", + number-clearance: 0.5cm, + numbering-scope: "page" +) + +First line +#colbreak() +Second line +#pagebreak() +#place[] +#box(height: 2cm)[First!] + +--- line-numbers-nested-content --- +#set page(margin: (left: 1.5cm)) +#set par.line(numbering: "1", number-clearance: 0.5cm) + +#grid( + columns: (1fr, 1fr), + column-gutter: 0.5cm, + inset: 5pt, + block[A\ #box(lorem(5))], [Roses\ are\ red], + [AAA], [], + [], block[BBB\ CCC], +) + +--- line-numbers-place-out-of-order --- +#set page(margin: (left: 1.5cm)) +#set par.line(numbering: "1", number-clearance: 0.5cm) + +#place(bottom)[Line 4] + +Line 1\ +Line 2\ +Line 3 +#v(1cm) + +--- line-numbers-deduplication --- +#set page(margin: (left: 1.5cm)) +#set par.line(numbering: "1", number-clearance: 0.5cm) + +#grid( + columns: (1fr, 1fr), + column-gutter: 0.5cm, + row-gutter: 5pt, + lorem(5), [A\ B\ C], + [DDD], [DDD], + [This is], move(dy: 2pt)[tough] +) + +--- line-numbers-deduplication-tall-line --- +#set page(margin: (left: 1.5cm)) +#set par.line(numbering: "1", number-clearance: 0.5cm) + +#grid( + columns: (1fr, 1fr), + column-gutter: 0.5cm, + stroke: 0.5pt, + + grid.cell(rowspan: 2)[very #box(fill: red, height: 4cm)[tall]], + grid.cell(inset: (y: 0.5pt))[Line 1\ Line 2\ Line 3], + grid.cell(inset: (y: 0.5pt))[Line 4\ Line 5\ Line 6\ Line 7\ Line 8\ Line 9\ End] +) + +--- line-numbers-deduplication-zero-height-number --- +#set page(margin: (left: 1.5cm)) +#set par.line(numbering: n => move(dy: -0.6em, box(height: 0pt)[#n]), number-clearance: 0.5cm) + +#grid( + columns: (1fr, 1fr), + column-gutter: 0.5cm, + row-gutter: 5pt, + lorem(5), [A\ B\ C], + [DDD], [DDD], + [This is], move(dy: 3pt)[tough] +) |
