- Debugging.
- Move all \RequirePackages to commonincludes.def.
This commit is contained in:
@@ -3,11 +3,6 @@
|
||||
Commands for typesetting boxouts.
|
||||
}
|
||||
|
||||
\RequirePackage{PrimeTeX/packages/Layout}
|
||||
\RequirePackage{PrimeTeX/packages/Color}
|
||||
\RequirePackage{PrimeTeX/packages/Tables}
|
||||
\RequirePackage{calc}
|
||||
|
||||
\ProvideLength{\boxoutpadding}[1em]
|
||||
\ProvideLength{\boxoutrule}[1pt]
|
||||
|
||||
@@ -32,21 +27,22 @@
|
||||
\keys_define:nn {Boxout} {
|
||||
innerspec .tl_set_e:N= \l_Boxout_innerspec_tl,
|
||||
innerspec .initial:e = {\c_Boxout_innerspec_tl},
|
||||
innerspec .default:e = {\c_Boxout_innerspec_tl},
|
||||
|
||||
warning .bool_set:N = \l_Boxout_warning_bool,
|
||||
warning .initial:e = {false},
|
||||
warning .default:e = {true},
|
||||
|
||||
format .cs_set:Np = \__Boxout_format:,
|
||||
format .initial:n = {\justifying},
|
||||
}
|
||||
|
||||
\NewDocumentEnvironment{Boxout}{
|
||||
% #1: Key-value options.
|
||||
O{}
|
||||
% #2: Label, passed to @boxout argument #1.
|
||||
% #2: Label.
|
||||
>{\TrimSpaces}m
|
||||
% #3: Caption.
|
||||
O{}
|
||||
% #4: Body, passed to @boxout.
|
||||
% #4: Body.
|
||||
+b
|
||||
}{ \group_begin:
|
||||
\keys_set:nn{Boxout}{#1}
|
||||
@@ -54,17 +50,20 @@
|
||||
\colorlet{boxoutBG}{warningBG}
|
||||
\colorlet{boxoutFG}{warningFG}
|
||||
}
|
||||
\color{text}
|
||||
\label{box:#2}
|
||||
\tl_if_empty:nTF {#3} {
|
||||
\expanded{\noexpand\begin{tblrBoxout}{\l_Boxout_innerspec_tl}}
|
||||
\setlength{\parskip}{\medskipamount}
|
||||
#4\\
|
||||
\setlength{\parindent}{0pt}
|
||||
\__Boxout_format:\ignorespaces#4\\
|
||||
\end{tblrBoxout}
|
||||
}{
|
||||
\expanded{\noexpand\begin{tblrBoxout}{\l_Boxout_innerspec_tl}}
|
||||
\SetCell{halign=c, font={\sbfamily\bfseries}}{#3}\\
|
||||
\setlength{\parskip}{\medskipamount}
|
||||
#4\\
|
||||
\setlength{\parindent}{0pt}
|
||||
\__Boxout_format:\ignorespaces#4\\
|
||||
\end{tblrBoxout}
|
||||
}
|
||||
\group_end: }{}
|
||||
@@ -140,16 +139,21 @@
|
||||
\group_end: }{}
|
||||
|
||||
\dim_const:Nn \c_WrapBoxout_width_dim {3in}
|
||||
\dim_const:Nn \c_WrapBoxout_justifywidth_dim {18em}
|
||||
|
||||
\keys_define:nn{}{
|
||||
WrapBoxout .inherit:n = {WrapFig, Boxout},
|
||||
}
|
||||
\keys_define:nn{WrapBoxout}{
|
||||
justifywidth.dim_set:N = \l_WrapBoxout_justifywidth_dim,
|
||||
justifywidth.initial:e = {\c_WrapBoxout_justifywidth_dim},
|
||||
|
||||
width .dim_set:N = \l_WrapBoxout_width_dim,
|
||||
width .initial:e = {\c_WrapBoxout_width_dim},
|
||||
width .default:e = {\c_WrapBoxout_width_dim},
|
||||
}
|
||||
|
||||
\cs_new:Npn \__WrapBoxout_format: {}
|
||||
|
||||
\NewDocumentEnvironment{WrapBoxout}{
|
||||
% #1: Key-value options.
|
||||
O{}
|
||||
@@ -162,6 +166,11 @@
|
||||
}{ \group_begin:
|
||||
\keys_set:nn{WrapBoxout}{#1}
|
||||
\__WrapFig_process_options:
|
||||
\dim_compare:nNnTF {\l_WrapBoxout_width_dim} > {\l_WrapBoxout_justifywidth_dim} {
|
||||
\cs_set:Npn \__WrapBoxout_format: {\justifying}
|
||||
} {
|
||||
\cs_set:Npn \__WrapBoxout_format: {\l_WrapFig_format_tl}
|
||||
}
|
||||
% \message{
|
||||
% WrapBoxout:~
|
||||
% placement:~\l_WrapFig_placement_str,~
|
||||
@@ -176,6 +185,7 @@
|
||||
\begin{Boxout}[
|
||||
innerspec:e = {\l_Boxout_innerspec_tl,columns={\dim_use:N \l_WrapBoxout_width_dim}},
|
||||
warning:e = \bool_to_str:N \l_Boxout_warning_bool,
|
||||
format = {\__WrapBoxout_format:}
|
||||
]{#2}[#3]
|
||||
#4
|
||||
\end{Boxout}
|
||||
|
||||
@@ -3,21 +3,6 @@
|
||||
Custom Caption commands.
|
||||
}
|
||||
|
||||
% \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}
|
||||
|
||||
\NewDocumentCommand{\RaggedOutside}{}{
|
||||
\ifthenelse{\boolean{isElectronic}}{%
|
||||
\RaggedRight%
|
||||
@@ -31,7 +16,7 @@
|
||||
}%
|
||||
}
|
||||
|
||||
\cs_new:Nn \__MyCaption_format_default: {\centering\small\color{caption}}
|
||||
\cs_new_protected:Nn \__MyCaption_format_default: {\Centering\small\color{caption}}
|
||||
|
||||
\keys_define:nn {MyCaption} {
|
||||
before .bool_set:N = \l_MyCaption_before_bool,
|
||||
@@ -40,9 +25,10 @@
|
||||
figure .code:n = {\str_set:Nn \l_MyCaption_type_str {figure}},
|
||||
|
||||
format .cs_set_protected:Np = \__MyCaption_format:,
|
||||
format .initial:n = {},%{\__MyCaption_format_default:},
|
||||
format .initial:n = {},
|
||||
format .default:n = {},
|
||||
|
||||
skip .tl_set:N = \l_MyCaption_skip_tl,
|
||||
skip .dim_set:N = \l_MyCaption_skip_dim,
|
||||
skip .initial:n = {\medskipamount},
|
||||
|
||||
table .code:n = {
|
||||
@@ -66,8 +52,11 @@
|
||||
>{\TrimSpaces}m
|
||||
% #3: Caption
|
||||
m
|
||||
% #4: Body
|
||||
+b
|
||||
}{
|
||||
\group_begin:
|
||||
\keys_set:nn {MyCaption} {format}
|
||||
\keys_set:nn {MyCaption} {#1}
|
||||
\str_case:en {\l_MyCaption_type_str} {
|
||||
{figure} {
|
||||
@@ -76,7 +65,9 @@
|
||||
\str_set:Ne \l_MyCaption_number_str {
|
||||
\arabic{chapter}.\arabic{figure}
|
||||
}
|
||||
\addcontentsline{lof}{figure}{\protect\numberline{\l_MyCaption_number_str}\protect\ignorespaces~#3}
|
||||
\addcontentsline{lof}{figure}{
|
||||
\protect\numberline{\l_MyCaption_number_str}\protect\ignorespaces~#3
|
||||
}
|
||||
}
|
||||
{table} {
|
||||
\refstepcounter{table}
|
||||
@@ -84,24 +75,28 @@
|
||||
\str_set:Ne \l_MyCaption_number_str {
|
||||
\arabic{chapter}.\arabic{table}
|
||||
}
|
||||
\addcontentsline{lot}{table}{\protect\numberline{\l_MyCaption_number_str}\protect\ignorespaces~#3}
|
||||
\addcontentsline{lot}{table}{
|
||||
\protect\numberline{\l_MyCaption_number_str}\protect\ignorespaces~#3
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
\bool_if:NT \l_MyCaption_before_bool {
|
||||
\__MyCaption_insert_caption:nn {#2} {#3}
|
||||
}
|
||||
}{
|
||||
\bool_if:NF \l_MyCaption_before_bool {
|
||||
\__MyCaption_insert_caption:nn {#2} {#3}
|
||||
\label{#2}
|
||||
#4
|
||||
}
|
||||
\setlength{\parskip}{\l_MyCaption_skip_dim}
|
||||
\par
|
||||
\__MyCaption_format_default: \__MyCaption_format:
|
||||
\l_MyCaption_label_str{}~\l_MyCaption_number_str :~#3
|
||||
\par
|
||||
\bool_if:NT \l_MyCaption_before_bool {
|
||||
\label{#2}
|
||||
#4
|
||||
}
|
||||
\group_end:
|
||||
}
|
||||
}{}
|
||||
|
||||
\cs_new:Nn \__MyCaption_insert_caption:nn {
|
||||
\setlength{\parskip}{\l_MyCaption_skip_tl}\par
|
||||
\__MyCaption_format_default: \__MyCaption_format:
|
||||
\l_MyCaption_label_str{}~\l_MyCaption_number_str :~#2
|
||||
\label{#1}
|
||||
\par
|
||||
\cs_new:Nn \__MyCaption_insert_caption:n {
|
||||
\protect\__MyCaption_format_default: \protect\__MyCaption_format:
|
||||
\l_MyCaption_label_str{}~\l_MyCaption_number_str :~#1
|
||||
}
|
||||
@@ -1,11 +1,6 @@
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesPackage{PrimeTeX/packages/Color}[2025-07-09]
|
||||
|
||||
\RequirePackage{ifthen}
|
||||
|
||||
% Color import and definition
|
||||
\RequirePackage{xcolor}
|
||||
|
||||
% Split Complementary Color Scheme
|
||||
% Primary Color: Blue
|
||||
% Secondary Colors: Orange, Teal
|
||||
|
||||
@@ -1,49 +0,0 @@
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesPackage{PrimeTeX/packages/CrossRef}[2025-07-09]
|
||||
|
||||
% Cross references
|
||||
\NewDocumentCommand{\refPart}{O{Part~} m}{#1\ref{pt:#2}}
|
||||
\NewDocumentCommand{\refChapter}{O{Chapter~} m}{#1\ref{ch:#2}}
|
||||
\NewDocumentCommand{\refAppendix}{O{Appendix~} m}{#1\ref{ch:#2}}
|
||||
\NewDocumentCommand{\refSection}{O{Section~} m}{#1\ref{sec:#2}}
|
||||
\NewDocumentCommand{\refSubsection}{O{Subsection~} m}{#1\ref{subsec:#2}}
|
||||
\NewDocumentCommand{\refSubsubsection}{O{Sub-subsection~} m}{#1\ref{sssec:#2}}
|
||||
\NewDocumentCommand{\refParagraph}{O{Paragraph} m}{#1\ref{par:#2}}
|
||||
\NewDocumentCommand{\refSubparagraph}{O{Subparagraph~} m}{#1\ref{subpar:#2}}
|
||||
\NewDocumentCommand{\refTable}{O{Table~} m}{#1\ref{tbl:#2}}
|
||||
\NewDocumentCommand{\refFigure}{O{Figure~} m}{#1\ref{fig:#2}}
|
||||
|
||||
\NewDocumentCommand{\lblGeneral}{>{\TrimSpaces}O{} >{\TrimSpaces}m m >{\TrimSpaces}m}{
|
||||
\if\relax\detokenize{#1}\relax % Check if #1 is empty string.
|
||||
#3{#2}\label{#4:#2}
|
||||
\else
|
||||
#3{#2}\label{#4:#1}
|
||||
\fi
|
||||
}
|
||||
\NewDocumentCommand{\lblPart}{O{} m}{
|
||||
\lblGeneral[#1]{#2}{\part}{pt}
|
||||
}
|
||||
\NewDocumentCommand{\lblChapter}{O{} m}{
|
||||
\lblGeneral[#1]{#2}{\chapter}{ch}
|
||||
}
|
||||
\NewDocumentCommand{\lblSection}{O{} m}{
|
||||
\lblGeneral[#1]{#2}{\section}{sec}
|
||||
}
|
||||
\NewDocumentCommand{\lblSubsection}{O{} m}{
|
||||
\lblGeneral[#1]{#2}{\subsection}{subsec}
|
||||
}
|
||||
\NewDocumentCommand{\lblSubsubsection}{O{} m}{
|
||||
\lblGeneral[#1]{#2}{\subsubsection}{sssec}
|
||||
}
|
||||
\NewDocumentCommand{\lblParagraph}{O{} m}{
|
||||
\lblGeneral[#1]{#2}{\paragraph}{par}
|
||||
}
|
||||
\NewDocumentCommand{\lblSubparagraph}{O{} m}{
|
||||
\lblGeneral[#1]{#2}{\subparagraph}{subpar}
|
||||
}
|
||||
\NewDocumentCommand{\lblTable}{O{} m}{
|
||||
\lblGeneral[#1]{#2}{\caption}{tbl}
|
||||
}
|
||||
\NewDocumentCommand{\lblFigure}{O{} m}{
|
||||
\lblGeneral[#1]{#2}{\caption}{fig}
|
||||
}
|
||||
@@ -1,8 +1,6 @@
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesPackage{PrimeTeX/packages/DocProperties}[2025-07-09]
|
||||
|
||||
\RequirePackage[en-US]{datetime2}
|
||||
|
||||
\DTMnewdatestyle{longdate}{%
|
||||
\renewcommand{\DTMdisplaydate}[4]{\number##3\ \DTMenglishmonthname{##2}\ \number##1}%
|
||||
\renewcommand{\DTMDisplaydate}{\DTMdisplaydate}%
|
||||
@@ -14,7 +12,6 @@
|
||||
\DTMusedate{saveDate}
|
||||
}
|
||||
|
||||
\RequirePackage{readarray}
|
||||
\readarraysepchar{,}
|
||||
|
||||
\NewDocumentCommand{\GetRevision}{m}{%
|
||||
|
||||
@@ -4,10 +4,6 @@
|
||||
Custom Float Environments.
|
||||
}
|
||||
|
||||
\RequirePackage{PrimeTeX/packages/Layout}
|
||||
|
||||
\RequirePackage{float}
|
||||
|
||||
\floatstyle{plain}
|
||||
\newfloat{generic}{htpb}{lgf}
|
||||
\floatplacement{figure}{htpb}
|
||||
@@ -119,25 +115,25 @@
|
||||
}
|
||||
|
||||
\NewDocumentCommand{\CenterFig}{
|
||||
% Key-value options passed to \includegraphics.
|
||||
O{}
|
||||
% Key-value options.
|
||||
O{}
|
||||
% Graphic file.
|
||||
m
|
||||
% Key-value options passed to \includegraphics.
|
||||
O{}
|
||||
% Label.
|
||||
>{\TrimSpaces}m
|
||||
% Caption.
|
||||
m
|
||||
}{ \group_begin:
|
||||
\keys_set:nn{CenterFig}{#2}
|
||||
\keys_set:nn{CenterFig}{#1}
|
||||
\clist_use_default:Nnnn \l_CenterFig_placement_str
|
||||
{\l_Float_placement_clist}
|
||||
{\c_Float_placement_clist}
|
||||
\expanded{\noexpand\begin{figure}[\l_CenterFig_placement_str]}
|
||||
\begin{MyCaption}{fig:#4}{#5}
|
||||
\Centering
|
||||
\includegraphics[keepaspectratio,#1]{#3}
|
||||
\includegraphics[keepaspectratio,#3]{#2}
|
||||
\end{MyCaption}
|
||||
\end{figure}
|
||||
\group_end: }
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesPackage{PrimeTeX/packages/Fonts}[2025-06-24]
|
||||
|
||||
% Specify Fonts
|
||||
\RequirePackage{fontspec}
|
||||
|
||||
\NewDocumentCommand{\fontpath}{}{PrimeTeX/fonts}
|
||||
|
||||
% Main font: Roboto Serif
|
||||
@@ -57,8 +54,6 @@
|
||||
ItalicFont = NotoEmoji/NotoEmoji-Light,
|
||||
]
|
||||
|
||||
\RequirePackage{amssymb}
|
||||
|
||||
\NewDocumentCommand{\serif}{m}{\textrm{#1}}
|
||||
\NewDocumentCommand{\sans}{m}{\textsf{#1}}
|
||||
\NewDocumentCommand{\mono}{m}{\texttt{#1}}
|
||||
@@ -66,8 +61,6 @@
|
||||
\NewDocumentCommand{\code}{m}{\mono{\small{}#1}}
|
||||
\NewDocumentCommand{\emoji}{m}{{\emfamily{}#1}}
|
||||
|
||||
\RequirePackage[os=win]{menukeys}
|
||||
|
||||
\renewmenumacro{\directory}[/]{hyphenatepaths}
|
||||
\renewmenumacro{\keys}[+]{shadowedangularkeys}
|
||||
\renewmenumacro{\menu}[>]{angularmenus}
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesPackage{PrimeTeX/packages/Glossary}[2025-07-09]
|
||||
|
||||
% Glossary formatting.
|
||||
\RequirePackage[
|
||||
xindy,
|
||||
nopostdot,
|
||||
toc,
|
||||
sort=standard,
|
||||
]{glossaries}
|
||||
@@ -3,12 +3,6 @@
|
||||
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}
|
||||
@@ -16,11 +10,9 @@
|
||||
\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}{
|
||||
@@ -28,20 +20,20 @@
|
||||
O{}
|
||||
% Graphic file.
|
||||
m
|
||||
}{%
|
||||
}{
|
||||
\keys_set:nn{InlineGraphic}{#1}
|
||||
\raisebox{\l_InlineGraphic_offset_dim}{
|
||||
\includegraphics[%
|
||||
keepaspectratio,height=12pt%\l_InlineGraphic_height_dim%
|
||||
\includegraphics[
|
||||
keepaspectratio,height=12pt
|
||||
]{#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{\ig}{O{width=\c_ig_width_dim} m}{
|
||||
\includegraphics[keepaspectratio,#1]{#2}
|
||||
}
|
||||
|
||||
\dim_const:Nn \c_WrapFig_hoffset_dim {0in}
|
||||
@@ -95,7 +87,8 @@
|
||||
WrapFig:~#4,~
|
||||
placement:~\l_WrapFig_placement_str,~
|
||||
hoffset:~\dim_use:N \l_WrapFig_hoffset_dim,
|
||||
passed_keys:~\l_WrapFig_passed_keys_str}
|
||||
passed_keys:~\l_WrapFig_passed_keys_str
|
||||
}
|
||||
\expanded{\noexpand\begin{wrapstuff}[
|
||||
\l_WrapFig_placement_str,
|
||||
hoffset = {\dim_use:N \l_WrapFig_hoffset_dim},
|
||||
|
||||
@@ -3,20 +3,9 @@
|
||||
Customize header and footer layout and contents.
|
||||
}
|
||||
|
||||
\RequirePackage{PrimeTeX/packages/Layout}
|
||||
\ProvideLength{\HeaderInsideOffset}[\BigFloatOverhang]
|
||||
\ProvideLength{\HeaderOutsideOffset}[\fp_to_dim:n{\BigFloatOverhang * \BigFloatOffset}]
|
||||
|
||||
% \dim_new:N \g_header_insideoffset_dim
|
||||
% \dim_set:Nn \g_header_insideoffset_dim {\c_BigFloat_overhang_dim}
|
||||
% \dim_new:N \g_header_outsideoffset_dim
|
||||
% \dim_set:Nn \g_header_outsideoffset_dim {
|
||||
% \fp_to_dim:n {\c_BigFloat_overhang_dim * \c_BigFloat_offset_fp}
|
||||
% }
|
||||
|
||||
\ProvideLength{\HeaderInsideOffset}[0.54in]%[\BigFloatOverhang]
|
||||
\ProvideLength{\HeaderOutsideOffset}[1.08in]%[\BigFloatOverhang * \real{\BigFloatOffset}]
|
||||
|
||||
% Header & Footer Options
|
||||
\RequirePackage{fancyhdr}
|
||||
\pagestyle{fancy}
|
||||
|
||||
% Clear all header & footer formatting.
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesPackage{PrimeTeX/packages/Index}[2025-07-09]
|
||||
|
||||
% Index formatting.
|
||||
\RequirePackage{makeidx}
|
||||
\RequirePackage{xstring}
|
||||
\NewDocumentCommand{\idx}{m}{\StrSubstitute{#1}{!}{ }\index{#1}}
|
||||
\NewDocumentCommand{\idx}{m}{\StrSubstitute{#1}{!}{ }\index{#1}}
|
||||
@@ -12,22 +12,6 @@
|
||||
\setlength{#1}{#2}%
|
||||
}
|
||||
|
||||
\RequirePackage{microtype}
|
||||
|
||||
% Page Layout
|
||||
\RequirePackage[
|
||||
letterpaper,
|
||||
width = 4.75in, % 342pt,
|
||||
height = 8.0in, % 576pt,
|
||||
left = 1.5in, % 108pt,
|
||||
top = 1.5in, % 108pt,
|
||||
head = 12pt, % 1/6in
|
||||
headsep = 24pt, % 1/3in
|
||||
marginparwidth = 1.75in, % 126pt,
|
||||
marginparsep = 12pt, % 1/6in
|
||||
footskip = 0.5in, % 36pt,
|
||||
]{geometry}
|
||||
|
||||
% Redefine the commands geometry uses to draw the page frame to customize the
|
||||
% color.
|
||||
\renewcommand{\Gm@vrule}{\color{layout}\vrule width 0.2pt height\textheight depth\z@}
|
||||
@@ -37,8 +21,6 @@
|
||||
% Suppress "Underfull \hbox" infos.
|
||||
\hbadness=10000
|
||||
|
||||
\RequirePackage{ifthen}
|
||||
|
||||
\ifthenelse{\boolean{isDraft}}{
|
||||
\geometry{showframe}
|
||||
\hfuzz = 0.5pt
|
||||
@@ -49,19 +31,27 @@
|
||||
\vfuzz = 8.0pt
|
||||
}
|
||||
|
||||
\geometry{
|
||||
letterpaper,
|
||||
width = 4.75in, % 342pt,
|
||||
height = 8.0in, % 576pt,
|
||||
left = 1.5in, % 108pt,
|
||||
top = 1.5in, % 108pt,
|
||||
head = 12pt, % 1/6in
|
||||
headsep = 24pt, % 1/3in
|
||||
marginparwidth = 1.75in, % 126pt,
|
||||
marginparsep = 12pt, % 1/6in
|
||||
footskip = 0.5in, % 36pt,
|
||||
}
|
||||
|
||||
\ifthenelse{\boolean{isElectronic}}{
|
||||
% \geometry{}
|
||||
}{
|
||||
\geometry{twoside}
|
||||
}
|
||||
|
||||
\RequirePackage{calc}
|
||||
\RequirePackage[strict]{changepage}
|
||||
|
||||
\ProvideLength{\marparwidth}[\marginparsep + \marginparwidth]
|
||||
\ProvideLength{\contentwidth}[\textwidth + \marparwidth]
|
||||
|
||||
\RequirePackage[
|
||||
% Lua-Widow-Control Setup.
|
||||
\lwcsetup{
|
||||
%debug,
|
||||
balanced,
|
||||
emergencystretch = 3em,
|
||||
@@ -70,7 +60,10 @@
|
||||
orphanpenalty = 1000,
|
||||
brokenpenalty = 10000,
|
||||
nobreak = keep,
|
||||
]{lua-widow-control}
|
||||
}
|
||||
|
||||
\ProvideLength{\marparwidth}[\marginparsep + \marginparwidth]
|
||||
\ProvideLength{\contentwidth}[\textwidth + \marparwidth]
|
||||
|
||||
\ifthenelse{\boolean{isDraft}}{
|
||||
\lwcsetup{showcolours=true,}
|
||||
|
||||
@@ -1,18 +1,16 @@
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesPackage{PrimeTeX/packages/Links}[2025-08-17]
|
||||
|
||||
\RequirePackage{PrimeTeX/packages/Color}
|
||||
|
||||
% Use Hyperref to automatically create links in the document
|
||||
\RequirePackage[
|
||||
final,
|
||||
\hypersetup{
|
||||
final,
|
||||
colorlinks = true,
|
||||
pdfpagemode = UseOutlines,
|
||||
pdfdisplaydoctitle = true,
|
||||
bookmarksnumbered = true,
|
||||
bookmarksopen = true,
|
||||
bookmarksopenlevel = 2,
|
||||
]{hyperref}
|
||||
}
|
||||
|
||||
\ifthenelse{\boolean{isElectronic}}{
|
||||
\hypersetup{
|
||||
@@ -30,6 +28,4 @@
|
||||
\RenewDocumentCommand{\sectionautorefname}{}{Section}
|
||||
\RenewDocumentCommand{\subsectionautorefname}{}{Subsection}
|
||||
\RenewDocumentCommand{\subsubsectionautorefname}{}{Sub-subsection}
|
||||
\RenewDocumentCommand{\paragraphautorefname}{}{Paragraph}
|
||||
|
||||
\RequirePackage{hypcap}
|
||||
\RenewDocumentCommand{\paragraphautorefname}{}{Paragraph}
|
||||
@@ -1,13 +1,13 @@
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesPackage{PrimeTeX/packages/Marginalia}[2025-07-09]
|
||||
\ProvidesExplPackage{PrimeTeX/packages/Marginalia}{2025-09-12}{1.0}{
|
||||
Marginalia commands.
|
||||
}
|
||||
|
||||
% Allow hyphenation in narrow margin paragraphs.
|
||||
\RequirePackage{ragged2e}
|
||||
|
||||
\RequirePackage{marginalia}
|
||||
\marginaliasetup{
|
||||
width = {\marginparwidth},
|
||||
xsep = {\marginparsep},
|
||||
ysep = {\parskip},
|
||||
ysep page bottom = {
|
||||
ysep~page~bottom = {
|
||||
- 1in % Top gutter
|
||||
+ \paperheight
|
||||
- \voffset
|
||||
@@ -17,8 +17,8 @@
|
||||
- \textheight
|
||||
},
|
||||
yshift = {7pt}, % Just a magic number that lines up margin notes with their reference.
|
||||
style recto outer = {\RaggedRight\small\color{marginText}},
|
||||
style verso outer = {\RaggedLeft\small\color{marginText}},
|
||||
style~recto~outer = {\RaggedRight\small\color{marginText}},
|
||||
style~verso~outer = {\RaggedLeft\small\color{marginText}},
|
||||
}
|
||||
|
||||
\NewDocumentCommand{\MarginHyperSetup}{}{
|
||||
@@ -30,30 +30,30 @@
|
||||
}
|
||||
|
||||
% Put a glossary definition in a margin paragraph.
|
||||
\NewDocumentCommand{\mdef}{O{} m m}{%
|
||||
\NewDocumentCommand{\@MarginDef}{O{} m m}{%
|
||||
\index{\glsentryname{#2}}% Add a reference to this in the index.
|
||||
\strong{#3{#2}}% This is the text that appears on the page.
|
||||
\marginalia[#1]{%
|
||||
\MarginHyperSetup%
|
||||
\strong{\Glsentryname{#2}:} % Create the title of the margin note.
|
||||
\glsdesc*{#2}% Create the text of the margin note.
|
||||
\strong{\Glsentryname{#2}:}% Create the title of the margin note.
|
||||
\enspace\glsdesc*{#2}% Create the text of the margin note.
|
||||
}%
|
||||
}
|
||||
\NewDocumentCommand{\margindef}{O{} m}{%
|
||||
\mdef[#1]{#2}{\gls}%
|
||||
\NewDocumentCommand{\MarginDef}{O{} m}{%
|
||||
\@MarginDef[#1]{#2}{\gls}%
|
||||
}
|
||||
\NewDocumentCommand{\Margindef}{O{} m}{%
|
||||
\mdef[#1]{#2}{\Gls}%
|
||||
\NewDocumentCommand{\MarginDefCap}{O{} m}{%
|
||||
\@MarginDef[#1]{#2}{\Gls}%
|
||||
}
|
||||
\NewDocumentCommand{\margindefpl}{O{} m}{%
|
||||
\mdef[#1]{#2}{\glspl}%
|
||||
\NewDocumentCommand{\MarginDefPl}{O{} m}{%
|
||||
\@MarginDef[#1]{#2}{\glspl}%
|
||||
}
|
||||
\NewDocumentCommand{\Margindefpl}{O{} m}{%
|
||||
\mdef[#1]{#2}{\Glspl}%
|
||||
\NewDocumentCommand{\MarginDefCapPl}{O{} m}{%
|
||||
\@MarginDef[#1]{#2}{\Glspl}%
|
||||
}
|
||||
|
||||
% Put a footnote in a margin paragraph.
|
||||
\NewDocumentCommand{\mnote}{O{} +m}{%
|
||||
\NewDocumentCommand{\MarginNote}{O{} +m}{%
|
||||
\footnotemark%
|
||||
\marginalia[#1]{%
|
||||
\MarginHyperSetup%
|
||||
@@ -61,7 +61,7 @@
|
||||
}%
|
||||
}
|
||||
|
||||
\NewDocumentCommand{\marginfig}{
|
||||
\NewDocumentCommand{\MarginFig}{
|
||||
% #1: Options passed to \includegraphics.
|
||||
O{}
|
||||
% #2: Graphic file name.
|
||||
@@ -69,16 +69,18 @@
|
||||
% #3: Label.
|
||||
>{\TrimSpaces}m
|
||||
+m
|
||||
}{%
|
||||
}{
|
||||
% This strut ensures that the margin figure is counted as part of the
|
||||
% following paragraph and is vertically aligned with it.
|
||||
\strut%
|
||||
\marginalia{%
|
||||
\MarginHyperSetup%
|
||||
\begin{MyCaption}[
|
||||
format={\RaggedOutside\small\color{caption}}
|
||||
]{fig:#3}{#4}
|
||||
\Centering\includegraphics[keepaspectratio,#1]{#2}%
|
||||
\end{MyCaption}
|
||||
}%
|
||||
%\strut {\setlength{\parskip}{0pt} \par} \strut
|
||||
\mbox{
|
||||
\marginalia{
|
||||
\MarginHyperSetup
|
||||
\begin{MyCaption}[
|
||||
format={\RaggedOutside\small\color{caption}}
|
||||
]{fig:#3}{#4}
|
||||
\Centering\includegraphics[keepaspectratio,#1]{#2}
|
||||
\end{MyCaption}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,10 @@
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesPackage{PrimeTeX/packages/Tables}[2025-07-09]
|
||||
|
||||
% Table formatting.
|
||||
\RequirePackage{tabularray}
|
||||
\RenewDocumentCommand\TblrAlignBoth{}{\justifying}
|
||||
\RenewDocumentCommand\TblrAlignLeft{}{\RaggedRight}
|
||||
\RenewDocumentCommand\TblrAlignCenter{}{\Centering}
|
||||
\RenewDocumentCommand\TblrAlignRight{}{\RaggedLeft}
|
||||
|
||||
\UseTblrLibrary{siunitx}
|
||||
|
||||
@@ -13,8 +15,6 @@
|
||||
hline{2} = {0.4pt},
|
||||
}
|
||||
|
||||
%\renewcommand{\TblrOverlap}[1]{#1}
|
||||
|
||||
\DeclareTblrTemplate{remark-tag}{default}{
|
||||
\strong{\InsertTblrRemarkTag}
|
||||
}
|
||||
@@ -34,6 +34,4 @@
|
||||
bg = #1,
|
||||
font = \bfseries,
|
||||
}
|
||||
}
|
||||
|
||||
\RequirePackage{csvsimple-l3}
|
||||
}
|
||||
@@ -1,8 +1,6 @@
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesPackage{PrimeTeX/packages/TitlePage}[2025-07-09]
|
||||
|
||||
\RequirePackage{graphicx}
|
||||
|
||||
% Define custom title page.
|
||||
\NewDocumentCommand{\PrimeTitlePage}{O{}}{
|
||||
\thispagestyle{empty}
|
||||
@@ -18,7 +16,7 @@
|
||||
{\Huge\Title}
|
||||
\vfill
|
||||
{\leavevmode
|
||||
% Move the rule graphic to 0.25 in from the left edge of the
|
||||
% Move the rule graphic to 0.25 in from the left edge of the
|
||||
% paper and vertically centered on the heartbeat graphic.
|
||||
\put(-\oddsidemargin-0.75in,10pt){
|
||||
\includegraphics{#1prime_rule.pdf}
|
||||
@@ -28,7 +26,7 @@
|
||||
\includegraphics{#1prime_heartbeat.pdf}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
\AuthorCompany
|
||||
|
||||
Revision \Version
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesPackage{PrimeTeX/packages/Titles}[2025-07-16]
|
||||
|
||||
\RequirePackage[raggedright]{titlesec}
|
||||
|
||||
\ifthenelse{\NOT\boolean{doRomanNumerals}}{
|
||||
\renewcommand{\thepart}{\arabic{part}}
|
||||
}{}
|
||||
|
||||
Reference in New Issue
Block a user