Writer - wzory matematyczne.

Uwaga: przeglądasz tę stronę na urządzeniu o niewielkim ekranie (szerokość < 640px). Niektóre zamieszczone w artykule ilustracje i animacje mogą stać się nieczytelne po dopasowaniu ich do rozdzielczości tego ekranu.

Yestok.pl

Jerzy Moruś

© Wszystkie prawa zastrzeżone. Wykorzystanie całości serwisu lub jego fragmentów bez pisemnej zgody autora zabronione.

Writer. Formuły i wzory w dokumentach.



Opracowanie powstało w oparciu o wersję programu istniejącą w trakcie jego pisania, Libre Office: 4.4.5 i 5.0.1, Apache OpenOffice: 4.1.1.


Wstęp.

We wszystkich opracowaniach dotyczących nauk ścisłych, technicznych, inżynierskich czy ekonomicznych pojawia się potrzeba zamieszczenia w treści pracy równania albo wzoru a bardzo często wielu równań i wzorów będących nieodłączną częścią opracowania. Zaawansowane edytory tekstów umożliwiają przygotowanie i umieszczenie w tekście obiektu, który może wyglądać np. tak:

Przykładowy wzór.

Takie rozwiązanie ma także program Writer wchodzący w skład pakietów LibreOffice i Apache OpenOffice. Edytowanie równania w wybranym miejscu dokumentu polega na odwołaniu się do oddzielnego modułu programowego, który pozwala utworzyć lub edytować równanie. Tym modułem jest LibreOffice Math lub OpenOffice Math. Zakończenie edycji umieszcza równanie w dokumencie jako niezależny obiekt. Dalsze zarządzanie takim obiektem odbywa się podobnie jak zarządzanie innymi obiektami np. ramkami czy obiektami graficznymi. Dwukrotne kliknięcie myszką na obiekcie ponownie przywoła moduł redagowania równania i można wprowadzać niezbędne poprawki. Pewną, odbiegająca od obiektów innego typu, właściwością obiektu zawierającego równanie jest to, że nie można zmienić jego rozmiaru.

Nie sposób w tym miejscu nie wspomnieć o całkowicie odmiennym podejściu do edycji dokumentu opartym o środowisko LaTeX. To środowisko programistyczne jest bardzo cenione przez grupy zawodowo zajmujące się edycją. Jego pierwsze wydanie pojawiło się w 1985 roku. Właśnie w tym środowisku pojawił się język znaczników pozwalający konstruować równania matematyczne. Ten język i jego składnia, a przynajmniej logika, zostały w wielu przypadkach przyjęte przez inne systemy tworzenia i edycji równań w tym także we Writerze.

Pod adresem https://latex.codecogs.com/eqneditor/editor.php?lang=pl-pl znajduje się internetowy edytor równań matematycznych online. Obraz utworzonego równanie można zapisać w pliku a następnie umieścić w dokumencie jako obiekt graficzny w potrzebnym miejscu.

Niniejsze opracowanie poświęcone jest jednak edytorowi równań współpracującemu z programem Writer. Dla osób, które z koniecznością wstawiania do opracowania wzorów matematycznych spotkają się sporadycznie, np. przy okazji napisania pracy licencjackiej, edytor może być narzędziem w znacznym stopniu wystarczającym. Niedogodnością edytora jest brak możliwości łatwego i prostego numerowania równań, co w zaawansowanych pracach jest często koniecznością. Wynika to z tego, że w odróżnieniu od innych obiektów, które podpisywane są pod albo nad obiektem, równania podpisywane, czyli numerowane, są z lewej albo prawej strony a takiej możliwości nie udostępnia funkcja podpisu.

Rozwiązanie tego problemu autorzy oprogramowania zaimplementowali w edytorze i takie numerowanie jest możliwe. Choć jest to tylko proteza, to w dokumencie wygląda dobrze. O tym napiszę w dalszej części.

Wstawianie równań i wzorów do dokumentacji podlega także pewnym normom, których należałoby przestrzegać, a przynajmniej o nich wiedzieć. Może trafić się opiekun, promotor lub redaktor opracowania, który będzie zwracał uwagę na każdy szczegół. Warto więc zapoznać się na przykład z opracowaniem profesora Krystyna Pawluka, przewodniczącego Polskiego Komitetu Terminologii Elektrycznej, o tym „Jak pisać teksty techniczne poprawnie”, albo Edwarda Musiała, poświęconego pisowni oraz wymowie nazw jednostek miar. Opracowania te dostępne są na stronach Stowarzyszenia Elektryków Polskich http://www.sep.com.pl [dostęp:15.07.2015] w zakładce Opracowania.

Zanim zajmę się opisem funkcjonowania edytora równań, pokażę pewne przykładowe równanie, w którym wykorzystałem ustawienia właściwości obiektu niewynikające z samej edycji równania. W tym przypadku równanie umieszczone jest na tle struktury gradientowej, ma zdefiniowane dwie krawędzie – górną i dolną – o wybranym kolorze i stylu linii.

Przykładowe równanie z dodanymi opcjami obiektu.
Rys. 1: Przykład równania z przypisanymi właściwościami obiektu.

Utworzony obiekt zawierający równanie lokowany jest w tekście z atrybutem zakotwiczenia „Jako znak”. Dzięki temu obiekt taki nie jest opływany przez tekst a wyrównanie go na środku realizowane jest przez wyrównanie akapitu a nie przez wyrównanie obiektu.

Pewien dyskomfort może czasami wprowadzać niezbyt estetyczna wizualna postać równania – co widać na ilustracji. Jest to cecha tego edytora. W tym przedstawionym przykładzie symbol sumowania jest umieszczony niesymetrycznie względem środka równania, znak nieskończoności jest mniejszy niż opis dolnej granicy i umieszczony w innej, niż opis dolnego zakresu, odległości od granicy symbolu. Te „niedoskonałości” dają się w pewnym stopniu zmodyfikować, choć nie zawsze w stopniu całkowicie zadowalającym.

