This commit is contained in:
2025-09-04 17:12:01 -05:00
parent 6130aab230
commit db078eb5df
4 changed files with 74 additions and 42 deletions

View File

@@ -19,6 +19,25 @@
\floatstyle{plain}
\newfloat{generic}{htpb}{lgf}
% Function for converting clists generated by multichoice keys into strings.
\NewDocumentCommand{\clist_use_default:Nnnn}{
% #1: Output string variable.
m
% #2: Input clist.
m
% #3: Default clist to use if #2 is empty.
m
% #4: Separator for \clist_use:Nn.
O{}
}{
\clist_if_empty:NT #2 {
\clist_set:Ne #2 {#3}
}
\str_set:Ne #1 {
\clist_use:Nn #2 {#4}
}
}
% Maximum width adjustment to fit 2 16x9 screensots on one page.
\dim_const:Nn \c_BigFloat_overhang_dim {0.54in}
\str_const:Nn \c_BigFloat_type_str {generic}
@@ -57,10 +76,9 @@
+b
}{%
\keys_set:nn{BigFloat}{#1}%
%\str_new:N \l_BigFloat_placement_str
\str_set:Ne \l_BigFloat_placement_str {
\clist_use:Nn \c_BigFloat_placement_clist {}
}
\clist_use_default:Nnnn \l_BigFloat_placement_str
{\l_BigFloat_placement_clist}
{\c_BigFloat_placement_clist}
\ExpEnvOption%
\begin{\l_BigFloat_type_str}[\l_BigFloat_placement_str]% float environment
\begin{SmartAdjustWidth}{%
@@ -88,11 +106,11 @@
\clist_const:Nn \c_CenterFig_placement_clist {h, t, p, b}
\str_new:N \l_CenterFig_placement_str
\clist_new:N \l_CenterFig_placement_clist
\keys_define:nn{CenterFig}{
placement .multichoices:nn = {b,H,h,p,t}{
\str_put_right:Ne \l_CenterFig_placement_str {\l_keys_choice_tl}
placement .multichoices:nn= {b,H,h,p,t}{
\clist_put_right:Nn \l_CenterFig_placement_clist {\l_keys_choice_tl}
},
}
@@ -109,11 +127,9 @@
m
}{
\keys_set:nn{CenterFig}{#2}%
\str_if_empty:NT \l_CenterFig_placement_str {
\str_set:Ne \l_CenterFig_placement_str {
\clist_use:Nn \c_CenterFig_placement_clist {}
}
}
\clist_use_default:Nnnn \l_CenterFig_placement_str
{\l_CenterFig_placement_clist}
{\c_CenterFig_placement_clist}
\ExpEnvOption
\begin{figure}[\l_CenterFig_placement_str]%
\Centering%