A Writer document is not “simply” a sequence of characters with some formatting directives added. Internally it is an ordered collection of objects in one or several flows. The main flow contains your discourse as a set of paragraphs.
Paragraphs are primary objects made of text, formatting, other object references (images, frames, equations, …) and links to “environment” like page definition. Therefore, there is no need to have special markers for end_of_paragraph because this “boundary” is implicit in the representation.
The problem here is your PostgeSQL database contains TEXT fields which need to be converted to Writer data. Through mail merge, you import character data without any formatting. You have chosen to identify paragraphs in your DB with CARRIAGE RETURN+LINE FEED pair. This is adequate for text-only data but will be interpreted differently by Writer.
CARRIAGE RETURN will be stripped and only LINE FEED is kept, causing a line break in the current paragraph. When you turn on View
>Formatting Marks
, this line break is shown as ↲ while a true paragraph mark is ¶.
You can replace line breaks by paragraph marks with Edit
>Find & Replace
in Regular expressions mode. Find \n
and Replace \n
.
Don’t be confused by the apparent no-change of this setting. \n
have different interpretation when written in the find and replace fields because the command operates strictly inside a paragraph. Therefore, \n
in Find is internal to the paragraph and can only be a line break. In Replace, it is interpreted as a request to insert a paragraph mark.