- Add VSCode fold regions.

- Add margin footnote macro.
- Fix margin note vertical offset.
This commit is contained in:
Silcantar
2025-07-06 20:25:49 -05:00
parent ad30cc2a41
commit 7230d1a842

View File

@@ -1,28 +1,32 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{latex-templates/PrimeManual}[2025-06-24]
%
% Suppress warning about \showhyphens being changed.
\let\CheckCommand\providecommand
\RequirePackage{microtype}
\DeclareRobustCommand*{\customer}[1]{\gdef\@customer{#1}}
\DeclareRobustCommand*{\customerFull}[1]{\gdef\@customerFull{#1}}
\DeclareRobustCommand*{\projectNumber}[1]{\gdef\@projectNumber{#1}}
\DeclareRobustCommand*{\projectDesc}[1]{\gdef\@projectDesc{#1}}
\DeclareRobustCommand*{\version}[1]{\gdef\@version{#1}}
% Custom document properties.
%#region
\DeclareRobustCommand*{\customer}[1]{\gdef\@customer{#1}}
\DeclareRobustCommand*{\customerFull}[1]{\gdef\@customerFull{#1}}
\DeclareRobustCommand*{\projectNumber}[1]{\gdef\@projectNumber{#1}}
\DeclareRobustCommand*{\projectDesc}[1]{\gdef\@projectDesc{#1}}
\DeclareRobustCommand*{\version}[1]{\gdef\@version{#1}}
%#endregion
\newcommand{\sTitle}{\makeatletter{\@title}}
\newcommand{\sAuthor}{\makeatletter{\@author}}
\newcommand{\sDate}{\makeatletter{\@date}}
\newcommand{\sCustomer}{\makeatletter{\@customer}}
\newcommand{\sCustomerFull}{\makeatletter{\@customerFull}}
\newcommand{\sProjectNumber}{\makeatletter{\@projectNumber}}
\newcommand{\sProjectDesc}{\makeatletter{\@projectDesc}}
\newcommand{\sProjectTitle}{\makeatletter{Project \@projectNumber : \@projectDesc}}
\newcommand{\sVersion}{\makeatletter{\@version}}
%\RequirePackage[mark]{gitinfo2}
% Macros to insert document properties.
%#region
\newcommand{\sTitle}{\makeatletter{\@title}}
\newcommand{\sAuthor}{\makeatletter{\@author}}
\newcommand{\sDate}{\makeatletter{\@date}}
\newcommand{\sCustomer}{\makeatletter{\@customer}}
\newcommand{\sCustomerFull}{\makeatletter{\@customerFull}}
\newcommand{\sProjectNumber}{\makeatletter{\@projectNumber}}
\newcommand{\sProjectDesc}{\makeatletter{\@projectDesc}}
\newcommand{\sProjectTitle}{\makeatletter{Project \@projectNumber : \@projectDesc}}
\newcommand{\sVersion}{\makeatletter{\@version}}
%#endregion
% Specify Fonts
%#region
@@ -55,27 +59,40 @@
%#endregion
% Page Layout
\RequirePackage[pass]{geometry}
%#region
\RequirePackage[pass]{geometry}
%#endregion
% Title & Heading Options
\RequirePackage[sf,raggedright]{titlesec}
%#region
\RequirePackage[sf,raggedright]{titlesec}
%#endregion
% Header & Footer Options
\pagestyle{plain}
%#region
\pagestyle{plain}
%#endregion
% Color import and definition
\RequirePackage{xcolor}
\definecolor{PrimeBlue}{RGB}{25,45,145}
%#region
\RequirePackage{xcolor}
\definecolor{PrimeBlue}{RGB}{25,45,145}
%#endregion
% Use Hyperref to automatically create links in the document
\RequirePackage{hyperref}
\hypersetup{colorlinks=true, allcolors=PrimeBlue}
%#region
\RequirePackage{hyperref}
\hypersetup{colorlinks=true, allcolors=PrimeBlue}
%#endregion
% Graphics package for including images
\RequirePackage{graphicx}
\RequirePackage{calc}
%#region
\RequirePackage{graphicx}
\RequirePackage{calc}
%#endregion
% Define custom title page.
%#region
\newcommand{\PrimeTitlePage}{
\begin{titlepage}
\begin{sffamily}
@@ -110,41 +127,64 @@
\end{sffamily}
\end{titlepage}
}
%#endregion
% Paragraph formatting.
\setlength{\parindent}{0pt}
\setlength{\parskip}{2ex plus 0.5ex minus 0.5ex}
%#region
\setlength{\parindent}{0pt}
\setlength{\parskip}{2ex plus 0.5ex minus 0.5ex}
%#endregion
% Table formatting.
\renewcommand{\arraystretch}{1.5}
\RequirePackage{csvsimple}
\RequirePackage{longtable}
\RequirePackage{colortbl}
\RequirePackage{booktabs}
%#region
\renewcommand{\arraystretch}{1.5}
\RequirePackage{csvsimple}
\RequirePackage{longtable}
\RequirePackage{colortbl}
\RequirePackage{booktabs}
\newcommand{\bandedrows}{\rowcolors{2}{white}{gray!10}}
%#endregion
% Glossary formatting.
\RequirePackage[nopostdot,toc,sort=standard]{glossaries}
%#region
\RequirePackage[nopostdot,toc,sort=standard]{glossaries}
%#endregion
% Index formatting.
\RequirePackage{makeidx}
\RequirePackage{xstring}
\newcommand{\idx}[1]{\StrSubstitute{#1}{!}{ }\index{#1}}
%#region
\RequirePackage{makeidx}
\RequirePackage{xstring}
\newcommand{\idx}[1]{\StrSubstitute{#1}{!}{ }\index{#1}}
%#endregion
% Margin Note formatting.
\RequirePackage{marginnote}
% -38pt seems to be just the right vertical adjustment to align margin notes
% with the reference in the text.
\renewcommand{\marginnotevadjust}{-38pt}
\renewcommand{\marginfont}{\small\color{PrimeBlue}}
%#region
\RequirePackage{marginnote}
% -38pt seems to be just the right vertical adjustment to align margin notes
% with the reference in the text.
%\renewcommand{\marginnotevadjust}{-38pt}
\renewcommand{\marginfont}{\small\color{PrimeBlue}}
\newcommand{\margintitle}[1]{\paragraph{\textbf{#1}}}
\newcommand{\margindef}[2][0pt]{%
\index{\glsentryname{#2}}% Add a reference to this in the index.
\textbf{\gls{#2}}% This is the text that appears on the page.
\marginnote{% Create the margin note.
\margintitle{\Glsentryname{#2}:% Create the title of the margin note.
} \glsdesc*{#2}}[#1]% Create the text of the margin note.
}
% Title formatting for margin notes.
\newcommand{\margintitle}[1]{\paragraph{\textbf{#1}}}
% Put a glossary definition in a margin note.
% Optional parameter is vertical adjustment of the note.
\newcommand{\margindef}[2][0pt]{%
\index{\glsentryname{#2}}% Add a reference to this in the index.
\textbf{\gls{#2}}% This is the text that appears on the page.
\marginnote{% Create the margin note.
\textsf{\textbf{
\Glsentryname{#2}:% Create the title of the margin note.
}}
\glsdesc*{#2}}[#1]% Create the text of the margin note.
}
% Put a footnote in a margin note.
% Optional parameter is vertical adjustment of the note.
\newcommand{\mnote}[2][0pt]{\footnotemark\marginnote{\footnotemark[\value{footnote}]#2}[#1]}
%#endregion
% Cross references
%#region