Numeracja wzorów matematycznych

Użytkowanie edytora dokumentów
arek
Posty: 50
Rejestracja: wt cze 02, 2009 5:23 pm

Numeracja wzorów matematycznych

Post autor: arek »

Jak w miarę wygodny sposób numerować wzory matematyczne? Może przybliżę problem otóż numeracja wzorów matematycznych wymaga by numery pojawiały się po prawej stronie (czyli inaczej niż nr w zwykłej numeracji) oraz była możliwość odwołania się do takiego wzoru w treści w taki sposób by w przypadku dodania nowych wzorów automatycznie wzory zostały prze-numerowane a dowołania zaktualizowane do właściwych numerów, tak by odwołanie cały czas wskazywało na właściwy wzór.

Opcjonalnie jeżeli jest możliwość umieszczenia w numeracji np. numeru rozdziału, czy możliwość rozbicia numeracji na podpunkty tj. by można było osiągnąć następujący efekt: 1,2,3,4,5,5a,5b,5c,6,7,8,9
Jan_J
Posty: 4576
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Numeracja wzorów matematycznych

Post autor: Jan_J »

Temat porusza klika problemów:
1. możliwość wstawienia numeracji
2. możliwość nadania mu wymaganej postaci
3. możliwość powołania się na wstawiony numer

Ad 1.
Do automatycznej numeracji służą sekwencje. Patrz Wstaw/Pola/Inne
Wirter ma predefiniowaną sekwencję do numerowania równań, i predefiniowany tzw. autotekst do wstawiania tabeli z obiektem typu formuła + wartość licznika -- jest to wyzwalane przez fn<F3>.

Ad 3.
Do odwołań służy narzędzie Wstaw/Pola/Inne z zakładki Odwołania. Licznik wstawiany ww sposobem nosi nazwę Tekst, i na niego musisz się powołać.

Ad 2.
Nie wiem. Do takich rzeczy używam LaTeX-a.
JJ
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Dynia
Posty: 9
Rejestracja: śr cze 03, 2009 10:02 pm

Re: Numeracja wzorów matematycznych

Post autor: Dynia »

Podpisy wstawiane za pomocą Wstaw/Podpis... istotnie mają tą niemiłą własność, że potrafią ustawić się tylko pod spodem lub powyżej obiektu, ale ten problem jest łatwy do obejścia, musisz po prostu zdefiniować własną sekwencję. Robi się to tak:
1. otwierasz okno dialogowe 'Pola', co można zrobić na trzy sposoby: Wstaw/Pola/Inne... , albo: Wstaw/Odwołanie , albo: ctrl+F2;
2. przechodzisz do zakładki 'Zmienne';
3. jako Typ wybierasz 'sekwencje';
4. w pole Nazwa (u dołu okna) wpisujesz nazwę sekwencji, np. 'wzór' (nie martw się, że była tam wcześniej wpisana nazwa innej sekwencji);
5. w polu Format wskazujesz rodzaj numeracji (domyślne cyfry arabskie będą chyba odpowiednie);
6. klikasz przycisk 'Wstaw' (pole Wartość zostaw puste), co powinno spowodować dwie rzeczy 1) pojawienie się nazwy Twojej sekwencji na liście w polu Wybór, 2) wstawienie wartości licznika (czyli w tej chwili 1) w miejscu, gdzie stał kursor;

7. podpisując kolejne formuły w dokumencie powtarzasz kroki 1.-3. ;), tylko potem po prostu wybierasz z listy w polu Wybór nazwę własnej sekwencji i klikasz przycisk 'Wstaw'.

Oczywiście będzie się to automatycznie przenumerowywać, jeżeli coś dodasz/wykasujesz/poprzestawiasz.

Pozycjonowanie po prawej stronie formuły realizujesz wtedy w ten sposób, że umieszczasz kursor za formułą (w tym samym wierszu ;) i wstawiasz numerację tak jak w punkcie 7. To, co "dookoła" numerku trzeba sobie niestety w tym wypadku za każdym razem wpisać ręcznie (czy będzie to "Wzór wstawiony_nr_sekwencji", czy "(wstawiony_nr_sekwencji)").

