You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用groff ms宏在页面任意位置放置PIC图片?

在groff ms中定位PIC图片到任意位置

要实现PIC图片的自由定位,核心是绕过groff默认的段落居中逻辑,同时结合坐标调整控制图片的横竖位置,以下是几种可行方案:

方案1:结合PIC内部坐标调整直接定位

利用PIC的move命令将绘图原点移到目标位置,同时转换groff与PIC的坐标体系(groff左上角为(0,0),向下y递增;PIC左下角为(0,0),向上y递增)。

示例(将图片放在左偏移2英寸、距顶部4英寸位置,假设页面高度为11英寸的信纸):

.PS
# 转换groff顶部4英寸的位置到PIC坐标:11in - 4in = 7in
move 2,7  # PIC坐标(x=2in, y=7in)对应groff的左2in、顶部往下4in
# 这里写入你的PIC绘图代码
circle "Positioned Image" radius 0.5
.PE

方案2:脱离排版流后手动偏移定位

通过关闭自动格式(.nf)避免图片居中,再用\h(水平偏移)和.sp(垂直偏移)调整到目标位置,最后恢复排版流。

示例:

.nf          # 关闭自动换行与段落居中
.hy 0        # 关闭连字,避免干扰位置计算
.sp -4i      # 向上移动4英寸(抵消后续向下的位置,相当于定位到顶部往下4英寸)
\h'2i'       # 向右移动2英寸(左偏移2英寸)
.PS
box "Manual Offset Image"
.PE
.fi          # 恢复默认排版格式
.sp 4i       # 向下移动回原位置,保证后续内容不受影响

方案3:临时调整边距实现定位

通过.mc命令临时修改左页边距,结合垂直偏移控制上下位置,再用.DS L确保图片左对齐。

示例:

.sp -3i      # 向上偏移3英寸,调整垂直位置
.mc \h'2i'   # 临时将左页边距设为2英寸
.DS L
.PS
arrow right 2 "Margin-adjusted Image"
.PE
.DE
.mc          # 恢复默认左页边距
.sp 3i       # 恢复垂直位置

注意事项:

  • 不同页面尺寸(如A4、信纸)需要调整坐标转换的数值
  • 若后续排版出现错位,检查.sp的偏移量是否与之前的反向偏移匹配
  • 使用.nf时,需确保后续用.fi恢复,避免影响正文排版

内容的提问来源于stack exchange,提问作者M.E.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 10:05:28