- Refine Boxouts.

- General refactoring.
This commit is contained in:
2025-08-27 16:41:25 -05:00
parent 01a598b3aa
commit f9a6c6e7cc
8 changed files with 138 additions and 97 deletions

View File

@@ -3,11 +3,6 @@
% Suppress warning about \showhyphens being changed.
\let\CheckCommand\providecommand
% Suppress "Underfull \hbox" infos.
\hbadness=10000
% Suppress small overfull infos.
\hfuzz = 0.0pt
\vfuzz = 0.0pt
\NewDocumentCommand{\providelength}{m O{0pt}}{%
\ifdeflength{#1}{% It is already defined!
@@ -33,10 +28,21 @@
footskip = 0.5in, % 36pt,
]{geometry}
\renewcommand{\Gm@vrule}{\color{layoutColor}\vrule width 0.2pt height\textheight depth\z@}
\renewcommand{\Gm@hrule}{\color{layoutColor}\hrule height 0.2pt depth\z@ width\textwidth}
\renewcommand{\Gm@hruled}{\color{layoutColor}\hrule height\z@ depth0.2pt width\textwidth}
% Suppress "Underfull \hbox" infos.
\hbadness=10000
\ifthenelse{\boolean{isDraft}}{
% \geometry{showcrop}
\geometry{showframe}
}{}
\hfuzz = 2.0pt
}{
% Suppress small overfull infos.
\hfuzz = 6.0pt
\vfuzz = 0.0pt
}
\ifthenelse{\boolean{isElectronic}}{
% \geometry{}
@@ -79,15 +85,13 @@
% Line-breaking dot
\NewDocumentCommand{\bdot}{}{.\zws}
\newcommand{\bigfloatoffsetratio}{0.667}
\newcommand{\bigfloatoffsetratio}{2}
% Maximum width adjustment to fit 2 16x9 screensots on one page.
\providelength{\bigfloatoverhang}[0.81in]
\providelength{\bigfloatoverhang}[0.54in]
\providecommand{\adjwidthtype}{}
\makeatletter
\NewDocumentCommand{\BigFloat}{
% Overhang: the distance that the BigFloat extends into the margins.
O{\bigfloatoverhang}
@@ -96,35 +100,36 @@
% Offset: the distance to offset the center of the BigFloat from the center
% of the text block.
O{\bigfloatoffsetratio}
% Float type: figure or table.t
% Float type: figure or table.
m
% Content: what appears in the BigFloat.
+m
}{%
\ifthenelse{\boolean{isElectronic}}{%
\@bfloat{#1}{#2}{#3}{#4}{#5}{adjustwidth}%
\@bigfloat{#1}{#2}{#3}{#4}{#5}{adjustwidth}%
}{%
\@bfloat{#1}{#2}{#3}{#4}{#5}{adjustwidth*}%
\@bigfloat{#1}{#2}{#3}{#4}{#5}{adjustwidth*}%
}%
}
\NewDocumentCommand{\@bfloat}{
\NewDocumentCommand{\@bigfloat}{
% First 5 arguments are same as \BigFloat.
m m m m +m
% Argument 6 is the adjustwidth type [adjustwidth for one-sided document,
% adjustwidth* for two-sided].
% Argument 6 is the adjustwidth type:
% adjustwidth for one-sided document; adjustwidth* for two-sided.
m
}{
\begin{#4}[#2]% figure/table
\begin{#6}{-#1 * \real{#3}}{-#1 / \real{#3}}% adjustwidth(*)
\begin{minipage}{#1 * 2 + \textwidth}%
\begin{#6}{-#1}{-#1 * \real{#3}}% adjustwidth(*)
\begin{minipage}{#1 * (#3 + 1) + \textwidth}%
\ifthenelse{\boolean{isDraft}}{%
\rule{\textwidth}{1pt}\zws%
}{}%
#5%
{\color{layoutColor}\rule{\textwidth}{1pt}\zws}%
#5%
%{\color{layoutColor}\rule{\textwidth}{1pt}}%
}{%
#5%
}%
\end{minipage}%
\end{#6}%
\end{#4}%
}
\makeatother
}