mirror of
https://github.com/typst/typst
synced 2025-05-13 20:46:23 +08:00
Get numbering of page counter from style chain (#5589)
This commit is contained in:
parent
75273937f7
commit
51020fcf3c
@ -366,20 +366,22 @@ impl Counter {
|
||||
.custom()
|
||||
.or_else(|| {
|
||||
let styles = styles?;
|
||||
let CounterKey::Selector(Selector::Elem(func, _)) = self.0 else {
|
||||
return None;
|
||||
};
|
||||
|
||||
if func == HeadingElem::elem() {
|
||||
HeadingElem::numbering_in(styles).clone()
|
||||
} else if func == FigureElem::elem() {
|
||||
FigureElem::numbering_in(styles).clone()
|
||||
} else if func == EquationElem::elem() {
|
||||
EquationElem::numbering_in(styles).clone()
|
||||
} else if func == FootnoteElem::elem() {
|
||||
Some(FootnoteElem::numbering_in(styles).clone())
|
||||
} else {
|
||||
None
|
||||
match self.0 {
|
||||
CounterKey::Page => PageElem::numbering_in(styles).clone(),
|
||||
CounterKey::Selector(Selector::Elem(func, _)) => {
|
||||
if func == HeadingElem::elem() {
|
||||
HeadingElem::numbering_in(styles).clone()
|
||||
} else if func == FigureElem::elem() {
|
||||
FigureElem::numbering_in(styles).clone()
|
||||
} else if func == EquationElem::elem() {
|
||||
EquationElem::numbering_in(styles).clone()
|
||||
} else if func == FootnoteElem::elem() {
|
||||
Some(FootnoteElem::numbering_in(styles).clone())
|
||||
} else {
|
||||
None
|
||||
}
|
||||
}
|
||||
_ => None,
|
||||
}
|
||||
})
|
||||
.unwrap_or_else(|| NumberingPattern::from_str("1.1").unwrap().into());
|
||||
|
BIN
tests/ref/counter-page-display.png
Normal file
BIN
tests/ref/counter-page-display.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 150 B |
@ -102,6 +102,14 @@ B
|
||||
#set page(numbering: "1 / 1", margin: (bottom: 20pt))
|
||||
#counter(page).update(5)
|
||||
|
||||
--- counter-page-display ---
|
||||
// Counter display should use numbering from style chain.
|
||||
#set page(
|
||||
numbering: "A",
|
||||
margin: (bottom: 20pt),
|
||||
footer: context align(center, counter(page).display())
|
||||
)
|
||||
|
||||
--- counter-figure ---
|
||||
// Count figures.
|
||||
#figure(numbering: "A", caption: [Four 'A's], kind: image, supplement: "Figure")[_AAAA!_]
|
||||
|
Loading…
x
Reference in New Issue
Block a user