![\hbox 未满警告](https://linux22.com/image/435700/%5Chbox%20%E6%9C%AA%E6%BB%A1%E8%AD%A6%E5%91%8A.png)
我是 LaTEX 新手。我正在自学,所以这可能是初学者的问题。我收到了警告:underfull \hbox (badness 10000) in paragraph
\documentclass[a4paper, 12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[utf8]{vietnam}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{graphicx}
\usepackage[top=2cm, bottom=2cm, left=2cm, right=2cm]{geometry}
\title{\textbf{Tham gia giải bài \\ THÁCH THỨC KỲ NÀY}}
\author{(Tạp chí Pi Tập $5$ - Số $6$ - Tháng $6$ năm $2021$)}
\date{Nguyễn Tấn Phúc}
\begin{document}
\maketitle
\section{Thông tin cá nhân}
\begin{flushleft}
\begin{itemize}
\item[-] \textit{Họ và tên}: Nguyễn Tấn Phúc
\item[-] \textit{Lớp}: $8/1$
\end{itemize}
\end{flushleft}
\section{Giải bài P514 (Mức B)}
\begin{itemize}
\item \textit{\textbf{Đề bài:}} Đặt $\phi = \dfrac{1 + \sqrt{5}}{2}$. Cho các số nguyên $a, b, c$ thỏa mãn:
\[ \dfrac{a}{\phi} + \dfrac{b}{\phi^2} + \dfrac{c}{\phi^3} = \phi. \]
Tính $2a + b + c$.
\item \textit{\textbf{Lời giải:}} \\
Ta dễ dàng chứng minh được $\phi^2 - \phi - 1 = 0$, từ đó suy ra \\
$$\dfrac{1}{\phi} = \phi - 1, \quad \dfrac{1}{\phi^2} = 1 - \dfrac{1}{\phi} = 2 - \phi, \quad \dfrac{1}{\phi^3} = \dfrac{1}{\phi} - \dfrac{1}{\phi^2} = 2\phi - 3$$ \\
Giả thiết của bài toán tương đương với $a(\phi - 1) + b(2 - \phi) + c(2\phi - 3) = \phi$, hay
\[(a - b + 2c - 1)\phi = a - 2b + 3c.\]
Vì $a - 2b + 3c$ là số hữu tỉ nên $(a - b + 2c - 1)\phi$ cũng là số hữu tỉ. Mà $\phi$ là số vô tỉ và $a - b + 2c - 1$ là số hữu tỉ nên $a - b + 2c = 1$. Do đó $a - 2b + 3c = 0$. Vậy $2a + b + c = 5(a - b + 2c) - 3(a - 2b + 3c) = \textbf{5}$.
\end{itemize}
\section{Giải bài P515 (Mức B)}
\begin{itemize}
\item \textit{\textbf{Đề bài:}} Trong hình dưới đây: $ABCD$ là hình vuông cạnh $2$; đường tròn $(O)$ có bán kính $1$ và tiếp xúc với $BC$ tại trung điểm $BC$, $M$ là một điểm di động trên $(O)$. Tìm giá trị lớn nhất của $AM$.
\begin{figure}[ht]
\label{fig:P515}
\centering
\includegraphics[scale = 0.35]{P515}
\end{figure}
\item \textit{\textbf{Lời giải:}} \\
Gọi $N$ là trung điểm của đoạn thẳng $AD$. Khi đó ta dễ dàng tính được: \\
$$AN = \dfrac{1}{2} \cdot AD = \dfrac{1}{2} \cdot 2 = 1$$
$$ON = 2 + 1 = 3$$ \\
Áp dụng định lí Pythagoras trong tam giác ANO vuông tại N, ta có:
$$OA = \sqrt{AN^2 + ON^2} = \sqrt{1^2 + 3^2} = \sqrt{10}$$ \\
Sử dụng bất đẳng thức tam giác, ta có $AM \leq OA + OM = \sqrt{10} + 1 $. Đẳng thức xảy ra khi $M$ là điểm xa $A$ nhất trong hai giao điểm của $OA$ và $(O)$. Vậy giá trị lớn nhất của AM là $\sqrt{\textbf{10}} + \textbf{1}$.
\end{itemize}
\end{document}```
答案1
Underfull \hbox
通常意味着 TeX 必须拉伸内容以填充一行,但这并不是文档中发生的情况。事实上,我们可以通过将内容简化为以下内容来复制此问题:
\documentclass{article}
\begin{document}
This is a test\\
\end{document}
问题是,\\
当你不需要或不想这样做时,你会把 洒满整个文档。\\
只需要在需要手动指定换行符的地方使用。\\
样本文档中几乎¹ 的每个实例都应该被删除。特别是,如果你把 放在\\
段落末尾(在显示数学之前实际上是段落结尾),LaTeX 将尝试用空字符填充段落的最后一行并发出你收到的警告。
你也可以使用\[
...\]
而不是$$
...$$
来表示显示数学。你可能还想使用以下方式排版显示方程式对
\begin{gather*}
AN = \frac{1}{2} \cdot AD = \frac{1}{2} \cdot 2 = 1\\
ON = 2 + 1 = 3
\end{gather*}
注意这里我们使用,\\
因为我们要显示两行方程。另外,我将您的改为\dfrac
。\frac
您应该\frac
更喜欢而不是\dfrac
,除非在那些您想强制获得通常不会得到的大分数的情况下。
- 真的吗,每一个实例应该被删除可能的标题中的一个除外。
答案2
后面跟着空行的用法\\
是大多数 LaTeX 文档中的典型错误。上面的答案说不\\
应该这样使用。我详细展示了在 TeX 级别会发生什么。
LaTeX默认定义\\
为,它在几个不同的上下文中重新定义了这个控制序列(通常在上下文中是这样,但这不是我们现在感兴趣的重点)。\hfil\break
\halign
\cr
文本
... end of paragraph\\
<empty line>
TeX 将其解释为:... end paragraph\hfil\break<space>\par
该\par
原语删除前一个<space>
(如果存在)并添加\penalty10000\hskip\pafillskip
。因此,我们有:
... end of paragraph\hfil\break\penalty10000\hskip\parfilskip
是\hskip\parfillskip
(默认情况下)插入在每个段落最后一行的灵活间隙。现在,TeX 运行段落中断例程来创建段落行。\break
(确切地\penalty-10000
)强制中断。此断点之后的所有可丢弃项都将被删除,即第一个\break
被接受,后面的\penalty10000\hskip\parfillskip
被删除。处理最后一个内部断点,从而完成段落中断算法。我们已强制\break
在最后一个断点之后,因此会创建一个空行,其中没有内容,并且有\hsize
宽度。这是不完整的\hbox
。
LaTeX 文档的作者之所以会犯这个错误,是因为他们通常想\vskip\bigskipamount
在排版的这个位置插入(垂直空格)。他们意识到宏\vspace
(在 LaTeX 手册中提到)会带来更多复杂性,因为它是由\vadjust
原始定义的,即段落在此尚未完成。一般来说:插入此类排版例外情况是一种不好的做法。如果您在多个(定义得非常好的)位置都需要类似的东西\vskip\bigskipamount
,请将其包含在排版设计中,并创建适当的宏和相关 TeX 参数的设置。