[Dodane 17.09.2018] W oddanej do użytkowania wersji 6.0.6 LibreOffice wspomniane powyżej „niedoskonałości” zostały usunięte i przytoczony wzór wygląda obecnie tak jak poniżej.

Poprawiona wizualizacja wzoru w wersji 6.0.6 pakietu LibreOffice.

Jeśli zależy nam więc na bardzo dobrej wizualnej jakości równania, warto skorzystać ze wspomnianej już strony tworzenia równania w systemie LaTeX i wstawić do opracowania obrazy równań.
Niedogodnością takiego postępowania jest konieczność ponownego redagowania równania na stronie internetowej w przypadku potrzeby jego modyfikacji. Dlatego warto nie tylko skopiować do pliku obraz równania, ale także zachować jego prezentację w postaci języka znaczników LaTeX. Pozwoli to wkleić ten ciąg do obszaru redagowania równania w edytorze podczas ponownej edycji.

Przygotowałem równanie przedstawione na pierwszej ilustracji za pomocą wspomnianej strony internetowej. Poniżej można porównać obie metody utworzenia równania.

Porównanie równań wykonanych w edytorze Writer i edytorze LaTeX.
Rys. 2: Porównanie równania utworzonego w edytorze Writer i internetowym edytorze LaTeX.

Wstawianie formuły do dokumentu.

Wstawienie równania wymaga wywołania sekwencji poleceń „Wstaw – Obiekt – Formuła...” co przeniesie użytkownika do nowego otoczenia pracy związanego z działaniem modułu LibreOffice Math albo OpenOffice Math w zależności od używanego pakietu oprogramowania.

Jeżeli zakładamy, że ze wstawianiem równań będziemy mieli częściej do czynienia, można do paska narzędzi dodać ikonę przywołującą edytor (x)Office Math. W obu pakietach procedura jest taka sama. Przedstawię ją na przykładzie Apache OpenOffice:

Polecenie "Dostosuj".
Rys. 3: Wybór polecenia „Dostosuj...”.

Wywołaj polecenia „Narzędzia – Dostosuj...”

Okna dialogowe "Dostosuj" i "Dodaj polecenie".
Rys. 4: Dodawanie polecenia „Formuła” do paska standardowego.

W oknie dialogowym „Dostosuj” wybierz zakładkę „Paski narzędzi”.

Wskaż pasek, w którym ma zostać dodana ikonka. Ilustracja przedstawia dodawanie ikonki do paska standardowego.

Wybierz przycisk „Dodaj...”.

W okienku dialogowym „Dodaj polecenia” znajdź kategorię „Wstaw” a w niej polecenie „Formuła”. Na liście poleceń znajdują się dwa polecenia „Formuła”, wskaż to, któremu przypisana jest ikona zawierająca znak pierwiastka i naciśnij „Dodaj”.

Lokowanie ikonki w obszarze narzędzi.
Rys. 5: Przenoszenie ikony do wybranego położenia na pasku narzędziowym.

Ikona polecenia „Formuła” została dodana do paska narzędziowego. Teraz przy pomocy przycisków z czarnymi strzałkami znajdujących się w oknie dialogowym „Dostosuj” możesz przenieść tę ikonę do wybranego miejsca na pasku.

Na zakończenie naciśnij „OK”.

Już w trakcie powstawania tego artykułu pojawiła się nowa wersja LibreOffice oznaczona jako 5.0.1, w tej wersji programu standardowy pasek narzędziowy ma już przypisaną ikonkę wywołania edytora formuł. Jest jednak ona oznaczona opcją „nie pokazuj w pasku narzędzi”, dlatego wystarczy w zawartości tego paska ustawić tę opcję na aktywną.

Przywołanie modułu (x)Office Math dla już istniejącego obiektu zawierającego równanie wymaga dwukrotnego kliknięcia tego obiektu.

Wspomniałem już, że zmienia się otoczenie pracy co wiąże się ze zmianą wyglądu okna programu podczas edytowania równań. Okna te różnią się nieco, w zależności od używanego pakietu oprogramowania. W pakiecie Apache OpenOffice będzie ono wyglądało następująco:

Okno modułu-programu OpenOffice Math.
Rys. 5: Okno modułu OpenOffice Math.

Redagowany dokument zostaje umieszczony w górnej części okna jednocześnie w dokumencie zostanie wyznaczony prostokątny obszar, w którym pojawi się wizualizacja równania. Jeśli edytor został przywołany dwukrotnym kliknięciem istniejącego już równania – pojawi się ono wewnątrz tego obszaru.

W dolnej części tego okna znajduje się obszar redagowania równania nazywany obszarem poleceń. Posługując się znajomością języka znaczników można utworzyć nowe równanie albo zmodyfikować istniejące.

W oknie edytora równań pojawia się pływające okno narzędziowe zatytułowane „Elementy” i zawierające podstawowe struktury, symbole i znaki redakcyjne niezbędne przy tworzeniu równań. To pływające okno narzędziowe można zamknąć. Jeśli nie pojawiło się ono przy zainicjowaniu edytora lub gdy trzeba je ponownie otworzyć należy skorzystać z sekwencji poleceń „Widok – Elementy”.

W oknie „Elementy” w górnej części znajdują się symbolicznie oznaczone kategorie elementów. Pod linią oddzielającą kategorie wyświetlone są, przypisane do zaznaczonej kategorii, szablony, których można użyć podczas tworzenia formuły..

W pakiecie LibreOffice okno edytora równań wygląda następująco:

