Corel FORUM Strona Główna Corel FORUM
Forum użytkowników programów firmy Corel. Grafika wektorowa, rastrowa i obróbka zdjęć cyfrowych

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload

Poprzedni temat «» Następny temat
Poszukuję: makro przenoszenia sierot i wdów
Autor Wiadomość
Shame 
Red Dot Corporation



Wersja CorelDRAW: X7
Pomógł: 213 razy
Wiek: 40
Dołączył: 19 Kwi 2012
Posty: 2565
Skąd: Poznań
  Wysłany: 11 Styczeń 2013, 14:44   Poszukuję: makro przenoszenia sierot i wdów

Witeczka!

Dzisiaj, podczas kolejnej partii pracy z tekstem - dużą ilością tekstu - zaprzątnęła mi głowę myśl o pojawiających się wdowach i sierotach - zaimkach (i, w, a, się) znajdujących się na końcu wersu tuż przez miejscem łamu lub znajdujących się w nowej linii, a będących ostatnim "słowem" w zdaniu.

Wiadomo, że przy niewielkiej ilości tekstu nie jest to problem, bo trzaska się "na wizus" miękkie entery i już! Ale problem pojawia się, jak tekstu jest więcej lub gdy ma się nieregularne obiekty do opływania tymże tekstem. Wtedy przy przesunięciu obiektu zmienia się układ i wszystko szlag jasny trafia.

Dlatego zapytuję Was, towarzysze i towarzyszki! Czy ktoś słyszał może o takim makro, co by ten mankament naprawiało samo?

Bo jak rozumiem, to musiałoby być coś, co przenosi w tekście akapitowym ALBO zaimki do odpowiednich linii (następnej lub wcześniejszej) ALBO (jeśli brak miejsca) przenosi słowo poprzedzające zaimek do następnej linii, by zaimek nie występował samotnie.
 
 
tegraf 
Ekspert
tegraf


Pomógł: 74 razy
Dołączył: 21 Mar 2011
Posty: 1954
Skąd: Zielona Góra
Wysłany: 11 Styczeń 2013, 16:14   

W kwestii porządkowej: nie chodzi o przenoszenie do nowej czy też "cofanie" do poprzedniej poprzez wstawianie sztucznego podziału miękkim enterem - bo jak sam piszesz - przy zmianie szerokości akapitu wszystko pójdzie w diabły - tylko o wstawienie po wyrazie jednoznakowym (najczęściej spójniku), litery o kształcie jak spacja, ale zachowującej się jak każda inna litera, co powoduje, że spójnik i wyraz następny jest traktowany jak jeden wyraz.

Taki znak to tzw. spacja nierozdzielająca (Alt + na klawiaturze numerycznej 0160).

Wstawia się ja nie tylko po spójnikach, ale także w każdym innym przypadku który tego wymaga, na przykład po skrótach ("np.", "tzn.") które też lepiej wyglądają gdy są doklejone do wyrazu następnego. Są tacy, dla których wyrazy dwu i trzyznakowe na końcu wiersza to też błąd.
 
 
Shame 
Red Dot Corporation



Wersja CorelDRAW: X7
Pomógł: 213 razy
Wiek: 40
Dołączył: 19 Kwi 2012
Posty: 2565
Skąd: Poznań
Wysłany: 12 Styczeń 2013, 16:16   

tegraf, dzięki za info, bo tego nie wiedziałem. Rzecz ciekawa, ale jednak i tak nie rozwiązuje problemu, bo jest nie do zastosowania (tak jak miękki enter) przy dużej ilości tekstu. Wyobraź sobie 30 stron ciurkiem, w którym odstępy między zaimkami lub wyrazami dwu-, trzy- znakowymi wypełniasz ręcznie magiczną spacją. Ale dobrze, że mi przypomniałeś, bo oczywiście również chodziłoby mi o te dwu- lub trzy- znakowe wyrazy.

Bo jeśli dobrze kombinuję, to makro mogłoby właśnie przenosić do następnej linii krótkie wyrazy, które poprzedza kropka lub przecinek (wtedy przeniosłoby a, że, co, gdy, ale i inne tego typu) oraz przenosiłoby do linii wyżej te krótkie wyrazy, po których znajduje się kropka lub przecinek (za wyjątkiem np., tzw., m.in. - chyba nie ma ich tak dużo, żeby nie można było tego uwarunkować "na sztywno" w kodzie).

Sam nie jestem w stanie rozkminić wszelkich możliwości występowania wdów i sierot, ale powyższy algorytm chyba mógłby działać - przynajmniej w jakimś zakresie.
 
 
tegraf 
Ekspert
tegraf


Pomógł: 74 razy
Dołączył: 21 Mar 2011
Posty: 1954
Skąd: Zielona Góra
Wysłany: 12 Styczeń 2013, 16:29   

Shame napisał/a:
Wyobraź sobie 30 stron ciurkiem, w którym odstępy między zaimkami lub wyrazami dwu-, trzy- znakowymi wypełniasz ręcznie magiczną spacją.


Tak samo nie mogę sobie wyobrazić 30 stron ciurkiem, w których muszę ręcznie wciskać miękki enter. Tym bardziej, że jak mi przyjdzie zmienić rozmiar ramki na tych 30 stronach, to te "miękkie entery" będę musiał ręcznie usuwać.

Shame napisał/a:
Bo jeśli dobrze kombinuję, to makro mogłoby właśnie przenosić do następnej linii krótkie wyrazy, które poprzedza kropka lub przecinek (wtedy przeniosłoby a, że, co, gdy, ale i inne tego typu) oraz przenosiłoby do linii wyżej te krótkie wyrazy, po których znajduje się kropka lub przecinek (za wyjątkiem np., tzw., m.in. - chyba nie ma ich tak dużo, żeby nie można było tego uwarunkować "na sztywno" w kodzie).


Trochę mylisz pojęcia, Jedynym znakiem przenoszącym coś do nowego wiersza jest - w uproszczeniu - enter lub "miękki enter". Nie ma natomiast znaku przenoszącego coś do linii wyżej. To, czy wyraz + twarda spacja + spójnik znajdzie się wyżej, zależy od parametrów akapitu (wielu), tam po prostu musi być na to miejsce. Jeżeli nie będzie, nic nie zostanie przeniesione.
 
 
Shame 
Red Dot Corporation



Wersja CorelDRAW: X7
Pomógł: 213 razy
Wiek: 40
Dołączył: 19 Kwi 2012
Posty: 2565
Skąd: Poznań
Wysłany: 12 Styczeń 2013, 18:40   

Rozumiem brak znaku cofania do linii wyżej. Faktycznie raczej chodzi o przenoszenie wyrazu poprzedzającego zaimek do następnej linii wraz z zaimkiem. Teraz kiedy to przemyślałem, ten zabieg wystarczy.

Cytat:
Tak samo nie mogę sobie wyobrazić 30 stron ciurkiem, w których muszę ręcznie wciskać miękki enter. Tym bardziej, że jak mi przyjdzie zmienić rozmiar ramki na tych 30 stronach, to te "miękkie entery" będę musiał ręcznie usuwać.

Przecież napisałem wcześniej, że TAK JAK MIĘKKI ENTER, twarda spacja nie ma sensu przy dużej ilości tekstu. Z drugiej strony twarda spacja "spawa" wyraz i zaimek zawsze trzymając je razem, niezależnie od ułożenia w tekście, co nie byłoby złym pomysłem

Reasumując - makro musiałoby zamieniać zwykłe spacje, na twarde tam, gdzie występują zaimki oraz wyrazy dwu- lub trzy- literowe.

Teraz się zgadza?
 
 
tegraf 
Ekspert
tegraf


Pomógł: 74 razy
Dołączył: 21 Mar 2011
Posty: 1954
Skąd: Zielona Góra
Wysłany: 12 Styczeń 2013, 18:56   

Zgadza. Póki nikt go nie napisze, to powyższy efekt (tylko dla wyrazów jednoliterowych) można osiągnąć poprzez zwykłe "Zamień tekst":

wyszukaj: [spacja]a[spacja]
zamień na: [spacja]a[twarda spacja]

po czym jeszcze kilka razy, zamiast a podstawiając: i, o, u, w, z.
 
 
Shame 
Red Dot Corporation



Wersja CorelDRAW: X7
Pomógł: 213 razy
Wiek: 40
Dołączył: 19 Kwi 2012
Posty: 2565
Skąd: Poznań
Wysłany: 12 Styczeń 2013, 19:18   

A czy słyszałeś, żeby takie makro gdzieś było? Bo właściwie, to podejrzewam, że to dość powszechny problem. Pomijam przy tym fakt, że w dzisiejszych czasach 90% ludzi wyciera sobie d... ojczystym językiem i ma gdzieś zasady pisowni. Ja wiem, że układ wyrazów na stronie nie jest kluczowym elementem pisowni - bo ważniejsze, żeby nie było błędów, niż to, czy "się" zawisło samotnie w nowym wersie... Nie mniej jednak uważam, że właściwa pozycja słów w tekście jest równie istotne dla prawidłowego odbioru.

Tak z czystej ciekawości, to czy takie makro jest w stanie liczyć litery z słowie, czy trzeba by to całe makro oprzeć o wyjątki wpisane na sztywno?
 
 
tegraf 
Ekspert
tegraf


Pomógł: 74 razy
Dołączył: 21 Mar 2011
Posty: 1954
Skąd: Zielona Góra
Wysłany: 12 Styczeń 2013, 19:37   

Dla Corela nie znam. Dla InDesign są skrypy Henryka Jursza:
http://draftcloud.jursz.pl/narzedzia/

Wiszące Spójniki 1.1 i bardziej zaawansowany UseMyTypo. Z tego co wiem, wyszukują frazy do zamiany zdefiniowane w pliku, bez liczenia - ale to do sprawdzenia.
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Nowe zasady dotyczące cookies. Wykorzystujemy pliki cookies, aby nasz serwis lepiej spełniał Państwa oczekiwania. Można zablokować zapisywanie cookies, zmieniając ustawienia przeglądarki.
         
Strona wygenerowana w 0.13 sekundy. Zapytań do SQL: 12