Files
PrimeTeX/packages/Graphics.sty

83 lines
1.6 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{wrapfig2}
\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}%
}
\NewDocumentCommand{\@wrapfigbody}{m m m m}{
\captionsetup{type=figure}%
\capstart%
\includegraphics[%
keepaspectratio,%
#2%
]{#1}%
\Centering\captionof{figure}{#4}%
\label{fig:#3}%
}
\NewDocumentCommand{\wrapfig}{
% #1: alignment [l,r,i,o]
O{O}
% #2: horizontal_offset
O{\marparwidth}
% #3: graphic_file
m
% #4: (width|height)=lengthvalue
O{}
% #5: label
>{\TrimSpaces}m
% #6: caption
m%
% #7: indented lines override
o
}{%
\IfNoValueTF{#7}{%
\begin{wrapfigure}{#1}[#2]%
\@wrapfigbody{#3}{#4}{#5}{#6}%
\end{wrapfigure}%
}{%
\begin{wrapfigure}[#7]{#1}[#2]%
\@wrapfigbody{#3}{#4}{#5}{#6}%
\end{wrapfigure}%
}%
}