Okno modułu-programu LibreOffice Math.
Rys. 6: Okno modułu LibreOffice Math.

W tym oknie pojawia się dodatkowy lewy panel zawierający szablony, symbole i znaki redakcyjne występujące w pływającym oknie narzędziowym „Elementy”. Panel ten zawiera dodatkową opcję, jakiej nie ma w „Elementach”, nazwaną „Przykłady” i zawierającą kilka wstępnie zdefiniowanych równań. Ponadto w niektórych kategoriach dostępnych jest więcej szablonów. W tej sytuacji okno narzędziowe „Elementy” nie jest uruchamiane, choć oczywiście dostępne. Na potrzeby tej ilustracji wywołałem je sekwencją poleceń „Widok – Elementy” aby czytelnik zobaczył, że jest to takie samo okno jak w wersji Apache OpenOffice. Jeśli ktoś nie chce korzystać z tego bocznego panelu może go ukryć zaznaczonym na rysunku przyciskiem. Ponowne otwarcie panelu możliwe jest tym samym przyciskiem, teraz znajdującym się na lewej krawędzi okna. Boczny panel kategorii można też całkowicie wyłączyć (nie będzie wówczas dostępny) wyłączając opcję „Widok – Dokuj elementy”. We wspomnianej przeze mnie wersji 5.0.1 nie występuje już pływające okno narzędziowe „Elementy” i do dyspozycji jest tylko lewy panel i to on jest włączany lub wyłączany opcją „Elementy” w poleceniu „Widok”, a polecenie „Dokuj elementy” zostało usunięte.

Na powyższej ilustracji przedstawiłem rozwiniętą listę kategorii, ich nazwy, z wyjątkiem kategorii „Przykłady”, pokrywają się z nazwami kategorii znajdujących się w oknie narzędziowym „Elementy”. Widać też, że symbolicznie zaprezentowane szablony zawierają symbole zastępcze (kwadraty) w miejsce oznaczeń literowych wykorzystanych w oknie „Elementy”.


Tworzenie formuły, równania.

Edytory równań mimo drobnych różnic wizualnych działają tak samo. Oba funkcjonują w oparciu o taki sam język znaczników. Utworzenie równania to w istocie zapisanie jego właśnie w takim języku. Sam zapis dokonywany jest w obszarze poleceń a jego odwzorowanie pojawia się w obszarze wizualizacji równania. Osoby często wstawiające do opracowań równania dość szybko opanują składnię tego języka i będą tworzyły równanie z pominięciem wykorzystywania szablonów. Użytkownicy sporadycznie korzystający z opcji wstawiania równania częściej skorzystają z dostępnych „klocków”.

Szablony są symbolicznym przedstawieniem struktury fragmentu tworzonego równania. Wybór konkretnego szablonu wstawia do obszaru poleceń odpowiednią składnię języka a ta jest odwzorowywana w obszarze wizualizacji. Ponieważ podczas wstawiania szablonu nie są znane nazwy zmiennych lub wartości, miejsca, w których powinny one wystąpić zastępowane są symbolami zastępczymi. W obszarze wizualizacji prezentowane są jako puste kwadraty, natomiast w obszarze poleceń – jako znaki zapytania zawarte w ostrych nawiasach „<?>”.

Wizualizacja i język znaczników.
Rys. 7: Wizualizacja i język znaczników.

Powyżej na ilustracji przedstawiłem wstawiony szablon z kategorii „Operatory”, symbolizujący operator sumowania w zakresie od—do. Obszar wizualizacji odzwierciedla istotę tego fragmentu równania. W obszarze poleceń pojawił się natomiast zapis składni. Słowa kluczowe tego zapisu to „sum” „from” oraz „to”. „sum” odpowiada za wykorzystany symbol matematycznego sumowania. „from” oraz „to” – jeśli występują – odpowiadają za podanie granic sumowania. Miejsca, w których należy uzupełnić formułę stosownymi wpisami są zastąpione zapisem „<?>”.

Formułę należy zawsze redagować w obszarze poleceń, ponieważ jednak obszar ten jest zsynchronizowany z obszarem wizualizacji wszystkie wprowadzane zmiany znajdują natychmiastowe odzwierciedlenie w tym obszarze.

W OpenOffice Math nie można ustawić kursora w obszarze wizualizacji, jednak kliknięcie myszką wewnątrz tego obszaru automatycznie pozycjonuje położenie kursora tekstowego w obszarze poleceń w miejscu odpowiadającym za kliknięty element równania. Każdy dokonywany wpis ręczny lub wstawiany element dokonuje się w obszarze poleceń i oczywiście ma odzwierciedlenie w obszarze wizualizacji. Aby móc zobaczyć wzajemne odwzorowanie pozycji w obszarze poleceń i prezentowanej postaci równania, należy włączyć opcję „Kursor formuły”. Przedstawia to poniższy rysunek.

Rola kursora formuły w procesie tworzenia wzoru.
Rys. 8: Znaczenie kursora formuły.

Włączenie kursora formuły, za które odpowiada zaznaczona na ilustracji ikonka spowoduje, że każde miejsce wskazane w wierszu polecenia zostanie odwzorowane w formule, poprzez objęcie tego miejsca przerywaną linią. I odwrotnie, każde wskazane miejsce w formule w obszarze wizualizacji, zostanie otoczone przerywaną linią a w obszarze poleceń kursor tekstowy zostanie umieszczony w stosownej pozycji. Taki sposób funkcjonowania tego mechanizmu pozwala łatwo modyfikować rozbudowane formuły, w których odnalezienie właściwego miejsca w zapisie języka znaczników nie jest takie proste.

