From 9a45d948f99410292f212d3c51539fee9d0e95ad Mon Sep 17 00:00:00 2001 From: Laurenz Date: Fri, 14 Jun 2024 10:49:44 +0200 Subject: [PATCH] Paragraph spacing property (#4390) --- crates/typst/src/layout/container.rs | 49 ++++++++---------- crates/typst/src/layout/spacing.rs | 8 +-- crates/typst/src/model/bibliography.rs | 2 +- crates/typst/src/model/enum.rs | 23 ++++---- crates/typst/src/model/heading.rs | 8 ++- crates/typst/src/model/list.rs | 23 ++++---- crates/typst/src/model/par.rs | 27 ++++++++++ crates/typst/src/model/quote.rs | 15 +++--- crates/typst/src/model/terms.rs | 27 +++++----- crates/typst/src/realize/mod.rs | 26 ++++++++-- ...pacing.png => par-leading-and-spacing.png} | Bin tests/ref/query-before-after.png | Bin 35716 -> 29600 bytes tests/ref/quote-cite-format-author-date.png | Bin 2208 -> 2169 bytes .../quote-cite-format-label-or-numeric.png | Bin 2224 -> 2188 bytes tests/ref/quote-cite-format-note.png | Bin 2941 -> 2910 bytes tests/ref/quote-dir-author-pos.png | Bin 967 -> 958 bytes tests/ref/quote-inline.png | Bin 1523 -> 1517 bytes tests/suite/introspection/query.typ | 2 +- tests/suite/layout/container.typ | 15 +++++- tests/suite/layout/inline/justify.typ | 3 +- tests/suite/model/list.typ | 2 +- tests/suite/model/outline.typ | 2 + tests/suite/model/par.typ | 12 +++-- tests/suite/model/quote.typ | 8 +-- tests/suite/styling/set.typ | 2 +- 25 files changed, 155 insertions(+), 99 deletions(-) rename tests/ref/{par-leading-and-block-spacing.png => par-leading-and-spacing.png} (100%) diff --git a/crates/typst/src/layout/container.rs b/crates/typst/src/layout/container.rs index 908a193ec..533d6b7e4 100644 --- a/crates/typst/src/layout/container.rs +++ b/crates/typst/src/layout/container.rs @@ -10,7 +10,7 @@ use crate::foundations::{ use crate::introspection::Locator; use crate::layout::{ Abs, Axes, Corners, Em, Fr, Fragment, Frame, FrameKind, Length, Region, Regions, Rel, - Sides, Size, Spacing, VElem, + Sides, Size, Spacing, }; use crate::utils::Numeric; use crate::visualize::{clip_rect, Paint, Stroke}; @@ -385,8 +385,20 @@ pub struct BlockElem { #[fold] pub outset: Sides>>, - /// The spacing around this block. This is shorthand to set `above` and - /// `below` to the same value. + /// The spacing around the block. When `{auto}`, inherits the paragraph + /// [`spacing`]($par.spacing). + /// + /// For two adjacent blocks, the larger of the first block's `above` and the + /// second block's `below` spacing wins. Moreover, block spacing takes + /// precedence over paragraph [`spacing`]($par.spacing). + /// + /// Note that this is only a shorthand to set `above` and `below` to the + /// same value. Since the values for `above` and `below` might differ, a + /// [context] block only provides access to `{block.above}` and + /// `{block.below}`, not to `{block.spacing}` directly. + /// + /// This property can be used in combination with a show rule to adjust the + /// spacing around arbitrary block-level elements. /// /// ```example /// #set align(center) @@ -400,35 +412,16 @@ pub struct BlockElem { #[default(Em::new(1.2).into())] pub spacing: Spacing, - /// The spacing between this block and its predecessor. Takes precedence - /// over `spacing`. Can be used in combination with a show rule to adjust - /// the spacing around arbitrary block-level elements. - #[external] - #[default(Em::new(1.2).into())] - pub above: Spacing, - #[internal] + /// The spacing between this block and its predecessor. #[parse( let spacing = args.named("spacing")?; - args.named("above")? - .map(VElem::block_around) - .or_else(|| spacing.map(VElem::block_spacing)) + args.named("above")?.or(spacing) )] - #[default(VElem::block_spacing(Em::new(1.2).into()))] - pub above: VElem, + pub above: Smart, - /// The spacing between this block and its successor. Takes precedence - /// over `spacing`. - #[external] - #[default(Em::new(1.2).into())] - pub below: Spacing, - #[internal] - #[parse( - args.named("below")? - .map(VElem::block_around) - .or_else(|| spacing.map(VElem::block_spacing)) - )] - #[default(VElem::block_spacing(Em::new(1.2).into()))] - pub below: VElem, + /// The spacing between this block and its successor. + #[parse(args.named("below")?.or(spacing))] + pub below: Smart, /// Whether to clip the content inside the block. #[default(false)] diff --git a/crates/typst/src/layout/spacing.rs b/crates/typst/src/layout/spacing.rs index ddf17e5d2..5c02a0cf1 100644 --- a/crates/typst/src/layout/spacing.rs +++ b/crates/typst/src/layout/spacing.rs @@ -153,13 +153,13 @@ impl VElem { Self::new(amount).with_weakness(2).with_attach(true) } - /// Weak spacing with BlockElem::ABOVE/BELOW weakness. - pub fn block_around(amount: Spacing) -> Self { + /// Weak spacing with `BlockElem::spacing` weakness. + pub fn block_spacing(amount: Spacing) -> Self { Self::new(amount).with_weakness(3) } - /// Weak spacing with BlockElem::SPACING weakness. - pub fn block_spacing(amount: Spacing) -> Self { + /// Weak spacing with `ParElem::spacing` weakness. + pub fn par_spacing(amount: Spacing) -> Self { Self::new(amount).with_weakness(4) } } diff --git a/crates/typst/src/model/bibliography.rs b/crates/typst/src/model/bibliography.rs index 57a33fc4d..9070442e6 100644 --- a/crates/typst/src/model/bibliography.rs +++ b/crates/typst/src/model/bibliography.rs @@ -231,7 +231,7 @@ impl Show for Packed { .ok_or("CSL style is not suitable for bibliographies") .at(span)?; - let row_gutter = *BlockElem::below_in(styles).amount(); + let row_gutter = ParElem::spacing_in(styles).into(); if references.iter().any(|(prefix, _)| prefix.is_some()) { let mut cells = vec![]; for (prefix, reference) in references { diff --git a/crates/typst/src/model/enum.rs b/crates/typst/src/model/enum.rs index 9d4cdf42e..336a8fc94 100644 --- a/crates/typst/src/model/enum.rs +++ b/crates/typst/src/model/enum.rs @@ -12,7 +12,7 @@ use crate::foundations::{ use crate::introspection::Locator; use crate::layout::{ Alignment, Axes, BlockElem, Cell, CellGrid, Em, Fragment, GridLayouter, HAlignment, - Length, Regions, Sizing, Spacing, VAlignment, VElem, + Length, Regions, Sizing, VAlignment, VElem, }; use crate::model::{Numbering, NumberingPattern, ParElem}; use crate::text::TextElem; @@ -155,10 +155,12 @@ pub struct EnumElem { #[default(Em::new(0.5).into())] pub body_indent: Length, - /// The spacing between the items of a wide (non-tight) enumeration. + /// The spacing between the items of the enumeration. /// - /// If set to `{auto}`, uses the spacing [below blocks]($block.below). - pub spacing: Smart, + /// If set to `{auto}`, uses paragraph [`leading`]($par.leading) for tight + /// enumerations and paragraph [`spacing`]($par.spacing) for wide + /// (non-tight) enumerations. + pub spacing: Smart, /// The alignment that enum numbers should have. /// @@ -242,12 +244,13 @@ fn layout_enum( let numbering = elem.numbering(styles); let indent = elem.indent(styles); let body_indent = elem.body_indent(styles); - let gutter = if elem.tight(styles) { - ParElem::leading_in(styles).into() - } else { - elem.spacing(styles) - .unwrap_or_else(|| *BlockElem::below_in(styles).amount()) - }; + let gutter = elem.spacing(styles).unwrap_or_else(|| { + if elem.tight(styles) { + ParElem::leading_in(styles).into() + } else { + ParElem::spacing_in(styles).into() + } + }); let mut cells = vec![]; let mut locator = locator.split(); diff --git a/crates/typst/src/model/heading.rs b/crates/typst/src/model/heading.rs index e160eeea6..e065d3ac1 100644 --- a/crates/typst/src/model/heading.rs +++ b/crates/typst/src/model/heading.rs @@ -9,9 +9,7 @@ use crate::foundations::{ use crate::introspection::{ Count, Counter, CounterUpdate, Locatable, Locator, LocatorLink, }; -use crate::layout::{ - Abs, Axes, BlockChild, BlockElem, Em, HElem, Length, Regions, VElem, -}; +use crate::layout::{Abs, Axes, BlockChild, BlockElem, Em, HElem, Length, Regions}; use crate::model::{Numbering, Outlinable, ParElem, Refable, Supplement}; use crate::text::{FontWeight, LocalName, SpaceElem, TextElem, TextSize}; use crate::utils::NonZeroExt; @@ -280,8 +278,8 @@ impl ShowSet for Packed { let mut out = Styles::new(); out.set(TextElem::set_size(TextSize(size.into()))); out.set(TextElem::set_weight(FontWeight::BOLD)); - out.set(BlockElem::set_above(VElem::block_around(above.into()))); - out.set(BlockElem::set_below(VElem::block_around(below.into()))); + out.set(BlockElem::set_above(Smart::Custom(above.into()))); + out.set(BlockElem::set_below(Smart::Custom(below.into()))); out.set(BlockElem::set_sticky(true)); out } diff --git a/crates/typst/src/model/list.rs b/crates/typst/src/model/list.rs index d8e580522..a0d76770b 100644 --- a/crates/typst/src/model/list.rs +++ b/crates/typst/src/model/list.rs @@ -9,7 +9,7 @@ use crate::foundations::{ use crate::introspection::Locator; use crate::layout::{ Axes, BlockElem, Cell, CellGrid, Em, Fragment, GridLayouter, HAlignment, Length, - Regions, Sizing, Spacing, VAlignment, VElem, + Regions, Sizing, VAlignment, VElem, }; use crate::model::ParElem; use crate::text::TextElem; @@ -107,10 +107,12 @@ pub struct ListElem { #[default(Em::new(0.5).into())] pub body_indent: Length, - /// The spacing between the items of a wide (non-tight) list. + /// The spacing between the items of the list. /// - /// If set to `{auto}`, uses the spacing [below blocks]($block.below). - pub spacing: Smart, + /// If set to `{auto}`, uses paragraph [`leading`]($par.leading) for tight + /// lists and paragraph [`spacing`]($par.spacing) for wide (non-tight) + /// lists. + pub spacing: Smart, /// The bullet list's children. /// @@ -165,12 +167,13 @@ fn layout_list( ) -> SourceResult { let indent = elem.indent(styles); let body_indent = elem.body_indent(styles); - let gutter = if elem.tight(styles) { - ParElem::leading_in(styles).into() - } else { - elem.spacing(styles) - .unwrap_or_else(|| *BlockElem::below_in(styles).amount()) - }; + let gutter = elem.spacing(styles).unwrap_or_else(|| { + if elem.tight(styles) { + ParElem::leading_in(styles).into() + } else { + ParElem::spacing_in(styles).into() + } + }); let Depth(depth) = ListElem::depth_in(styles); let marker = elem diff --git a/crates/typst/src/model/par.rs b/crates/typst/src/model/par.rs index 8d5178b1c..7f65a00fb 100644 --- a/crates/typst/src/model/par.rs +++ b/crates/typst/src/model/par.rs @@ -38,11 +38,38 @@ use crate::realize::StyleVec; #[elem(title = "Paragraph", Debug, Construct)] pub struct ParElem { /// The spacing between lines. + /// + /// Leading defines the spacing between the [bottom edge]($text.bottom-edge) + /// of one line and the [top edge]($text.top-edge) of the following line. By + /// default, these two properties are up to the font, but they can also be + /// configured manually with a text set rule. + /// + /// By setting top edge, bottom edge, and leading, you can also configure a + /// consistent baseline-to-baseline distance. You could, for instance, set + /// the leading to `{1em}`, the top-edge to `{0.8em}`, and the bottom-edge + /// to `-{0.2em}` to get a baseline gap of exactly `{2em}`. The exact + /// distribution of the top- and bottom-edge values affects the bounds of + /// the first and last line. #[resolve] #[ghost] #[default(Em::new(0.65).into())] pub leading: Length, + /// The spacing between paragraphs. + /// + /// Just like leading, this defines the spacing between the bottom edge of a + /// paragraph's last line and the top edge of the next paragraph's first + /// line. + /// + /// When a paragraph is adjacent to a [`block`] that is not a paragraph, + /// that block's [`above`]($block.above) or [`below`]($block.below) property + /// takes precedence over the paragraph spacing. Headings, for instance, + /// reduce the spacing below them by default for a better look. + #[resolve] + #[ghost] + #[default(Em::new(1.2).into())] + pub spacing: Length, + /// Whether to justify text in its line. /// /// Hyphenation will be enabled for justified paragraphs if the diff --git a/crates/typst/src/model/quote.rs b/crates/typst/src/model/quote.rs index 6f7f07186..c35d895fe 100644 --- a/crates/typst/src/model/quote.rs +++ b/crates/typst/src/model/quote.rs @@ -222,15 +222,14 @@ impl Show for Packed { } impl ShowSet for Packed { - fn show_set(&self, _: StyleChain) -> Styles { - let x = Em::new(1.0).into(); - let above = Em::new(2.4).into(); - let below = Em::new(1.8).into(); + fn show_set(&self, styles: StyleChain) -> Styles { let mut out = Styles::new(); - out.set(PadElem::set_left(x)); - out.set(PadElem::set_right(x)); - out.set(BlockElem::set_above(VElem::block_around(above))); - out.set(BlockElem::set_below(VElem::block_around(below))); + if self.block(styles) { + out.set(PadElem::set_left(Em::new(1.0).into())); + out.set(PadElem::set_right(Em::new(1.0).into())); + out.set(BlockElem::set_above(Smart::Custom(Em::new(2.4).into()))); + out.set(BlockElem::set_below(Smart::Custom(Em::new(1.8).into()))); + } out } } diff --git a/crates/typst/src/model/terms.rs b/crates/typst/src/model/terms.rs index cb88b02df..98fe3ff19 100644 --- a/crates/typst/src/model/terms.rs +++ b/crates/typst/src/model/terms.rs @@ -4,9 +4,7 @@ use crate::foundations::{ cast, elem, scope, Array, Content, NativeElement, Packed, Show, Smart, StyleChain, Styles, }; -use crate::layout::{ - BlockElem, Dir, Em, HElem, Length, Sides, Spacing, StackChild, StackElem, VElem, -}; +use crate::layout::{Dir, Em, HElem, Length, Sides, StackChild, StackElem, VElem}; use crate::model::ParElem; use crate::text::TextElem; use crate::utils::Numeric; @@ -82,10 +80,12 @@ pub struct TermsElem { #[default(Em::new(2.0).into())] pub hanging_indent: Length, - /// The spacing between the items of a wide (non-tight) term list. + /// The spacing between the items of the term list. /// - /// If set to `{auto}`, uses the spacing [below blocks]($block.below). - pub spacing: Smart, + /// If set to `{auto}`, uses paragraph [`leading`]($par.leading) for tight + /// term lists and paragraph [`spacing`]($par.spacing) for wide + /// (non-tight) term lists. + pub spacing: Smart, /// The term list's children. /// @@ -114,12 +114,13 @@ impl Show for Packed { let separator = self.separator(styles); let indent = self.indent(styles); let hanging_indent = self.hanging_indent(styles); - let gutter = if self.tight(styles) { - ParElem::leading_in(styles).into() - } else { - self.spacing(styles) - .unwrap_or_else(|| *BlockElem::below_in(styles).amount()) - }; + let gutter = self.spacing(styles).unwrap_or_else(|| { + if self.tight(styles) { + ParElem::leading_in(styles).into() + } else { + ParElem::spacing_in(styles).into() + } + }); let pad = hanging_indent + indent; let unpad = (!hanging_indent.is_zero()) @@ -143,7 +144,7 @@ impl Show for Packed { } let mut realized = StackElem::new(children) - .with_spacing(Some(gutter)) + .with_spacing(Some(gutter.into())) .pack() .padded(padding); diff --git a/crates/typst/src/realize/mod.rs b/crates/typst/src/realize/mod.rs index caad222a4..005c399be 100644 --- a/crates/typst/src/realize/mod.rs +++ b/crates/typst/src/realize/mod.rs @@ -10,6 +10,8 @@ mod arenas; mod behaviour; mod process; +use once_cell::unsync::Lazy; + pub use self::arenas::Arenas; pub use self::behaviour::{Behave, BehavedBuilder, Behaviour, StyleVec}; pub use self::process::process; @@ -19,7 +21,7 @@ use std::mem; use crate::diag::{bail, SourceResult}; use crate::engine::{Engine, Route}; use crate::foundations::{ - Content, NativeElement, Packed, SequenceElem, StyleChain, StyledElem, Styles, + Content, NativeElement, Packed, SequenceElem, Smart, StyleChain, StyledElem, Styles, }; use crate::introspection::{Locator, SplitLocator, TagElem}; use crate::layout::{ @@ -407,17 +409,31 @@ impl<'a> FlowBuilder<'a> { return true; } + let par_spacing = Lazy::new(|| { + arenas.store(VElem::par_spacing(ParElem::spacing_in(styles).into()).pack()) + }); + if let Some(elem) = content.to_packed::() { - self.0.push(arenas.store(elem.above(styles).pack()), styles); + let above = match elem.above(styles) { + Smart::Auto => *par_spacing, + Smart::Custom(above) => arenas.store(VElem::block_spacing(above).pack()), + }; + + let below = match elem.below(styles) { + Smart::Auto => *par_spacing, + Smart::Custom(below) => arenas.store(VElem::block_spacing(below).pack()), + }; + + self.0.push(above, styles); self.0.push(content, styles); - self.0.push(arenas.store(elem.below(styles).pack()), styles); + self.0.push(below, styles); return true; } if content.is::() { - self.0.push(arenas.store(BlockElem::above_in(styles).pack()), styles); + self.0.push(*par_spacing, styles); self.0.push(content, styles); - self.0.push(arenas.store(BlockElem::below_in(styles).pack()), styles); + self.0.push(*par_spacing, styles); return true; } diff --git a/tests/ref/par-leading-and-block-spacing.png b/tests/ref/par-leading-and-spacing.png similarity index 100% rename from tests/ref/par-leading-and-block-spacing.png rename to tests/ref/par-leading-and-spacing.png diff --git a/tests/ref/query-before-after.png b/tests/ref/query-before-after.png index 33fde9859e91a5c63819f33b4359a6f23a5b0f72..32b59573caaa05221894135e85551138b56b11d4 100644 GIT binary patch delta 28671 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 delta 34784 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 Q_Zfh|)78&qol`;+049krO8@`> diff --git a/tests/ref/quote-cite-format-author-date.png b/tests/ref/quote-cite-format-author-date.png index 43816f8ccbf5bf4ba0dcb0a9a4ca00a789e4ad8f..dd47223f48e260de82a06705bf1b185e2e92b78d 100644 GIT binary patch literal 2169 zcmV-<2!{8GP);ngS-yy0R1_PEy(6MgV{Fg(z}~UM*c%oU8}@?T^xk_h zz4zYp-VXA8XXots?|tkYK42732U7DSpotc>_L=FuNt*or1zIE$X#!_K; zZEdXxQ;CX-YG`PPj*c!XD?`81vw#2oTeog87KIEwo z2O_JRcIeQ-+S;0B^Yrv|aBz@q!Qx3>rbG)Fa#B*#_U+pX z3JRD5N*o;>5m>!?^@k51xFd65AhVKfYA%e19jv^tmFt={YpSZMq|4je`_-#gixw?X z!b_Gc;ktbJauAXFrAwC{J$fXJo;YzLfHK5TUTHpa=8V6;zqGT2C|3gO*RO}X$GLdmOFRuh~(nMi@9FCdiC??&r~K&ngo}D_?x@1oGiwS88fJ#K7HDZ7@hyM zuwfyW>{f`NEbQRHgCP_g;V&}Mg$xhbxpQX*vg=2U8bv!T_V)HP_U+qOhO-!KZAL+4 z%m@rsnxQlH1R64mztYvackf=kdfD3AiVRzUzr%+QA3b_BmH|~vZ|vBytOT#+Aw!06 zFRVvoWF%bS7R;Y}i7Fc#8y1x=-iPMGXb%sMw{PD@L`3ia%$qt8NLP4xIEGI)FMoNl z(90unrJY8G@Ko#oTCmqZ10}Ju2#dW&03}>gQc^yB`lJ{QTf@S_u%~p1LaaHBFJHc7 z%Zm*5;qc+Z7cX91xpHNEd_0nvUD}zR(nFow@t5@$0aW1{fjIksn^LqN{gd+i`E#}u zs9~CPz|yh>va@4!WT+!UUCb6}oU>)imNjb#L5G{08;%Dr(k8@+dhl@N6=z&{u(}^Ve#Dc*p|oiAVj`n?YyhP)XU-h3Cg3K$Fn|7h z+6kr!I;KvY$`zEiZQFM3+BGnhfmC2L?$?PECwO2YHymeNTCl!x;|6O3^MS9P2heOC?n0>DmVjouu#YSq4+9+JJ+Kduh`kK0U=6G! z0AtURuYsyq6-EiaTwPrO1?-?a!J9-D@ER;0Ja_=_9zT9eGQ`>0S-L2D_wIf1;swl= zY#-WSH++ZDyjrma+=2ZUE*fYJ zv@RNG4YUUOPZoSZ<3@?CNt@tk5>GZ)CxPp)3*)fk%bPrZYm2r}($g~?o&Fg#Xb`dZ zgb5QkS|uQouJFi2;>>a5#&K5S;9w(-xYa~7P3yz~@87?FRgLA-r%xwOp4_oxM?!r3 zbdJFW3>ZK>MG!z*s!yLjxaXt4$f6KB5p6>~4kYPPA3l(2A-Z8bNOvfm0RaJkNLq%|GN9yu zkq>&%OzMUs#E~OMa(0XWlEk+NQ(+AV%BcJeKoc2e8x%P)|Vm%g<`aLHf{8#Zjrm@%}-r(!*O_T*~2hhYjuTAL#Av z%ZrhEL_}0V!WSx`q2V<0*Vosdztkfmqq$~f-w=w^SF%GpJ;+&i+n vI$+TOi!K^y4YUSY7Y(!qS{Ds;E0+HOmNqKwSkvQ_00000NkvXXu0mjfdi@3L literal 2208 zcmV;R2w(S!P)<6UD-m&zAx8f-e2advj56`*r-bDf-=K69XxlM@#gmp6fSb#*;B zIM83p%*=e#70QQ)hXC#D?EHN|$HvBvjg4sq=%uBlxVSj@xVpM}bab@6y)BoXo}LyL z7hfy;`1tJa@9*yJ3Vf%grfzO-m`6uPW6K2dhldBD%w&Fk{`vWNVPWC&@)G~jPjYf{ zd3iauIK*&kYfH#CH#gCjY8Mw5ST!{@5t3hj2g2jy4fdh&JO>JjL{0v9GU|`F%uJ$#>Pf_dwaQ*las^g0Yys8&CStqbaZ5%l9DnzJL~T5 z4)g+Ol4EUcEg&F3W`MP|_4W0&nVDH_ZLOD=mt;M*H8nLv!ph33p`k%+nvszKOd%m5 zvalp2C6$$xRaaMonxUa#ettgwQ&Ush+uLJeVrFJ$!o$M}p`D!_%BH5Kb#--QC#1m@ z5aUX7Knu3=4Gs>zy}cDnLqkKYt*xG(o>JM{+ncYSpC5D<^MZnc`uchSG+}6KYs2KV zzVuAkMn^}5JTET~=TadoEDZ7*8yjQW)zu|*KrkvQskjEn>Y1r-$) zX$9zkfdT$M$AwB%J?4~Du>@rNF(M%fF=@*xml$8<2r(gN$p9qOYvKVVfed9)uTj7W zUxLxo(*vU=Tc@X|DHJRThg5TfEiEmwysWRUr=_J)F8uxdS5{Wgq<|pjc+wAZw&N#N zUMS#-Xc1%bfK3^ykN#jZH#cWxWq}%{Nj+G;cZe2Hy$sdMPz}uj%@yzK>-!}W`s=>F zKAsPvPk3+83D5)RzZ>O^7aAI>FQ*}Kb90joHNDX5Hi>@Y=K)O{#2Z9*qn{rY6%`#F z9kdF7_2E}*~#Jw2VP&*ww+ zA~fKe3>uWYKNU1wD4Z#2*%fp%3XRZ{BoqThrjP;fvX zq8St6mzS3(eJGhm;2ZxR822@s&8TpZ`}CX0W&)aBWHs^GLN*W3G;FyGs&z7f=5dKW zx^%n@IOu!O?jeY*Rx4pe)DV>jFj2RJD*Di947pq`pumohN4$x$Ag*CiU0qGwao!~@ z7^0)JwAAbM61mdtV>P0icqgLCC+IqE!2@u%KuliZ8JI>RsivleeWgXkOr{YZ$ZH;t z^|idy@=i@bD`+(Zt)Lb3|1@gB@q?nRX`4`JMk0}ku1Vwn?kEgzIXMW-7vsWO+ud+656L#?3wWnBo z20Od^0KItWO0J6*XEp~Tth|2Xc9voVZjrfiJv04*_BHFwDFPZv?M*VI`FPL-BR){( zr!O@?<3m%}nU<|4nGlJZSR1!%(edSxAH8i@N29Ccr><>m2LuibLcUQWIS$JFU_U^jEty!#KI zkYqUTWbjBw?~Js$BwUtiYwsptab&m1%M!5pyNdW>!=q;;9}WcD$v6vgM0(=`wRI1m zpUR-=7Qwo;HPqZ3?C<}G-`Uw6i}m3|A{`9!H5hE=D}GnkE3S#eXJ-2Sfzi?L;V@m+ zws-G7Fg`dq#56t@OX0}K=)gdNK^9>o9)H7CK7l~X(9p2>(P)f0U%!4UFL!qgj0000#M4&RMp3i9}5Z!424&%T2)(HTU}i( z_-1BiwzjrX_Vo0mEd`ptfB#;DDdgqlefsn%KR^G?n>XlJdiL$xck<*(+MChT z5z*e>t~3CyySqD6=;GpX^X5%&Z*Qzvy>!5U0sZ^;XWAY-c(8u`dYG6$lP6{A5*)h3 ze7t@8*52O!_U+qXdi3bg($Z3_l@&%GP_k*$CIplq$(*X>Bfy4D^{#f!VV4&JlCvQ10qt6jEuZ^@uFDtoH=srCD}fCgHekHw=H|2oO_5=qwrtsQ`t)g$T)A>3�)VgoFeNmX?;-G7xuq z3)9JD*x1-m4hab{B8zV5AQmjfC972#LQqi9q)C%7C~Snk$Ve43407<`!8BymPn$Lk zKAdsm#=#sjW{fmvGFaNQ!jRcUuu!ELb7num3~9w*sTwtE)X0$|M~oODGAsrDPMtb+ z#*7*445*@eW@cv01fS)}lPB{oc8}cLTx^9`(0|?~s)i3A&ZJVs_t01@`u_d}WyuAGG z-Mb84S!-5S7W*kxqLAGj=Jo5>)kl^6VgLU9M~)m>w{BfgQ4x}CyYT6r(nFco@t64) z0aW1{fjH}cmqOZ){sLXSdX*&wYHUq9VEMizE})JKb!4c?Xo1E#TfKVqH#H&XxOeX! zjt3vo9>j=x@Nm1vjp~bsxzO1~_ucuR| zPTjh73s(WKz8DJs7tlSt7k;;8oHm>a30q9*a27WR4^JH4~nxx~c8vuDrZ zoNnB>kthKFiMZ?BxpO#7h9M;p3K|G2{QdoLZ};rkg8|0H#T`3#3|q$MBY-BDRIel4 zzy(CP;^0k#+RmLjDKqQLA90;{t60E+0|zMJ$Ww-o&fwr+W;Z@Q9#0O3(qxXZ7&d@X zSiE>KSQBuQURb(xDSU!yf{yv~=ko;Rty{N7M@NIHG^Bt<<9;1Hc#r`Tx#2kD(t`Dg z6DOD(Oiz|S4V6XXK7*!2aYCfDBq9Y(LPW~U8NMA>Eb%0mN?1tWQd3ji+}sFryu7?{ z!%b=H08qhB27?8G1>mZEaQX7(JTX!~Kfg{}2j)!Z6%Y_0XaWiaAdsLLTCiXNPY(|d z$wP@4ISTbXQ12xlLcl5EKKUl>SAb>~(I#c4kjVpRmJV+r)HWrc=`PksmX5&y2YC}DJ4~M7O(F~I8Z2UBVz9eQmoAYE*|B4X zR6%?9?!9*H8kQ^BKD1%o*gF=@rZUCJnR(T9XD^1Ff&^8ZR-DZp*~3M6fu5c!A%fkTc0MXU=dsp*Wn#aF&MK zZjzTA+uGWFd;@>~!!k3wsHC(;exZk=%*_7`3y=QG)k87)C8uQ1`pv@6Kh)95EiOLE zu*%lXAs{f~m&w2S`UO*~_^7qEvCk_gL zXlrXrTtn`k;FI_TwF3tZ{JDcLMq+W2DpRIRkyae75y}!VmUIx2mr~fbZ(o|onjpRv z=Ac1?OyGVr{f;=1MtP%x+PLn znD+Sb;|-f*$Xp;{_0W)&0f*~I&So4>) zk8+ZHwA#IUH-`gMAq>9k8*EL?2L}--MMz3^F!0E+*#hmX_9{ zq7uH1{4z4Kl9G~ZYU*I7@-fOU6h0jInVH#?VOCUBm6cUcmS0|80kwsNMU>0SE7Q_4 zD3p|x!pzCZeNEuF5RW(lTybK3=zv8>hMF|c8fXo)CJnR(T9XF4x9DHErp{vCyegjn O0000raOgB9$cSWpBNEB0Q& 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 delta 1061 zcmV+=1ls%F7X22G7Y<1X0ssI2c_4L-000X_u_aXpe;`#waU8(6@PUNRA}%ie8KgG| zPU7O?`oy6eirU(OipIvWGEuXkm)T%Y4R3SFEea_tlV}JXBB7`^2uUsV!4sDUy_R_0 z9{D>wF8AGg?z!iF&+q)s@B2N!YSk6#2IX>@jJ341#1!lw%3nZJky0+s7!djJUIfx3 zW)H7Le+DpwrjZZN6=>i5yr!^)x*}h1Z?8RRrcs-41Q)ZrP$;ywx5JTbLWd37((dZ& zB3ES&jZ2jWQtKIfIS{GUz_Q&=Dj{W1OHu`x_V@QwsqB37vxXmWw}m(`FyJjcJv}Qc zD?>v=AY%$9hxWN9?3~HFs~eiNi99+w+S%Eue|15jNf3;K?8&==aawre=F8=~b^ZnoULG}|VF$l|F zFC3aV8bAjHkMjQky}SG6b9FcSZEe51bottqt24D1k4+wbwfV-$ufGQmE7xb{7jE8q zx$)ZH^%t9Ut5x@pdwX9GF3|6HKE2)A$$sZATzvdwJ)N&T+nl>`+sV<%Q;v0ifAb5A z<;8nX*EUX^JniqDyZ7r>+uGi7gmn(-2F+V!$=GzaPbfaa^s*d><>h63PdF^X6W0@1 zTogMadk9XZ0pOe{C9)&d6fz4;X)@|)Pz6zk#ER8Nt2t2crY^#B;L0YzSyBj}B`k=( z?XRbFoRN_c@q-~rDK+>@MkzsWe%$K_i%I^NA|z04}2umL9Eew=sPDlspD8Gl^iiCJX1KouWcQ6k^?hr z-tysNb$WUR$`lOz5G@=Y9!|FiRY*UG38$nen4*__2Lz)3^ zV}8hT$3kgd>O+5gyfiyIckb+&*49D}%&^&+q?{&lQllE=+$l3orlzJy9}!3YES9f^ zXEI94N%?{iM+aev5Zd&9;6opXcIp@jm&zJMd9E{IDPP!%s0RAI6<}rl+<6epipP)_9=$mFin%CKq;ts5Yjl?( zuA|_pyKu!_WzAXiVMwyaPM~nY@+dUXggs<`9|2~vy0_rS&IdaFYtI4{TxT?P{lvs+ z*vA%}ETJdUP1yVeSOV;`@6ab$c+u2()DEjJ0FDEuE%;-Z_IXosFG=@1icEz9v=kWu z;N%6SZpG6f{0=MbbQEq> zHU_!iY<%*u;j*_h{C^{fZ5?y|t$yO+nYD4>z+IwHi%;ND`S)x$+}?b1`IFv6e!N~< zK)<-!0;n4^{}zm?63q4AHYdxAD?IUkjXMezI}wyTFvM_lSslv{>40E##F5=cka;T5 ze7=O>O%K2+RWcb_5;i0BAJI~X;Q*ixIm5YrLe}p^QhANTs~&(WPO*fbpS6Oa4dm}J zc^YWv1C6M8W4BHfjH|&8UZ8`N(ow}*OsgNU&@sJ=Dc?&a}5A&bvFM`!Vmjl&-M?z)HdyEr&>_}0000< KMNUMnLSTY=ps{KI delta 893 zcmV-@1A_d%2ge7H7Y;@U00000B7YCl000AyktIZbL#YjvRwnCcMhnQHEp4IwiZS-0 zH+C6q-SU1fpXcIp@jm&zJMd9E1XzFt_$h|vgSb=I^wc)MZ|iZ^91B#w*aNt>h_eaF z+50ZH;jr+C@GqZK;7pMK*j@r$YbnKE|#jsRb-AZy;-)7C_4q9vguv}8v$ECVbJ6D>rN`HQrwBtY6E9$>;8#W}} z_E$0IXYDv|e4jBVyb{E3kpw?vFEL7jr(4P>FaB{SQVRgYj~Uy$3b`mzq;km4D|D71 zts(EKyKvcEWz|{qA;>aEPM~nY@(47Mggj(_AAV*sI=A5P_6IutZO;PaU1vCY{lvs+ z*!MS_D5ERgP1yVySp4j>Z_y)Kc;3{0)DEl90geNvE%?JR?X#xDZW8Xd6`1lxXelrP zz{v|t-HN46`g_$3@B-brruraizM}u^#eqXsawqwvgP9RCEthD+Yi@ZSx^x3tX(Tm8htGi&3%fjcC@7N5Yw@^9I0xV7=-@<-kAe1E+- zk6vk|1yI+g|0x<##hGirZcLOHmU-fT8@J^vb|NZzV2I-AvO1dYQUTHMkR!8)0P~c; z`Fs(9n;w9ZD#pghkg*x2|A3}^37D46109VobqcNUiAQ6c8VoLy{zR8Y#@J! z$Y5^8t0Ty5Z7GMDu;Qu>pxBCWe8Xhzr z15_^OhV1%5Pr`QpsxLQRWhNyXmkM=to`hLpmEBvg*yVh2derLi$MrG*>VY)?8=#y3 zz#H)0QN)P>Sz5+V!tEpb`@8~V?}C(@K>ss=4)!eZ=CUf$D{$=bxV?vB!e5Kl009RN z?+-pw>lJw8*BeG{$EXoN7N(S;ReEi?O8=ousjts_cQV%iz*b`uei8yKz@F_d?9pP>730AT!e}D`yurgrjnyK_-LO(F20+X^fqCiNqB(tCX zQ*m}Yc)c0?o1 ze|-yTZqdx$4A1IG8-z5yPBl+Pr@UY&EV#(+P|6GJ30bAK6p(BLNEVeKs*^LSrBn*i zYOzCE2^`xePio7+BnH-1KC7}?DXgNzptk1NRpnqzcwji3m(&@-EK*e1kn72yDxv?Q z^)k?JKL%WH{eif1rf5{#XPW}eRmE@Zf75!1hoy^cml-Ob1l945-NqZewpjCs>x}Y> z>i6dsWJ8`w51eevxwiD#o953=H+ntcXnn>oNzUbgKlCk-;({ne&(2Zp^`}GWcanY| z9Q2do?7BZg0w_P+<7b+#09Vyx>BVvDC0_HuVGk+J=l&IXf@$J|EyfJthAGLSe`v-4 zv(^O}k}J$>Cbh%nsj8{XE)ZXn{G1yP!hxj7jI5f9n?| zA9>C{`b7i|?ps=Yub+3-$bJzueNtAGA>0^r3MD}Yxa zfO{u*g-(?{f&W)`d)_9Nz3+xJ-38Jl=M2b_N^q+HXZO3X_Q$94^B>56;hXzdi7k;F z2g~}s+?0Z}LDm{9I-J>rUNW;y)g%EMc_3&$8ZA&G?Hl4xKPoGAMmm?l<}6bB9^N_K@O z6p`j5b&xH4#Ps=c*3?sWdeeH_Qj^{}?Z| z?)64BF@XC|7eDyk2M-mWUdtVp6a%dJiaTwq4 delta 891 zcmV->1BCqT3-b$*7YZ^60{{R3pn31=u_1E;e@aP2K~#9!?bPj8lXV=&@%J{yV$tlFOr@I%-C#-uCS`3zfskfNX1D%R zafSy^J=n1WM}2U;p8d}GoZtJ|7m-LLS_Op`JO7g7B1Q6;g8$ICNvlo^psnL}M8ZwI zfAd;y(aqir&lpJ=V2RP7nIo-J9x&zRT;z7Bl{vP!qC#H?$Tk8b@(PgDDjCsJC^hHoC1=dwOtFc#|YC+PFS zK_5xZuKP16fcnEdKBnmOb5%QX>J0g>65BhvQTeRnZ{vdO zBlr17zX-#@eT%E_jdRXw#V?Y^Pm1!=gc|}5p&(!fr>$N|dB6~`DFsbdpjHtqhC;z9 zSQ@>ct|<`=fhu*g5z3DCe7Qj|e`EK8z1UkMm;)}U&tie~PV3@on><6-6_~t%VVoNx~ z&ayraHzipTFMx3sl&iMalh^Ph90qSPlUBW2L1py}Alv-N($Twsl4ZwtmMU57gAm02d{1 zmz`yIZ@h3v`?z|4%MoXIGt1!@S03Kdl{-rR30XJ)[In a hole in the ground there lived a hobbit.] -#set text(0pt) +#show bibliography: none #bibliography("/assets/bib/works.bib") --- quote-cite-format-label-or-numeric --- @@ -38,7 +38,7 @@ And I quote: #quote(attribution: [René Descartes])[cogito, ergo sum]. #set quote(block: true) #quote(attribution: )[In a hole in the ground there lived a hobbit.] -#set text(0pt) +#show bibliography: none #bibliography("/assets/bib/works.bib", style: "ieee") --- quote-cite-format-note --- @@ -47,7 +47,7 @@ And I quote: #quote(attribution: [René Descartes])[cogito, ergo sum]. #set quote(block: true) #quote(attribution: )[In a hole in the ground there lived a hobbit.] -#set text(0pt) +#show bibliography: none #bibliography("/assets/bib/works.bib", style: "chicago-notes") --- quote-cite-format-author-date --- @@ -56,7 +56,7 @@ And I quote: #quote(attribution: [René Descartes])[cogito, ergo sum]. #set quote(block: true) #quote(attribution: )[In a hole in the ground there lived a hobbit.] -#set text(0pt) +#show bibliography: none #bibliography("/assets/bib/works.bib", style: "apa") --- quote-nesting --- diff --git a/tests/suite/styling/set.typ b/tests/suite/styling/set.typ index a31cd1650..ca0809776 100644 --- a/tests/suite/styling/set.typ +++ b/tests/suite/styling/set.typ @@ -21,7 +21,7 @@ Hello *#x* --- set-text-override --- // Test that that block spacing and text style are respected from // the outside, but the more specific fill is respected. -#set block(spacing: 4pt) +#set par(spacing: 4pt) #set text(style: "italic", fill: eastern) #let x = [And the forest #parbreak() lay silent!] #text(fill: forest, x)