\hbox 过满(太宽),不适合 \newenvironment

\hbox 过满(太宽),不适合 \newenvironment

我在文档类中创建了一个 \newenvironment。但是如果我创建了 \pagebreak 或刚到达页面末尾,就会收到警告“\hbox 过满(0.38pt 太宽)”

我的 \newenvironment 是

\newenvironment{appendices}
    {
    \setcounter{section}{0}
    \def\thesection{\Alph{section}}
    \numberwithin{page}{section}
    \renewcommand*{\thepage}{\thesection-\arabic{page}}
    {
    \iftoggle{is_danish}{%If
        \cfoot{Side \thepage\ af \pageref{LastPage3}}
    }{%Else
    \cfoot{Page \thepage\ of \pageref{LastPage3}}
    }%Endif
    }
}

以下是一个例子

\documentclass[12pt]{extarticle}

%Packages
\usepackage{lipsum}
\usepackage{fancyhdr}
\RequirePackage{etoolbox}
\usepackage{amsmath}
    %Conditionals, if, else
    \newtoggle{is_danish}
    \newtoggle{is_english}
\setlength{\headheight}{27.3pt} 


\newenvironment{appendices}
    {
    \setcounter{section}{0}
    \def\thesection{\Alph{section}}
    \numberwithin{page}{section}
    \renewcommand*{\thepage}{\thesection-\arabic{page}}
    {
    \iftoggle{is_danish}{%If
        \cfoot{Side \thepage\ af \pageref{LastPage3}}
    }{%Else
    \cfoot{Page \thepage\ of \pageref{LastPage3}}
    }%Endif
    }
}{}

\begin{document}
\tableofcontents
\pagestyle{fancy}
% A buch of text, equations and figures
\begin{appendices}

    \section{Matlab code}
    \subsection{Post-processing}
    \lipsum
    \lipsum

    \label{LastPage3}
    \newpage
\end{appendices}
\end{document}

有什么方法可以消除这个警告吗?

答案1

警告是

(./aa316.toc
Overfull \hbox (0.38747pt too wide) detected at line 2
 \OT1/cmr/m/n/12 A-0

表明目录中第 2 行的 A-0 对于分配的空间来说太宽。

在标准类中,空间是这样的\@pnumwidth,因此将其稍微大一点可以消除警告,例如将其添加到你的序言中

\makeatletter
\renewcommand\@pnumwidth{2em}
\makeatother

相关内容