Jeżeli chcesz umieścić w tekście odwołanie do wzoru, to:
1. otwierasz to samo okno dialogowe 'Pola', ale przechodzisz do zakładki 'Odwołania';
2. w polu 'Typ' już czeka na Ciebie nazwa zdefiniowanej sekwencji i możesz ją wybrać;
3. w polu 'Wybór' wybierasz numer wzoru;
4. w polu 'Wstaw odniesienie do' wybierasz, co ma się wstawić - w przypadku wzorów użyteczne będą chyba przede wszystkim 'Odwołanie' albo 'Numeracja';
5. przycisk 'Wstaw' i automatycznie aktualizujące się odwołanie gotowe.

Teraz co do "wielopoziomowości". Jeśli chodzi o rozdziały, to bez problemu da się to zrobić, opis poniżej. Jeżeli chodzi o możliwość posiadania 1,2a,2b,3... itp., to tu istnieją tylko półśrodki. To znaczy, przy wstawianiu numeru sekwencji możesz ręcznie podać jej wartość (do tego służy pole 'Wartość' w zakładce 'Sekwencje' okna 'Pola'), tyle że w tym miejscu będziesz miał nieciągłość w automatyce przenumerowywania (wartość ta będzie stała, jaka długo ręcznie jej nie zmienisz). Kolejne wstawiane numery sekwencji będą się odliczać od tej zadanej wartości a automatyczne przenumerowywanie będzie działać niezależnie od siebie w części dokumentu przed tą ręcznie wstawioną wartością i za nią. Jeżeli chodzi o "podnumerację", to po prostu trzeba by stworzyć nową sekwencję i wstawiać jej numer za numerem pierwszej. Zerować można ją ręcznie (j.w.), albo ustawić, aby automatycznie zerowała się np. przy przejściu do następnego rozdziału - służy do tego opcja 'Numeracja według rozdziałów' w dobrze nam już znanej zakładce 'Zmienne' okna 'Pola' - zaraz to omówię szerzej. Zauważ, że wstawiając odwołanie do wzoru w tekście można wstawić jedno odwołanie, które obejmie naraz numery obu sekwencji - w tym celu wybierz odpowiedni numer dowolnej z nich i użyj opcji 'Odwołanie' z pola 'Wstaw odniesienie do' (ta opcja sprawia, że wstawiany tekst obejmuje również tekst bezpośrednio przy danym obiekcie, do którego się odwołujesz).

Dobra, teraz odnośnie rozdziałów. Przede wszystkim, trzeba mieć w tekście zdefiniowane rozdziały. Robi się to (ładnie) korzystając ze stylów akapitu: w ramach predefiniowanych sttyów OO do wyróżniania rozdziałów służą style Nagłówek1, Nagłówek2, itd. Można też przypisać taką własność do własnoręcznie utworzonego stylu, służy do tego zakładka 'Konspekt i numeracja'. Można też rzecz zrobić brzydko i nie używać stylów - wtedy tą samą zakładkę 'Konspekt i numeracja' wybieramy po prostu z menu Format/Akapit. Procedura jest następująca (zakładam, że działamy na stylach, jeśli nie, to trzeba zrobić to samo, osobno dla każdego akapitu będącego tytułem rozdziału):
1. wejść w zakładkę 'Konspekt i numeracja' we właściwościach stylu (akapitu);
2. wybrać interesujący nas poziom konspektu ('treść tekstu' to tyle co 'te akapity nie są nagłówkami', poziom 1 to rozdział, poziom2 - podrozdział, poziom 3 - "podpodrozdział", itd.);
3. wybrać styl numeracji - spośród zdefiniowanych w dokumencie stylów list i numeracji;
I tu przykra niespodzianka - jeżeli posługujemy się stylami predefiniowanymi (Nagłówek), to żadnej z powyższych opcji nie możemy w oknie właściwości stylu wybrać (przynajmniej u mnie), co oznacza, że nadawanie numerów trzeba realizować w tym przypadku dla każdego akapitu będącego tytułem rozdziału oddzielnie (przez Format/Akapit/'Konspekt i numeracja'). Ale nic nie stoi na przeszkodzie, żeby zrobić własny style :)
4. opcje dotyczące numeracji wierszy nie są dla nas interesujące; klikamy 'OK'.