Pracując nad tym tematem znalazłem pewne różnice w działaniu tego mechanizmu w LibreOffice Math. Początkowo sądziłem, że dotyczą one pakietu LibreOffice jako całości, jednak dokładniejsze przyjrzenie się tematowi skomplikowało wnioski. Moje spostrzeżenia prowadzą w kierunku stwierdzenia, że nieco inaczej działa ta wersja pakietu w środowisku systemu 32 bitowego a inaczej w środowisku systemu 64 bitowego. Swoje przypuszczenie opieram na tym, że porównałem działanie oprogramowania w systemach: Windows XP Home Edition (jest to system 32 bitowy), w Windows 10 Pro 32 bitowy i Windows 10 Pro 64 bitowy. W 32 bitowych wersjach funkcjonowanie oprogramowania LibreOffice Math jest takie samo jak Apache OpenOffice Math a różnice pojawiają się gdy LibreOffice działa w wersji 64 bitowej. Przypominam, że swoje opracowania tworzę w oparciu o współpracę pakietu z system operacyjnym Windows. W 64 bitowej wersji systemu można ustawić kursor tekstowy wewnątrz obszaru wizualizacji, czego nie można zrobić w wersji 32 bitowej i bezpośrednio w tym obszarze dokonywać wpisów. Natomiast stan przełącznika „Kursor formuły” nie ma żadnego wpływu na funkcjonowanie edytora. Rysunek poniżej pokazuje taka sytuację.

Kursor tekstowy w obszarze wizualizacji, LibreOffice Math, system Windows 64 bitowy.
Rys. 9: Kursor tekstowy w obszarze wizualizacji formuły edytora LibreOffice Math.

Cienka pionowa linia odpowiada położeniu kursora, zaś podkreślenie wskazuje element, który będzie poprawiany.

Niestety, położenie kursora w obszarze wizualizacji nie ma odwzorowania w obszarze poleceń i odwrotnie. Jednak wprowadzane wpisy mają swoje odwzorowanie w każdym z obszarów. Ale i tutaj pojawia się rozdźwięk w funkcjonowaniu tego mechanizmu. Nie rozwijając tego wątku przyjmuję, że edytowanie formuły bezpośrednio w obszarze wizualizacji nie jest zalecane.


Wspomniałem o synchronizacji zawartości obszaru poleceń i obszaru wizualizacji. Zazwyczaj zmiany zachodzą natychmiast, jednak w rzeczywistości zależy to od ustawionych opcji polecenia „Widok”. Rozwiniętą listę tego polecenia wraz z paskiem narzędziowym „Narzędzia” przedstawia następna ilustracja.

Rozwinieta lista polecenia "Widok" i pasek narzędzi programu (x)Math.
Rys. 10: Polecenie „Widok” i pasek „Narzędzia” edytora

Druga z opcji tego polecenia „Autoaktualizacja widoku” decyduje o tym czy zmiany dokonywane w obszarze poleceń znajdą natychmiastowe odzwierciedlenia w obszarze wizualizacji. Jeżeli autoaktualizacja jest wyłączona to jednorazowe wymuszenie aktualizacji realizuje pierwsze polecenie z tej listy czyli „Aktualizuj”.

Czytelnik zauważy zapewne wyłączone możliwości użycia poleceń znajdujących się w dolnej części rozwiniętej listy. Odpowiedniki tych poleceń są także nieaktywne w widocznym na ilustracji pasku „Narzędzia”. Nie jest to błąd programu. Te możliwości stają się dostępne tylko wtedy, kiedy edytor (x)Office Math zostanie uruchomiony jako samodzielny program, a to jest możliwe po uruchomieniu programu Math albo po wywołaniu sekwencji „Plik – Nowy – Formuła”. Edytor pracujący jako samodzielny program umożliwia utworzenie formuły i zapisanie jej jako odrębnego pliku z nazwą o rozszerzeniu ODF. Dzięki temu można przygotować wstępne szablony rozbudowanych formuł i wykorzystywać je w przyszłych opracowaniach. Aby wstawić do opracowania formułę wcześniej zapisaną jako taki plik, trzeba skorzystać z polecenia „Wstaw – Obiekt – Obiekt OLE...”.

Wstawianie formuły zapamiętanej jako samodzielny plik.
Rys. 11: Wstawianie wzoru zapisanego jako oddzielny plik.

W otwartym oknie dialogowym należy zaznaczyć opcję „Utwórz z pliku” i za pomocą przycisku „Szukaj” („Search”) wskazać właściwy plik do wstawienia.

W tym kontekście trzeba też pamiętać, że plik formuły może zostać zapisany przez edytor tylko wtedy gdy edytor został wywołany jako samodzielny program. Jeśli edytor został przywołany podczas edycji dokumentu, to polecenie „Zapisz” lub „Zapisz jako...” dotyczy całego dokumentu, a nie redagowanej formuły.

Symbole stosowane w formułach i wzorach.

Pasek narzędzi zawiera dwie ważne ikonki: „Kursor formuły”, o którym była już mowa i ikonkę opisaną jako „Katalog”. W wersji LibreOffice Math ikonka prezentowana jest przez grecką literę omega a w wersji OpenOffice Math przez grecką literę sigma. Ikonka „Katalog” otwiera okno dialogowe umożliwiające wstawienie do równania greckich liter prostych albo pochylonych lub symboli specjalnych.

Każdemu symbolowi w tych zestawach przypisana jest indywidualna nazwa. Nazwę tę poprzedzoną znakiem procenta można użyć w obszarze poleceń. Oznacza to wówczas wstawienia tego symbolu do formuły. Tutaj zastosowano pewną prostą metodę mnemotechniczną. Nazwami symboli liter greckich są ich nazwy angielskie, przy czym symbole liter pochylonych zaczynają się literą „i”. Ponadto nazwy określające symbole małych liter są napisane małymi literami a nazwy określające wielkie litery są napisane wielkimi literami. Zatem „%omega” wstawi małą, prostą literę „ω” natomiast „%iOMEGA” wielką, pochyloną literę „Ω”.

