为什么我会收到以下消息:
\hbox
段落第 107-108 行未满(badness 10000)
我希望问题名称和表格之间有一个空行,但如果我使用\\
或\newline
以及空格,或者如果我使用两个\newline
,我会收到“未满\hbox
”消息。
\begin{solution}{1.2}\newline % Line 107
\newlength{\mylen}\settowidth{\mylen}{$p \to q$}% Widest element
\begin{tabular}{*{5}{|>{\centering\arraybackslash\rule{0pt}{1.05em}}m{\mylen}}|}
\hline
$p$ & $q$ & $p \land q$ & $p \lor q$ & $p \to q$\\
\hline
T & T & T & T & T\\
\hline
T & F & F & T & F\\
\hline
F & T & F & T & T\\
\hline
F & F & F & F & T\\
\hline
\end{tabular}
\end{solution}
答案1
插入\par\vspace{\baselineskip}
将为您提供两个段落之间的单行间隙。在下面的最小示例中,环境模型在后面solution
添加了\par\nobreak\vspace{\baselineskip}
每一个 \begin{solution}{<stuff>}
(\nobreak
添加后会阻止打印环境标题后的分页)。如果您不想这样,您可以通过从\par\vspace{\baselineskip}
定义中删除来手动添加间隙\begin{solution}
:
\documentclass{article}
\usepackage{array}% http://ctan.org/pkg/array
\newenvironment{solution}[1] % solution environment
{\par\textbf{Solution\ #1}:\par\nobreak\vspace{\baselineskip}}% \begin{solution}
{}% \end{solution}
\begin{document}
\begin{solution}{1.2} % Line 107
\newlength{\mylen}\settowidth{\mylen}{$p \to q$}% Widest element
\begin{tabular}{*{5}{|>{\centering\arraybackslash\rule{0pt}{1.05em}}m{\mylen}}|}
\hline
$p$ & $q$ & $p \land q$ & $p \lor q$ & $p \to q$\\
\hline
T & T & T & T & T \\
\hline
T & F & F & T & F \\
\hline
F & T & F & T & T \\
\hline
F & F & F & F & T \\
\hline
\end{tabular}
\end{solution}
\end{document}
您还可以考虑使用\smallskip
、\medskip
或\bigskip
,它们各自都允许在文本内进行一定程度的拉伸/收缩。