84 lines
2.0 KiB
TeX
84 lines
2.0 KiB
TeX
\NeedsTeXFormat{LaTeX2e}
|
|
\ProvidesPackage{PrimeTeX/packages/Marginalia}[2025-07-09]
|
|
|
|
% Allow hyphenation in narrow margin paragraphs.
|
|
\RequirePackage{ragged2e}
|
|
|
|
\RequirePackage{marginalia}
|
|
\marginaliasetup{
|
|
ysep = {\parskip},
|
|
ysep page bottom = {
|
|
- 1in % Top gutter
|
|
+ \paperheight
|
|
- \voffset
|
|
- \topmargin
|
|
- \headheight
|
|
- \headsep
|
|
- \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}},
|
|
}
|
|
|
|
\NewDocumentCommand{\MarginHyperSetup}{}{
|
|
\ifthenelse{\boolean{isElectronic}}{
|
|
\hypersetup{allcolors = link}
|
|
}{
|
|
\hypersetup{allcolors = marginText}
|
|
}
|
|
}
|
|
|
|
% Put a glossary definition in a margin paragraph.
|
|
\NewDocumentCommand{\mdef}{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.
|
|
}%
|
|
}
|
|
\NewDocumentCommand{\margindef}{O{} m}{%
|
|
\mdef[#1]{#2}{\gls}%
|
|
}
|
|
\NewDocumentCommand{\Margindef}{O{} m}{%
|
|
\mdef[#1]{#2}{\Gls}%
|
|
}
|
|
\NewDocumentCommand{\margindefpl}{O{} m}{%
|
|
\mdef[#1]{#2}{\glspl}%
|
|
}
|
|
\NewDocumentCommand{\Margindefpl}{O{} m}{%
|
|
\mdef[#1]{#2}{\Glspl}%
|
|
}
|
|
|
|
% Put a footnote in a margin paragraph.
|
|
\NewDocumentCommand{\mnote}{O{} +m}{%
|
|
\footnotemark%
|
|
\marginalia[#1]{%
|
|
\MarginHyperSetup%
|
|
\footnotemark[\value{footnote}]#2%
|
|
}%
|
|
}
|
|
|
|
\NewDocumentCommand{\marginfig}{
|
|
% #1: Options passed to \includegraphics.
|
|
O{}
|
|
% #2: Graphic file name.
|
|
m
|
|
% #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}
|
|
}%
|
|
} |