diff --git a/.changeset/neat-windows-exist.md b/.changeset/neat-windows-exist.md new file mode 100644 index 0000000..6595e60 --- /dev/null +++ b/.changeset/neat-windows-exist.md @@ -0,0 +1,11 @@ +--- +"@vivliostyle/theme-base": minor +--- + +Add variables to override the initial counter value at the document root. + +The following CSS variables are supported: + +- `--vs-crossref--root-counter-{fig|tbl|cite}` +- `--vs-footnote--root-counter-footnote` +- `--vs-section--root-counter-{sections|sec-h1|sec-h2|sec-h3|sec-h4|sec-h5|sec-h6}` diff --git a/packages/@vivliostyle/theme-base/css/common/basic.css b/packages/@vivliostyle/theme-base/css/common/basic.css index 896446d..931ae53 100644 --- a/packages/@vivliostyle/theme-base/css/common/basic.css +++ b/packages/@vivliostyle/theme-base/css/common/basic.css @@ -178,6 +178,7 @@ html { body { counter-reset: var(--vs-crossref--root-counter-reset,) var(--vs-footnote--root-counter-reset,) + var(--vs-section--root-counter-reset,) var(--vs-document-root-counter-reset,); } diff --git a/packages/@vivliostyle/theme-base/css/partial/crossref.css b/packages/@vivliostyle/theme-base/css/partial/crossref.css index b6e79db..d714d3f 100644 --- a/packages/@vivliostyle/theme-base/css/partial/crossref.css +++ b/packages/@vivliostyle/theme-base/css/partial/crossref.css @@ -25,8 +25,10 @@ counter(vs-counter-tbl, var(--vs-crossref--counter-style)) ': '; --vs-crossref--marker-cite-content: '[' counter(vs-counter-cite) ']'; --vs-crossref--marker-margin-inline: 0; - --vs-crossref--root-counter-reset: vs-counter-fig vs-counter-tbl - vs-counter-cite; + --vs-crossref--root-counter-reset: vs-counter-fig + var(--vs-crossref--root-counter-fig,) vs-counter-tbl + var(--vs-crossref--root-counter-tbl,) vs-counter-cite + var(--vs-crossref--root-counter-cite,); /* displays dummy content on screen media that doesn't support target-counter() */ --vs-crossref--call-fig-content-on-screen: 'Figure ???'; diff --git a/packages/@vivliostyle/theme-base/css/partial/footnote.css b/packages/@vivliostyle/theme-base/css/partial/footnote.css index 8c41d50..1d08141 100644 --- a/packages/@vivliostyle/theme-base/css/partial/footnote.css +++ b/packages/@vivliostyle/theme-base/css/partial/footnote.css @@ -17,7 +17,8 @@ --vs-footnote--area-before-margin-inline: var(--vs--hr-margin-inline); --vs-footnote--item-margin-block: 0; --vs-footnote--item-margin-inline: 0; - --vs-footnote--root-counter-reset: vs-counter-footnote; + --vs-footnote--root-counter-reset: vs-counter-footnote + var(--vs-footnote--root-counter-footnote,); } .footnote, diff --git a/packages/@vivliostyle/theme-base/css/partial/section.css b/packages/@vivliostyle/theme-base/css/partial/section.css index 55b6c0f..a9f3077 100644 --- a/packages/@vivliostyle/theme-base/css/partial/section.css +++ b/packages/@vivliostyle/theme-base/css/partial/section.css @@ -19,6 +19,14 @@ var(--vs-section--counter-style) ); --vs-section--marker-margin-inline: 1ch; + --vs-section--root-counter-reset: vs-counter-sections + var(--vs-section--root-counter-sections,) vs-counter-sec-h1 + var(--vs-section--root-counter-sec-h1,) vs-counter-sec-h2 + var(--vs-section--root-counter-sec-h2,) vs-counter-sec-h3 + var(--vs-section--root-counter-sec-h3,) vs-counter-sec-h4 + var(--vs-section--root-counter-sec-h4,) vs-counter-sec-h5 + var(--vs-section--root-counter-sec-h5,) vs-counter-sec-h6 + var(--vs-section--root-counter-sec-h6,); } :lang(ja) {