Okienko dialogowe umożliwia także dodanie nowych, własnych symboli, które będą mogły być wykorzystywane w formułach. Pokażę to na przykładzie chemicznego zapisu rozpadu chlorku amonu w temperaturze 350 °C (tak zwana dysocjacja termiczna):

Dysocjacja termiczna chlorku amonu.
Rys. 12: Dysocjacja termiczna chlorku amonu.

W tym zapisie potrzebny jest symbol podwójnej strzałki. Takiego symbolu nie ma w zestawie symboli dostępnych w edytorze, dlatego dodam go do listy symboli specjalnych.

Po skorzystaniu z ikonki „Katalog” otworzy się okno dialogowe „Symbole” umożliwiające wstawienie wybranego symbolu do formuły ale też umożliwiające edycję symbolu.

Okno dialogowe "Symbole".
Rys. 13: Okno dialogowe „Symbole”.

Po przejściu do edycji, otwarte zostanie okno „Edycja symboli”.

Okno edycji symboli.
Rys. 14: Okno dialogowe „Edycja symboli”.

W tym oknie można wskazać nowe potrzebne symbole. Zestaw symboli (x)Office jest tworzony w oparciu o czcionkę OpenSymbol a w tym zestawie znaków nie ma takiej podwójnej strzałki. Jest natomiast w dołączanej do systemu Windows czcionce Cambria Math (nie wiem jak to jest w systemach Linux i Mac ale przedstawiam tylko metodę postępowania). Dlatego najpierw w okienku wyboru czcionki odnalazłem i wskazałem czcionkę Cambria Math. Następnie w symbolach tej czcionki odnalazłem potrzebny element i zaznaczyłem go. W dolnej części, w polu po nazwie „Symbol” pojawi się nazwa zbudowana na podstawie szesnastkowej reprezentacji liczbowej tego kodu. Można tę nazwę nadpisać własną nazwą, w tym przypadku wymyśliłem „gpdl” (górna w prawo, dolna w lewo). Ostatnim krokiem jest użycie przycisku „Dodaj” a następnie „OK”.

Od tego momentu zawartość symboli specjalnych zmieni się.

Lista symboli specjalnych uzupełniona o nowy symbol.
Rys. 15: Zmodyfikowana lista symboli specjalnych.

Dodany symbol znajdzie się na pozycji zgodnej z alfabetyczną kolejnością nazw symboli specjalnych. Jeżeli plik z dodanym symbolem zostanie otwarty na innym komputerze, to symbol ten będzie w nim nie tylko widoczny ale i dostępny. Nie będzie natomiast dostępny w nowych dokumentach otwieranych na tym komputerze.

Rozmiar i format formuły i jej elementów.

Wspomniałem już wcześniej, że nie można zmienić rozmiarów obszaru wizualizacji. Nie można więc tą metodą określić obszaru zajmowanego przez formułę. Można to zrobić tylko za pomocą atrybutów rozmiaru należących do języka znaczników albo za pomocą polecenia „Rozmiar czcionki” znajdującego się na liście poleceń rozwijanego polecenia „Format”.

Kilka słów na temat zawartości polecenia „Format”:

Polecenie „Czcionki...” otwiera okno dialogowe pokazane poniżej.

czcionki formuły i czcionki niestandardowe.
Rys. 16: Okno dialogowe polecenia „Czcionki...”.

W oknie można ustalić czcionki dla poszczególnych elementów formuły lub je zmodyfikować. Jednak czynności te nie są wskazane i lepiej jest pozostawić zaproponowane ustawienia.

Polecenie „Rozmiar czcionki...” otwiera poniższe okno dialogowe:

Ustalanie wielkości czcionki.
Rys. 17: Okno dialogowe „Rozmiar czcionki...”.

W tym oknie można ustalić podstawowy rozmiar czcionki oraz względne wielkości poszczególnych składowych formuły. To tymi parametrami, a przede wszystkim wielkością czcionki podstawowej, można ustalić graficzną wielkość formuły. Ustalone wielkości odniosą się do całej formuły. Wprowadzone zmiany dotyczą redagowanej formuły, chyba że zostanie naciśnięty przycisk „Domyślnie” co spowoduje ustawienie ustalonych wartości jako domyślnych dla całego pakietu i wszystkich tworzonych od tego momentu formuł.

Polecenie „Odstępy...” pozwala zdefiniować albo skorygować odległości występujące między różnymi elementami występującymi w formule. Wszystkie wartości liczbowe określone są jako wartości względne w stosunku do wielkości czcionki podstawowej.

Ustalanie odstepów między elementami formuły.
Rys. 18: Okno dialogowe „Odstępy...”.

Na pokazanej ilustracji korygowanymi odstępami są te należące do kategorii „Kreski ułamkowe” a po kliknięciu myszką wewnątrz wybranego pola, w okienku podglądu pojawią się symbole ukazujące, jaka wartość będzie zmieniana. Także tutaj można zmienione ustawienia zapisać jako obowiązujące domyślnie.

Polecenie „Wyrównanie...” otwiera okno dialogowe pozwalające określić wyrównanie formuły wewnątrz obszaru wizualizacji. Wyrównanie dotyczy każdego wiersza występującego w formule, także takiego który jest wynikiem wstawionej struktury. W szczególności widać będzie ten wpływ w formułach zawierających ułamki, gdyż liczniki i mianowniki ułamków są traktowane jako wiersze, tyle że wyrównywane w stosunku do zasięgu swojej kreski ułamkowej.

Wyrównywanie składowych formuły.
Rys. 19: Okno dialogowe „Wyrównanie...”.

