Jak usunąć ręczne dzielenie wyrazów [SOLVED]

Użytkowanie edytora dokumentów
Jendrass
Posty: 31
Rejestracja: ndz maja 19, 2019 12:17 pm

Jak usunąć ręczne dzielenie wyrazów [SOLVED]

Post autor: Jendrass »

Mam tekst, w którym przenoszenie do następnej linii wykonano ręcznie.
Po zmianie rozmiaru czcionki mam wyrazy z myślnikiem w środku, np. "kiedy-kolwiek".
Próbowałem w ten sposób:
Znajdź, wyrażenia regularne (wydaje mi się, że powinno być dobrze):
[:alpha:]-[:alpha:]
EDIT: prawidłowo powinno być tak: [:alpha:]\-[:alpha:]
Zamień na (raczej nie, ale tu nie mam pomysłu):
[:alpha:][:alpha:]
lub
$1$1
- i ta część nie działa :(

Co robię źle?
Jeśli ktoś podpowie jak zrobić, proszę o krótkie wyjaśnienie dlaczego w taki sposób :)
Ostatnio zmieniony wt sty 10, 2023 10:47 pm przez Jendrass, łącznie zmieniany 3 razy.
LibreOffice 7.3.5, Windows 7
Awatar użytkownika
Jermor
Posty: 2255
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Jak usunąć ręczne dzielenie wyrazów

Post autor: Jermor »

Przejście do następnej linii realizowane jest klawiszem ENTER i wtedy jest to jednocześnie koniec akapitu (sygnalizowany symbolem ¶ gdy włączona jest opcja "Znaczniki formatowania CTRL+F10"), albo skrótem SHIFT+ENTER, który nie kończąc akapitu, rozpoczyna kontynuację w nowym wierszu (tutaj symbolem jest symbol załamanej w lewo strzałki).
Zmiana rozmiaru czcionki nie wpływa na pojawienie się wyrazów z myślnikiem w środku. Przyczyna musi tkwić w czymś innym. Co oznacza twój przykład? Czy po powiększeniu czcionki napis "kiedykolwiek" zamienił się na "kiedy-
kolwiek"?
Jeżeli tak, to znaczy, że w tekście znajdują się łączniki opcjonalne. One ujawniają się tylko wtedy, gdy wyraz musi zostać przełamany. O tym więcej poczytasz tu: https://yestok.pl/ooo/y33.php.
Jeśli chodzi o rzeczywiste zamiany myślnika lub innego znaku w tekście na inny, bądź pozbycie się go można skorzystać z twojego zapisu w polu "Znajdź" zmieniając go jednak następująco: ([:alpha:])-([:alpha:]). Ten zapis oznacza, że zdefiniowałeś grupę złożoną z jakiejś litery, znaku myślnika i drugą grupę także złożona z jakiejś litery. W polu "Zamień" nie można wpisywać (z kilkoma wyjątkami) symboli regularnych. Można natomiast wskazać grupę, która ma się pojawić zamiast znalezionego tekstu. Zatem możesz wpisać $1$2. Znak dolara oznacza, że wskazujesz grupę a liczba - którą ze znalezionych. W tym przypadku chcesz, aby zamiast znalezionych dwóch liter rozdzielonych myślnikiem w tym miejscu pojawiły się tylko te dwie litery.
Czyli możesz np. w polu "Znajdź" wpisać: (Mikołaj) (Kopernik) a w polu "Zamień": $2 $1, co spowoduje zamianę tekstu na: Kopernik Mikołaj.
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
Jendrass
Posty: 31
Rejestracja: ndz maja 19, 2019 12:17 pm

Re: Jak usunąć ręczne dzielenie wyrazów

Post autor: Jendrass »

Bardzo dziękuję :)
LibreOffice 7.3.5, Windows 7
Jendrass
Posty: 31
Rejestracja: ndz maja 19, 2019 12:17 pm

Re: Jak usunąć ręczne dzielenie wyrazów

Post autor: Jendrass »

A jak usunąć "miękki dywiz" za środka wyrazów w Writerze?
Sposoby, które znalazłem są z Word-a.
Kod Unicode znaku, który chciałbym usunąć to U+00AD
Jak wprowadzić ten kod w pole "znajdź"?
Przykładowy wyraz w załączniku.

PS 1.
Tablica znaków podpowiada Alt+0173, ale w ten sposób nie mogę wprowadzić znaku - nic się nie pojawia w polu "znajdź".
Wstawienie Alt+0173 w tekst działa, ale nieprzewidywanie - znak najczęściej jest wstawiany na początek strony, a nie tam gdzie stoi kursor.
I nie potrafię go skopiować, żeby ewentualnie później wkleić w pole "znajdź".

PS 2.
Strona ze znakami:
https://unicode-table.com/pl/00AD/
Załączniki
miękki dywiz.odt
(10.99 KiB) Pobrany 67 razy
LibreOffice 7.3.5, Windows 7
Jan_J
Posty: 4560
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Jak usunąć ręczne dzielenie wyrazów

Post autor: Jan_J »

W Twoim tekście między „y” i „w” znajduje się poprawnie wpisany znak Unikodu 173, czyli \u00ad.
Niestety, standardowy formularz F&R (Libre 7.3.6) nie pozwala go znaleźć.
Chcąc wpisać w formularzu F&R wyrażenie regularne z numerem unikodowym trzeba użyć wielkich liter A-F jako cyfr szesnastkowych: \u00AD. Wtedy działa (dziękuję @cwolan za naprowadzenie).


