\NeedsTeXFormat{LaTeX2e} \ProvidesPackage{PrimeTeX/packages/Caption}[2025-08-20] \RequirePackage[ hypcap=true, ]{caption} \captionsetup{ justification = Centering, font = { small, color=caption, }, } % Define a justification style that is ragged on the side toward the outside of % the page. I. e. RaggedRight on % \RequirePackage{changepage} \DeclareCaptionJustification{RaggedOutside}{% \ifthenelse{\boolean{isElectronic}}{% \RaggedRight% }{% \checkoddpage% \ifoddpage% \RaggedRight% \else% \RaggedLeft% \fi% }% } \ExplSyntaxOn \keys_define:nn {MyCaption} { figure .code:n = {\str_set:Nn \l_MyCaption_type_str {figure}}, format .tl_set:N = \l_MyCaption_format_tl, format .initial:n = {\Centering\small\color{caption}}, table .code:n = {\str_set:Nn \l_MyCaption_type_str {table}}, type .choices:nn = {figure,table}{ \str_set:Ne \l_MyCaption_type_str {\l_keys_choice_tl} }, type .initial:n = {figure}, } \tl_new:N \l_MyCaption_label_tl \tl_new:N \l_MyCaption_number_tl \NewDocumentCommand{\MyCaption}{ % #1: Key-value options. O{} % #2: Label m % #3: Caption m }{ \group_begin: \keys_set:nn {MyCaption} {#1} \str_case:en {\l_MyCaption_type_str} { {figure} { \addtocounter{figure}{1} \tl_set:Nn \l_MyCaption_label_tl {Figure} \tl_set:Nn \l_MyCaption_number_tl { \arabic{chapter}.\arabic{figure} } \addcontentsline{lof}{figure}{\l_MyCaption_number_tl\numberline#3} } {table} { \addtocounter{table}{1} \tl_set:Nn \l_MyCaption_label_tl {Table} \tl_set:Nn \l_MyCaption_number_tl { \arabic{chapter}.\arabic{table} } \addcontentsline{lot}{table}{\l_MyCaption_number_tl\numberline#3} } } \l_MyCaption_format_tl \l_MyCaption_label_tl~\l_MyCaption_number_tl :~#3 \label{#2} \group_end: }