Strona 1 z 2

Automatyczne wstawianie twardej spacji po pojedynczym znaku

: sob paź 17, 2015 2:24 pm
autor: HumoRex
Jak automatycznie wstawić w całym dokumencie twardą spację zamiast zwykłej spacji po pojedynczym znaku?

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

: sob paź 17, 2015 9:01 pm
autor: Jan_J
1. Poczytaj o wyrażeniach regularnych. Gdziekolwiek, może być tu: http://przepis-na-lo.pl/2013/06/usuwani ... tekstowym/ i tu: https://help.libreoffice.org/Common/Lis ... essions/pl

2. W formularzu Wyszukaj i Zamień włącz wyrażenia regularne
Wyszukaj " ([a-z]) ([a-z])"
Zamień na " $1_$2" albo na " $1\x00a0$2" (zamiast "_" wklej spację klejącą pobraną np, z dokumentu; w żadnym wypadku nie wpisuj cudzysłowów " do formularza)

3. Weź pod uwagę okoliczności, których nie objął przypadek 2. Np zamiast " ([a-z]) ([a-z])" lepiej wpisać "([ _][a-z]) ([a-z])" i wtedy pominąć początkową spację we frazie docelowej.

4. Powodzenia. Edytory tekstów dysponują silnymi narzędziami.

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

: wt paź 27, 2015 12:36 pm
autor: Rostov
A da się tak to zrobić, by edytor automatycznie wstawiał twardą spację po każdym pojedynczym znaku?

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

: śr paź 28, 2015 11:28 pm
autor: Astur
Tak, w autokorekcie, ale po każdym takim wyrazie trzeba byłoby naciskać znak kasowania poprzedniego znaku, czyli spacji.

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

: czw paź 29, 2015 2:22 pm
autor: Rostov
Nie za bardzo rozumiem. Dlaczego?

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

: czw paź 29, 2015 9:10 pm
autor: Astur
W Narzędzia->Opcje autokorekty..., w zakładce Zamień, w polu Zamień możesz wprowadzić wszystkie spójniki i odpowiednio w polu Zamień na:, spójniki z twardą spacją. Wówczas, po wpisaniu jakiegoś spójnika i naciśnięciu spacji, zamiast niego zostanie wprowadzony taki sam spójnik z twardą spacją. Zwykła spacja jednak zostanie i trzeba ją skasować ręcznie. Jeśli się tego nie zrobi, spójnik nie będzie przyspawany do następnego wyrazu i zawiśnie na końcu wiersza.

Być może (i zapewne nawet stosunkowo łatwo) byłoby napisać rozszerzenie, które w locie wykrywałoby takie zestawy, czyli {spójnik}{twarda spacja}{zwykła spacja} i zamieniałoby je na {spójnik}{twarda spacja}. Nie czuję się jednak na siłach.

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

: czw paź 29, 2015 11:57 pm
autor: Jan_J
Astur pisze:Być może (i zapewne nawet stosunkowo łatwo) byłoby napisać rozszerzenie, które w locie wykrywałoby takie zestawy, czyli {spójnik}{twarda spacja}{zwykła spacja} i zamieniałoby je na {spójnik}{twarda spacja}.
Tylko po co? skoro pisać rozszerzenie działające, to lepiej w ogóle nie polegać na autokorekcie, tylko od razu podmieniać.
Na siłach może i bym się czuł, ale czas nie pozwala.

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

: pn lis 02, 2015 8:31 pm
autor: Rostov
Astur pisze:W Narzędzia->Opcje autokorekty..., w zakładce Zamień, w polu Zamień możesz wprowadzić wszystkie spójniki i odpowiednio w polu Zamień na:, spójniki z twardą spacją.
Gdy próbuję w polu Zamień na: po spójniku wpisać twardą spację (Ctrl+Shift+Spacja) nie pojawia mi się żadna przerwa po literze. Wpisanie zwykłej spacji działa, twardej — nie. O co chodzi?

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

: pn lis 02, 2015 9:51 pm
autor: Jan_J
O to, że <Ctrl+Shift+Spacja> nie jest znakiem, tylko czyli sposobem na wstawienie pewnego znaku działającym w oknie edycyjnym Writera. Kontrolka dialogu go nie rozumie. Weź twardą spację do schowka i wklej ją do okienka w dialogu. Wiem, że się uda.

PS. Wszystko da się zorganizować lepiej niż jest, ale takie mankamenty nie są przypadłością OpenOffice. Weź np. spróbuj wpisać znak tabulacji do okna "Znajdź i zamień" w dowolnym edytorze, od Notatnika poczynając. A przez schowek się da (na ogół).

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

: wt lis 03, 2015 2:34 pm
autor: Rostov
W pustym dokumencie zrobiłem twardą spację <Ctrl+Shift+Spacja> (Ctrl+Shift+Enter, jak Pan napisał, to wstawienie podziału sekcji), zaznaczyłem ją, skopiowałem i wkleiłem ją do okienka dialogowego Zamień na: tuż po pojedynczym znaku. No i nic. Po napisaniu dowolnego spójnika i wciśnięciu spacji pojawia się tylko jeden znak spacji, który nie „przykleja” go do następnego wyrazu.

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

: wt lis 03, 2015 5:55 pm
autor: Jan_J
Z faktami dyskutować się nie da. Ale sposób z wklejaniem wzorcowego znaku do formularza działał mi od zawsze we wszelkich wersjach Open- i LibreOffice'a, na wszystkich systemach jakich próbowałem.

Przy włączonych wyrażeniach regularnych można też odwoływać się do numerów znaków Unikodu. Spację nierozdzielającą dostaniemy z sekwencji \xa0 (jako że ma ona numer 10*16+0 = 160 = 16*10 + 0 = xa0).

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

: wt lis 03, 2015 7:35 pm
autor: Rostov
Muszę się pokajać. Nie działało, ponieważ… miałem wyłączoną autokorektę. :oops: Zrobiłem tak, ponieważ wprowadzała mi zmiany, których nie chciałem, a nie umiałem ich wyłączyć. Swoją drogą — przydałby się jakiś przyklejony temat, w którym każda opcja autokorekty byłaby dokładnie wyjaśniona, ponieważ wiele z nich jest tak sformułowanych, że trudno się domyśleć, co przez ich włączenie/wyłączenie można osiągnąć. W Pomocy nie jest to zbyt jasno wytłumaczone.

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

: sob lut 27, 2016 1:55 pm
autor: Rostov
Dopytam o jeszcze jedną rzecz w tym temacie. Często teksty, które publikuję na stronach internetowych, najpierw redaguję w Writerze. Strony robię w Notepad++, ale także publikuję na blogach pisanych na platformie blogspot. Na blogspocie pisanie postów odbywa się przez aplet Java. Gdy do apletu wkleję tekst zredagowany w Writerze z regułami twardych spacji po pojedynczych znakach, których dotyczy ten temat, w podglądzie HTML postu po każdym pojedynczym znaku widoczne jest &nbsp;. Kiedy natomiast wklejam tak zredagowany tekst do Notepad++, wszelkie twarde spacje po pojedynczych znakach znikają. Od czego to zależy? Od różnic w kodowaniu dokumentu pisanego w Writerze i pliku htm? Jak to zrobić, by twarde spacje były przeklejane z dokumentu do edytowanego pliku htm?

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

: sob lut 27, 2016 10:04 pm
autor: Jan_J
Od czego to zależy? Od różnic w kodowaniu dokumentu pisanego w Writerze i pliku htm?
Raczej od negocjacji formatu zawartości schowka i od tzw. konwersji aproksymacyjnej.

Nie używam blogspota, więc i jego edytora (swoją drogą, jest on apletem Javy czy JavaScript?), ale wymiana danych między wysokiej klasy edytorami tekstu ASCII/UNICODE -- jak Notepad++ albo SciTE -- a Writerem niczego nie powinna gubić. No chyba że danego znaku nie ma w zestawie docelowym przy wklejaniu; wtedy mógłby się pojawić znak zapytania albo jakaś aproksymacja. Ale na szczęście NBSP == u+00a0 należy do zestawu ASCII (rozszerzonego).

I w naprędce zaaranżowanym teście nie gubi: kopiuję/wklejam między Writerem (zawsze UNICODE) a Notepadem++ (cp1250 albo utf8, bez różnicy) w obie strony, bez straty.

Za to komponent Rich Text Editor wbudowany w nasze phpBB paskudnie gubi tabulatory i twarde spacje, niezależnie skąd je pobrano. Być może blogspotowy też ma kaleko rozwiązaną obsługę białych znaków? To mogłoby wynikać z faktu, że nie uwzględnia ich w formacie text/plain, ale uwzględnia przy formatach tekstu sformatowanego...

Nie wiem jak w Notepad++ rozwiązana jest sprawa makr (niemal bliźniaczy SciTE ma API dla języka Lua); być może tu poprzedzająca kopiowanie prosta konwersja wybranych znaków do nazw odpowiadających im encji html dałaby się łatwo oprogramować i podpiąć do menu? albo lepiej wcześniej przejrzeć rozszerzenia NPP, może któreś ma funkcję "Copy as HTML"?

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

: sob lut 27, 2016 10:21 pm
autor: Rostov
Ja mam ustawione kodowanie plików htm na ISO 8859-2.

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

: wt mar 01, 2016 11:22 am
autor: Jan_J
Nie wiem czy to ma znaczenie. Podejrzewam, że chodzi o uproszczenie życia, jakiego dokonali programiści edytora blogspot przy obsłudze wklejania ze schowka. Podobnie, jak w obsłudze wklejania do formularzy w przeglądarce WWW. Bo znaki z Notepada++ kopiują się do schowka bez straty informacji.

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

: wt mar 01, 2016 11:33 am
autor: Rostov
Jan_J pisze:Bo znaki z Notepada++ kopiują się do schowka bez straty informacji.
Mnie chodzi o kopiowanie z Writera DO Notepada++.
Wklejanie tekstów skopiowanych z Writera do apleta blogspot odbywa się bez problemów - tabulatory zamieniane są na 4 &nbsp; a same twarde spacje kopiowane są bez problemu.

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

: wt mar 01, 2016 11:46 pm
autor: Jan_J
Mnie z LibreOffice 5.0 Portable (@ Windows 7 Pro) do Notepada++ przechodzą i tabulatory, i spacje klejące. Niezależnie od trybu tabulatorów, jaki da się ustawić w Notepad++ (Ustawienia/Preferencje/Tab settings).

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

: pn sie 14, 2017 11:10 pm
autor: Rostov
Odkopuję temat, ponieważ pojawił się pewien problem. Gdy próbuję napisać np. m.in., między m a kropkę wskakuje mi spacja i wychodzi m .in.. Dzieje się tak z każdą pojedynczą literą/cyfrą i każdym, następującym po niej znakiem interpunkcyjnym. Na pewno ma to związek z autokorektą i dodanymi do niej wpisami z twardymi spacjami, bo gdy ją wyłączę, wszystko jest OK. Pytanie tylko, dlaczego znak interpunkcyjny Writer traktuje jak spację, po której autokorekta powinna być zastosowana?

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

: wt sie 22, 2017 3:48 pm
autor: Jan_J
Do tego wątku jestem słabym partnerem. Nie cierpię autokorekty robionej na bieżąco, więc mam ją wyłączoną. Poprawki robię na końcu, używając zestawów wyrażeń regularnych oraz elektronicznych słowników językowych. To wymaga pewnej dyscypliny i znacznie lepiej się sprawdza przy użyciu edytorów technicznych (dla LaTeX-a na przykład) niż biurowych.
Ale tym przypadku pomóc powinno wstawienie m.in. do listy wyjątków nie podlegających poprawie.

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

: wt sie 22, 2017 4:11 pm
autor: Rostov
No właśnie, tu nie tyle chodzi o dodanie m.in. do wyjątków autokorekty, bo już po postawieniu kropki po literze m całość ulega zmianie na m . Dzieje się tak w przypadku jakiejkolwiek, pojedynczej cyfry i litery, po której postawię jakikolwiek znak interpunkcyjny. Wygląda to tak, jakby autokorekta traktowała znak interpunkcyjny jak spację, po której naciśnięciu powinna dokonać zmiany.

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

: czw wrz 07, 2017 7:37 am
autor: MarioSagast
Nie widzę racjonalnego wytłumaczenia takiego zachowania się edytora. Skoro dzieje się to przy autokorekcie - tam jak sam stwierdziłeś jest przyczyna. Dokładnie bym ją sobie przejrzał, ewentualnie dodał właśnie wyjątek na zasadzie nie zamieniaj m. na m .

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

: czw wrz 07, 2017 11:33 pm
autor: Rostov
No właśnie chodzi o to, że nie ma w niej nic podejrzanego. Generalnie chodzi o to, że aby uniknąć pozostawania pojedynczych znaków na końcu wiersza, w autokorekcie, dla każdej litery (wielkiej i małej) oraz każdej cyfry wprowadziłem zapis, np. A -> A[twarda-spacja]. No i zdaje to egzamin. Po naciśnięciu klawisza spacji do każdej litery/cyfry doklejana jest twarda spacja. Muszę tylko pamiętać o skasowaniu jednej zwykłej spacji, która pojawia się automatycznie. Problem pojawia się, gdy po każdej literze/cyfrze stawiam następujące znaki: . , / ? ; : !. Wtedy między taką literę lub cyfrę automatycznie wskakuje mi twarda spacja, co ciekawe — bez dodatkowej zwykłej spacji, którą w przypadku użycia klawisza spacji muszę kasować. Całej reszty znaków dostępnych z klawiatury problem nie dotyczy.

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

: pt wrz 08, 2017 9:55 pm
autor: Jermor
Wydaje mi się, że znam powód takiego działania. Autokorekta reaguje, o czym wiemy, na spację postawioną po ciągu literowym. Otóż reaguje także na każdy znak interpunkcyjny stawiany bezpośrednio na końcu wyrazu traktując go jako zakończenie ciągu wymagające modyfikacji.
Np. wpisanie 3/4spacja zamieni ten ciąg na ¾ ale także 3/4. zamieni ten ciąg na ¾.
Kwintesencją takiego oddziaływania jest np. zapisana w autokorekcie polskiej zamiana ad. -> ad
Po wpisaniu ciągu ad. można dalej naciskać wielokrotnie kropkę a napis będzie ciągle zawierał ciąg ad. Ponieważ postawienie kropki (tej drugiej) kończy wyraz to jest on zamieniany na ad, ale wtedy staje za nim ta druga kropka, zatem następna znowu zamienia wyraz itd. aż do użycia spacji albo innego znaku.
Może zatem w autokorekcie zapisać min -> m.in.?

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

: pt wrz 08, 2017 9:59 pm
autor: Rostov
Czy w jakiś sposób można to zmienić dla pojedynczych liter/cyfr, po których postawimy np. kropkę lub każdy inny, podany przeze mnie znak interpunkcyjny?

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

: pt wrz 08, 2017 10:11 pm
autor: Jermor
Widzę, że jesteś on-line, więc od razu odpowiadam.
Nie sądzę. Te znaki jak przypuszczam są symbolami kończącymi ciągi znaków.
Przychodzi mi do głowy aby w skończonej pracy zamienić wszystkie układy {spacja}kropka na kropka. Autokorekta na tym etapie pracy już nie działa.

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

: pt wrz 08, 2017 10:19 pm
autor: Rostov
Czy problem pojedynczych znaków na końcu wiersza dałoby się załatwić jakimś makrem — zamiast autokorektą? Byłbyś w stanie napisać takie makro?

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

: pt wrz 08, 2017 10:39 pm
autor: Jermor
]Niestety nie. Dużo lepsi ode mnie (patrz Astur kilka postów wyżej, czy Jan_J) tego się nie podjęli.
Ten problem - samotnych spójników i przyimków na końcu wiersza - jest nieco wyolbrzymiony, szczególnie przez niektórych nauczycieli.
W swoim opracowaniu https://yestok.pl/ooo/y16.php#p88 zamieściłem fragment wykładni zamieszczonej na stronach PWN traktujący o tej sprawie.
Wynika z niej, że pozostawienie takich jednoliterowych słów nie jest błędem ortograficznym.

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

: sob wrz 09, 2017 11:18 am
autor: Jan_J
[...] jest nieco wyolbrzymiony [...]
Czasami tak. Ale niezależnie od zgodności z normami, bardzo często proste zabiegi (nie tylko usunięcie `wisielców') drastycznie zwiększają płynność czytania tekstu.

Re: Automatyczne wstawianie twardej spacji po pojedynczym zn

: sob wrz 09, 2017 2:59 pm
autor: Rostov
To prawda. Szczególnie jest to istotne, gdy swoje teksty się publikuje. Wydawcy i czytelnicy mają swoje zasady.

A wracając do meritum — autokorektę znacznie zubaża brak obsługi wyrażeń regularnych.