суббота, 21 апреля 2018 г.

Расширения LibreOffice. Форматирование всех формул Math в документе

Если у вас есть много формул Math в текстовом документе Writer, электронной таблице Calc, презентации Impress или рисунке Draw, и вам нужно во всех этих формулах изменить размер или шрифт, то вам придется ручками открывать каждую формулу в Редакторе формул и делать соответствующие изменения для каждой формулы отдельно. Это потому, что формула Math - это отдельный объект со своими свойствами, не имеющий своего стиля, через который можно было бы варьировать его форматирование.
По большому счету уже давным давно существовал макрос, который позволяет изменять форматирование всех формул в документе за один раз. Однако пользоваться им простому пользователю очень уж муторно.
Поэтому я решил сделать расширение к LibreOffice, которое в режиме диалога запросит у пользователя вводные по размеру шрифта и самому шрифту и выполнит форматирование всех формул в документе.
Начал я вот в этой теме на нашем форуме. После чего Майк решил немного это дело расширить и дополнить, и в итоге мы имеем сейчас версию 0.1.5. На сегодня разработка и улучшение расширения остановились, поскольку я не кодер, а Майк крайне занят основной работой.
Также я это расширение опубликовал на официальном сайте с расширениями для LibreOffice - https://extensions.libreoffice.org/extensions/formatting-of-all-math-formulas.
Расширение нужно скачать и установить в LibreOffice. После установки расширения в меню Сервис -> Дополнения появится пункт FaF, при нажатии на который появится вот такой диалог:
В первом поле нужно ввести размер шрифта (меньше 4 вводить нельзя). В выпадающем списке ниже можно выбрать шрифт из имеющихся в системе. Учтите, что если в формулах был какой-то редкий шрифт, и он не установлен в системе, то восстановить вид формул не получится, отмена действия в данном случае не сработает. При этом можно оставить шрифт пустым, тогда изменится только размер шрифта на указанный выше.
После настроек нажмите кнопку Formatting, чтобы отформатировать все формулы.
Также есть возможность изменять только выделенные формулы. Вы можете выделить только кусок текстового документа, либо часть слайдов презентации или только несколько объектов на листе Draw, запустить диалог FaF, настроить нужные параметры и нажать на кнопку Formatting only in selection, чтобы отформатировать только выделенные формулы.
Обо всех проблемах данного расширения, с которыми вы столкнетесь, можно (и нужно) написать в тему на форуме, указанную выше.

8 комментариев:

  1. Есть ещё одна функция которую очень хотелось бы. Это найдти и заменить, относящияся только к формулам Math.
    Что бы заменить * на cdot (. (но п оцентру)) помогло бы.
    Так же линии выполнения, когда много формул процесс не мгновенный.

    ОтветитьУдалить
    Ответы
    1. Найти и заменить - ох вряд ли

      Прогресс бар - есть в TO DO, однако, когда мы этим займемся, я не знаю

      Удалить
    2. прогресс бар в 0.1.8 сделали

      Удалить
  2. А будет добавлено выравнивание формул?
    Дело в том что есть стандарты оформления документов где формулы выравниваются или по центру, или по ширине.

    ОтветитьУдалить
    Ответы
    1. выравнивание относительно чего?

      Удалить
    2. Горизонтальное выравнивание, которое задается в главном меню при редактировании формулы

      Удалить
  3. А почему не перенести функционал расширение в боковое меню? При выделение формулы, появляться вкладка в боковом меню.

    ОтветитьУдалить
    Ответы
    1. потому что это потребует написания полноценного куска исходного кода, включающий в себя отдельную секцию на боковой панели КАЖДОГО модуля, добавить туда кнопачку и наконец переписать само расширение на С++

      Удалить

Внимание! Сообщения проходят премодерацию!