![我怎样才能修复这个过满的水平盒子?](https://linux22.com/image/268090/%E6%88%91%E6%80%8E%E6%A0%B7%E6%89%8D%E8%83%BD%E4%BF%AE%E5%A4%8D%E8%BF%99%E4%B8%AA%E8%BF%87%E6%BB%A1%E7%9A%84%E6%B0%B4%E5%B9%B3%E7%9B%92%E5%AD%90%EF%BC%9F.png)
\documentclass[10pt]{article}
\usepackage{chemfig}
\usepackage[margin=1.2in]{geometry}
\newcommand{\chem}{\setatomsep{2em}\chemfig}
\begin{document}
\begin{itemize}
\item[--] 1$^\circ$ Alcohol $\rightarrow$ Aldehyde\\
\centerline{\schemestart
\chem{R-C(-[2]OH)(-[6]H)-H} \arrow{0}[,0] \+ [O] \arrow \chem{R-[:30]C(=[2]O)-[:-30]H} \arrow{0}[,0] \+ H$_2$O
\schemestop}
\end{itemize}
\end{document}
以上内容给出:
Overfull \hbox (25.00003pt too wide) in paragraph
之前它可以工作,但是现在却不工作了,我该如何修复它?
答案1
\centerline{
并不是真正的 latex 命令(它是 latex 格式,但只是从纯 TeX 中转义的)。它使框\hsize
变宽,但不知道 latex 列表结构及其引入的缩进。因此,您的行太宽了 25pt,这将是列表项的左边距。只需将其删除\centerline
并替换为\begin{center}...\end{center}
。
答案2
如果您确实想要,您可以重新定义命令\centerline
以消除警告:
\renewcommand{\centerline}[1]{\null\hfill#1\hfill\null}
\documentclass[10pt]{article}
\usepackage{chemfig}
\usepackage[margin=1.2in]{geometry}
\newcommand{\chem}{\setatomsep{2em}\chemfig}
\renewcommand{\centerline}[1]{\null\hfill#1\hfill\null}
\begin{document}
\begin{itemize}
\item[--] 1$^\circ$ Alcohol $\rightarrow$ Aldehyde\\
\centerline{
\schemestart
\chem{R-C(-[2]OH)(-[6]H)-H} \arrow{0}[,0] \+ [O] \arrow
\chem{R-[:30]C(=[2]O)-[:-30]H} \arrow{0}[,0] \+ H$_2$O
\schemestop
}
\end{itemize}
\end{document}