How can I modify a specific detail of a theme (newbie question)?

I’m fooling around with the owlbear theme. It displays a large dropcap at the beginning of the first paragraph:

I’d like to make this dropcap slightly smaller or larger. What is the canonical way to achieve that? Should I load the them in my document source, then attempt to redefine its internal functions, as in:

#import "@preview/owlbear:0.0.1": book-template
#show: book-template  // These two lines simply apply the template

#show par: (it) => {
  paragraph_counter.step(level: 2)

  context {
    if paragraph_counter.get().at(1) == 1 {
      return book-template.dropcap(
        height: 10, // <-- this is my edit
        font: book-template.theme.font.dropcap,
        fill: book-template.theme.paint.dropcap.fill,
        stroke: (
          paint: book-template.theme.paint.dropcap.stroke,
          thickness: 1.5pt,
        ),
        it.body
      )
    } else {
      return it
    }
  }
}

That approach fails because things like paragraph_counter or theme are undefined in this scope.

Should I instead clone the template and modify it locally? Again, at this point I have no idea what is the canonical/expected way to achieve this.

1 Like

You should clone it locally and modify height. Unfortunately, this is not exposed to the user from the template. You can create an issue at their project here.

1 Like