Ostatnie polecenie w tej grupie to „Tryb tekstowy”. Jest to w gruncie rzeczy przełącznik, który zmienia wygląd obszaru wizualizacji w taki sposób aby mógł on stać się częścią wiersza.


Jak już napisałem formułę tworzy się w obszarze poleceń wpisując ją bezpośrednio – co wymaga znajomości składni języka znaczników – albo wstawiając w zaplanowanym porządku szablony z wybranych kategorii. Nie wspomniałem jeszcze o tym, ale obszar poleceń ma jeszcze jedną właściwość, otóż kliknięcie wewnątrz tego obszaru prawym przyciskiem myszy, otwiera podręczne menu z listą kategorii znanych już z polecenia „Elementy” i podwiązaną do każdej kategorii listą zapisów w postaci składni języka znaczników. Wybór składni wstawia ją do formuły w miejscu, w którym znajduje się kursor tekstowy. W odróżnieniu od szablonów, w których układ symboli zastępczych obrazuje jaka struktura zostanie wstawiona, tutaj trzeba znać składnię języka znaczników. Można oczywiście wykorzystywać wszystkie te sposoby równolegle.

Ograniczniki.

Jednymi z wykorzystywanych znaków graficznych wewnątrz formuł są ograniczniki, z których najbardziej znane są nawiasy rozmaitego kształtu. Takie ograniczniki są niezbędne dla określenia kolejności i hierarchii obliczeń, zilustrowania struktury przedstawianego zagadnienia lub zobrazowania innych okoliczności, znanych autorowi prezentującemu formułę. Cechą charakteryzującą ograniczniki jest występowanie ogranicznika otwierającego (lewego) i zamykającego (prawego). Edytor równań kontroluje czy każdy wstawiony ogranicznik otwierający ma odpowiadający mu ogranicznik zamykający i sygnalizuje sytuacje błędne. Jeśli ogranicznikami mają być nawiasy okrągłe albo kwadratowe to można je wpisywać z klawiatury. Nawiasy klamrowe, także często wykorzystywane w formułach, mają w języku znaczników własne znaczenie. Służą do grupowania struktur formuły w celu ich właściwej interpretacji w formule. W prezentowanych wcześniej ilustracjach widać te nawiasy występujące w obszarze poleceń. Tego rodzaju nawiasów nie można więc wprowadzić do wizualnej postaci formuły bezpośrednio z klawiatury.

Aby pokazać znaczenie nawiasów grupujących przedstawię kilka zapisów. Po lewej stronie znajduje się zapis formuły wprowadzony do obszaru poleceń w języku znaczników, po prawej – wizualizacja tego zapisu

Rola nawiasów grupujących.
Rys. 20: Znaczenie nawiasów grupujących w formule.

Pierwszy przykład nie wymaga komentarza może poza informacją, że osoba nieznająca w ogóle języka znaczników łatwo zorientuje się, że w tym języku słowo kluczowe „over” oznacza ułamek z tradycyjną kreską ułamkową. Taką formułę można utworzyć wykorzystując wstawienie dwóch szablonów. Tak jak to przedstawia poniższa sekwencja rysunków.

Tworzenie formuły z pomoca szablonów - 1.

W pływającym menu narzędziowym zaznaczyłem te dwa szablony, które zostaną wykorzystane. Liczby widoczne na ilustracji wskazują w jakiej kolejności szablony te zostaną wykorzystane.

Tworzenie formuły z pomoca szablonów - 2.

Jako pierwszy został wstawiony szablon „a+b”. W obszarze poleceń widać dwa symbole zastępcze. Po zaznaczeniu drugiego symbolu zastępczego

Tworzenie formuły z pomoca szablonów - 3.

wstawiłem drugi szablon, szablon ułamka zwykłego, który zastąpił sobą ten symbol zastępczy. Zwróćmy uwagę, że ten szablon wykorzystał nawiasy grupujące, dzięki temu można utworzyć właściwe zawartości licznika i mianownika. Nawiasy te nie byłyby potrzebne, gdyby licznik i mianownik były jednowyrazowymi wyrażeniami, jednak szablon „nie wie” co będzie tymi wyrażeniami.

Drugi przykład pokazuje wykorzystanie nawiasów okrągłych. Zdefiniowały one licznik ułamka we właściwy sposób, ale zostały także umieszczone w liczniku jako składowe części formuły.

Trzeci przykład pokazuje znaczenie nawiasów grupujących. Wyznaczają one formule te składowe, które mają być potraktowane jako jedna grupa, w tym wypadku będąca licznikiem ułamka. Nawiasy te nie pojawiają się jednak w zobrazowaniu formuły.

Przykład czwarty i piąty unaocznia jak zastosowanie grupowania wpływa na wizualną postać formuły.

Ostatni przykład wprowadziłem by przedstawić wygląd zapisu bardziej złożonej formuły i jednocześnie pokazać wykorzystanie słów kluczowych.

Znaki nawiasów klamrowych, jak wspomniałem, należą do tej kategorii słów kluczowych języka znaczników, których nie można w ten sposób wprowadzić do wyglądu formuły, a jednak bardzo często są one w formułach potrzebne. Ponadto w wizualizacji formuł mogą być potrzebne także inne symbole ograniczające. Zestaw przydatnych symboli przedstawia ilustracja poniżej.

Rózne symbole ograniczników stosowane w formułach.
Rys. 21: Zestaw symboli „ograniczników” w edytorze równań.

Dla symboli innych niż nawiasy kwadratowe i okrągłe zdefiniowano słowa kluczowe charakterystyczne dla każdej pary nawiasów. Dla łatwiejszego ich zapamiętania każde z tych słów zaczyna się literą „l” (left) jeśli dotyczy symbolu otwierającego i literą „r” (right) – gdy zamykającego.

