xcoffins.pdf. - CTAN
xcoffins.pdf. - CTAN
xcoffins.pdf. - CTAN
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
\l__coffin_A_hpole_tl<br />
\l__coffin_A_vpole_tl<br />
\l__coffin_B_hpole_tl<br />
\l__coffin_B_vpole_tl<br />
\l__coffin_bound_box_grow_bool<br />
\l__coffin_hoffset_dim<br />
\l__coffin_voffset_dim<br />
\__coffin_design_names:N<br />
\Height<br />
\Depth<br />
\Width<br />
\TotalHeight<br />
\l__coffin_height_dim<br />
\l__coffin_depth_dim<br />
\l__coffin_width_dim<br />
\l__coffin_totalheight_dim<br />
2 〈@@=coffin〉<br />
3 \ProvidesExplPackage<br />
4 {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}<br />
Key–value definitions for the alignment system. With the exception of grow-bounding-box,<br />
all of these have to be given with a value.<br />
5 \keys_define:nn { coffin }<br />
6 {<br />
7 coffin1-hpole .tl_set:N = \l__coffin_A_hpole_tl ,<br />
8 coffin1-hpole .value_required: ,<br />
9 coffin1-vpole .tl_set:N = \l__coffin_A_vpole_tl ,<br />
10 coffin1-vpole .value_required: ,<br />
11 coffin2-hpole .tl_set:N = \l__coffin_B_hpole_tl ,<br />
12 coffin2-hpole .value_required: ,<br />
13 coffin2-vpole .tl_set:N = \l__coffin_B_vpole_tl ,<br />
14 coffin2-vpole .value_required: ,<br />
15 grow-bounding-box .bool_set:N = \l__coffin_bound_box_grow_bool ,<br />
16 grow-bounding-box .default:n = true ,<br />
17 hoffset .dim_set:N = \l__coffin_hoffset_dim ,<br />
18 hoffset .value_required: ,<br />
19 voffset .dim_set:N = \l__coffin_voffset_dim ,<br />
20 voffset .value_required:<br />
21 }<br />
22 \keys_set:nn { coffin }<br />
23 {<br />
24 coffin1-hpole = H ,<br />
25 coffin1-vpole = l ,<br />
26 coffin2-hpole = H ,<br />
27 coffin2-vpole = l ,<br />
28 grow-bounding-box = true ,<br />
29 hoffset = 0 pt ,<br />
30 voffset = 0 pt<br />
31 }<br />
(End definition for \l__coffin_A_hpole_tl and others. These variables are documented on page ??.)<br />
Sets up design-level names for the various coffin dimensions. These are not defined<br />
outside of this scope, and are dimensions so that they work correctly inside for example<br />
\fp_eval:n.<br />
32 \cs_new_protected:Npn \__coffin_design_names:N #1<br />
33 {<br />
34 \dim_set:Nn \l__coffin_height_dim { \coffin_ht:N #1 }<br />
35 \dim_set:Nn \l__coffin_depth_dim { \coffin_dp:N #1 }<br />
36 \dim_set:Nn \l__coffin_width_dim { \coffin_wd:N #1 }<br />
37 \dim_set:Nn \l__coffin_totalheight_dim<br />
38 { \l__coffin_height_dim + \l__coffin_depth_dim }<br />
39 \cs_set_eq:NN \Height \l__coffin_height_dim<br />
40 \cs_set_eq:NN \Depth \l__coffin_depth_dim<br />
41 \cs_set_eq:NN \Width \l__coffin_width_dim<br />
42 \cs_set_eq:NN \TotalHeight \l__coffin_totalheight_dim<br />
10