Jeżeli mamy podrozdziały, to pierwszemu podrozdziałowi w każdym rozdziale musimy ręcznie zresetować numerację - daje się to zrobić z menu kontekstowego pod prawym klikiem ('Zacznij numerację od nowa'), albo przez Format/Akapit/'Konspekt i numeracja', odhaczając "Zacznij ponownie od tego akapitu" w sekcji "Numeracja" (jeśli ktoś ma potrzebę, można tu też ustawić, by numeracja zaczynała się od dowolnej liczby).

Jeżeli w numeracji sekwencji chcesz się posłużyć numerem rozdziałów, to Styl numeracji danego akapitu musi być ustawiony (czy to przez style, czy "ręcznie") na któryś ze stylów numeracji, a nie np. listy (domyślne i niezmienialne ustawienie stylów predefiniowanych Nagłówek stylem numeracji niestety nie jest).
Jeżeli wprost przeciwnie, nie chcesz by pojawiały Ci się numery rozdziałów, ale chcesz ich używać do "zerowania" (choć właściwie, to przecież ustawianie na 1,nie na 0 :) numerów sekwencji, może to być styl listy albo 'Brak'.

Mając już rozdziały, wracamy do sekwencji. Chcąc powiązać numerację wykresów z numerem rozdziałów w dobrze nam już znanym Pola/Zmienne/Sekwencje musisz wybrać Poziom dla 'Numeracji według rozdziałów' - to jest ustawiany w stylach czy akapitach numer poziomu konspektu oraz wpisać ew. tekst, który będzie oddzielał numer rozdziału (podrozdziału...) od numeru sekwencji (Separator). Oczywiście, jeżeli chcesz tu mieć numer rozdziału, to rozdział musi mieć numer :) - o czym było akapit wcześniej. Jeżeli nie ma numeru, to przed numerem sekwencji nie pojawi się nic (tzn. pojawi się Separator, jeśli coś tam wpisałeś). Numery sekwencji będą odliczane od nowa w ramach każdego (pod)rozdziału.

Utrudnienie jest takie, że mając ustawione zerowanie numeracji sekwencji na np. 3. poziomie konspektu ("podpodrozdział") możemy chcieć uzyskać podpis w postaci: "nr_rozdziału.nr_podrozdziału.nr_podpodrozdziału.nr_sekwencji", a tymczasem opisana wyżej opcja pozwala nam połączyć z numerem sekwencji tylko numer tej części konspektu, która go zeruje (tu "podpodrozdział"). Oczywiście można uzyskać i taki efekt jak chcemy, tylko jest to troszeczkę bardziej pracochłonne. W tym celu przed właśnie wstawione: "nr_podpodrozdziału.nr_sekwencji" dostawiamy ręcznie odwołania do rozdziału i podrozdziału. W oknie 'Pola' przechodzimy do zakładki 'Dokument', jako typ wybieramy 'Rozdział', jako Format zapewne 'Numer rozdziału' :) i wstawiamy. Potem tylko zmieniamy 'Poziom' na 2, aby tym razem uzyskać numer podrozdziału, i gotowe. Jak już wspominałem, do takiego wieloczłonowego podpisu można się potem bez większych problemów odnieść w tekście przy pomocy jednego odwołania (w polu 'Wstaw odniesienie do' wybieramy 'Odwołanie').

Jeszcze jedna uwaga, zmiana stylu/formatu akapitu (w szczególności jego styl numeracji) nie powoduje automatycznego zauktualizowania się wyglądy odniesień, ale za to "spuszczenie akapitu" (dowolnego) i owszem.
ODPOWIEDZ