如何在 Libre Office Writer 中搜索和替换分页符?例如,我可能想要删除所有手动插入的分页符(MS Word 中的 ^m)。我可以使用正则表达式搜索换行符和段落符,但我没有在任何地方看到分页符。
答案1
相当不错的 hack,但我建议unzip
ping .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
答案3
尝试在正则表达式中使用 \n 或 \r 或 s/\r\n/\r/g。\n 用于类似提要,\r 用于回车。
我不知道这在 Libre office 中是否可行。另一种方法是从那里复制到文本编辑器(Linux 中为 gedit,Windows 中为 notepad++),进行搜索和替换,然后将其复制回来。
答案4
虽然不是确切地您所要求的,我已经非常接近了(使用查找和替换功能和段落格式),因为我遇到了类似的问题。我意识到分页符实际上不是特殊字符,但是段落格式/样式的一部分下一段(或者在极少数情况下是前一段——在这种情况下这种方法需要稍微修改一下)。
如果你碰巧有分页符总是在特定格式的文本之后,您可以通过以下方式搜索该地点:
- 编辑 > 查找和替换... (Ctrl + H)
- 打开其他选项
- 单击“格式...”
- 选择特定格式,从文档中的所有其他文本中挑选出特定段落
- 勾选包含样式(关闭后文本格式(搜索)窗户)
- 单击“查找全部”并关闭查找和替换窗口
- 格式 > 段落...
- 在“文本流”上取消勾选“分隔符”>“插入”(如果没有勾选,请先勾选,应用,然后重复此步骤)
我想知道为什么“文本流”>“分隔符”部分在文本格式(搜索),如果可以直接搜索的话会更精确:-/