84 lines
1.8 KiB
TeX
84 lines
1.8 KiB
TeX
\NeedsTeXFormat{LaTeX2e}
|
|
\ProvidesExplPackage{PrimeTeX/packages/Graphics}{2025-09-03}{1.0}{
|
|
Custom non-floating Graphics commands.
|
|
}
|
|
|
|
\RequirePackage{PrimeTeX/packages/Layout}
|
|
|
|
\RequirePackage{calc}
|
|
|
|
\RequirePackage{wrapstuff}
|
|
|
|
\dim_const:Nn \c_Graphics_icon_dim {0.25in}
|
|
|
|
\NewDocumentCommand{\IconSize}{}{\c_Graphics_icon_dim}
|
|
|
|
\keys_define:nn{InlineGraphic}{
|
|
height .dim_set:N = \l_InlineGraphic_height_dim,
|
|
height .initial:n = {12pt},
|
|
% height .default:n = {12pt},
|
|
|
|
offset .dim_set:N = \l_InlineGraphic_offset_dim,
|
|
offset .initial:n = {-2pt},
|
|
% offset .default:n = {-2pt},
|
|
}
|
|
|
|
\NewDocumentCommand{\InlineGraphic}{
|
|
% Key=value options.
|
|
O{}
|
|
% Graphic file.
|
|
m
|
|
}{%
|
|
\keys_set:nn{InlineGraphic}{#1}
|
|
\raisebox{\l_InlineGraphic_offset_dim}{
|
|
\includegraphics[%
|
|
keepaspectratio,height=12pt%\l_InlineGraphic_height_dim%
|
|
]{#2}
|
|
}%
|
|
}
|
|
|
|
\dim_const:Nn \c_ig_width_dim {0.5in}
|
|
|
|
% Shorthand command for \includegraphics.
|
|
\NewDocumentCommand{\ig}{O{width=\c_ig_width_dim} m}{%
|
|
\includegraphics[keepaspectratio,#1]{#2}%
|
|
}
|
|
|
|
\str_const:Nn \c_WrapFig_placement_str {o}
|
|
\dim_const:Nn \c_WrapFig_hoffset_dim {\marparwidth}
|
|
|
|
\keys_define:nn {WrapFig} {
|
|
placement .choices:nn = {l,r,c,i,o}{
|
|
\str_set:Ne \l_WrapFig_placement_str {\l_keys_choice_tl}
|
|
},
|
|
placement .initial:e = {\c_WrapFig_placement_str},
|
|
|
|
hoffset .dim_set:N = \l_WrapFig_hoffset_dim,
|
|
hoffset .initial:e = {\c_WrapFig_hoffset_dim},
|
|
}
|
|
|
|
\NewDocumentCommand{\WrapFig}{
|
|
% #1: Key-value options
|
|
O{}
|
|
% #2: graphic_file
|
|
m
|
|
% #3: Options passed to \includegraphics
|
|
O{}
|
|
% #4: label
|
|
>{\TrimSpaces}m
|
|
% #5: caption
|
|
m
|
|
}{ \group_begin:
|
|
\keys_set:nn {WrapFig} {#1}
|
|
\expanded{\noexpand\begin{wrapstuff}[
|
|
\l_WrapFig_placement_str,
|
|
hoffset = \l_WrapFig_hoffset_dim,
|
|
]}
|
|
\begin{MyCaption}{fig:#4}{#5}
|
|
\includegraphics[%
|
|
keepaspectratio,%
|
|
#3%
|
|
]{#2}%
|
|
\end{MyCaption}
|
|
\end{wrapstuff}
|
|
\group_end: } |