我在文档类中创建了一个 \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