2.3.09

Zbiorowe formatowanie formuł Openoffice.org Math

Ostanio natknąłem się na problem, który początkowo wydawał się trywialny - otóż napisałem kilka stron pracy magisterskiej wstawiając dużą ilość formuł i chciałem zmienić w nich zbiorowo pochylenie czcionki na czcionkę normalną. Przekopując się przez wszystkie menu, pomoc nie znalazłem niczego. Ustawienie jako wartości domyślnej braku kursywy dawało skutek tylko dla nowych formuł. Co zatem z pozostałymi?

Szukając rozwiązania w Internecie okazało się, że problem wcale nie jest taki prosty do rozwiązania. Programiści OOo dość mocno zaniedbali komponent Math swojego pakietu i nie obsługuje on styli takich jak formatowanie czcionki itp. (zgłoszone jako propozycja do dodania do następnej wersji OOo - błąd 5092) Wszystko należy robić dla każdej formuły osobno... Przy 150 formułach to bardzo dużo pracy. Z pomocą przyszły makra. Zmodyfikowałem makro zaczerpnięte z tego forum i działa! Co należy zrobić?

  • Otwieramy nasz dokument OOo;

  • klikamy Narzędzia > Makra > Zarządzaj makrami > Makro ...

  • Dalej rozwijamy listę z nazwą naszego dokumentu i tworzymy nowe makro wciskając przycisk Nowy (możemy teraz kliknąć dwa razy w nowopowstałe makro Main)

  • W oknie edycji makra wpisujemy następujący kod


Sub Main
embeddedObjects = ThisComponent.getEmbeddedObjects()
elementNames = embeddedObjects.getElementNames()
for i=0 to UBOUND(elementNames)
element = embeddedObjects.getByName(elementNames(i)).Model
if (element.supportsService("com.sun.star.formula.FormulaProperties")) then
element.FontVariablesIsItalic = 0
endif
next i
ThisComponent.reformat()
End Sub

  • Linia zaznaczona na czerwono wskazuje modyfikowany element - ja chciałem znieść pochylenie tekstu więc parametr FontVariableIsItalic przyjmujący wartość bolean ustawiłem na zero.Modyfikacja innych opcji możliwa jest przy dodawaniu kolejnych linii element.Nazwa = wartosc. Nazwy możemy sprawdzić na tej stronie. Znajdziemy tam również wartości jakie przyjmuje dany parametr

  • Zapisujemy makro i uruchamiamy je: Narzędzia > Makra > Wykonaj makro a następnie z odpowiedniej gałęzi wybieramy nasze makro.


Gotowe!

Podano za chemlife++.

2 komentarze:

Anonimowy pisze...

prosze o pomoc w kwestii dodawania muzyki do prezentacji w open office.
Wybierając 'inny dżwięk' i ściagając taki z np folderu 'muzyka do prezentacji' , po kilku próbach zaśmieca się cała biblioteka dźwięków. Czy i jak można je usunąć? Jeżeli nie można to jak dużo różnych utworów pomieści się tam. Jest to bardzo uciążliwe szukanie odpowiedniego fragmentu muzycznego.

Anonimowy pisze...

Ogromne dzięki za taki artykulik! Bardzo się przydał.