Zatem trzecią parę symboli widocznych na powyższej ilustracji utworzą: „ldbracket” i „rdbracket” (left double bracket, right double bracket), czwartą: „lbrace” i „rbrace”, piątą: „langle” i „rangle”, szóstą: „lceil” i „rceil”, siódmą: „lfloor” i „rfloor”, ósmą: „lline” i „rline” a ostatnią: „ldline” i „rdline”.

Proszę zwrócić uwagę na to, że ograniczniki „ceil” i „floor” nie występują w postaci szablonów, dostępnych w pływającym zestawie poleceń „Elementy”. Są natomiast dostępne w postaci takich szablonów w bocznym panelu elementów występującym w LibreOffice.

Czasami ze względu na wielopiętrową konstrukcję formuły takie ograniczniki powinny mieć wielkość dopasowaną do wysokości wyrażenia, którego dotyczą. Taką właściwość zapewnia poprzedzenie lewego ogranicznika dodatkowym słowem „left” a prawego dodatkowym słowem „right”. Jeśli zatem chcemy aby wyrażenie było objęte nawiasami okrągłymi o wysokości całego wyrażenia, powinno ono być skonstruowane wg schematu „left ( «wyrażenie» right )”, a gdy nawiasami klamrowymi: „left lbrace «wyrażenie» right rbrace”. Ten rodzaj symboli w terminologii Apache OpenOffice nazywany jest nawiasami skalowalnymi a w LibreOffice nawiasami zmieniającymi rozmiar.

Tylko dla ograniczników dopasowywanych do wysokości wyrażenia można zastosować zapis „left none” albo „right none” oznaczający, że odpowiadający mu w strukturze formuły ogranicznik lewy lub prawy nie ma być ujawniony. Zapis ten zapewnia poprawność formalną dla pary ograniczników i odnosi się do najbliższego ogranicznika, który nie ma swojej pary. Dzięki temu poleceniu bez sygnalizowania błędu można uzyskać efekt taki, jaki widać poniżej.

Nawias klamrowy lewy dopasowany do wysokości wyrażenia.
Rys. 22: Formuła z jednym nawiasem klamrowym.

Dla ograniczników zwykłych stosowana jest inne rozwiązanie. Aby edytor nie sygnalizował błędów braku komplementarości należy słowo kluczowe tego ogranicznika poprzedzić znakiem „\” (lewy ukośnik). Dzięki temu można zapisać strukturę taką jak poniżej, przedstawiającą np. zakres prawostronnie otwarty bez zasygnalizowania błędu braku prawego nawiasu kątowego i lewego nawiasu okrągłego.

Użycie niesparowanych ograniczników zwykłych.
Rys. 23: Wstawianie ograniczników niesparowanych.

Kontrolowanie formalne formuł.

Edytor formuł ma wbudowany mechanizm kontroli powstającej formuły. Oczywiście nie sprawdzi on czy prezentowana formuła jest poprawna merytorycznie, sprawdza jednak czy formuła jest zbudowana poprawnie od strony formalnej. A więc, czy zastosowane pary ograniczników lewego i prawego są kompletne, czy nie pominięto jakiegoś wyrażenia w miejscu, w którym powinno ono wystąpić itd.

Poniżej na ilustracji przedstawiam formułę celowo napisaną błędnie. Błąd polega na pominięciu wyrażenia wymaganego po słowie kluczowym „over”.

Formuła zawierająca błędy formalne.
Rys.24: Formuła zawierająca błąd formalny.

W obszarze wizualizacji, miejsca, które edytor uznaje za błędne są sygnalizowane znakiem odwróconego czerwonego znaku zapytania. Tego rodzaju błędy mogą zostać usunięte tylko przez skorygowanie formuły do właściwej postaci. Te miejsca łatwo jest odnaleźć w obszarze poleceń, gdyż edytor przenosi kursor tekstowy do kwestionowanego zapisu po naciśnięciu klawisza funkcyjnego F3 (przy przechodzeniu w kierunku końca zapisu) albo kombinacji SHIFT+F3 (przy przechodzeniu w kierunku początku zapisu). Na ilustracji widać znalezione miejsce – w obszarze poleceń – jako zaciemniony prostokąt, ponadto na pasku stanu programu pojawia się komunikat podający wyjaśnienie dotyczące tej zaznaczonej pozycji. W tym wypadku: „Nieoczekiwany znak” oznacza, że przed nawiasem zamykającym grupę powinien znaleźć się jakiś wpis należący do zakresu słowa kluczowego „over”.

Taki błąd nie zostałby zasygnalizowany, gdyby brakujący element zasygnalizowano symbolem zastępczym <?> albo po prostu symbolem pustej grupy, czyli parą nawiasów {}.

Edytor wykorzystuje jeszcze jeden mechanizm dostępu do charakterystycznych miejsc w formule. Klawisz funkcyjny F4 i odpowiednio SHIFT+F4 przenosi kursor tekstowy do najbliższego symbolu zastępczego (odpowiednio w prawo lub w lewo) w treści formuły – zaznaczając go. Można zatem łatwo zastąpić taki symbol swoim własnym wyrażeniem.

Symbole zastępcze są wstawiane do formuły przez szablony narzędzia „Elementy”. Nic nie stoi jednak na przeszkodzie aby autor samodzielnie wpisał ciąg <?> sygnalizujący miejsce późniejszego uzupełnienia formuły.

Wielkość formuły.

