From 1f8d3bf733c0b5774d7186314554c5713dce0a4a Mon Sep 17 00:00:00 2001 From: David Hajage Date: Wed, 29 Oct 2025 19:29:16 +0200 Subject: [PATCH 1/6] Add progressive-layout v1.0.0 --- .../progressive-layout/1.0.0/README.md | 68 +++++++++ .../preview/progressive-layout/1.0.0/demo.pdf | Bin 0 -> 58697 bytes .../preview/progressive-layout/1.0.0/demo.typ | 42 ++++++ .../progressive-layout/1.0.0/example.pdf | Bin 0 -> 16078 bytes .../progressive-layout/1.0.0/example.typ | 95 ++++++++++++ .../preview/progressive-layout/1.0.0/lib.typ | 138 ++++++++++++++++++ .../progressive-layout/1.0.0/typst.toml | 12 ++ 7 files changed, 355 insertions(+) create mode 100644 packages/preview/progressive-layout/1.0.0/README.md create mode 100644 packages/preview/progressive-layout/1.0.0/demo.pdf create mode 100644 packages/preview/progressive-layout/1.0.0/demo.typ create mode 100644 packages/preview/progressive-layout/1.0.0/example.pdf create mode 100644 packages/preview/progressive-layout/1.0.0/example.typ create mode 100644 packages/preview/progressive-layout/1.0.0/lib.typ create mode 100644 packages/preview/progressive-layout/1.0.0/typst.toml diff --git a/packages/preview/progressive-layout/1.0.0/README.md b/packages/preview/progressive-layout/1.0.0/README.md new file mode 100644 index 0000000000..f98db9a40b --- /dev/null +++ b/packages/preview/progressive-layout/1.0.0/README.md @@ -0,0 +1,68 @@ +# progressive-outline + +This package provides a Typst function, `progressive-outline`, to generate a dynamic table of contents, similar to what is found in some LaTeX's Beamer presentations. + +## Context and Ultimate Goal + +This function was developed to meet a need within the Typst community for displaying partial or progressive outlines, especially in presentations. It is inspired by the following discussions: + +- [GitHub Issue (touying)](https://github.com/touying-typ/touying/issues/137) +- [Typst Forum](https://forum.typst.app/t/how-to-display-partial-outlines-with-touying/5526) + +The ultimate goal would be to integrate this functionality directly into a presentation package like **[`polylux`](https://typst.app/universe/package/polylux/)**, **[`touying`](https://typst.app/universe/package/touying/)**, or **[`presentate`](https://typst.app/universe/package/presentate/)**. This would allow for the creation of "Beamer-like" presentations where the outline unfolds flexibly as you progress through the slides. Feel free to draw inspiration from this code to contribute to these projects! + +## Function Usage + +To use the function, import the package and call `progressive-outline` where you want the outline to appear. + +```typst +#import "@preview/progressive-layout:1.0.0": progressive-outline + +#progressive-outline( + h1-style: "all", + h2-style: "current-and-grayed", + h3-style: "current", + show-numbering: true, +) +``` + +## Example: The `progressive-layout` Template + +This package also contains a simple template, `progressive-layout`, which shows an example of how to use the function. Here is a minimal code example to test it: + +```typst +// Import the template +#import "@preview/progressive-layout:1.0.0": progressive-layout, progressive-outline + +// Apply the template to your document +#show: doc => progressive-layout(doc) + +// Your headings... += Chapter 1 +== Section 1.1 += Chapter 2 +``` + +## Examples + +This package includes two files to demonstrate its usage: + +- [`example.typ`](./example.typ): This file shows how the `progressive-outline` function works with different options. +- [`demo.typ`](./demo.typ): This file provides an example of how to use the `progressive-layout` template. + +## `progressive-outline` Parameters + +| Parameter | Description | Options | Default | +| :--- | :--- | :--- | :--- | +| `h1-style` | Controls the display of level 1 headings. | `"all"`, `"current"`, `"current-and-grayed"`, `"none"` | `"all"` | +| `h2-style` | Controls the display of level 2 headings. | `"all"`, `"current"`, `"current-and-grayed"`, `"none"` | `"all"` | +| `h3-style` | Controls the display of level 3 headings. | `"all"`, `"current"`, `"current-and-grayed"`, `"none"` | `"all"` | +| `scope-h2` | Restricts the display of level 2 headings. | `"all"`, `"current-h1"` | `"current-h1"` | +| `scope-h3` | Restricts the display of level 3 headings. | `"all"`, `"current-h2"` | `"current-h2"` | +| `show-numbering` | Shows or hides the numbering of headings. | `true`, `false` | `true` | + +--- + +## Note on Code Generation + +This package was initially generated with the help of a Large Language Model (LLM). It is a demonstration of what I would like to see one day included in a typst package dedicated to creating presentations, but I am unable to integrate such a feature into the packages I mentioned above in the readme. While functional, it may contain errors, inefficiencies, or programming practices that could be improved. Please use it with discretion and feel free to suggest improvements! diff --git a/packages/preview/progressive-layout/1.0.0/demo.pdf b/packages/preview/progressive-layout/1.0.0/demo.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9f1621adf1cf4e1c8da969df8f4763d4f3f2fe1a GIT binary patch literal 58697 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 literal 0 HcmV?d00001 diff --git a/packages/preview/progressive-layout/1.0.0/demo.typ b/packages/preview/progressive-layout/1.0.0/demo.typ new file mode 100644 index 0000000000..ef00ce66f4 --- /dev/null +++ b/packages/preview/progressive-layout/1.0.0/demo.typ @@ -0,0 +1,42 @@ +// Import the layout function from the local template +#import "@preview/progressive-layout:1.0.0": progressive-layout, progressive-outline +// #import "lib.typ": progressive-layout, progressive-outline + +// Apply the layout to the entire document +#show: doc => progressive-layout(doc, show-numbering: true) + += First Section : General Introduction + +== Project Context + +#lorem(20) + +== Objectives + +#lorem(20) + += Second Section : Detailed Analysis + +== Analysis of User's Need + +#lorem(20) + +== Proposed Solutions + +=== Solution A + +#lorem(20) + +=== Solution B + +#lorem(20) + += Third Section : Conclusion + +== Appraisal + +#lorem(20) + +== Perspectives + +#lorem(20) diff --git a/packages/preview/progressive-layout/1.0.0/example.pdf b/packages/preview/progressive-layout/1.0.0/example.pdf new file mode 100644 index 0000000000000000000000000000000000000000..74535c16941acb5513b80518b50186aef8eed024 GIT binary patch literal 16078 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 literal 0 HcmV?d00001 diff --git a/packages/preview/progressive-layout/1.0.0/example.typ b/packages/preview/progressive-layout/1.0.0/example.typ new file mode 100644 index 0000000000..fd184bbdbf --- /dev/null +++ b/packages/preview/progressive-layout/1.0.0/example.typ @@ -0,0 +1,95 @@ +#import "@preview/progressive-layout:1.0.0": progressive-outline +// #import "lib.typ": progressive-outline + +#progressive-outline( + h1-style: "all", + h2-style: "all", + h3-style: "all", + show-numbering: false +) + += Title 1 + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. + +#progressive-outline( + h1-style: "current-and-grayed", + h2-style: "none", + h3-style: "none", + show-numbering: false +) + +== Subtitle 1.1 + +Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + +#progressive-outline( + h1-style: "none", + h2-style: "current-and-grayed", + h3-style: "none", + show-numbering: false +) + +=== Sub-subtitle 1.1.1 + +Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. + +#progressive-outline( + h1-style: "none", + h2-style: "none", + h3-style: "current-and-grayed", + show-numbering: false +) + +=== Sub-subtitle 1.1.2 + +Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. + +#progressive-outline( + h1-style: "none", + h2-style: "current", + h3-style: "current-and-grayed", + show-numbering: false +) + +== Subtitle 1.2 + +Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. + += Title 2 + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. + +#progressive-outline( + h1-style: "current-and-grayed", + h2-style: "none", + h3-style: "none", + show-numbering: false +) + +== Subtitle 2.1 + +Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + +#progressive-outline( + h1-style: "current", + h2-style: "current-and-grayed", + h3-style: "none", + show-numbering: false +) + +== Subtitle 2.2 + +Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. + += Title 3 + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. + +== Subtitle 3.1 + +Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + +== Subtitle 3.2 + +Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. diff --git a/packages/preview/progressive-layout/1.0.0/lib.typ b/packages/preview/progressive-layout/1.0.0/lib.typ new file mode 100644 index 0000000000..0baa4f5f3c --- /dev/null +++ b/packages/preview/progressive-layout/1.0.0/lib.typ @@ -0,0 +1,138 @@ +#let progressive-outline( + h1-style: "all", + h2-style: "all", + h3-style: "all", + scope-h2: "current-h1", + scope-h3: "current-h2", + show-numbering: true, +) = { + context { + let loc = here() + let all-headings = query(heading.where(outlined: true)) + + let is-before(loc1, loc2) = { + if loc1.page() < loc2.page() { + return true + } + if loc1.page() == loc2.page() and loc1.position().y < loc2.position().y { + return true + } + return false + } + + let current-h1 = if query(heading.where(outlined: true, level: 1).before(loc)).len() > 0 { + query(heading.where(outlined: true, level: 1).before(loc)).last() + } else { none } + + let current-h2 = if query(heading.where(outlined: true, level: 2).before(loc)).len() > 0 { + query(heading.where(outlined: true, level: 2).before(loc)).last() + } else { none } + + let current-h3 = if query(heading.where(outlined: true, level: 3).before(loc)).len() > 0 { + query(heading.where(outlined: true, level: 3).before(loc)).last() + } else { none } + + let style-heading(heading, style, current) = { + let content = if show-numbering { + numbering("1.1.1", ..counter(heading.func()).at(heading.location())) + " " + heading.body + } else { + heading.body + } + if style == "all" { + return content + } else if style == "current" { + if heading == current { + return content + } else { + return none + } + } else if style == "current-and-grayed" { + if heading == current { + return content + } else { + return text(fill: gray, content) + } + } else if style == "none" { + return none + } else { + return content + } + } + + for heading in all-headings { + let styled-heading = if heading.level == 1 { + style-heading(heading, h1-style, current-h1) + } else if heading.level == 2 { + if scope-h2 == "current-h1" and current-h1 != none { + let parent-h1 = all-headings.rev().find(h => h.level == 1 and is-before(h.location(), heading.location())) + if parent-h1 != current-h1 { + continue + } + } + style-heading(heading, h2-style, current-h2) + } else if heading.level == 3 { + if scope-h3 == "current-h2" and current-h2 != none { + let parent-h2 = all-headings.rev().find(h => h.level == 2 and is-before(h.location(), heading.location())) + if parent-h2 != current-h2 { + continue + } + } + style-heading(heading, h3-style, current-h3) + } else { + heading.body + } + + if styled-heading != none { + let indent = 2em * (heading.level - 1) + block(pad(left: indent, styled-heading)) + } + } + } +} + +/// Applies dynamic layout with outlines. +#let progressive-layout(doc, show-numbering: true) = { + // --- Base styles --- + set text(font: "Arial", size: 22pt) + set page( + paper: "presentation-16-9", + margin: (top: 2cm, bottom: 2cm, x: 2cm), + ) + set heading(numbering: "1.1.1") + + // --- Display logic --- + + // At the beginning of the document, display the full table of contents. + outline() + + // For each level 1 heading, display the list of level 2 sub-sections. + show heading.where(level: 1): it => { + pagebreak(weak: true) // Each section 1 starts on a new page + // Display the progressive outline for the current H1, without the heading text itself. + set text(size: 22pt) // Homogenize font size for the outline + progressive-outline(h1-style: "current", h2-style: "all", h3-style: "none", show-numbering: show-numbering) + pagebreak(weak: true) // Start the actual content on a new page + } + + // For each level 2 heading, display the list of *all* H2s, + // with the current H2 highlighted. + show heading.where(level: 2): it => { + pagebreak(weak: true) // Each H2 starts on a new page + // Display the progressive outline for the current H2, without the heading text itself. + set text(size: 22pt) // Homogenize font size for the outline + progressive-outline(h1-style: "current", h2-style: "current-and-grayed", h3-style: "none", show-numbering: show-numbering) + pagebreak(weak: true) // Start the actual content on a new page + } + // For each level 3 heading, display the list of *all* H3s, + // with the current H3 highlighted. + show heading.where(level: 3): it => { + pagebreak(weak: true) // Each H3 starts on a new page + // Display the progressive outline for the current H3, without the heading text itself. + set text(size: 22pt) // Homogenize font size for the outline + progressive-outline(h1-style: "current", h2-style: "current-and-grayed", h3-style: "current-and-grayed", show-numbering: show-numbering) + pagebreak(weak: true) // Start the actual content on a new page + } + + // --- Document content --- + doc +} \ No newline at end of file diff --git a/packages/preview/progressive-layout/1.0.0/typst.toml b/packages/preview/progressive-layout/1.0.0/typst.toml new file mode 100644 index 0000000000..79ac73af6e --- /dev/null +++ b/packages/preview/progressive-layout/1.0.0/typst.toml @@ -0,0 +1,12 @@ +[package] +name = "progressive-layout" +version = "1.0.0" +entrypoint = "lib.typ" +authors = ["David Hajage "] +description = "A Typst function to display a dynamic table of contents, inspired by LaTeX's Beamer class." +license = "MIT" +keywords = ["outline", "table of contents", "presentation", "dynamic"] +compiler = "0.11.0" + +[source] +url = "https://github.com/eusebe/progressive-layout" From cdb7abd8e34b2f6d3ce850f8dc8f7b5044ea85c9 Mon Sep 17 00:00:00 2001 From: David Hajage Date: Wed, 29 Oct 2025 19:48:05 +0200 Subject: [PATCH 2/6] Add LICENSE file and update .gitignore in package --- .../progressive-layout/1.0.0/.gitignore | 2 ++ .../preview/progressive-layout/1.0.0/LICENSE | 21 +++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 packages/preview/progressive-layout/1.0.0/.gitignore create mode 100644 packages/preview/progressive-layout/1.0.0/LICENSE diff --git a/packages/preview/progressive-layout/1.0.0/.gitignore b/packages/preview/progressive-layout/1.0.0/.gitignore new file mode 100644 index 0000000000..938fec3a5b --- /dev/null +++ b/packages/preview/progressive-layout/1.0.0/.gitignore @@ -0,0 +1,2 @@ +.DS_Store +*.pdf diff --git a/packages/preview/progressive-layout/1.0.0/LICENSE b/packages/preview/progressive-layout/1.0.0/LICENSE new file mode 100644 index 0000000000..cff6e2e288 --- /dev/null +++ b/packages/preview/progressive-layout/1.0.0/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 David Hajage + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. From a1340c6a07cae2219f97b428d195806da3e34ee7 Mon Sep 17 00:00:00 2001 From: David Hajage Date: Wed, 29 Oct 2025 19:50:52 +0200 Subject: [PATCH 3/6] Remove generated PDF files from package submission --- .../preview/progressive-layout/1.0.0/demo.pdf | Bin 58697 -> 0 bytes .../progressive-layout/1.0.0/example.pdf | Bin 16078 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 packages/preview/progressive-layout/1.0.0/demo.pdf delete mode 100644 packages/preview/progressive-layout/1.0.0/example.pdf diff --git a/packages/preview/progressive-layout/1.0.0/demo.pdf b/packages/preview/progressive-layout/1.0.0/demo.pdf deleted file mode 100644 index 9f1621adf1cf4e1c8da969df8f4763d4f3f2fe1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58697 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 diff --git a/packages/preview/progressive-layout/1.0.0/example.pdf b/packages/preview/progressive-layout/1.0.0/example.pdf deleted file mode 100644 index 74535c16941acb5513b80518b50186aef8eed024..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16078 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 From ed0dfadf40549f668082ce0f6dd79d816724608c Mon Sep 17 00:00:00 2001 From: David Hajage Date: Wed, 29 Oct 2025 23:19:29 +0200 Subject: [PATCH 4/6] Exclude example.typ and demo.typ from package bundle --- packages/preview/progressive-layout/1.0.0/typst.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/preview/progressive-layout/1.0.0/typst.toml b/packages/preview/progressive-layout/1.0.0/typst.toml index 79ac73af6e..256fd3ed1d 100644 --- a/packages/preview/progressive-layout/1.0.0/typst.toml +++ b/packages/preview/progressive-layout/1.0.0/typst.toml @@ -7,6 +7,7 @@ description = "A Typst function to display a dynamic table of contents, inspired license = "MIT" keywords = ["outline", "table of contents", "presentation", "dynamic"] compiler = "0.11.0" +exclude = ["example.typ", "demo.typ"] [source] url = "https://github.com/eusebe/progressive-layout" From 5e39904cc3727c9b3a27f0f9aac40b804ca843af Mon Sep 17 00:00:00 2001 From: David Hajage Date: Wed, 29 Oct 2025 23:26:27 +0200 Subject: [PATCH 5/6] Remove [source] section from typst.toml as it's not a valid field for package submission --- packages/preview/progressive-layout/1.0.0/typst.toml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/preview/progressive-layout/1.0.0/typst.toml b/packages/preview/progressive-layout/1.0.0/typst.toml index 256fd3ed1d..75790585f7 100644 --- a/packages/preview/progressive-layout/1.0.0/typst.toml +++ b/packages/preview/progressive-layout/1.0.0/typst.toml @@ -8,6 +8,5 @@ license = "MIT" keywords = ["outline", "table of contents", "presentation", "dynamic"] compiler = "0.11.0" exclude = ["example.typ", "demo.typ"] +repository = "https://github.com/eusebe/progressive-layout" -[source] -url = "https://github.com/eusebe/progressive-layout" From 0a91fc7e89a77f59322f1b4411d666f44fb1a0a0 Mon Sep 17 00:00:00 2001 From: David Hajage Date: Wed, 29 Oct 2025 23:32:14 +0200 Subject: [PATCH 6/6] Update the README file with correct links to examples --- packages/preview/progressive-layout/1.0.0/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/preview/progressive-layout/1.0.0/README.md b/packages/preview/progressive-layout/1.0.0/README.md index f98db9a40b..bb79041786 100644 --- a/packages/preview/progressive-layout/1.0.0/README.md +++ b/packages/preview/progressive-layout/1.0.0/README.md @@ -47,8 +47,8 @@ This package also contains a simple template, `progressive-layout`, which shows This package includes two files to demonstrate its usage: -- [`example.typ`](./example.typ): This file shows how the `progressive-outline` function works with different options. -- [`demo.typ`](./demo.typ): This file provides an example of how to use the `progressive-layout` template. +- [`example.typ`](https://github.com/eusebe/progressive-layout/blob/main/example.typ): This file shows how the `progressive-outline` function works with different options. +- [`demo.typ`](https://github.com/eusebe/progressive-layout/blob/main/demo.typ): This file provides an example of how to use the `progressive-layout` template. ## `progressive-outline` Parameters