From 277f02158946872de1c363ce0206fc3f1544c89f Mon Sep 17 00:00:00 2001 From: Joshua Lucas Date: Fri, 19 Sep 2025 16:20:17 -0500 Subject: [PATCH] - Debug CrossRef. - Miscellaneous improvements. --- Manual.cls | 16 +-- commonincludes.def | 2 - graphics/Prime-Controls-dark.pdf | Bin 0 -> 5786 bytes graphics/Prime-Controls-nofont-dark.svg | 176 ++++++++++++++++++++++++ graphics/prime-heartbeat-dark.pdf | Bin 0 -> 1216 bytes graphics/prime-heartbeat-dark.svg | 83 +++++++++++ graphics/prime-rule-dark.pdf | Bin 0 -> 3834 bytes graphics/prime-rule-dark.svg | 145 +++++++++++++++++++ packages/CrossRef.sty | 57 +++++--- packages/DocProperties.sty | 4 +- packages/Header.sty | 8 +- packages/TitlePage.sty | 20 ++- packages/Titles.sty | 4 +- 13 files changed, 476 insertions(+), 39 deletions(-) create mode 100644 graphics/Prime-Controls-dark.pdf create mode 100644 graphics/Prime-Controls-nofont-dark.svg create mode 100644 graphics/prime-heartbeat-dark.pdf create mode 100644 graphics/prime-heartbeat-dark.svg create mode 100644 graphics/prime-rule-dark.pdf create mode 100644 graphics/prime-rule-dark.svg diff --git a/Manual.cls b/Manual.cls index a93b79a..5612222 100644 --- a/Manual.cls +++ b/Manual.cls @@ -4,14 +4,13 @@ published by Prime Controls. } -% Option 'electronic': single side printing. +% Option 'electronic': single side printing, among other things. \bool_new:N \g_electronic_bool \bool_gset_false:N \g_electronic_bool \DeclareOption{electronic}{ \bool_gset_true:N \g_electronic_bool } - \NewExpandableDocumentCommand{\IsElectronic}{}{\g_electronic_bool} % Option 'admin': turn on admin manual sections. @@ -21,17 +20,16 @@ \DeclareOption{admin}{ \bool_gset_true:N \g_admin_bool } - \NewExpandableDocumentCommand{\IsAdminManual}{}{\g_admin_bool} -% Option 'darkmode': render as light text on dark background. +% Option 'darkmode': render as light text on dark background. Only applies if +% electronic mode is also on. \bool_new:N \g_dark_mode_bool \bool_gset_false:N \g_dark_mode_bool \DeclareOption{darkmode}{ - \bool_gset_true:N \g_dark_mode_bool + \bool_gset:Nn \g_dark_mode_bool {\g_electronic_bool} } - \NewExpandableDocumentCommand{\IsDarkMode}{}{\g_dark_mode_bool} % Option 'draft': same as base book class, but with bigger overfull boxes. @@ -42,17 +40,16 @@ \bool_gset_true:N \g_draft_bool \overfullrule = 1in } - \NewExpandableDocumentCommand{\IsDraft}{}{\g_draft_bool} -% Option 'roman': render Part numbers as Roman numerals. +% Option 'roman': render Part numbers and print-format front matter page numbers +% as Roman numerals. \bool_new:N \g_roman_bool \bool_gset_false:N \g_roman_bool \DeclareOption{roman}{ \bool_gset_true:N \g_roman_bool } - \NewExpandableDocumentCommand{\DoRomanNumerals}{}{\g_roman_bool} % Option 'labels': show Part and Chapter labels in the header. @@ -62,7 +59,6 @@ \DeclareOption{labels}{ \bool_gset_true:N \g_label_bool } - \NewExpandableDocumentCommand{\ShowLabels}{}{\g_label_bool} \DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}} diff --git a/commonincludes.def b/commonincludes.def index 062db0e..2d8877d 100644 --- a/commonincludes.def +++ b/commonincludes.def @@ -35,8 +35,6 @@ \RequirePackage{hyperref} -%\RequirePackage{ifthen} - \RequirePackage{lua-widow-control} % Index formatting. diff --git a/graphics/Prime-Controls-dark.pdf b/graphics/Prime-Controls-dark.pdf new file mode 100644 index 0000000000000000000000000000000000000000..870db8ee14ba33bcb77a7264dc3e76167b2c74b4 GIT binary patch literal 5786 zcmaiYc|4Te8+VdzFxi)qMv+j=#>@!Wm$8dv31f_%8D^9vB>TS0zGaDIX(1xUPC}M! z3E7E~m~8cqp6B`fp5Oca@t)6p?(4q3=bURh*Zt2|#6VU3DnwEmAo6mf@&Et_fkAj% zXMmg>NJb%RsYQIGI?;-H$@`GGxK)Shk1bwfLPwms_fxC*{)Zz0k_`x@;R_X4EAGSv#AXgaD;-0l>z>T&6wehCN1l}2;gL(LvbmEMbr*J? z*;IRPmPw<`q3%iQi~gw^cpRi`Y;U<`MkTC5#F8BvI5&n9a_d~SR~2|f0&@Uuc49pY zUPN4_NL*hXul)2};^hb5VTdAH^DB$vg*b^i@6J6-XM^e-F>-EV=G#Hu7wKs6a zC)DbI+D!S(?o_t5&b~)c$V^1?#%?rCv!J>}>8aE>(Tk!v_n;gbX` z;jD#*v|FA7MwHrq*nT7bYjBD%p^Qm@zX48Mv^-^Z27ckRX_%pWQ{A>E%If9Dl|-X@ zbbz`pTBR!>gjEkZRQJj(+bwfE$>BitGSX@+;iUMlk5BG=A?I~AL$HvNeH-E)TP`M*R*tT6i`iicVKyS! z6-=iM!h#uK{P#A&eptDrWoRi882asXpuYhBKK$0=5^lkyB-P^nyZS|Y`u#M>C5LO{ zzRR&S=Ul%Y25)u$R zsd3LRFtXVA8slI6fN(|sOqj&QbA8w#LcXnT+USvLD6fd|XGG_xB3oSvm$7+reetsP z_%fnjfvA=;Iqq}h{cLm0=y$57h~`{M3GaF@E3|Nb4!P7Lkuwdt%agP+jh z4YR<2n(40hvwG#9vrPH>cj{-BzI3pJ)}-veShk(c?66>ET8OQQt)cuPBX60jm&(RO zbygudtws~Vi(>LvkfBk0$fqu}%W{0*&fhFL$U$_f1iCDT^YAbjB=WC$6u#Trjt;vH zyiD_(hGKtFpq0a`JB?9PxUxMbtIf2X=GT(1pJ)20Szd%8apQ5{pamSa&f;YvJQcx} z%`Bl^sj72}Ryw!m>?*U+4ddo?BrNLrTKe!Q`+8(l(|N5y@I%EN!SPe61zQ7;C4vZ- z9T>!F>Un}1ghp)^pBUNG)9XC8WB28}FcA4Ob_eJJw`qq5O%SpJhmWG(36I(p&la0$ z+YFyd=q0tv1FUp4>HJBNsYSoJ9;GNjn0pj!0yHJ zNs>7M$@JD92gUb01{ds%J=1PPjoK9yCI!u_qzgr-JHPupSbjOhKwiyZaxoK0Qw$1_ zbaqkX3A(wN(eyx_GhkL}Wrk@hMVu{M&wR~R(~k|7_KpTjUSfk4j`KPXlbQ50IUwqt z$%@z%!1XhNeEW|qyUc`_?hK<9N4_TYO+Ms!I@Fkva6u>Z4Z_+WLR2chgDtkFaePa%D`LsbU5ckjBzm65T!SkyV{xjiHvtJ6W&GM6Qm>@L7PITeaLSn)ZH6#oogiKMN34QmOLr(%#%Uen-&s1 zD`-dG(e1110&aJF5DxTob5^SKG`TKKXaKgs@n@Zu2HOjM3nwnP3xB5(_2MbU6;OjV?OA*5dnJhZ#Wh<2>M@1H3F;y2>ODx zf<{etfPnQIvbj*saix!Ljdq~hUn(+?<L0lUb6?rQ1}aaOI)Twz$uEn}%M% zw%=7{&uJXfql8uk8qnRkQr}l++7C;(&`qDT@xS z#Ng&vJr#PZUa-u&a`&42B=GYl`nn6tf$Lt8e7TCxASgf zo8ve^0(W?S7}Z87)+%*?T^_UzcR}R(8?AUA%&jn4az0;hOBRTu1HX6rJnTlEGj^0M z8$f)bO%q@5RE2nPK{D_5%pi>vg(H->qRD!6@Njd)M)KrXaBxC! zulQV1|K*GMrotbMe`KPit$TnpsD1p$khQxuG|Z+y3Cw!WfGW)0dTZCr@MEq8`;XzI zJoPy7=90kEdIP+=U(@mtqPoKOO;mI?FR=xau*OPq4X3T0(2T7=%t@A*25}O3B>HpH zQBF*LoXx>CDEhO`=2?v!V;h^AMDt_U0i9^_mbdwYKT!s{9rz;>u+U6`?$-oo|tw|tA4<`)g=_O8S~Jv05_9%Y!D zU7+)MvWUFSFyl1(N?6QHsI0plMjJGVp6*T}CA@Co)tzS)7C!9r6EIBt<-5(HGj7U> zT{TPUnPc2bEFg{jxYF~oyvi~LaAK(MEKo)|^|n1ss%4F@+#o*g<~Y_Q*X9MQhDv*`i*I>zRc4s7_^oS zP_>v6jlp4_ywr_14w%g9<|m=dP>$&5HGH>A!^KMjg=B?&eP68<)?H7#B)q?Hs;+_| z@6`MvS2)?uD@&mERkX_3nC=-TpAib%sqSb@lp6>gW|Hh-(y{y?OgehrDC^tg5_-PK7E4X+kSn1y9P|1 z_cmK*y0A+IUh8ry&qX%smsmfViB4|QqeY8m=jq48nsB{-pIT_IS(?*^N9m!*28pu< z6G>I?*$-PEB&=@n$r3i7YOMv>{XEw$Aj`)!xAFdrEFX>bfXfo${`<-X4IocfpTEn3 zO%J|ltdGnns$m5SS34h{(H3CWFYxNI;!rk9lV0|HE{d<~5t>&3Maab~*bR1*PsoSJ zedrF#oLljU6(~aadG{i$Wfw?1OF!)qK{6YSNH63qGfoC8{y~e)NR@L-cNJVd8))Pt zyPiG?Xs!K`i!|2L7;^VeV(4mgSu)7DsqWJ!;B1{g>=xv`6HP`DZERMOBjkzs_&wov z2VkQR$9R@Xc$U?T@T_?(!_(?gVEEU>x7am<jR$CE9VS6~VqWWMJY4#F)v6CJX4PB`^?_l!)I z?1fq9P3u>?#By#_XM3v3H#wbY@WZ5DCu?XPc-uIJ)UEP(ou~K`X071HlqdQhtc7o^ zyH|QC9SoJg;i(!rDqq1H{@A8a}~!ZjIl}P<_h?BidpD+Tv2V} ziL1)@3(mIRig)4&6D^>5FOjMwU!|>q<;AXgTy;7eT<|b-ay^>LHt?KmWj1= z`n&PfLUwoN=?=~3;U`ZT*CCxEi_M$^sBr@4MDu`zKeNla|V|Ggz!>~SA#dY zjOJRi@A{pmdjzkYltzikLnE`@%YB%PIBys=hdNvO~`ZPt|-d;o!Cm1&NYvZaj}Z# zbb^c=R;)i8?>tHQG?$@>p}fWVb1bo-^6z#bx|%6QMJ)O@*(!t{VK>%RIZD+8I5uNS zh^J=ao0G!n&%DV2PP^Y9mHXczh?_iKmvBZreYy+l4+4#fYPL0lDTsiE&u+Qm`z53K z^?p~=1_J6Y%PS^?HOz8b1}d95$@NRv3Z^DX)!Um}HPnBN;dk5j_PPH4NadCl4(rib zMJTU)v|aNI%nOmi_6-LFUNC4Ys+97{zE{T4_r&d}{^=C=fCj7JGB*9P3)waH<6|p!XJH|Q%sz2BsRMI z&?h(wv+__}_+_^w+7SI8b3%znaq=r~*Vir#AN*|L_{tDV7zuyu_ijFC$Gc2A^=TFa z!3|h#?%wh^^g2Av;|Q$;;N0#0=A)=z$4u5SeRV9U1Qr|tha7J>R$>1ky8cjGYThJ` z8zd^N1(K6H2B<>{1EwkK>uS0BxUSFz=5O;Fb+77 z2nh1Wt^vjq=T4#?{f9%-#o0Mwl=0pm3n~N#Az%NI3S0_4x*mx`cLd$$LapdfXu%P z7Rm7*4ziaK~=2#!uzq9oqaK}_tABNZya zNWy!9b)t0ahjmE^CQs$fVMSG>cYWRLrY_;<(rx6iyiarOW(2nnFZ{r3RL zNK3<{LH3}(F=>c2^(u}B$o(G-j)Efp9}Fo?y_Emm2L?l^Kg$1Na3qY{4gZTtLm|}Y z|1XT{ + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/graphics/prime-heartbeat-dark.pdf b/graphics/prime-heartbeat-dark.pdf new file mode 100644 index 0000000000000000000000000000000000000000..100a1a28646eb7b6623e59eb44dc9a70b0abdcb1 GIT binary patch literal 1216 zcmah}T}TvB6pp~mDH1A5s)rl2rVl!IW_M<1bTf2+%v5sM^d*DF-Mj0=IcXn47edw}x?%eO3d(QdJ{dQa( zfl!T5D{-#bm6@NM2VrFPp5=T##J3S6LHm#dP=rGW@gY4)i3Mv?qa;A0W{hwR4V+Ca zqV;o`o8(G(#{%9u^g%7zo7(fDqJF3ux6U0&mVf@eYpSiiXX$G=a^XkW*sX2ZGtczl z(re?7wpUh+R+nGB9A5Z%@y+1;a>?%g`nq4nv2VBQT(35-bUhh4`ei!1WkH$QcYf!< z^q=?PzvStBS$jBG`EJvl_}k$FlMnabjrRBSxeQ)>D zOsD&}Ht}*ueLgX|JUR40A@>h;EAhqDCGX?0)>4ibv3&jT#+Wm@Yz4xCA}~AKxmWw* zbRw9c&7BmwfP6j%z~D6u8^rq?k%0K922bb>7~l!Nd>nB#4&qN{Qv~rHT7n=K5}ddl znner>M++@)Cox@XGBfBDKo|)gB+BTtcib~35aL_`Posiek z3_Ha#MY9FC1yL(a3Ohe|1;{x)N+Qio49qd%Bg8h-R+QL?^&?Wmi&b3E%^EM8o#k8g zm<{za>XFsj(~M?O0J$hYhh@gnQBYb{RMRaJ3AKV;i&0e{r763PhvovBu(VX49<^&t zD^XqTB=Um}sc9i!C>RQ1>`^h6gD{&g_PSwZQ-F62tAw!#s~h$r_<+gTiwf9adOi6G zI6LcZ1UtlJQ~qCEmJ|HEkU)lHqUz{?cgoXEBfxZ16{r)jC}CAl1&>=1JvCT5jB#~Q zOT0xb$@SE)Q7vgE9I{L|c3vrK`pQ@&&S9i*P + + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/graphics/prime-rule-dark.pdf b/graphics/prime-rule-dark.pdf new file mode 100644 index 0000000000000000000000000000000000000000..991c69b3e562f9799c32c43e4f21dbaccc238ec2 GIT binary patch literal 3834 zcmds4U5Fc16c(unLqP<6v3-A&R zv%6gR)0N7}7TY7aelyVwMracnf^RTI(NtW=nL4nT+gRF&m+CRtM+yZbz(;l{Oo+TV zPZT0I9QXyRleNesX6hj1jcj74bHOFoJ5JN{+x(2EV-N$^fwN-~iw}VhzKK2zNNEHP z9qqY9t~za(%n*g^S9L9MATndAJ zFJqdJz^SQ4bs`@M9Y5-!q{h*dyiDS-@20aw;3~Qgcn!C)ySOx=c=M@`CDVOp`xNZag z4V|o@|Neq91I@V1M1j$xF}irN$Pdh$B>qEN#ge=jbc3+oa~cri5nm40gRmKKk7#+O zs;WV(yk;0CBk7#SIbol4V6p%y4Y>v9U;xEWc3&C`!Xw1f1U6=Tm1d+k?$24Y6gp`J z!FDkDUp8q_C!;0}i+%ue%CJbL;T&o&isi1#+7Y)A^Q5i!*J56yO)r0aKAIqCmtK~Moy7G#>U+!3)#BLs) zq^y{hVx^Ko`cU6hC%TUZ0u){8uX}zFc`;8xd5I|FpoGw!!ho=M#PxC=k0V@+z)y5M zKOQdwKA2ywla|ws_*Ix-IKuk>3j_WRs%4_j)8aD0fNboOR!8CYF%RoMfB|_5AEu!U zfdQJH4E{4PFo+_$k;@JY>H-XY+;RI9Fv!$b1`M$88ZGAE2LsW!f#pfnPVS!y27~sF zw}O`jgKVoIFa{gCh;O{r;}^UD)ks)j+c-+(SW*KoWrAPRIvc}jAf zIPOLJWzY$z?a=9UyhfA{!uIT}P!W3cI0#9hTq>6-)oeDrM>yt^ZE;_N(4cgpV?%||K9tL$3Y|h@#uQyBT$E#bO*UZ%qZXjYC?8|?gf0v+W`fT&AnV8W+UA5VD$_G^ z + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/packages/CrossRef.sty b/packages/CrossRef.sty index 86cdd39..2714c60 100644 --- a/packages/CrossRef.sty +++ b/packages/CrossRef.sty @@ -29,7 +29,7 @@ \str_const:Nn \c_@@_label_delimiter_str {/} \str_const:Nn \c_@@_label_parent_str {.} -\str_const:Nn \c_@@_label_wildcard_str {*} +\str_const:Nn \c_@@_label_placeholder_str {*} \str_const:Nn \c_@@_appendices_label_str {appendices} \seq_new:N \g_@@_label_seq @@ -65,7 +65,9 @@ } \NewDocumentCommand{\Appendices}{}{ - \@@_heading:nnnnn {part} {\c_true_bool} {\c_false_bool} {Appendices} {\c_@@_appendices_label_str} + \@@_heading:nnnnn {part} {\c_true_bool} {\c_false_bool} {Appendices} { + \c_@@_appendices_label_str + } } \NewDocumentCommand{\GetCurrentLabel}{}{ @@ -81,10 +83,17 @@ \seq_set_split:Nnn \g_@@_label_seq {#1} {#2} } -% MATCH delimiter, parent, and wildcard symbols, but CAPTURE only -% parents and wildcards, NOT delimiters. -\regex_const:Nn \c_@@_ref_regex {\/|(\.|\*)} %{\\\c_@@_label_delimiter_str|(\\\c_@@_label_parent_str|\\\c_@@_label_wildcard_str)} -%\regex_show:N \c_@@_ref_regex +\str_new:N \l_@@_esc_parent_str +\exp_args:Nnne \str_concat:NNN \l_@@_esc_parent_str \c_backslash_str \c_@@_label_parent_str + +\str_new:N \l_@@_esc_placeholder_str +\exp_args:Nnne \str_concat:NNN \l_@@_esc_placeholder_str \c_backslash_str \c_@@_label_placeholder_str + +% MATCH delimiter, parent, and placeholder symbols, but CAPTURE only +% parents and placeholders, NOT delimiters. +%\regex_const:Nn \c_@@_ref_regex {\/|(\.|\*)} +\exp_args:Nne \regex_const:Nn \c_@@_ref_regex {\c_@@_label_delimiter_str|(\l_@@_esc_parent_str|\l_@@_esc_placeholder_str)} +\regex_log:N \c_@@_ref_regex \seq_new:N \l_@@_label_seq \seq_new:N \l_@@_ref_seq @@ -104,12 +113,16 @@ % Output the section name only if no star is passed. \bool_if:nF {#1} { - \str_if_eq:nnTF {\seq_item:Nn \l_@@_ref_seq {1}} {\c_@@_appendices_label_str} { + \str_if_eq:nnTF { + \seq_item:Nn \l_@@_ref_seq {1}} {\c_@@_appendices_label_str + } { % If the part label is "appendices", the section name is "Appendix". \prop_item:Nn \c_@@_section_names_prop {9} - }{ + } { % Otherwise, look up the correct section name. - \prop_item:Nn \c_@@_section_names_prop {\seq_count:N \l_@@_ref_seq - 1} + \prop_item:Nn \c_@@_section_names_prop { + \seq_count:N \l_@@_ref_seq - 1 + } } } % Create a reference with the string we just created. @@ -135,9 +148,11 @@ % Split the string on the delimiters. \exp_args:NNNe \seq_set_regex_split:NNn \l_@@_ref_seq \c_@@_ref_regex {#2} + % The regex split creates a lot of empty items, so remove them. \seq_remove_all:Nn \l_@@_ref_seq {} - \str_log:N \l_@@_ref_str + % Log the input and output of the split process for debugging. + \str_log:n {#2} \seq_log:N \l_@@_ref_seq % Copy the current label sequence to a local variable. @@ -149,22 +164,32 @@ % end of the temporary label sequence for each parent symbol. \seq_map_indexed_function:NN \l_@@_ref_seq \@@_seq_map:nn - % Add the shortened temporary label sequence to the beginning of the - % reference sequence. - \str_if_eq:eeT {\str_head:N \l_@@_ref_str} {\c_@@_label_parent_str} { + \str_set:Ne \l_@@_ref_head_str {\str_head:n {#2}} + + \str_log:N \l_@@_ref_head_str + + % If the reference is relative (i.e. does not start with / or *), add the + % shortened temporary label sequence to the beginning of the reference + % sequence. + \exp_args:Ne \bool_if:nF { + \str_if_eq_p:NN \l_@@_ref_head_str \c_@@_label_delimiter_str + || \str_if_eq_p:NN \l_@@_ref_head_str \c_@@_label_placeholder_str + } { \seq_concat:NNN \l_@@_ref_seq \l_@@_label_seq \l_@@_ref_seq } \seq_log:N \l_@@_ref_seq % Join the reference sequence back into a delimited string. - \str_set:Ne \l_@@_ref_str {\seq_use:Ne \l_@@_ref_seq {\c_@@_label_delimiter_str}} + \str_set:Ne \l_@@_ref_str { + \seq_use:Ne \l_@@_ref_seq {\c_@@_label_delimiter_str} + } \str_if_eq:eeF {\str_head:N \l_@@_ref_str} {\c_@@_label_delimiter_str} { \str_put_left:Ne \l_@@_ref_str {\c_@@_label_delimiter_str} } - \str_set_eq:NN #1 \l_@@_ref_str + \str_set_eq:NN #1 \l_@@_ref_str } \tl_new:N \l_@@_trash_tl @@ -175,7 +200,7 @@ \seq_pop_right:NN \l_@@_label_seq \l_@@_trash_tl \seq_pop_left:NN \l_@@_ref_seq \l_@@_trash_tl } - {\c_@@_label_wildcard_str} { + {\c_@@_label_placeholder_str} { %\message{wildcard~map} \seq_pop_left:NN \l_@@_label_seq \l_tmpa_tl % \seq_pop_left:NN \l_@@_ref_seq \l_@@_trash_tl diff --git a/packages/DocProperties.sty b/packages/DocProperties.sty index 094c2e7..7bfccd0 100644 --- a/packages/DocProperties.sty +++ b/packages/DocProperties.sty @@ -44,8 +44,8 @@ } } -\NewExpandableDocumentCommand{\ProjectTitle}{}{% - Project \@CustomerProjectNumber{}: \@ProjectDescription% +\NewExpandableDocumentCommand{\ProjectTitle}{}{ + Project~\@CustomerProjectNumber{}:~\@ProjectDescription } % Custom document properties. diff --git a/packages/Header.sty b/packages/Header.sty index a4b1d17..fd814ee 100644 --- a/packages/Header.sty +++ b/packages/Header.sty @@ -15,11 +15,11 @@ \renewcommand{\footrulewidth}{0pt} \NewDocumentCommand{\chapappname}{}{Chapter~\thechapter{}:~} -\NewDocumentCommand{\partlabel}{}{\partname{}~\thepart{}:~\parttitle} +\NewDocumentCommand{\partlabel}{}{\bool_if:NT \g_label_bool {\partname{}~\thepart{}:~}\parttitle} \NewDocumentCommand{\FrontMatter}{}{ \pagestyle{plain} - \bool_if:NTF \g_electronic_bool { + \bool_if:nTF {\g_electronic_bool || !\g_roman_bool} { \pagenumbering{arabic} }{ \pagenumbering{roman} @@ -28,7 +28,9 @@ \NewDocumentCommand{\MainMatter}{}{ \pagestyle{fancy} - \pagenumbering{arabic} + \bool_if:NF \g_electronic_bool { + \pagenumbering{arabic} + } } \NewDocumentCommand{\Appendix}{}{ diff --git a/packages/TitlePage.sty b/packages/TitlePage.sty index ea487ab..7e0be6f 100644 --- a/packages/TitlePage.sty +++ b/packages/TitlePage.sty @@ -3,12 +3,21 @@ Definition for title page. } +\fp_const:Nn \c_@@_scale_fp {1} + +\str_const:Ne \c_@@_dark_str {\bool_if:NT \g_dark_mode_bool {-dark}} + +\NewDocumentCommand{\PrimeLogo}{O{width=2in} O{}}{ + \includegraphics[keepaspectratio,#1]{#2Prime-Controls\c_@@_dark_str.pdf} +} + % Define custom title page. \NewDocumentCommand{\PrimeTitlePage}{O{}}{ \thispagestyle{empty} - \pdfbookmark{Title Page}{title-page} + \pdfbookmark{Title~Page}{title-page} \begin{sbfamily} - {\noindent\large\raggedright % Not RaggedRight because we don't want hyphens. + {\large\raggedright % Not RaggedRight because we don't want hyphens. + \vspace*{\stretch{1}} \CustomerFull @@ -27,14 +36,17 @@ % Move the rule graphic to 0.25 in from the left edge of the % paper and vertically centered on the heartbeat graphic. \put(-\oddsidemargin-0.75in,10pt){ - \includegraphics{#1prime-rule.pdf} + \includegraphics{#1prime-rule\c_@@_dark_str.pdf} } + % The numbers here are just what looks good. \put(100pt,0pt){ - \includegraphics{#1prime-heartbeat.pdf} + \includegraphics{#1prime-heartbeat\c_@@_dark_str.pdf} } } + \bigbreak + \AuthorCompany\par Revision~\Version\par diff --git a/packages/Titles.sty b/packages/Titles.sty index 3995a99..1ea0324 100644 --- a/packages/Titles.sty +++ b/packages/Titles.sty @@ -10,13 +10,13 @@ \titleformat{\part}[display]{ \normalfont\sbfamily\huge }{ - \partname{} \thepart + \partname{}~\thepart }{20pt}{\Huge\raggedright} \titleformat{\chapter}[display]{ \normalfont\sbfamily\huge\raggedright }{ - \chaptertitlename{} \thechapter + \chaptertitlename{}~\thechapter }{20pt}{\Huge} \titlespacing{\chapter}{0pt}{48pt plus 12pt minus 12pt}{24pt plus 6pt minus 6pt}