Wspomniałem już, że fizycznym rozmiarem formuły steruje wielkość zastosowanej czcionki ustalana poprzez polecenie „Format – Rozmiar czcionki” w pasku poleceń edytora równań. Pojawia się jednak pytanie, jak duża, w sensie liczby elementów składowych, może być formuła. Edytor nie ma tu formalnego ograniczenia, jednak nie potrafi automatycznie podzielić formuły na części, wtedy gdy jej długość przekracza szerokość przeznaczanego dla niej miejsca. W celu podzielenia formuły należy wykorzystać słowo kluczowe „newline”, które oznacza, że dalsza część zapisu pojawi się w nowej linii obszaru wizualizacji. Naciskanie klawisza ENTER w obszarze poleceń pozwala co prawda na wygodną prezentację poszczególnych części składowych formuły, nie ma jednak żadnego wpływu na jej postać wizualną. Dzieląc formułę należy pamiętać, że ostatnim znakiem w linii, która jest „przełamywana” nie może być znak żadnego operatora. Nie można na końcu takiej części formuły pozostawić np. znaku „+” albo „=”.

Podobnie do działania klawisza ENTER jest też z wykorzystaniem klawisza spacji, który pozwala rozdzielać poszczególne elementy formuły w obszarze poleceń, nie ma jednak wpływu na odstępy wstawiane w obszarze wizualizacji. Edytor umożliwia wykorzystanie dwóch słów kluczowych języka znaczników, jednego wstawiającego do formuły odstęp i drugiego wstawiającego mały odstęp. Te dwa słowa kluczowe to właściwie dwa symbole dostępne z klawiatury: znak akcentu „`” odpowiada za mały odstęp a znak tyldy „~” – za odstęp. Rolę tych słów kluczowych przedstawia ilustracja poniżej.

Słowa kluczowe „newline”, odstęp i mały odstęp można wprowadzić do formuły wykorzystując odpowiedni szablon w kategorii „Formaty” polecenia „Elementy”.

Znaki redagujące formułę.
Rys. 25: Słowa kluczowe i struktura obszaru poleceń.

Na ilustracji widać, że pomimo wstawienia wielu spacji w zapisie ostatniego równania, nie przeniosły się one do obszaru wizualizacji. Poprzedzenie zapisu trzeciego równania słowem kluczowym „newline” spowodowało zapisanie go w nowej linii.

Tworzenie układów równań.

Jak widać polecenie „newline” pozwala nie tylko podzielić formułę, ale też umożliwi wprowadzenie układu równań. Jest jednak pewien problem. Użycie polecenia „newline” wyklucza możliwość skorzystania z ograniczników dopasowanych do wysokości układu. Nie można zatem tym sposobem uzyskać efektu pokazanego na rys. 22 powyżej. Aby to osiągnąć trzeba wstawić wielopoziomową strukturę formuły (a nie wiele poziomów struktury) a zrealizować to można za pomocą jednego ze słów kluczowych lub odpowiedniego szablonu. Stosowne szablony znajdują się we wspomnianej już kategorii „Formaty” i opisane w Apache OpenOffice jako „Stos pionowy (2 elementy)”, „Stos pionowy” i „Stos macierzy” a w LibreOffice jako: „Rozmieszczenie pionowe (2 elementy)”, „Rozmieszczenie pionowe” i „Rozmieszczenie macierzy”. Słowami kluczowymi wraz z wymaganą składnią odpowiadającymi tym szablonom są:

Ilustracja poniżej przedstawia sposób ułożenia dwóch równań tak aby znaki równości w tych równaniach się pokrywały. Widoczne w obszarze poleceń puste grupy, zapisane po znakach równości, mają na celu zapewnienie kompletności zapisu. Wspomniałem bowiem, że edytor równań zasygnalizuje błąd, gdyby formuła była formalnie niepoprawna, a więc gdy po znaku równości, plusa czy minusa nie pojawiłby się żaden wpis. Efekt uzyskany na ilustracji jest wynikiem dodatkowego ustawienia wyrównywania (Format – Wyrównanie...) na: „Do prawej”.

Prezentacja układu dwóch równań.
Rys. 26: Układ dwóch równań z wyrównaniem na znaku równości.

Jeśli autor uzna, że odstęp po znaku równości jest zbyt duży, może wykorzystać wspomniane już polecenie „Format – Odstępy...” i w kategorii „Macierze” zweryfikować odstęp między kolumnami.

Kontynuując temat układu równań wypada poruszyć jeszcze jeden aspekt. Jeśli prawe strony równań nie są jednakowej długości pojawi się nieestetyczny efekt dużej przerwy po znaku równości, gdyż wszystkie elementy są wyrównane do prawej strony. Składnia języka zawiera nieomówione jeszcze słowa kluczowe zmieniające sposób wyrównania jednego konkretnego elementu. Są trzy takie słowa: „alignl” wyrównujące do lewej strony, „alignc” - wyrównujące do środka oraz „alignr” wyrównujące do prawej strony. Mają one także swoje odzwierciedlenie w postaci szablonów kategorii „Format” zestawu „Elementy”. Poprzedzenie zapisów wprowadzonych do drugiej kolumny macierzy poleceniem „alignl” spowoduje, że równania mogą wyglądać tak, jak na poniższej ilustracji.

Redagowanie układu dwóch równań.
Rys. 27: Układ równań ze zmiennym wyrównaniem zapisów.

Ta ilustracja pokazuje także jak można w obszarze poleceń zapisać strukturalnie swoją formułę co pozwoli łatwiej ją modyfikować w razie potrzeby. Wpisanie w wierszu dwóch znaków procenta „%%” oznacza, że dalsza część tego wiersza będzie traktowana jako komentarz i nie ma wpływu na wygląd formuły. Dzięki temu można pozostawić opis tego, czego dotyczą poszczególne wpisy.

Przygotowałem taki szablon dla układu trzech równań i zapisałem w postaci pliku ODF. Szablon umieści równania w taki sposób, jaki przedstawia poniższy rysunek.

Szablon do układu trzech równań.
Rys. 28: Szablon do układu trzech równań.

Można go pobrać stąd