¿Cómo ignorar las cajas defectuosas con ieeecolor?

¿Cómo ignorar las cajas defectuosas con ieeecolor?

estoy usandoieeecolor.cls por primera vez. Consíguelo enhttps://www.embs.org/tmi/authors-instructions/, a saber,https://www.embs.org/wp-content/uploads/2020/04/TMI-Template-LaTeX-2020.zip

Lo que me molesta es que la configuración predeterminada recomendada por la revista da como resultado cuadros demasiado llenos y poco llenos:

Overfull \hbox (109.0pt too wide) has occurred while \output is active
Overfull \hbox (162.0pt too wide) has occurred while \output is active
Underfull \hbox (badness 10000) has occurred while \output is active
Overfull \vbox (21.77283pt too high) has occurred while \output is active []

Intenté solucionarlos, pero realmente no veo dónde se define el ancho máximo, por lo que no tengo idea de por qué alguno de los elementos en el encabezado excede estos anchos. Claramente, no superan los márgenes de página estándar en 160 puntos. Luego he intentado reprimirlos, sin suerte.

¿Qué más puedo probar?

\vfuzz=\maxdimen
\hfuzz=\maxdimen
\hbadness=100000
\vbadness=100000

\documentclass[print]{ieeecolor}

%\usepackage{tmi}
\def\logoname{LOGO-tmi-web}
\definecolor{subsectioncolor}{rgb}{0,0.541,0.855}
\setlength{\firstpagerule}{26.5pc}
\setlength{\logowidth}{16.5pc}
\def\journalname{IEEE Transactions on Medical Imaging}

\usepackage{graphicx}
\usepackage{lipsum}
\begin{document}
\title{Long title: foo bar yada yada foo bar yes thank you that's enough.}
\markboth{\journalname}{Short title}
\author{Author one, two, three, four. \thanks{\lipsum[1]}}
\maketitle
\begin{abstract}
    \lipsum[2]
\end{abstract}
\lipsum[3]
\end{document}

Respuesta1

Basado en parte en @DavidCarlislecomentario, esta respuesta me funciona en el preámbulo. Esto tiene tres partes: la primera desactiva la mayoría de las casillas de advertencia en la página donde \maketitlese emite. El siguiente bloque restablece los valores de advertencia del cuadro a los valores anteriores al final de la página donde \maketitlese publica.

journalCreo que el tercer bloque solo es necesario para la opción. Reemplaza a \vboxdel código principal por \parbox[c][15pt][c], manteniendo todos los espacios y aún eliminando el

\vbox demasiado lleno (5,0 puntos demasiado alto)

advertencias en páginas posteriores.

% Suppress other "Underfull hbox", "Overfull *box" just before \maketitle
\pretocmd{\maketitle}{%
    \newcounter{titlepage}\setcounter{titlepage}{\value{page}}%
    \newcount\oldhbadness\oldhbadness=\hbadness\hbadness=10000
    \newdimen\oldhfuzz\oldhfuzz=\hfuzz\hfuzz=162pt%
    \newdimen\oldvfuzz\oldvfuzz=\vfuzz\vfuzz=22pt%
}{}{Error.}

% Re-enable on following page
\AtBeginShipout{%
    \ifnumequal{\value{page}}{\value{titlepage}}{%
        \global\hbadness=\oldhbadness%
        \global\hfuzz=\oldhfuzz%
        \global\vfuzz=\oldvfuzz%
    }{}%
}

% Fix "Overfull \vbox (5.0pt too high)" on later pages
\patchcmd{\@evenhead}{%
    \vbox{\color{subsectioncolor}\hrule height1pt width43pc depth0pt}%
}{%
    \parbox[c][15pt][c]{\textwidth}{\color{subsectioncolor}\hrule height1pt width43pc depth0pt}%
}{}{Error.}
\patchcmd{\@oddhead}{%
    \vbox{\color{subsectioncolor}\hrule height1pt width43pc depth0pt}%
}{%
    \parbox[c][15pt][c]{\textwidth}{\color{subsectioncolor}\hrule height1pt width43pc depth0pt}%
}{}{Error.}
\makeatother

Este MWE completo demuestra el efecto de suprimir advertencias y genera advertencias de prueba que muestran que las advertencias se suprimen solo en la página de título:

\documentclass[journal,twoside,web]{ieeecolor}
\usepackage{tmi}
\usepackage{graphicx}
\usepackage{lipsum}

\newif\ifgeneratetestwarnings
\generatetestwarningstrue

\newif\ifsuppressclasswarnings
\suppressclasswarningstrue
\ifsuppressclasswarnings
    \usepackage{etoolbox}
    \usepackage{atbegshi}

    % Suppress other "Underfull hbox", "Overfull *box" just before \maketitle
    \pretocmd{\maketitle}{%
        \newcounter{titlepage}\setcounter{titlepage}{\value{page}}%
        \newcount\oldhbadness\oldhbadness=\hbadness\hbadness=10000
        \newdimen\oldhfuzz\oldhfuzz=\hfuzz\hfuzz=162pt%
        \newdimen\oldvfuzz\oldvfuzz=\vfuzz\vfuzz=22pt%
    }{}{Error.}

    % Re-enable on following page
    \AtBeginShipout{%
        \ifnumequal{\value{page}}{\value{titlepage}}{%
            \global\hbadness=\oldhbadness%
            \global\hfuzz=\oldhfuzz%
            \global\vfuzz=\oldvfuzz%
        }{}%
    }

    % Fix "Overfull \vbox (5.0pt too high)" on later pages
    \makeatletter
    \patchcmd{\@evenhead}{%
        \vbox{\color{subsectioncolor}\hrule height1pt width43pc depth0pt}%
    }{%
        \parbox[c][15pt][c]{\textwidth}{\color{subsectioncolor}\hrule height1pt width43pc depth0pt}%
    }{}{Error.}
    \patchcmd{\@oddhead}{%
        \vbox{\color{subsectioncolor}\hrule height1pt width43pc depth0pt}%
    }{%
        \parbox[c][15pt][c]{\textwidth}{\color{subsectioncolor}\hrule height1pt width43pc depth0pt}%
    }{}{Error.}
    \makeatother
\fi

\begin{document}
\title{Title}
\author{Author \thanks{Thanks.}}
\maketitle

\lipsum[1-17]

\ifgeneratetestwarnings
    This underfuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuull hbox should be a warning.

    This \mbox{overfuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuull} hbox, too (4.43956pt).

    \parbox[c][2in][s]{4cm}{This underfull vbox, too.}

    This overfull vbox, too (2.0pt):\newpage
    \begin{minipage}[t][690pt]{\textwidth}\end{minipage}
\fi

\end{document}

información relacionada