LaTeX中~符号的作用是什么?结合minipage布局示例解析
LaTeX里
~符号的作用,以及你的代码场景解析 一、~的核心功能
~本质是不可断行的空格:它的宽度和普通空格完全一致,但LaTeX绝对不会在这个空格的位置自动换行。- 日常排版中,它主要用来避免不该拆分的内容被拆开,比如写
Dr.~Jones防止“Dr.”和名字在换行时分隔,或者Chapter~5避免章节标识和编号分家。
二、你的代码中~的具体作用
结合你给出的两段代码和对应效果,拆解如下:
带~的排版效果(对应第一张图)
这段代码里两个minipage的总宽度是0.4\textwidth + 0.4\textwidth = 0.8\textwidth,剩余0.2\textwidth为空白空间:
\begin{minipage}{0.4\textwidth} \begin{flushleft} \large \textit{Author}\\ B.J. \textsc{Blazkowicz} % 作者名 \end{flushleft} \end{minipage} ~% 关键的~符号 \begin{minipage}{0.4\textwidth} \begin{flushright} \large \textit{Supervisor}\\ Dr. Caroline \textsc{Becker} % 导师名 \end{flushright} \end{minipage}
这里的~起到两个关键作用:
- 强制两个
minipage处于同一行,不会被LaTeX自动拆分成两行; - 在两个
minipage之间保留一个固定宽度的空格,剩余的空白空间会被LaTeX自动分配到两个minipage的左右两侧,最终呈现出左侧作者栏靠左、右侧导师栏靠右,中间留有小间距的排版效果。
不带~的排版效果(对应第二张图)
如果删掉这个~,两个minipage之间只有代码换行产生的空白(LaTeX会将其视为普通空格,但允许在该位置换行):
- 由于两个
minipage总宽度小于页面宽度,LaTeX可能会将它们挤得很近,中间几乎没有空隙;极端情况下甚至会把第二个minipage挤到下一行,完全打乱预期排版。
三、关于“是否锁定minipage到边界”的疑问
~并没有“锁定minipage到边界”的功能:
- 它仅负责在两个
minipage之间强制保留一个不可断行的空格,确保它们在同一行且有固定间距; - 两个
minipage分别靠左、靠右的对齐效果,是由内部的flushleft和flushright环境控制的,和~无关。
内容的提问来源于stack exchange,提问作者Amarnath K
相关产品推荐
相关产品推荐

