Как искать и заменять разрывы страниц в Libre Office?

Как искать и заменять разрывы страниц в Libre Office?

Как искать и заменять разрывы страниц в Libre Office Writer? Например, я могу захотеть удалить все вручную вставленные разрывы страниц (^m в MS Word). Я могу искать разрывы строк и абзацев с помощью регулярных выражений, но я нигде не вижу символ разрыва страницы.

решение1

Довольно хак, но я бы предложил unzipпинговать файл .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» — это стиль, созданный для того, чтобы «нести» свойство разбиения на страницы.доабзац. Так что мне в голову приходят две вещи:

  • удалить «P1» из <text:p />тегов
  • удалить свойство разрыва страницы из стиля "P1"

Кстати, здесь я бы также рекомендовал избегать регулярных выражений в пользу настоящего XML-парсера.

решение2

Эта почтав списке рассылки LibreOffice предлагаетсяAltSearchплагин. На странице плагина написано, что он способен

  • Поиск страниц и разрывов столбцов вручную и их настройка или деактивация

решение3

Попробуйте использовать \n или \r или s/\r\n/\r/g в вашем регулярном выражении. \n — для подобных каналов, \r — для возвратов каретки.

Не знаю, сработает ли это в Libre office. Альтернатива — скопировать оттуда в текстовый редактор (gedit в linux, notepad++ в windows), выполнить поиск и замену, а затем скопировать обратно.

решение4

Хотя нетточното, о чем вы просите, я довольно близко подошел (используя функцию Find & Replace и форматирование абзацев), потому что у меня была похожая проблема. Я понял, что разрывы страниц на самом деле не являются специальными символами, ачасть форматирования/стиля абзацаследующего абзаца (или в очень редких случаях предыдущего — в этом случае этот метод необходимо будет немного изменить).

Если у вас случайно есть разрывы страницвсегда после специально отформатированного текста, вы можете искать эти места по:

  • Правка > Найти и заменить... (Ctrl + H)
  • Открыть Другие варианты
  • Нажмите «Форматировать»...
  • Выберите определенное форматирование, которое выделяет определенные абзацы из всего остального текста в документе.
  • Отметьте галочкой пункт «Включая стили» (после закрытияТекстовый формат (Поиск)окно)
  • Нажмите «Найти все» и закройтеОкно «Найти и заменить»
  • Формат > Текст...
  • в текстовом потоке снимите отметку с пункта Разрывы > Вставить (или, если она не отмечена, сначала отметьте ее, примените и повторите этот шаг)

Интересно, почему раздел «Поток текста» > «Разрывы» выделен серым цветом вТекстовый формат (Поиск), было бы гораздо точнее, если бы его можно было искать напрямую :-/

Связанный контент