在制表符后右对齐其余段落

平面设计 土坯设计 文本 排版 段落样式 格式化
2022-02-21 13:39:54

我正在为一本书排版索引,其中索引主题(名称/单词/项目本身)应该是左对齐的,但引用的页码应该是右对齐的——类似于你通常在表格中找到的内容的内容。

  • 如果它只是一条线,这没有问题。
  • 如果页码中断到下一行也没有问题,只要主题只有一行:整个段落右对齐,制表符之前的文本自动左对齐。
  • 如果主题中断到下一行也没有问题,只要页码适合一行:只需左对齐文本并插入右缩进制表符。

当主题和页码太长而不能放在一行时,就会出现问题。在这种情况下,包含主题的前两行(或多行)应该左对齐;包含页码的最后两行(或多行)应该是右对齐的。“中间”行(主题和页码共存的地方)应该有标签,使其显示为左对齐和右对齐。插图:

正确和错误条目的示例

我可以手动完成,方法是在每行页码之前添加一个右缩进制表符,但这对于长索引来说相当麻烦。而且我想不出一种方法来实现这一点而不必手动添加东西。

有没有办法自动实现这一点?

(我没有 Quark,正如 Scott 的评论中提到的,但我确实有 Affinity Publisher 和 Designer,只是碰巧在那里更容易完成。)

3个回答

据我所知,这并不容易实现。我有两种可能的解决方案。一个很简单,但并不完全符合您的要求。另一个完全符合您的要求,但只是半自动的。

解决方案 A:使用“右对齐”对齐

这个是直截了当的。将文本的对齐设置为右对齐并插入一些空白字符,例如在主题和页码之间后跟右缩进制表符的Em 空格。

空白字符只是确保主题和页码之间总是有一些空格。

显然,缺点是您必须在所有其他行中使用对齐的文本,而不是带有右缩进选项卡的行和最后一行。

解决方案 B:使用带有文本环绕的锚定对象

这有点棘手。您需要为主题和页码设置单独的段落样式。此外,您需要使用自己的对象样式制作一个间隔对象。

主题段落样式(红色)

  • 对齐方式:

页码段落样式(蓝色)

  • 对齐方式:

  • 领先:一般领先(此处为 15 分)

  • 基线偏移:一般领先(此处为 15 pt)

(条目之间的额外空格可以使用Space After来添加,但是这个方法的空格不能小于前导。至少我现在找不到方法。)

在单独的段落中设置主题和页码。基线偏移使页码与主题同步上升,但段落重叠:

画一个小矩形。为其分配对象样式并在每个主题段落的末尾粘贴副本。

间隔对象样式(绿色)

  • 大小和位置选项 > 大小 > 调整:高度和宽度

  • 尺寸和位置选项 > 尺寸 > 宽度:主题和页码之间所需的最小间距(此处为 3 毫米)

  • 尺寸和位置选项 > 尺寸 > 高度:低于主题段落开头的东西(此处为 3 毫米)

  • 锚定对象选项 > 位置:内联

  • 文本环绕和其他 > 文本环绕 > 类型:环绕边界框

  • 文字环绕和其他 > 偏移 > 底部:任何少量有效(此处为 1 毫米)

  • 文本换行和其他 > 换行选项 > 换行到:右侧

矩形应确保主题和页码不再重叠:

没有颜色,结果如下所示:

应用此方法

  • 确保两种段落样式中的下一个样式都设置为另一个。

  • 使用Find/Change将每个Tab字符替换为段落结尾字符。

  • 选择所有文本并应用“主题段落样式”然后下一个样式

  • 复制间隔对象。

  • 使用查找/更改将主题段落样式中的每个段落结尾字符替换为剪贴板内容,后跟段落结尾字符。

这当然可以编写脚本。

如何在条目后获得比前导更少的空间

如前所述,所提出的方法简单地将页码提高了一行,因此下面会有一个空白。如果您希望每个条目之间有一整行,这很好,但如果您想要更少,这很烦人。这是一种更好地控制条目之间空间的方法。

  • 为主题段落样式的第一行创建一个字符样式,它只是将前导设置为0

  • 主题段落样式中添加一个嵌套线样式,它将新的字符样式应用于 1 行

这样,条目之间的空格就会消失,现在可以像通常主题段落样式上使用Space Before(而不是Space After!)一样进行控制。

此处条目之间的间距设置为 1 mm。受新字符样式影响的行是橙色的:

缺点是整个文本会向上跳一行,但这可以通过在文本框架文本框架选项中将前导添加到第一个基线来轻松解决。

我曾经喜欢的 QuarkXpress 中的一个功能是通过 Option/Alt-tab 使用“右缩进选项卡”的选项。

多年来我一直认为InDesign 缺少此功能,但事实并非如此这个问题实际上让我去挖掘看看是否有类似的东西。应该知道 InDesign 有这个功能,我只是不熟悉它的位置InDesign 只是为此功能使用了不同的快捷键 - Shift+ - ( )TabType > insert Special Character > Other > Right Indent Tab

这样做是将选项卡之后的所有内容强制到文本框的右侧。对于多行,只需先输入软返回/强制换行符,然后输入右缩进制表符(Shift+Return然后Shift+ Tab

所以一个输入:

主题标题 [right-indent-tab] 页、页、页、页、页、页 [软返回]
[right-indent-tab] 页、页、页等

结果:

在此处输入图像描述

右缩进制表符也是可搜索的。有了这个,只需替换一些特殊字符就可以在事后添加它们。或者,如有必要,删除它们。

在此处输入图像描述


如果您希望避免手动输入返回,只需为页码延续配置辅助段落样式,并带有Next替代样式的选项。

下面,我有两个文本框。我编写了一些示例文本并使用右对齐段落样式正常输入(请参见屏幕截图中的黄色,几乎是圆圈。

我唯一不同的是,在标题文本之后点击标签。这使用正常的前导,(即使我在标题文本之间使用了额外的返回以提高可见性)。

请注意,我没有更改示例中的任何样式,您可以根据需要更改。

此外,这两个文本框是相同的文本,不同之处在于我调整了第二个文本框的宽度。

在此处输入图像描述