LaTeX文本下划线全解析:\underline、\rule、ulem与数学模式应用指南
本文深入探讨LaTeX中实现文本下划线的四种核心方法:基础的`\underline`命令、精确控制的`\rule`命令、功能强大的`ulem`宏包以及数学模式下的处理技巧。无论短文本、长段落或公式,您都能找到最适合的下划线解决方案,优化您的文档排版。
支持通配符SSL证书、多域名证书、IP证书。适配ACME接口, 支持Zerossl、Let's Encrypt和Google等渠道。登录已有账号
2026-07-29 10:15:45 LaTeX 排版 下划线 ulem 开发经验
我一开始跟很多人一样,觉得加下划线能有多难,\underline{}不就完了。结果正文里有一段标了下划线,左边进去右边没出来,Overfull警告刷了半屏,那行字直接冲出页边,排版丑得没法交。
后来仔细看了下,这东西压根不换行,内容稍微长一点就别指望它了。\underline{}的设计就是这样,你把东西包进去,它当做一个整体盒子处理,内部文字是不会断行的。所以它只适合单词、短句——你标个“重要提示”那种长度还凑合,整句话甚至多行的,趁早换方案。
真要自己手工画线,可以用\rule命令。这东西跟画图似的,长度、粗细、上下位置全暴露给你,自由度很高。比如\rule[0.2ex]{3em}{0.5pt},[0.2ex]控制线的垂直偏移——正数往上抬,负数往下压;{3em}是线长;{0.5pt}是线粗,你看着调就行。如果排版里下划线位置不对,或者想跟正常\underline走不同的样式,用\rule一句就能搓出来。
代价也明显:每次改文本、调版心,就得重新算长度和偏移,如果你在改一份经常变的文档,这么调来调去挺耗神的。
所以碰到正经文档、中长文本,我是直接上ulem包。\usepackage{ulem}后,\uline{}包一层,换行自动处理,跟普通文本流一样走,不会冒出盒子里硬塞的问题。而且这包顺手带了\uwave波浪线、\sout删除线,写修订稿或者标注的时候很实用。说它是LaTeX下划线的事实标准也没啥毛病,大部分场景下直接用就行,不用多想。
数学模式里又是另一套规则了。你如果在公式里输入下划线,LaTeX默认那是下标标记,不是用来显示下划线字符的。要在数学环境里写出下划线本身,得用转义:$x_y$,或者写$x\textunderscore y$。这跟在正文里加装饰性下划线是两件事,写论文碰到公式标注的时候能用到,放一起说主要是总有人问,顺带提一句。
几种方法差不多就这样。现实里怎么选其实挺简单的:文档里偶尔标个短词,\underline{}随手一写最省事;你要对线条位置粗细有洁癖式要求,那就\rule一个参数一个参数调;但凡涉及长文本、多行、自动换行,直接ulem,别犹豫。
数学环境有它自己的处理方式,别拿文本那套往里套。这几种东西,刚开始容易绕进去,踩过一次坑回头再看就清晰了。
上一篇: 在GoLand里配好Go开发环境
本文深入探讨LaTeX中实现文本下划线的四种核心方法:基础的`\underline`命令、精确控制的`\rule`命令、功能强大的`ulem`宏包以及数学模式下的处理技巧。无论短文本、长段落或公式,您都能找到最适合的下划线解决方案,优化您的文档排版。