This extension contains some tools for professional preparation of documents for publication that are not yet available in LibreOffice Writer. It can also be useful for advanced users who want to significantly reduce the time for editing documents or easily solve tasks that they previously considered impossible.

Linking table of contents and headings

When manual changes are made to the table of contents or in addition to the main table of contents, a table of contents is added in a language other than main language of the document, it may be necessary to create links from table of contents to document headings.

This function solves this problem. The main condition for the performance of this function is the correspondence of the number of table of contents of each level to the number of headings existing in the document. If this condition is not met help notification appears.

Created links will be working in exported PDF and in HTML documents. You can run it through the menu ePublishing → “Create links in the Table Of Contents”.

Page rotation

Sometimes it is needed to turn the page along with the headers and footers. Unfortunately, the current LibreOffice functionality does not allow this to be easily achieved. This function copies the current page style and rotates the page in landscape orientation (90 degrees clockwise) along with the headers and footers. Contents of the headers and footers will be moved to text frames.

If header and footer heights were set to “autofit” or indents set to “Use dynamic spacing”  a warning will appear about the need to check and set the correct height of the page headers and indents. Restarting the function will do the job. When launched, a hidden copy of the page style will be created, which will allow you to revert the rotation by running this function once again.

You can run the function through the ePublishing menu → “Rotate Page”.

Page breaks conversion from text

To convert page breaks from text in documents (in case I solved it was created by converting InDesign layouts to HTML) you can use this function. It could be called up from the ePublishing menu → Archive → “Restore page breaks”.

Footnote conversion from text

To convert footnotes from text with hyperlinks (in case I solved it was created by converting InDesign layouts to HTML) you can use this function. t could be called up from the ePublishing menu → Archive → “Restore footnotes from text”

Build journal issue

This function is intended for building journal issue from a set of articles. For this function to work, a template is required, as well as article files, whose names have number in the issue as a prefix.

Article files will be added to the release template one by one, unique styles will be set for each page of the journal. For some types of templates, the values of the header and footer fields and other standard data on the pages are also filled automatically. After adding articles, the values of the field numbers of the final pages of articles are updated. It also be executed independently through the menu ePublishing → Journals → “Update articles' last page numbers”.

Build could be launched through the ePublishing menu → Journals → “Compose articles into issue template”.

Convert manually assigned fonts to character styles

Sometimes, to check for fonts in a document and try font substitutions, it may be useful to convert all manually assigned fonts in the document into character styles so that you can change the font in character style settings with the same name as font.

You can run this function via the ePublishing menu → “Convert found fonts to character styles”.

Clean and validate extension advanced mode

This function allows you to use the cleaning and validation functions in advanced mode. The setup window can be accessed via the ePublishing menu → “Cleaning settings”. Read more about this feature in the article.

Convert automatic hyphenation to manual

To ensure that the display of documents on different computers does not change, hyphenations should be the same on different computers. Automatic hyphenations depend on hyphenation dictionaries and may vary from version to version.

To store documents, it is advisable to use manual transfers in the document, since manual transfers are stored in the document file. It would be optimal to carry out hyphenation using hyphenation dictionaries and then convert them to manual hyphenations. Unfortunately, the built-in LibreOffice Writer “Hyphenation” function does not guarantee the correct conversion of all automatic hyphens to manual ones.

This function helps to fix this problem by converting automatic hyphenations to manual and verifying of the conversion quality. In case of failure, when the conversion does not pass verification stage, a message appears stating that the hyphenation failed.

You can run hyphenations conversion via the ePublishing menu → “Convert auto hyphenations to manual”.

Setting of unique style for each page

While changing page style settings in multi-page documents, you can unintentionally change the settings of not only the selected page, but also other pages of the document. This is due to the fact that each of the page styles can be assigned to many real pages of the document.

In order not to encounter such problems, before configuring page styles, you can make sure that the custom style is not used anywhere else by manually checking the properties of each page of the document. However, carrying out such checks in a document with multiple pages is difficult.

As a simple solution to this problem, a function is proposed that independently finds the styles used in the document more than once and creates clone of the styles for each such case. This function is called up via the ePublishing menu → “Set unique style for each page”.

Footnotes numbering

As far as I know, LibreOffice Writer allows following automatic footnotes numbering:

  • Numbering throughout the document

  • Per page numbering

  • Numbering by first level headings (numbering starts anew after each first level heading)

  • Numbering within sections could be independent. In my opinion sections creation is a burden and some times create new problems.

Unfortunately, sometimes what LibreOffice Writer gives is not enough. For example, in a journal issue, first-level headings may represent section titles, and second-level headings may represent article titles, each of which should have its own footnote numbering.

This function allows you to number footnotes in semi-automatic mode. In that case it will restart numbering again after each targeted level of headings. Note that if you add or remove footnotes you might need to execute this function again. This function is called up via the ePublishing menu → “Setting the numbering of footnotes”.

Page styles batch configuration

This function allows you to set properties to multiple page styles at a time, which could be useful in documents with hundreds of page styles.

This function is called up via the ePublishing menu → “Page styles batch configuration”.

Shrink text

If you need to shrink text to one page just place cursor at the end of the text and click on Изображение7 at ePublishing main panel. Text will take up less space by minor changes in line spacing, kerning  and font size until text fits on page or until minimization limits reached.

Bidirectional links fast creation

In order to link two areas of text, you can create two anchors and then make links to these anchors in areas of text. This function simplifies this. Just selecti of two text areas and click on the button Image8 at ePublishing main panel.

Endnotes in any part of the document

To place endnotes in any part of the document you can use function to convert endnotes into it’s imitation equivalents. Imitated endnotes retain bidirectional links with it’s anchors. Select text with endnote anchors and click on the button  .You will be asked to select a place to output selected endnotes. This operation can be reversed by selecting text with imitated endnotes and click on the same button.

Paragraph style substitution

While assigning styles in documents imported from HTML, to assign styles to paragraphs, you can use the function. It replaces the style of the current paragraph with the selected one and it applies to every occurrence of paragraph style in document. The current paragraph style is deleted if it was custom style. This function can reduce time for cleaning document styles. You can call this function by placing the cursor in the paragraph to be replaced and clicking on the button Image9 at ePublishing main panel.

Fast kerning configuration

Buttons for increment  Изображение4 and decrement Изображение2 kerning for selected symbols available at ePublishing make-up toolbar.

Fast width scale configuration

I advice not to use this function and width scale at all until this issue is resolved as it use can lead to heterogeneous document layouts on different OS.

Buttons for increment char width Изображение3 and decrement char width Изображение1 of selected text available at ePublishing make-up toolbar.


This extension could be downloaded from LibreOffice Extensions website

Cleaning and validation functions are available with “Clean and validate” extension also available at LibreOffice Extensions website