summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--crates/typst/src/model/figure.rs6
-rw-r--r--tests/suite/model/figure.typ5
2 files changed, 11 insertions, 0 deletions
diff --git a/crates/typst/src/model/figure.rs b/crates/typst/src/model/figure.rs
index 00a9aafd..1d3c9c95 100644
--- a/crates/typst/src/model/figure.rs
+++ b/crates/typst/src/model/figure.rs
@@ -351,6 +351,12 @@ impl Show for Packed<FigureElem> {
.with_float(true)
.pack()
.spanned(self.span());
+ } else if self.scope(styles) == PlacementScope::Parent {
+ bail!(
+ self.span(),
+ "parent-scoped placement is only available for floating figures";
+ hint: "you can enable floating placement with `figure(placement: auto, ..)`"
+ );
}
Ok(realized)
diff --git a/tests/suite/model/figure.typ b/tests/suite/model/figure.typ
index feaf8d3b..fbd0ab29 100644
--- a/tests/suite/model/figure.typ
+++ b/tests/suite/model/figure.typ
@@ -77,6 +77,11 @@ We can clearly see that @fig-cylinder and
#lines(15)
+--- figure-scope-without-placement ---
+// Error: 2-27 parent-scoped placement is only available for floating figures
+// Hint: 2-27 you can enable floating placement with `figure(placement: auto, ..)`
+#figure(scope: "parent")[]
+
--- figure-theorem ---
// Testing show rules with figures with a simple theorem display
#show figure.where(kind: "theorem"): it => {