From c1f308ad1972488432f58b30dc125be2ca9ba6c1 Mon Sep 17 00:00:00 2001 From: Silcantar Date: Fri, 11 Jul 2025 23:06:02 -0500 Subject: [PATCH] - Improve bigfloat behavior. - Add Hyphenation package. - Make margin figure caption ragged right/left depending on page. --- Graphics.sty | 7 ++++--- Hyphenation.sty | 6 ++++++ Layout.sty | 45 ++++++++++++++++++++++++--------------------- Manual.cls | 2 ++ MarginNotes.sty | 19 ++++++++++++++++--- 5 files changed, 52 insertions(+), 27 deletions(-) create mode 100644 Hyphenation.sty diff --git a/Graphics.sty b/Graphics.sty index 9634b43..90ddc3d 100644 --- a/Graphics.sty +++ b/Graphics.sty @@ -6,6 +6,7 @@ % Graphics package for including images \RequirePackage{graphicx} \RequirePackage[hypcap=true]{caption} + \RequirePackage{calc} \newcommand{\ig}[2][0.5in]{ \includegraphics[keepaspectratio,width=#1]{#2} @@ -23,10 +24,10 @@ \newcommand{\centerfigw}[4][\textwidth]{\cfig{#2}{#3}{#4}{\includegraphics[keepaspectratio,width=#1]}} \newcommand{\bigfig}[4][1in]{% - \bigfloat[#1]{% + \bigfloat[#1]{figure}{% \captionsetup{type=figure}% - \includegraphics[keepaspectratio,width=\bfFigureWidth]{#2}% - \captionof{figure}{#4}% + \includegraphics[keepaspectratio,width=\textwidth]{#2}% + \centering\captionof{figure}{#4}\par% \label{fig:#3}% }% } diff --git a/Hyphenation.sty b/Hyphenation.sty new file mode 100644 index 0000000..dcd2070 --- /dev/null +++ b/Hyphenation.sty @@ -0,0 +1,6 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{PrimeTeX/Hyphenation}[2025-07-11] + +\hyphenation{ + over-view +} \ No newline at end of file diff --git a/Layout.sty b/Layout.sty index 277ebfc..9ff5662 100644 --- a/Layout.sty +++ b/Layout.sty @@ -10,30 +10,19 @@ %#region \RequirePackage[pass]{geometry} \RequirePackage{calc} - \RequirePackage{ifoddpage} + \RequirePackage{changepage} \newlength{\contentwidth} \setlength{\contentwidth}{\textwidth+\marginparsep+\marginparwidth} - \newlength{\bfFigureWidth} - \newlength{\bfMarginOffset} - \newcommand{\bigfloat}[2][1in]{% - \setlength{\bfFigureWidth}{#1*-2+\paperwidth}% - \checkoddpage% - \ifoddpage% - \setlength{\bfMarginOffset}{-1in+#1-\oddsidemargin}% - \else% - \setlength{\bfMarginOffset}{-1in+#1-\evensidemargin}% - \fi% - \begin{figure}[ht]% - {\leavevmode% - \put(\bfMarginOffset,0in){% - \begin{minipage}{\bfFigureWidth}% - #2% - \end{minipage}% - }% - }% - \end{figure}% + \newcommand{\bigfloat}[3][1in]{% + \begin{#2}[htp]% + \begin{adjustwidth*}{-#1}{-#1}% + \begin{minipage}{#1 * 2 + \textwidth}% + #3% + \end{minipage}% + \end{adjustwidth*}% + \end{#2}% } %#endregion @@ -51,4 +40,18 @@ %#region \setlength{\parindent}{0pt} \setlength{\parskip}{2ex plus 0.5ex minus 0.5ex} -%#endregion \ No newline at end of file +%#endregion + +\renewcommand{\topfraction}{0.9} % max fraction of floats at top +\renewcommand{\bottomfraction}{0.8} % max fraction of floats at bottom +% Parameters for TEXT pages (not float pages): +\setcounter{topnumber}{2} +\setcounter{bottomnumber}{2} +\setcounter{totalnumber}{4} % 2 may work better +\setcounter{dbltopnumber}{2} % for 2-column pages +\renewcommand{\dbltopfraction}{0.9} % fit big float above 2-col. text +\renewcommand{\textfraction}{0.07} % allow minimal text w. figs +% Parameters for FLOAT pages (not text pages): +\renewcommand{\floatpagefraction}{0.7} % require fuller float pages +% N.B.: floatpagefraction MUST be less than topfraction !! +\renewcommand{\dblfloatpagefraction}{0.7} % require fuller float pages \ No newline at end of file diff --git a/Manual.cls b/Manual.cls index a6c13ac..b40edbf 100644 --- a/Manual.cls +++ b/Manual.cls @@ -15,6 +15,8 @@ \RequirePackage{PrimeTeX/Graphics} +\RequirePackage{PrimeTeX/Hyphenation} + \RequirePackage{PrimeTeX/Index} \RequirePackage{PrimeTeX/Layout} diff --git a/MarginNotes.sty b/MarginNotes.sty index 65d2e20..2c50a50 100644 --- a/MarginNotes.sty +++ b/MarginNotes.sty @@ -35,14 +35,27 @@ }[#1]% } + \RequirePackage{changepage} + \RequirePackage{ifthen} + \newcommand{\mfig}[5][0pt]{% % This strut ensures that the margin figure is counted as part of the % following paragraph and is vertically aligned with it. \strut% \marginnote{% - \captionsetup{% - type = figure,% - font = {color=marginTextColor},% + \checkoddpage% + \ifthenelse{\boolean{oddpage}}{% + \captionsetup{% + type = figure,% + font = {color=marginTextColor},% + justification = raggedright,% + }% + }{% + \captionsetup{% + type = figure,% + font = {color=marginTextColor},% + justification = raggedleft,% + }% }% {\centering#5{#2}\par}% \captionof{figure}{#4}%