From ae4accc071aa811817dd27e906f7a20d00f23949 Mon Sep 17 00:00:00 2001 From: Pg Biel <9021226+PgBiel@users.noreply.github.com> Date: Wed, 26 Apr 2023 05:03:34 -0300 Subject: [PATCH] Fix alignment of list markers & enum numbers (#988) --- library/src/layout/enum.rs | 3 ++- library/src/layout/list.rs | 6 +++++- tests/ref/layout/enum.png | Bin 11247 -> 16078 bytes tests/ref/layout/list.png | Bin 19085 -> 20981 bytes tests/typ/layout/enum.typ | 8 ++++++++ tests/typ/layout/list.typ | 6 ++++++ 6 files changed, 21 insertions(+), 2 deletions(-) diff --git a/library/src/layout/enum.rs b/library/src/layout/enum.rs index 76942c27f..8814aba38 100644 --- a/library/src/layout/enum.rs +++ b/library/src/layout/enum.rs @@ -194,7 +194,8 @@ impl Layout for EnumElem { }; cells.push(Content::empty()); - cells.push(resolved); + // avoid '#set align' interference with the enum + cells.push(resolved.aligned(Align::LEFT_TOP.into())); cells.push(Content::empty()); cells.push(item.body().styled(Self::set_parents(Parent(number)))); number = number.saturating_add(1); diff --git a/library/src/layout/list.rs b/library/src/layout/list.rs index c8aeaa069..75228d955 100644 --- a/library/src/layout/list.rs +++ b/library/src/layout/list.rs @@ -129,7 +129,11 @@ impl Layout for ListElem { }; let depth = self.depth(styles); - let marker = self.marker(styles).resolve(vt, depth)?; + let marker = self + .marker(styles) + .resolve(vt, depth)? + // avoid '#set align' interference with the list + .aligned(Align::LEFT_TOP.into()); let mut cells = vec![]; for item in self.children() { diff --git a/tests/ref/layout/enum.png b/tests/ref/layout/enum.png index a03093915c8b565fa08e2c845d74bf2b26aea9c1..fb2c2a636b59b6900054a4b236ebfd7825c40941 100644 GIT binary patch literal 16078 zcmajGbzD@>+Xj4gsij%EVL|DV?pR8sk?!u24uJ)hloBMQ5dmpL=~_UP2Bnln=?>|7 z{r=*4e(}8T`}xctbMBdQK4)g`xz2T8XYM#H4P|^BY8(In@Kqiw=l}o+9RSd!A%6@2 zZ7Y2%07$2+D9Gss%51pbs z#G?M!n+(i2#s;C6DM*uGF1h$rPrH|lFxX2Zq@Fj;wv$5n0sp|%U1sLS^_Sd}(Ho(H zlg_c>YYFdlC`bB}5}k5gj;Vq~1Fon-BGL%B76eBQ#)kf%7aVl((&SqOydZWcm(1S8 zxpqirk*kr5nuJx#I`k&m>bvt-ZuY&T948QF!+yBjtkU>_GjE&KcOxf4zGZRDhMl-S zw*JNEmD+@OxGzTmm6lpCc)YFgLV^5jlMg5FRM>a?^V$Yr*XQ~Vf18JF2n;CsgBWMr|j?|+TWBg5(MW5%rJI8Z+R{N z!Op~XG5=$t$$|j=@gO(DN_g%y-b&f$>r1o!^=wL9VESkFv^1Ucev(zUCUlrYjExY@ zgAkK;wWACYek?kiMkV{sXB`_ZH+3El7;Ut2>SjN;`f-h&|bze zIw8t0Pfli8!ZM;AgOo(Jf=gKh7xYjev-$4O1OL zF)j?q5PA&cJ<1(0EguNx$rZ{G*D@{|y5D}nxmJMP6olrf;GRP+`v|_c6B*JG=4M92 z6F-F_wUK)H4fi{f(2JD$(HI;e2pT{mmgWE{`W7^oVIdqSrSzR(m^jcivrI72vulK& zLjeIt*c=x}I6#zFiGe4~T$#!r6SOV{#!y#T@kE#wF_WDRm17|hmS6?dlMN#KcuBv( z29$mIS6EZXcqnhW>ND4v&b2$$T-q$xs z%GQ-!DDz$CKyq?iAKlu1O$n@D_fluNxW2l+zNU}9t~qCSib*cGFTQ!sQg9*B zoh~67)5qAl&m*@gCf#)*D(!Vl_k!^!u3Xaw?#Rbjl?=SvjVRcg73yT)f~n;eFOc;o zHuLY=D~4B=E+tBbt|4M}sZMNm66_9O4DK}cbmcr#;M}FXu3bn)a;N>UY8ayEJKZhy z{^J{q7KQ+VZsX%j4!OgMVMuc+JOxq(tnj3yzM`$=ReP+#coIC(=I_n;h&C2Ka#i3p zV4K@v7;qQdG(YG6ZCS&M3616D`5A7MLMcuY#Qm$0G_;vU-J zGRh63e~#r6eW;JRn(=zCO=3z9Q5l!4F} zOT;+wA2-1{_UU`P<16DWDBLII zJ|DyO+Tm#hqZk8YO%1)$fmP_~W6Sno^!iT<%M&cJ@wxb&XzVq!TH`rGTFqP;@&~%# znQX+kMZhuxL+K>2uFo<$KfCr`;Z%O&coJWq!5uuddiY~jLQH0Gz@1@-c5n3k+~~j==If`W1#4N=X}uA1 zxOB7>rBOe`fAA_UbpVhHXCgO&&szK|1Uc6Pom+7*X{OLhR|I1<|8k+$f^s2 zRZ3uic?h?%>%gy;Du*qHLB6{%D|`*F$z}>NvdIT;>tS#2Cf>|F!ZT)#?%l#%@Oiae z)vnrU0KM-T>q3jplKfN{6ApMIpFWiDzr5zCnZzq`h4m18=ONJMnA>h|c5R_&YfrTD zAOIUOWf<_IpU;X@-U!*@lAX!c9hT}Y3H|IdBMa5lO0)vzkQNW+9p`8+1~xS=A?^+Q zAmRnuv$eEei~INnGuJ6sL%Lr)8AEf_@AT%pQF3$mUjf;1pGTupQ&V>4d@Z0xkk~#? z%8t9hm;mcihcSi03|1}~G#yvYK@jgdiv|soTKmPvTgD5cB*Qp(n98v)T$_Jduz*y=giCHUDl%;v|?McjhEP6S@X}A zjXH8RY9xv6G}hp;B*G~A6{pzoknZm__A+l}z4idnhlCM!HjG_cOqNNKXOsuOBASEM z4nRKF=zp60(9D0bS?aH;bw7+ygcwRAjhE0!JLJ~j&0Oo?J8SRD%-&88b%898)#bWn ziI!FNh$cyF)66u>vU&8kIluir=FJ?QZV-i%d_frJ0q#`z?f9h3;|-~>RcdvxWMAAd zH0z=MQ6CKjy+?HR)t^x$fZly0@r$28F<4vmU&@S{@++`~&Zw%ZDSytSC8)K92vUKX zV{^zDX^DihXm)^rcs`4Kw0Gx5k9xFM&}I7|rVKXU4o5%q&ZXmbS8($cvD>vh*adEo zxWC?7JnCsf6qw?Wz8=P8IFj&udY7k@_dMc|;Th>WAzG9Kc4J(k)=)+2oiAcb$Om7T z(zPH+EdkA^gWADs;GLBuGB+Z>A^eTsL21MijX%n47o#p^w9o_>*d;ST?DY`hsAGb; zjIiT=ioBc2lL%BWG^@0QH2Zln)FJEV%6ObPD>N-^Cq9c)9o88AsxFm> zpGm4t|8+Z~RA2C|d>MF3FZ2UC zTD>0S!~nCF#{9#w?nS+vpEikGI_1X8wKTD-Ttimm6J@&VCVHT3t~rBw-jt-b>l{zM zNy0x@$$R+L23Ty}+iRIqL`gh!q6ck$D~2O+wTN0^gghRPr}jGWTBUYwtoy$|u+I~f zSD97bG={;0H0x?Oz8wV{?C#rqOP$nDOCoUm^y88BGMFO&jGtL>Z|X;t0H4n0@+-$6 z=G_M}UHXrelp$pFl)qE+u~noH>~O*&Yc53F4HF$9^x7y#IQq}cO6iic@ohCgp& zu^#4()B3$@b{)R&{p^L-duXI!;$bKj!gj;<2^pI`8epTqk_+VlLflaVulw!ZQ__`> z9sz}c$il#H0f7&yh&b5?Y6}9+Gj$6cha{{A8zv$Z=Jqi7zDtT0?gaFQRxciwyS_RD z92r((lM8Cc6q^r%3R3+pF7{?$qLT*f9iI{q{yv)9O2^9dt2Xq*T%OmIOW6;~+|X(I z_P5we3-S-1^1n-hn8%H|oFFq>s&PX$3%T#txUfG}aIhLEQ1@`s(G!3?^6t#@P2?}R zFN?akLbv1Oqfx?GvmQr@8_Rv45fk=r++rUTRz|ln+=IR{(b*`W6x`*mW}LKuv{r<$ z=M*=`TKRIwLehAsmDqOoF>b2WF(5O{j7Mt1z$Z+pDj_hUnG#^KVcbuC&L;jab4eZJ zal$t=R7YWsybwZ5C!&sr0#+G$!Bk@s!!hE8SgsMs&5nhlrp$3aw}-q!W>~`wV+cOy zG1fJ?$~e+K_+9X5%Z-6?ji%C0Dp4@1?wyip3uM!zQ(zs`6}v!Waf1GUIvFw9L=fqA z>T~QOl9L^oCQ10xODbi;m9t79QT~2_c0BCuLuATq85;xWq!ojRa~d_S--r9_Q;_z` zy&0pX+zDa$Qc2jOh^GzXv8t7;8jbNL*~XNxdPO2KrjJ;ueZ-D@bpckcGd}yfuP4gP zBiG4gW9Rh~4viLAYmt1@3bowGO777UYb4l7J3*_G1fXPUUm^lFZ7R5tZ6jdB6feBc zJ;xd;JoSx3cGHFw3y_ILSBE_pAZ}iyuqJ%k+VWFyyn)Q~>GxhfDzHI9D~eW(?r{qi z{x#TPRjHYY0#w=OFRKKeixSve6nQd*3D-zhqLc6wq`{S1!_QCmugR-Rnxw0B@=Hhv z8>-P(=$h(xIX(2ZO%8Tq7-DG8OdjpO9BJMc+t*AZe{cKxd7UkBYp8YI%=W=kwr%@X zpD!Zo^_S1o86V94p$yVQXQN+Fs$3eAGzc2waOvnM>@Dhi>n*UGcB^iU8hI&jBw5rJ zjUK!N_tQAbvD{!2q1)_WQNIwP=)VtK-Oi2VDR<5woM6HvF#`jFUt6EY@5 z4;{APc+%`bY~^QCSZgFb=C5rI)UEOQDi%YSThV?g2#!(kZ0MvWm6ec!WJ9R|Tf1)HRxBIS0%lUQ+QxScwh4xa;wx${47DW7OU5J3sm&xOIA)4c`4zt zb)u)|6i>wB%^VZnH#c|Q%I5CR6;6tm!AJ%P1;P33Y^4HvKz#>|WdTwBlh~&Y%oJr0 z{cJ*};~u=k*V(_EZDI6$v1>_ANe_eoPrL+v^||roK`vgT&66cjn^RitI!ckP!ZHu7 z(15}+Dqx=Y9_)F=5PW_>>`RGycC%7BPGlRYAm8;THp%W0B-3POkAJK_CQ1}Ts){9` zHp~!7Dy;Bw+Hz7+kkk!Bn;ZuYjmV!`AX}>)WKbZ$o*~?Ot~_Bz@3Wzs{Cu(Z1gpJt zVNwgQR8gW)cG6S1hC?TmGSVcK}t~7>WM>u9B->IIsD4^rZuK`0` zvvvNLvj)Lk{CQhZErMlMhuVFdJya^(ohB_7luOOt@z>>Yn<87Vp3_opwX$E>=1UuI z^BbW>^^<#knUmcJ7sTW6_4?e7eRG7Ccj#HUie+brzy2>)%f>}LLjepz996;@&ysf^ zH;L!DJQoFk7yt*5z`q+Vk_Dcym%P$>aw}w((?Ex0 z{M$`%q6ngYt0KeVJ=sKLJjRIP>}7fu_^o#YF>oJbokCvtH%hd{x}gM99jBR*HR`T| zEW!m&b}dG?Esg(t#G?`i=v;~u>}Xf{dnzW8Csy3{`*N1AyUK_3f*O}3&6YgGmvrLMXONh0FChALIY zpNxh$s0gs;(RqYw=x5Kr(Bm>Yp-PjkQ8)?D>#MhS0m@0qi75UdeWGjo!AEhe(TaxXa=66R%b zkehby9c^j8_C)d=GIz57d>_hWZqj#>I;7OX!fRrWMDJOkAUVHuk9e~0 z&UD}|V(!E}?R8~aSLkzI1}4vpu6_}O;Qev3|BfR_@xZ-gae?;3hnE!{dmwUt{+?})aFM-}%aX_4P4qUd5$VrNg9_~}zA16;=&$*a8Q<3uvf=}Ko7tY3r^;~RVfts&0&L=l$ zVWna3E7}4^p{aMj9V@>`Za@%QXgN7!QegR4$&9}z{qtRrBq}L}Ti%ZiGi5W9DppW_ zLKvQUCv_=BP-5J$fD`93V{JZ@5ta`EAyaK(i-emM+ZPY=-HT~%(<7qr5>OAz=pz@@ zP<;&W0oQqC9Dxm*vP^ptHno7&PvoPQhH6SqazyC=G7JAQ9mtMFtn-7oEAJ)HK^Jhg zFH^@#hD${Q3uXF|b6&(DCgkewq&I?QX+HoiPOD3K550Rz`QfZG{Ld?r0@C+%xKy-O z&j#K|uJCHL8+}G6GULJib9;B!DWMos0#;UOBib-sTvS40%EecqYgT5{u{rwXTUEpU z?~vk*6H@ffx48~S;LcUZ@?xUNOaJ#NN6;jO6RB2Tie&$y44r}tkn&Es z0l5wA7jt_}y3Xx@xfB^D>Xd@#FUtc8^>#lPf81_M`6a-0ki3?V#8z}uTzF7y!y-WD^JB6(N&+UKPw+DcyZTvd3|a(?%RKPv5v;& z5P*(&<;82g2yP&rDOzQcXCBvxvC{Vmj~0}Au~vm%)G>lKe68f+hLa&6-Lr>fSuqYg zW-?iUHjmP8<{GcYv3(*#wI^4IvhyGA|N88D%$@dSvRM_aOF*voSQQh$pqAt0u*Ko@SfK z$!&V5pNs8N3glHej>5)m(idkvY)_pc+w~g%m)ff73PCgd!zQ)DEbu6Qkokcl)GA$E zP05W^tUy#+B3_T>51 zDF;$niHWk8lxFkBs2;4(;dX6$GT!?eL9LI4pHWI2pTafahuW3PB2rRNyvXq<>{I=; z;l&klqmVC?StQcR$rsXOu)C*v$1@7OjG}BMN|s5M92d@`khXL*K#WPDuMCE2ylVYm zMMSJTN##{gm0pXJl66j!RU{7+vhXj|Q$%T-t=88ZK~@;48uWqRqS?`WB#y