summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--library/src/math/attach.rs14
-rw-r--r--tests/ref/math/attach.pngbin29232 -> 28331 bytes
-rw-r--r--tests/typ/math/attach.typ3
3 files changed, 15 insertions, 2 deletions
diff --git a/library/src/math/attach.rs b/library/src/math/attach.rs
index eee1e80e..340dd21e 100644
--- a/library/src/math/attach.rs
+++ b/library/src/math/attach.rs
@@ -124,13 +124,25 @@ pub struct LimitsElem {
/// The base to attach the limits to.
#[required]
pub body: Content,
+
+ /// Whether to apply limits in inline equations.
+ ///
+ /// It is useful to disable this setting
+ /// in most cases of applying limits globally
+ /// (inside show rules or new elements)
+ #[default(true)]
+ pub inline: bool,
}
impl LayoutMath for LimitsElem {
#[tracing::instrument(skip(ctx))]
fn layout_math(&self, ctx: &mut MathContext) -> SourceResult<()> {
let mut fragment = ctx.layout_fragment(&self.body())?;
- fragment.set_limits(Limits::Always);
+ fragment.set_limits(if self.inline(ctx.styles()) {
+ Limits::Always
+ } else {
+ Limits::Display
+ });
ctx.push(fragment);
Ok(())
}
diff --git a/tests/ref/math/attach.png b/tests/ref/math/attach.png
index bf63ccce..894f553f 100644
--- a/tests/ref/math/attach.png
+++ b/tests/ref/math/attach.png
Binary files differ
diff --git a/tests/typ/math/attach.typ b/tests/typ/math/attach.typ
index cb90e5a5..0f404ac7 100644
--- a/tests/typ/math/attach.typ
+++ b/tests/typ/math/attach.typ
@@ -97,5 +97,6 @@ $ attach(A, t: #locate(it => oops)) $
#let eq = $ ∫_a^b iota_a^b $
#eq
#show "∫": math.limits
-#show math.iota: math.limits
+#show math.iota: math.limits.with(inline: false)
#eq
+$iota_a^b$