Zmiana rodzaju przypisu

Dyskusje dotyczące tworzenia makropoleceń, pisania skryptów oraz programowania przy użyciu UNO
Bielikbiell
Posty: 1
Rejestracja: czw kwie 12, 2012 3:31 pm

Zmiana rodzaju przypisu

Post autor: Bielikbiell »

Mam prblem i proszę o pomoc..
zaczęłam pisać pracę magisterską w wordzie, niestety musiałam skopiować ją do innego komutera, który posiada openoffice. Wszystkie przypisy, które miałam umieszczone na końcu każdej strony, w oo przeniosły się na koniec całej pracy.. Czy jest jakaś możliwość aby powróciły na swoje miejsce??? W mojej uczelni jest wymóg, by były na końcy każdej strony i teraz nie wiem co zdobić.. Może macie jakieś pomysły?
OpenOffice 3.3 na Windows7
Jan_J
Posty: 4653
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: tworzenie przypisu dolengo na podstawie zawartości tekst

Post autor: Jan_J »

Na wstępie warto sprawdzić, czy masz do czynienia z notkami końcowymi, czy tylko przypisy dolne zostały zebrane na końcu. Narzędzia → Przypisy dolne → Pozycja.

Jeżeli są to prawdziwe przypisy końcowe, idziemy dalej.

Metoda bezpośrednia i oczywista, choć wymagająca dużej uwagi.
Robimy kopię pliku odt. Z pliku odt wypakowujemy (unzip) plik content.xml.
W pliku content.xml przypisy dolne są opakowane w znaczniki

Kod: Zaznacz cały

tekst przed przypisem<text:note text:id="ftn0" text:note-class="footnote"><text:note-citation>1</text:note-citation><text:note-body>
<text:p text:style-name="Footnote">tekst notki</text:p></text:note-body></text:note> dalszy tekst
W przypadku przypisów końcowych jest tak samo, tylko [Ff]ootnote → [Ee]ndnote.
Kontrolowana zamiana fraz "endnote" na "footnote" i "Endnote" na "Footnote" powinna zaradzić.
Na końcu pakujemy (zip-em) content.xml z powrotem do tego samego pliku odt.

Sprawdzałem, i wychodzi, ale nie na tekście o rozmiarach i stopniu złożoności pracy dyplomowej. W razie gdyby się nie udało, mamy przecież kopię oryginału(!).

Metoda z makrem(?) Obiekt dokumentu zawiera kolekcję przypisów dolnych i kolekcję przypisów końcowych.
Tylko że... te kolekcje nie obsługują dodawania i usuwania elementów. Właściwie nie ma w tym nic dziwnego, w końcu nigdzie w tekście nie występuje zgromadzenie wszystkich przypisów. Szkic makra listującego (zmienić się nie da):

Kod: Zaznacz cały

Sub ListingPrzypisow
    d = thisComponent
    fnts = d.Footnotes
    for i = 0 to fnts.Count-1
    	notka = fnts.getByIndex(i)
    next i
    ents = d.Endnotes
    n = ents.Count
    for i = 0 to n-1
    	notka = ents.getByIndex(0)
    '	fnts.insertByIndex(notka,fnts.Count) ' nie ten typ kontenera
    '	ents.removeByIndex(0)
    next i

End Sub
Patrz też http://www.openoffice.org/api/docs/comm ... notes.html

Trzeba by raczej przejrzeć endnotes, sprawdzać gdzie notki są zakotwiczone, i w tych samych miejscach wstawiać zakotwiczenia do notek dolnych, a te końcowe usuwać. Napisanie i przetestowanie makra zajęłoby mi chyba nieco więcej czasu, niż ręczne przełożenie przypisów jeden po drugim za pomocą menu podręcznego.

Wobec prostoty metody pierwszej, tej z content.xml, skłaniałbym się do niej, z zachowaniem wspomnianych środków ostrożności.
JJ
LO (26.2) ∙ Python (3.13|3.10) ∙ Unicode 17 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
ODPOWIEDZ