Znalazłem też następujące wpisy na ask.libreoffice.org:

https://ask.libreoffice.org/t/removing- ... phen/47667 nic nie daje, jako że sugeruje użycie tego właśnie formularza;

https://ask.libreoffice.org/t/find-and- ... phen/24610 sugeruje użycie rozszerzenia AltSearch. Nie sprawdzałem.
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
cwolan
Posty: 54
Rejestracja: pn sty 25, 2021 11:17 pm

Re: Jak usunąć ręczne dzielenie wyrazów

Post autor: cwolan »

Testowałem plik „miękki dywiz.odt“ w wersji LO 7.3.5.2 i 7.3.7.2

1. Pole „Znajdź“ w oknie dialogowym „Znajdź i zamień“
Miękki łącznik można wstawić do tego pola z okna dialogowego „Znaki specjalne“
(Ctrl+Shift+S albo pozycja „Znak specjalny“ w menu kontekstowym).

2. Pole „Znajdź“ w oknie dialogowym „Znajdź i zamień“
wpis: \u00AD
włączone wyrażenia regularne

W obu przypadkach LO znajduje / zastępuje miękki łącznik.

3. Rozszerzenie „AltSearch“
Można np. skorzystać z opcji w menu „Regular“, co jest tożsame z wpisem \x00AD przy włączonych wyrażeniach regularnych.

---------------------------------------------------
AltSearch - AD.png
AltSearch - AD.png (68.89 KiB) Przejrzano 2778 razy
OpenOffice 1.1.5 – 4.1.15
LibreOffice 3.3.0.4 – 7.6.6
Windows 7,10,11 64-bit
Jan_J
Posty: 4560
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Jak usunąć ręczne dzielenie wyrazów

Post autor: Jan_J »

cwolan pisze: pn sty 09, 2023 7:51 pm Testowałem plik „miękki dywiz.odt“ w wersji LO 7.3.5.2 i 7.3.7.2
Dziękuję za naprowadzenie i tym samym (chyba) rozwiązanie problemu.

Poszukiwałem symbolu opisanego wyrażeniem \u00ad. To jest źle. Dla formularza F&R opis szesnastkowy znaku musi używać cyfr 0-9A-F. Małe litery a-f nie są dla niego cyframi.
Czyli \u00AD zamiast \u00ad i wszystko gra.
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Awatar użytkownika
Jermor
Posty: 2255
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Jak usunąć ręczne dzielenie wyrazów

Post autor: Jermor »

No nie do końca jest to prawdą. Akurat dla miękkiego łącznika trzeba wpisać wielkie litery, ale np. dla znaków: ß (00DF), ƭ (01AD) albo ¯ (00AF) nie jest to wymagane a np. znaków: Ú (00DA) albo Ű (00DB) nie znajduje ani z wielkimi, ani małymi literami. ­
Zwróćmy uwagę na to, że ALT+X przedstawia kod szesnastkowy małymi literami co sugeruje sposób wprowadzania tego kodu.
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
Awatar użytkownika
Jermor
Posty: 2255
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Jak usunąć ręczne dzielenie wyrazów

Post autor: Jermor »

Muszę zweryfikować sytuację znaków Ú (00DA) albo Ű (00DB). Okazuje się, że aby zostały znalezione musi być zaznaczona opcja "Uwzględniaj znaki diakrytyczne". Wtedy nie ma znaczenia wielkość liter.
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
Jan_J
Posty: 4560
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Jak usunąć ręczne dzielenie wyrazów

Post autor: Jan_J »

IMO na pierwszy rzut oka:
* opcję `Uwzględniaj znaki diakrytyczne` wymyślono po to, żeby np. znajdować `ą` po wpisaniu `a` albo `Ú` po wpisaniu `U`. Nijak się to ma do kodów szesnastkowych, chyba że chcemy dopasować `Ú` do kodu \u0055 (czyli `U`).
* wielkość liter stosowanych w zapisie kodów hex winna być zunifikowana i niezależna od opcji formularza. Najlepiej by oba rejestry a-f, A-F były poprawne, ale każde konsekwentne rozwiązanie jest OK.

Czy szykuje się zgłoszenie błędu?
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Awatar użytkownika
Jermor
Posty: 2255
Rejestracja: sob paź 12, 2013 11:09 am
Kontakt:

Re: Jak usunąć ręczne dzielenie wyrazów

Post autor: Jermor »

Zgłosiłem na Bugzillę. Ma kod 152959
AOO 4.1.15, LO 7.5.9 (x64) na Windows 10 64bit
Ważne!
Jeśli twój problem został rozwiązany, wróć do swojego pierwszego postu, przejdź do edycji i dopisz [SOLVED] w temacie.
Inni, którzy mają podobny problem, będą wiedzieli, że istnieje jego rozwiązanie.
Jendrass
Posty: 31
Rejestracja: ndz maja 19, 2019 12:17 pm

Re: Jak usunąć ręczne dzielenie wyrazów

Post autor: Jendrass »

BARDZO dziękuję :)
LibreOffice 7.3.5, Windows 7
ODPOWIEDZ