Форматирование всех формул Math в документе

Автор kompilainenn, 4 января 2018, 21:31

0 Пользователи и 1 гость просматривают эту тему.

kompilainenn

Выкладываем на суровый, но справедливый суд сообщества дополнение для LibreOffice, которое предназначено для форматирования всех формул Math в документе за раз.
В качестве входных данных от пользователя размер шрифта и вид шрифта.
Расширение добавляет пункт меню Сервис-Дополнения-FaF, при выборе которого открывается диалог (пока все на английском), в котором и выбираются входные данные. Сам код форматирования взят на нашем же форуме, сильно допилен и прилеплен к диалогу. Расширение во вложении.

Прошу проверить его работоспособность на:
1. Разных версиях Либры, хотя бы 5.2, 5.3, 5.4, 6.0
2. Разных ОС - линукс и макОС (поскольку я тестил только в винде)
3. Падучесть либры после установки этого расширения, у меня либра внезапно стала падать непонятно от чего...

и еще, нужны замечания про общую юзабельность и предложения по улучшению сей юзабельности

История изменений:

Доступна версия 0.1.4. Изменения:
1. Набор шрифтов в диалоге берется из системы
2. Добавлена возможность не менять тип шрифта в формулах. Выберите в списке шрифтов самый первый пункт <=DO NOT CHANGE=>. В этом случае изменяется только размер шрифта
Сделал это все Mike Kaganski, а я просто пытался вникнуть в чудо и занимался копипастой

Доступна версия 0.1.5. Изменения:
1. Расширение работает в Writer, Calc, Draw, Impress
2. Добавлен вариант форматировать только формулы из выделенного диапазона.
При этом есть небольшой ньюанс! В документе writer если формулы находятся в ячейках таблицы, то нужно выделить не просто саму таблицу (любым способом), а захватить выделением абзац ПЕРЕД таблицей, тогда форматирование только выделенного работает в таблице.
Сделал это все Mike Kaganski, за что ему огромное спасибо

Доступна версия 0.1.6. Изменения:
1. Переименована кнопка Formatting -> Formatting all
2. При отсутствии любого выделения кнопка Formatting only selection не активна
3. Переработан немного сам диалог. Он теперь более компактный и симпатишный
4. Переход по элементам управления по кнопке ТАБ приведен в порядок
5. Формулы в таблицах Writer обрабатываются более корректно
Спасибо Mike Kaganski за потраченное время и кодинг во имя Луны

Доступна версия 0.1.7. Изменения:
1. Запилен прогресс бар и сообщение о завершении задачи
Спасибо Mike Kaganski за потраченное время и кодинг

Доступна версия 0.1.8. Изменения:
1. Реализована возможность менять только шрифт, не изменяя текущий размер шрифта
2. Немного переделана логика работы в диалоге - добавлены два чекбокса, которые заведуют активацией соответствующих параметров. Если чекбокс не отмечен галочкой, то параметр не изменяется.
Спасибо Mike Kaganski за потраченное время и кодинг

Выложил расширение на официальный сайт https://extensions.libreoffice.org/extensions/formatting-of-all-math-formulas

TO DO
0. Разобраться с зависанием LibreOffice при установке расширения - нужно больше тестирования от разных юзеров!
1. Добавить прогресс бар и сообщение о завершении процесса форматирования всех формул - в 0.1.7 реализовано
2. Добавить возможность изменять форматирование формул только в выделенном диапазоне - в 0.1.5 реализовано
3. Добавить возможность изменения только размера шрифта без изменения типа шрифта - в 0.1.4 реализовано
4. Переименовать кнопку Formatting -> Formatting all - в 0.1.6 реализовано
5. При отсутствии любого выделения, кнопка Formatting only selection должна быть не активной - в 0.1.6 реализовано
6. Исправить порядок перехода по элементам управления по клавише ТАБ - в 0.1.6 реализовано
7. Охватить в расширении все доступные параметры форматирования формул - не будет этого, я не вижу смысла выносить в это расширение настройку интервалов внутри формул или кучи шрифтов для каждого элемента формулы отдельно.
8. Если размер шрифта формул сначала увеличить, а затем уменьшить, то между формулами остается некое пустое пространство, которое пропадает само, если после каждой из формул! ввести пробел (ну или иной символ). Это надо исправить, если возможно. Варьирование размера всех формул вполне себе прогнозируемая задача для этого расширения. Нужно больше тестирования
9. Добавить возможность не менять размер шрифта, а менять только шрифт. Просто потому, что в формулах может быть разный размер шрифта, устраивающий автора (например на плакате в Draw), но автор захочет забацать для всех формул один шрифт. - в 0.1.8 реализовано
10. Рассмотреть возможность функционала "Найти и заменить" для формул. Юзкейс: заменить [ * ] на [ cdot ] во всех формулах.
11. Значения по умолчанию должны быть равны дефолту из настроек Math? Обсудить
12. Курсив для некоторых символов после применения расширения сбрасывается к обычному начертанию - исправлено в 0.1.9
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

Yakov

При установке LO 5.3.6.1 (на Win10)  завис.
Однако, после перезапуска LO расширение заработало.

Цитата: kompilainenn от  4 января 2018, 19:31(пока все на английском)
А в описании расширения (description.xml) помечено, что это немецкий язык (de).

