🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: alt.pl.openoffice
1 messages
1 total messages Started by Tomasz Minkiewicz Fri, 26 Nov 2010 11:32
Wiszące spójniki
#14556
Author: Tomasz Minkiewicz
Date: Fri, 26 Nov 2010 11:32
69 lines
4739 bytes
Wiecie co? Pewnie nie wiecie, bo to jest dość mało znany sposób
(wyguglałem go, ale już wiedząc czego szukam, a i tak było niełatwo),
ale można znacznie lepiej, osiągając znacznie bardziej estetyczny wynik,
zapobiegać pozostawianiu samotnych spójników na końcach wierszy, niż
przy użyciu twardych podziałów wierszy (yuck!) czy klejących spacyj
(blargh!). Odkryłem to przypadkiem, jak eksperymentowałem z writerową
obsługą języków azjatycko-egzotycznych.

Sposób opiera się na tym, że Writer najwyraźniej dzieli wiersze
wyłącznie PRZED spacjami, a nie po nich (inaczej niż Word).
Wystarczy zatem w jakiś sposób powiedzieć temu Writeru, że mu przed
wskazaną spacją nie wolno wiersza podzielić. Jak? Ano trzeba wstawić
tam znak niewidoczny, a zapobiegający dzieleniu. Jest taki? Oczywiście,
że jest i po unicodowemu nazywa się „Zero width joiner” alias U+200D,
a po writerowemu „No-width no break” (nie wiem, jak przetłumaczone na
polski).
Jeśli mamy włączoną obsługę tekstów o złożonej typografii, to w menu
„Insert/Formatting mark” pojawia się polecenie do wstawiania tego
znacznika, skojarzone ze skrótem ctrl-/ (slash) – wystarczy go wstawić
między każdy samotny spójnik, a następującą po nim spację i gotowe.
Spójniki przestają wisieć, a wszystkie spacje mają elastyczną szerokość!

Niestety włączenie obsługi tekstów egzotycznych sprawia, że ergonomia
Writera obniża się jeszcze bardziej (a startuje z niewysokiego
poziomu ;>), bo w narzędziach do formatowania pojawia się sporo
dodatkowych kontrolek, które tylko przeszkadzają (chyba że faktycznie
piszemy w malayalam czy kannada). Najwygodniej byłoby mieć wyłączoną
obsługę egzotów, ale aktywny skrót wstawiający ZWJ. Jest to jak
najbardziej możliwe – wyłączamy egzoty, a w Tools/Customize/Keyboard
do ctrl-/ (czy też innej kombinacji) przypisujemy "Insert/No-width
no break" i mamy crème de la crème: czyste i proste okienka dialogowe,
a spójniki nie wiszą.

BUGS:
to czasem nie działa: mniej więcej co dziesiąty spójnik nie jest
ściągany do następnej linii; chyba błąd we writerowym silniku formatującym,
bo delikatna zmiana (wszystko jedno: zwiększenie, jak i zmniejszenie)
szerokości wiersza z wiszącym spójnikiem wymusza wtedy jego zrzucenie –
wystarczy gdzieś wstawić włosową spację.

SEE ALSO:
to wprawdzie stare i znane, ale wczoraj mi kumpel uświadomił, że nie
wszystkim, więc jeszcze jeden drobny hint dla przypomnienia; jeśli
chcemy poprawnie, zgodnie z polskimi regułami, przenosić wyrazy zawierające
łącznik (np. północno-wschodni), to zastępujemy go dwoma znakami:
non-breaking hyphen (U+2011) oraz optional hyphen czyli SHY (U+00AD).
Jeśli przenoszenie wypadnie w miejscu łącznika, to writer wstawi kreski
jak trzeba: zarówno na końcu jednej linii, jak i na początku drugiej.

HTH


PS. A mogę teraz poprosić o pomoc? Czy ktoś z Was wykombinował może sposób,
jak w Writerze zrobić przenoszenie boksów jak w LaTeXu? Jeśli jest duży
rysunek (albo tabela, która ma się nie dzielić między strony) zakotwiczony
do czegoś innego niż strona, to Writer potrafi całą stronę pustą przed nim
zostawić. Da się na nim jakoś wymusić zachowanie analogiczne do latexowego [htp]?
Albo choć [ht]? A nawet samo [t] już by mnie satysfakcjonowało, byle tekst
przepłynął wokół framki (ale ma pozostać zakotwiczona do konkretnego akapitu).
Wiem, że oficjalnie się nie da i feature request w tej sprawie wisi od 2004,
ale może dopracowaliście się jakiegoś hacka?

PS2. Właściwie, to jak jest lepiej: „w Writerze”, czy „we Writerze”? Jak piszę,
czy jak mówię? :)

TIA

-- 
Tomasz Minkiewicz <tommink@gmail.com>
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads