Я использую его ieeecolor.cls
впервые - покупаю уhttps://www.embs.org/tmi/authors-instructions/, а именно,https://www.embs.org/wp-content/uploads/2020/04/TMI-Template-LaTeX-2020.zip
Меня раздражает то, что настройки по умолчанию, рекомендуемые журналом, приводят к переполнению и недозаполнению полей:
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 []
Я пытался исправить их, но я не вижу, где определяется максимальная ширина, поэтому я понятия не имею, почему какой-либо из элементов в заголовке превышает эту ширину. Очевидно, что они не превышают стандартные поля страницы на 160 пунктов. Затем я пытался их подавить, но безуспешно.
Что еще я могу попробовать?
\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}
решение1
Частично основано на @DavidCarlisleкомментарий, этот ответ работает для меня в преамбуле. Он состоит из трех частей: первая часть отключает большинство предупреждений на странице, где \maketitle
выдается. Следующий блок устанавливает значения предупреждений на предыдущих значениях в конце страницы, где \maketitle
выдается.
Третий блок нужен только для journal
опции, я полагаю. Он заменяет a \vbox
из кода заголовка на \parbox[c][15pt][c]
, сохраняя все пробелы и все еще удаляя
Переполнен \vbox (5.0pt слишком много)
предупреждения на последующих страницах.
% 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
Этот полный MWE демонстрирует эффект подавления предупреждений и генерирует тестовые предупреждения, которые показывают, что предупреждения подавляются только на титульном листе:
\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}