kompilainenn

#2
завис процесс установки или сам Либра?
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

Yakov

Завис сам LibreOffice. Но после повторной переустановки зависаний не было.

Yakov

Ещё нужно добавить окно с выводом сообщения "ОК" или "Форматирование завершено".

rami

На Маке LibreOffice 5.0.6.3 установилось нормально и работает хорошо. Вид у диалога немного колхозный, желательно уменьшить высоту кнопок до 16, они будут выглядеть лучше. Да и весь диалог лучше скомпоновать и уменьшить, чтобы занимал меньше места.

Кофейник

LibreOffice Версия: 5.3.7.2 (x64), Windows 7

Установилось со второго разу.

LO завис в самом начале установки: полоса-индикатор процесса установки в окне "Управление расширениями" замерла примерно на 5%, при попытках поклацать мышью тут да там основное окно Writer побелело. После принудительной перезагрузки LO в "Управлении расширениями" появилось отключенное (серое) раcширение. После включения его (через контекстное меню) меню "Сервис-Дополнения-Formatting All Math Formulas" не появилось.

Удалил расширение. Попробовал установить еще раз. Установилось сразу.

Отработало документ, содержащий примерно 270 формул на 33 страницах (увеличение кегля). После этого вход в формулы (переход в Math по двойному клику на формуле) стал происходить с задержкой 2-4 секунды. После перезагрузки документа задержка исчезла.

Заметил, что кегль в четырех формулах остался прежним. Провел такое же преобразование еще 4 раза. Из них три раза все формулы преобразовались, и один раз те же 4 формулы остались без изменений. Задержка при входе в формулу сразу после работы дополнения повторялась все 5 тестов.

Пожелания:

1) Иметь возможность изменить только кегль формулы, оставив прочие настройки шрифтов неизменными.

У меня в документах шрифт чисел формул и текста формул установлен Times New Roman для соответствия основному тексту документа, а шрифт переменных и функций формул - Liberation Serif. После работы расширения, помимо изменения кегля шрифта, все шрифты формул становятся Liberation Serif, но этого мне не требовалось. Получается - для меня формулы "испорчены".

2) Добавить возможность изменять формулы только в выделенной части документа.

Стандарт оформления, которому я следую, допускает уменьшать кегль шрифта содержимого таблиц по сравнению с основным текстом, чтобы таблицы были компактнее. Таблицы могут содержать формулы. Иногда при заполнении таблицы я забываю переключить настройку кегля в math, а разница в 2 пт не сразу бросается в глаза. Было бы хорошо выделить таблицу, и запустить данное расширение только для нее.

Дополнение очень нужное, спасибо вам за него!

Глобальные предложения по улучшению: увеличить количество поддерживаемых параметров формул, довести до покрытия всех параметров, ввести функциональность стили формул - сохраняемые в дополнении наборы параметров формул.







kompilainenn

доступна версия 0.1.4. Описание и вложение в первом посте
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

kompilainenn

доступна версия 0.1.5. описание и вложение в первом посте
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

rami

При нажатии кнопки "Formatting only in selection" если курсор в таблице, то форматирует все формулы, не зависимо от того, что выбрано, а если курсор за пределами таблицы (в основном тексте), то форматирует все формулы в документе (если ничего не выбрано). Это так задумано?

Приведи в порядок последовательность перемещения фокуса при нажатии клавиши "TAB" — это настраивается в свойстве Порядок элементов управления.

kompilainenn

Цитата: rami от 23 февраля 2018, 20:08При нажатии кнопки "Formatting only in selection" если курсор в таблице, то форматирует все формулы, не зависимо от того, что выбрано, а если курсор за пределами таблицы (в основном тексте), то форматирует все формулы в документе (если ничего не выбрано). Это так задумано?
Не очень понятно, как может быть курсор за пределами таблицы, если выделение было в таблице.
Можно по шагам оба случая расписать?
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

rami

Цитата: kompilainenn от 24 февраля 2018, 20:59Не очень понятно, как может быть курсор за пределами таблицы, если выделение было в таблице.
Это я не удачно сформулировал фразу. Вторая попытка:

Есть две кнопки: "Formatting only in selection" (форматирование выделенного) и "Formatting" (форматирование всех). На второй кнопке лучше написать "Formatting all". По второй кнопке "Formatting" замечаний нет, а вот первая работает не правильно.
Если ничего не выделили, то кнопка "Formatting only in selection" не должна ничего делать (может быть сделать её не активной, пока не будет выделена формула?), но она форматирует все формулы в документе, если курсор за пределами таблицы или все формулы в таблице, если курсор находится в таблице.

kompilainenn

доступна версия 0.1.6. описание и вложение в первом посте

Прошу протестировать работоспособность расширения, у меня есть сомнения в корректности сборки файла OXT
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

Yakov

Новая версия (0.1.6) не создаёт пункт меню (Сервис-Дополнения-Faf) по крайней мере в русском интерфейсе Apache OpeOffice 4.1.x и LO 6.0.0.3

kompilainenn

#14
Цитата: Yakov от  6 мая 2018, 07:07Новая версия (0.1.6) не создаёт пункт меню (Сервис-Дополнения-Faf)
кто-нибудь ещё проверьте пожалуйста
Yakov: а после рестарта Либры не появляется случайно пункт меню?
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут