LibreOffice Math 怎样让多行公式按等号对齐
来源:17golang原创
时间:2026-10-31 09:37:37 412浏览 收藏
LibreOffice Math 的多行公式不会因为输入了换行就自动把每一行的等号放到同一列。比较稳定的做法是:先用 newline 分行,再用 matrix 把每行拆成“左表达式、等号、右表达式”三列,左列使用 alignr,右列使用 alignl。这样等号列有固定位置,后续修改某一行长度也不容易把版式推乱。
官方地址:https://help.libreoffice.org/latest/en-US/text/smath/main0000.html
结论:不要只在每行中间直接输入=。把等号单独放进matrix的第二列,并用#分列、##分行;预览中所有等号就会沿同一条竖线排列。
先把公式输入环境放到正确位置
在 Writer 中选择“插入 → 对象 → 公式”,或者打开独立的 Math 公式编辑器。窗口中需要关注三个区域:用于选择元素的 Elements 面板、输入命令的 Commands 区域,以及显示排版结果的公式预览区。教程中的界面图是原创操作示意,不是实际软件截图。
先输入一个最小的两行公式,确认 newline 能换行:
a + b = c newline x + y = z
命令区里的 newline 表示后面的内容从下一行开始。若预览区仍是单行,先检查命令是否写在公式表达式中间,以及当前输入焦点是否位于 Commands 区域。下面的说明图只用于帮助你定位这几个区域。

用 matrix 把每行拆成三列
matrix 适合表达多行多列的公式结构。单个 # 分隔同一行的列,连续两个 ## 表示换到下一行。将左边的计算式、等号和右边的结果分开后,等号就不再依赖左侧字符串的长度。
matrix{
alignr a + b # {} = {} # alignl c ##
alignr x + y # {} = {} # alignl z
}
这里的空组 {} 只是给等号列保留稳定的空白边界,{} = {} 能让等号作为中间列的独立内容存在。左侧的 alignr 让表达式靠近等号,右侧的 alignl 让结果从等号后自然展开。
如果公式中有分数、根式或带上标的表达式,把它们整体放入对应列即可。例如第一列可以替换为 alignr {a over b},不要把分式的内部结构拆到 matrix 的不同列。
按菜单检查对齐方式,再看预览状态
输入完成后,打开“格式 → 对齐”,可以设置多行公式整体靠左、居中或靠右。这一步控制的是整个多行公式在页面中的水平位置,不会替代 matrix 对等号列的细分排版。需要等号对齐时,先保留三列结构,再按页面布局选择整体对齐方式。
在预览区按下面三点检查:
- 每一行的等号都落在同一条竖线上。
- 左侧表达式靠近等号,右侧结果不会挤到等号左边。
- 修改最长的一行后,等号列仍然保持稳定,说明列结构没有被普通空格替代。

保存前容易忽略的两个细节
第一,命令关键字与空格要保持清楚。alignr、alignl 应该出现在各自列的开头;不要把 alignr 写到一段表达式的中间,期待它只移动等号左侧的一小段内容。第二,公式要作为公式对象保存,不要把预览结果复制成普通文本,否则下次无法回到 Commands 区域调整列。
如果只希望多行公式整体左对齐,而不要求等号对齐,可以在每行开头使用空文本 "";但这解决的是整行起点,不是等号列固定。需要“等号一条线”的场景,仍应使用三列 matrix。
常见问题
为什么只输入 newline 后等号还是不齐?
newline 只负责换行,不会为每一行建立共享列。把每行改成 matrix 的三列结构,并用 # 与 ## 标出列、行边界即可。
Format - Align 能不能直接让等号对齐?
不能把它当作等号列排版工具。Format - Align 主要控制多行公式整体的左、中、右位置;等号列需要由 matrix 结构表达。
为什么等号前后要写空组?
空组不会显示内容,却能为中间关系符号保留清晰的列边界。它比在命令中插入数量不稳定的普通空格更适合维护。
-
182 收藏
-
250 收藏
-
447 收藏
-
373 收藏
-
213 收藏
-
460 收藏
-
165 收藏
-
141 收藏
-
487 收藏
-
133 收藏
-
259 收藏
-
214 收藏
-
287 收藏
-
143 收藏
-
408 收藏
-
255 收藏
-
294 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习