如何在 Libre Office 中搜索和替换分页符?

如何在 Libre Office 中搜索和替换分页符?

如何在 Libre Office Writer 中搜索和替换分页符?例如,我可能想要删除所有手动插入的分页符(MS Word 中的 ^m)。我可以使用正则表达式搜索换行符和段落符,但我没有在任何地方看到分页符。

答案1

相当不错的 hack,但我建议unzipping .odt 文件并使用原始 XML。content.xml 似乎是要编辑的正确文件。

我准备了一个测试文件,内容如下:

QQQQQ
-page break-
AAAAA

以下是原始 XML 的相关部分:

<!---*lots* of declarations--->
<office:automatic-styles>
    <style:style style:name="P1" style:family="paragraph" style:parent-style-name="Standard">
        <style:paragraph-properties fo:break-before="page"/>
    </style:style>
</office:automatic-styles>
<office:body>
    <office:text text:use-soft-page-breaks="true">
        <text:sequence-decls>
            <text:sequence-decl text:display-outline-level="0" text:name="Illustration"/>
            <text:sequence-decl text:display-outline-level="0" text:name="Table"/>
            <text:sequence-decl text:display-outline-level="0" text:name="Text"/>
            <text:sequence-decl text:display-outline-level="0" text:name="Drawing"/>
        </text:sequence-decls>
        <text:p text:style-name="Standard">QQQQQ</text:p>
        <text:p text:style-name="P1">AAAAA</text:p>
    </office:text>
</office:body>
<!---some happy-end--->

(真实文件可能会更复杂。)在我看来,“P1”是一种为“承担”分页属性而创建的样式这段话。所以我想到了两件事:

  • <text:p />从标签中删除“P1”
  • 从“P1”样式中删除分页属性

顺便说一句,在这里我还建议避免使用正则表达式,而使用一些真正的 XML 解析器。

答案2

这个帖子在 LibreOffice 邮件列表中建议替代搜索插件。插件页面上说它能够

  • 查找手动分页符和分栏符及其设置或停用

答案3

尝试在正则表达式中使用 \n 或 \r 或 s/\r\n/\r/g。\n 用于类似提要,\r 用于回车。

我不知道这在 Libre office 中是否可行。另一种方法是从那里复制到文本编辑器(Linux 中为 gedit,Windows 中为 notepad++),进行搜索和替换,然后将其复制回来。

答案4

虽然不是确切地您所要求的,我已经非常接近了(使用查找和替换功能和段落格式),因为我遇到了类似的问题。我意识到分页符实际上不是特殊字符,但是段落格式/样式的一部分下一段(或者在极少数情况下是前一段——在这种情况下这种方法需要稍微修改一下)。

如果你碰巧有分页符总是在特定格式的文本之后,您可以通过以下方式搜索该地点:

  • 编辑 > 查找和替换... (Ctrl + H)
  • 打开其他选项
  • 单击“格式...”
  • 选择特定格式,从文档中的所有其他文本中挑选出特定段落
  • 勾选包含样式(关闭后文本格式(搜索)窗户)
  • 单击“查找全部”并关闭查找和替换窗口
  • 格式 > 段落...
  • 在“文本流”上取消勾选“分隔符”>“插入”(如果没有勾选,请先勾选,应用,然后重复此步骤)

我想知道为什么“文本流”>“分隔符”部分在文本格式(搜索),如果可以直接搜索的话会更精确:-/

相关内容