This package provides the suboutline
command that does the same thing as outline
but restricted to the current heading. This is inspired by minitoc package for LaTeX.
This package is a fork of the minitoc package, which is no longer maintained by the original author.
Example
#import "@preview/suboutline:0.1.0": *
#set heading(numbering: "1.1")
#outline()
= Heading 1
#suboutline()
== Heading 1.1
#lorem(20)
=== Heading 1.1.1
#lorem(30)
== Heading 1.2
#lorem(10)
= Heading 2
This produces
Usage
The suboutline
function has the following signature:
#let suboutline(
title: none, target: heading.where(outlined: true),
depth: none, indent: none, fill: repeat([.])
) { /* .. */ }
This is designed to be as close to the outline
funtions as possible. The arguments are:
- title: The title for the local outline. This is the same as for
outline.title
. - target: What should be included. This is the same as for
outline.target
- depth: The maximum depth different to include. For example, if depth was 1 in the example, “Heading 1.1.1” would not be included
- indent: How the entries should be indented. Takes the same types as for
outline.indent
and is passed directly to it - fill: Content to put between the numbering and title, and the page number. Same types as for
outline.fill
Unintended consequences
Because suboutline
uses outline
, if you apply numbering to the title of outline with #show outline: set heading(numbering: "1.")
or similar, any title in the sub-outline will be numbered and be a level 1 heading. This cannot be changed with #show outline: set heading(level: 3)
or similar unfortunately.