Skip to content

Comparing hydra() return gives unexpected results #35

Description

@woerndl

I'm experimenting with hydra to show the sections of the current page(s) like so:
Section 2 · Chapter A · 1 — Section 2 · Chapter B · 5

I only want to show the section/chapter part if the content crosses sections/chapters on a given page. Therefore I'm trying to compare if the first use-last: false and last use-last: true elements are the same. Like so:

#context if not (hydra(2, skip-starting: false, use-last: false) == hydra(2, skip-starting: false, use-last: true)) {
  text(red, "This page contains content crossing two chapters")
}

In my understanding on the first page the first and second level 2 headline should be the same element, while on the fifth page content crosses from Chapter B to Chapter C (minimal example not showing my full nesting level):
Image

Full Code Example

#import "@preview/hydra:0.6.1": hydra

#set page(
  width: 120mm,
  height: 120mm,
  header: context {
    if not (hydra(2, skip-starting: false, use-last: false) == hydra(2, skip-starting: false, use-last: true)) {
      text(red, "Page contains content crossing two chapters")
    }
  },
)

= Section 1
== Chapter A
#lorem(200)

= Section 2
#lorem(200)

== Chapter B
#lorem(200)
== Chapter C
#lorem(50)

Shouldn't this comparison also be equal on the first page? Or is there a better way to achieve what I'm trying to do?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingneeds-investigationFurther information is requested

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions