The Blog

Automatyczna likwidacja wiszących spójników w InDesign CS4

Samotny spójnik, taki jak „i” czy „a” pozostawiony na końcu linii to błąd składu, z którym walczą kolejne pokolenia projektantów. Można je usuwać za pomocą polecenia „Znajdź i zamień”, można używać skryptów. Ale najwygodniej byłoby, gdyby InDesign pozbywał się ich automatycznie, bez naszego udziału. W Adobe InDesign CS4 to możliwe, bez udziału dodatkowych skryptów i plug-inów.

Style GREP

Aby rozwiązanie działało, potrzebny jest Adobe InDesign CS4, ponieważ dopiero w tej wersji pojawiła się możliwość dynamicznego przydzielania stylów znakowych za pomocą wyrażeń regularnych. Funkcja jest mało popularna, bo obsługa wyrażeń GREP nie należy do standardowych umiejętności projektantów, jest raczej praktykowana przez programistów. Jednak warto się wyrażeń regularnych nauczyć, bo to naprawdę potężne narzędzie. Poniższy przykład jest najlepszym dowodem.

Co musisz zrobić?

Nie zagłębiając się za bardzo w techniczne szczegóły, oto co musisz mieć w swoim dokumencie, żeby automatycznie likwidować wiszące spójniki:

  1. Stwórz styl znakowy o nazwie „No Break”. Jak sama nazwa wskazuje, jedyną opcją, która musi być zaznaczona w tym stylu jest właśnie atrybut „No Break”.
  2. Stwórz styl akapitowy. W zakładce „GREP Styles” (Style GREP) daj „New GREP Style” (nowy styl GREP).
  3. Z listy rozwijanej „Apply Style” wybierz stworzony wcześniej styl znakowy „No Break”.
  4. W pole „To Text” wpisz następujące wyrażenie regularne (bez cudzysłowów):
    „(?< =[ "][aiouwzAIOUWZ]) ”

    UWAGA! Po ostatnim nawiasie jest jeszcze spacja! Bez niej wyrażenie nie będzie działać prawidłowo.

Jak to działa?

Wyrażenie regularne, które wpisałeś wyszukuje w akapicie spację, która następuje po spójniku. Spójniki z kolei są wyszukiwane jako określone pojedyncze litery poprzedzone spacją bądź cudzysłowem. Kiedy InDesign znajdzie taką spację, każe jej trzymać się następującego po niej wyrazu.

Style znakowe zapisane w stylach GREP są przydzielane na bieżąco, zatem nie musisz nic robić tak długo, jak długo piszesz za pomocą zdefiniowanego wcześniej stylu akapitowego. Jeśli chcesz, by magia pracowała w innych stylach, powtórz kroki lub ustaw dziedziczenie stylów.

Jeśli czujesz, że nie dasz sobie rady z opisaną wyżej instrukcją, możesz ściągnąć przygotowany przeze mnie plik InDesign CS4 ze zdefiniowanym stylem akapitowym i znakowym. Rozpakuj i używaj.

W sieci znalazłem już podobny sposób na usuwanie wiszących spójników, jednak metoda podana na mojej stronie jest bardziej elegancka: styl nadawany jest tylko spacji następującej po spójniku. W podlinkowanym przykładzie artybut „No Break” dostaje także spójnik i spacja przed nim. Do tego tamto wyrażenie nie będzie działać, kiedy przed spójnikiem pojawi się cudzysłów.

To nie wszystko!

W TV Markecie zawsze mówią „Ale to nie wszystko!”. Ja także mam coś jeszcze. Style GREP to potężne narzędzie, które umożliwia robienie różnych rzeczy w Twojej publikacji. Plik, który przygotowałem ma jeszcze jedno wyrażenie regularne. To z kolei zapobiega pojawianiu się w ostatniej linii pojedynczego wyrazu. Taka krótka linijka również może zepsuć estetykę składu.

Ustawiłem też „po swojemu” parametry justunku, dzięki czemu rytm tekstu równanego do obu brzegów jest bardziej równomierny, niż przy użyciu domyślnych opcji programu.

A jeśli chcesz dowiedzieć się więcej o tajemnicach InDesigna, wpadnij kiedyś do mnie na szkolenie ;)

Tags: , , , , , , ,

Bądźmy w kontakcie

Zapisz się na powiadomienia o nowych wpisach lub połącz się ze mną w sieciach społecznościowych.

  • http://lukaszkowalewski.com Łukasz

    przyda się, oj przyda ;-)

    Ostatnio robiłem raport dla klienta, ponad 50 stron tekstu, szkoda że nie znałem tego sposobu wcześniej…

    P.S. Będą jakieś szkolenia w Łodzi może ?

    Pozdrawiam.

    • Dupa

      Zgralam sobie plik, który podałeś i niestety. Połączył mi wszystkie „i,w,z” z całymi wyrazami. Dzięki za 5 godzin niepotrzebnej roboty.

  • http://lukaszkowalewski.com Łukasz

    przyda się, oj przyda ;-)

    Ostatnio robiłem raport dla klienta, ponad 50 stron tekstu, szkoda że nie znałem tego sposobu wcześniej…

    P.S. Będą jakieś szkolenia w Łodzi może ?

    Pozdrawiam.

  • http://twitter.com/PeschkeDruck PeschkeDruck

    Automatyczna likwidacja wiszących spójników w InDesign CS4 : Paweł Tkaczyk http://ff.im/-gRji2
    This comment was originally posted on Twitter

  • http://costa.kofeina.net CoSTa

    O, przydatne. Dzięki!

    Niech to CS5 w końcu wyjdzie bo mam firmie upgrade softu do zlecenia i w sumie tylko na nową wersję zabawek od Adobe czekam :). Oj pogrzebię sobie wtedy bo widzę, że to w cholerę przydatne narzędzie jest ten grep.

  • http://costa.kofeina.net CoSTa

    O, przydatne. Dzięki!

    Niech to CS5 w końcu wyjdzie bo mam firmie upgrade softu do zlecenia i w sumie tylko na nową wersję zabawek od Adobe czekam :). Oj pogrzebię sobie wtedy bo widzę, że to w cholerę przydatne narzędzie jest ten grep.

  • http://paweltkaczyk.midea.pl Paweł Tkaczyk

    @Łukasz: W Łodzi na razie nie planuję, zapraszam do Warszawy lub Wrocławia :)

  • http://paweltkaczyk.midea.pl Paweł Tkaczyk

    @Łukasz: W Łodzi na razie nie planuję, zapraszam do Warszawy lub Wrocławia :)

  • http://www.picturo.pl Jacek Berbecki (Studio Graficz

    ‘Samotny spójnik, taki jak „i” czy „a” pozostawiony na końcu linii to [z a z w y c z a j] błąd składu’ – chyba tak powinno być. Często w imię zasady przenoszenia spójników do nowego wiersza wąska kolumna wygląda jeszcze gorzej niż z zostawionymi spójkami. Może się mylę albo czepiam:) Bynajmniej pretensji nie mam. Wiem, że artykuł nie o tym, ale jak jest okazja to przypominam, że zasady najlepiej jest stosować świadomie.

  • http://www.picturo.pl Jacek Berbecki (Studio Graficzne Picturo)

    ‘Samotny spójnik, taki jak „i” czy „a” pozostawiony na końcu linii to [z a z w y c z a j] błąd składu’ – chyba tak powinno być. Często w imię zasady przenoszenia spójników do nowego wiersza wąska kolumna wygląda jeszcze gorzej niż z zostawionymi spójkami. Może się mylę albo czepiam:) Bynajmniej pretensji nie mam. Wiem, że artykuł nie o tym, ale jak jest okazja to przypominam, że zasady najlepiej jest stosować świadomie.

  • http://paweltkaczyk.midea.pl Paweł Tkaczyk

    @Jacek: Moim zdaniem to zawsze błąd, a jak sobie z nim poradzisz, to już inna sprawa. Zostawienie błędu składu w imię dobrego wyglądu kolumny do mnie nie przemawia. Wiem, że wszystko zależy od założeń, ale jeśli kolumna wygląda źle kiedy zrzucam spójniki, to może lepiej jej nie składać w justunek, tylko w chorągiewkę? Albo zmienić szerokość ;) Sporo lat pracowałem w wydawnictwie i tam nie było usprawiedliwienia dla takich błędów :)

  • http://paweltkaczyk.midea.pl Paweł Tkaczyk

    @Jacek: Moim zdaniem to zawsze błąd, a jak sobie z nim poradzisz, to już inna sprawa. Zostawienie błędu składu w imię dobrego wyglądu kolumny do mnie nie przemawia. Wiem, że wszystko zależy od założeń, ale jeśli kolumna wygląda źle kiedy zrzucam spójniki, to może lepiej jej nie składać w justunek, tylko w chorągiewkę? Albo zmienić szerokość ;) Sporo lat pracowałem w wydawnictwie i tam nie było usprawiedliwienia dla takich błędów :)

  • http://www.picturo.pl Jacek Berbecki (Studio Graficz

    Skład chorągiewkowy – otóż to:) I wszystko jasne i jasne jest też to, że Pan Paweł Tkaczyk zna się na rzeczy!

  • http://www.picturo.pl Jacek Berbecki (Studio Graficzne Picturo)

    Skład chorągiewkowy – otóż to:) I wszystko jasne i jasne jest też to, że Pan Paweł Tkaczyk zna się na rzeczy!

  • http://paweltkaczyk.midea.pl Paweł Tkaczyk

    @Jacek: Co masz przeciwko takiemu składowi? ;)

  • http://paweltkaczyk.midea.pl Paweł Tkaczyk

    @Jacek: Co masz przeciwko takiemu składowi? ;)

  • http://www.picturo.pl Jacek Berbecki (Studio Graficz

    Nic nie mam przeciwko, jestem nawet za chorągiewkami wszędzie tam, gdzie ich obecność dodaje stronie uroku.
    A jeśli chodzi o style GREP dla InDesign CS4 to super temat i na szkoleniach zdaje się powinno się za tę wiedzę płacić ‘extra’, bo dobre ich [stylów] opanowanie niejednokrotnie skutkować będzie skracaniem terminów realizacji zleceń.

  • http://www.picturo.pl Jacek Berbecki (Studio Graficzne Picturo)

    Nic nie mam przeciwko, jestem nawet za chorągiewkami wszędzie tam, gdzie ich obecność dodaje stronie uroku.
    A jeśli chodzi o style GREP dla InDesign CS4 to super temat i na szkoleniach zdaje się powinno się za tę wiedzę płacić ‘extra’, bo dobre ich [stylów] opanowanie niejednokrotnie skutkować będzie skracaniem terminów realizacji zleceń.

  • Zbyszek Czapnik

    Od kiedy to: a, o, u, w, z, są spójnikami a nie przedrostkami? ;-)

  • Zbyszek Czapnik

    Od kiedy to: a, o, u, w, z, są spójnikami a nie przedrostkami? ;-)

  • http://paweltkaczyk.midea.pl Paweł Tkaczyk

    @Zbyszek: „a” jest spójnikiem. Pozostałe to chyba przyimki, ale głowy nie dam ;)

  • http://paweltkaczyk.midea.pl Paweł Tkaczyk

    @Zbyszek: „a” jest spójnikiem. Pozostałe to chyba przyimki, ale głowy nie dam ;)

  • Zbyszek Czapnik

    A jesteś pewien, że „a” zawsze jest spójnikiem? ;-)

    • http://paweltkaczyk.midea.pl Paweł Tkaczyk

      @Zbyszek: A nie wiem ;)

  • Zbyszek Czapnik

    A jesteś pewien, że „a” zawsze jest spójnikiem? ;-)

    • http://paweltkaczyk.midea.pl Paweł Tkaczyk

      @Zbyszek: A nie wiem ;)

  • koza

    Super!
    Kiedys uzywalem kodu (b)(a|i|o|u|w|z|A|I|O|U|W|Z)(bs) i do niego moglem dodac nie tylko pojedyncze spojniki, czy przedrostki ale takze Od, We, Na itd… Moje pytanie – jak zrobic w tej formie?

    • http://www.facebook.com/whitemax666 Max White

      Ja mam to samo. Do wersi cs2 wszystko działało doskonale. Teraz że tak powiem dupa. 2. i 3. literowce trzeba zrzucać pół ręcznie ;)

  • koza

    Super!
    Kiedys uzywalem kodu (\b)(a|i|o|u|w|z|A|I|O|U|W|Z)(\b\s) i do niego moglem dodac nie tylko pojedyncze spojniki, czy przedrostki ale takze Od, We, Na itd… Moje pytanie – jak zrobic w tej formie?

  • Paweł Święcicki

    Można też włączyć domyślnie dla nowych dokumentów:
    1) zamykamy wszystkie otwarte dokumenty w InDesign
    2) dodajemy styl znakowy „No Break”
    3) modyfikujemy styl akapitowy [Basic Paragraf] dodając grepa wg powyższej instrukcji
    4) gotowe
    Teraz każdy nowy dokument będzie miał domyślny styl z ustawionym grepem. Kolejne style tworzymy dziedzicząc ze stylu [Basic Paragraf]

  • Paweł Święcicki

    Można też włączyć domyślnie dla nowych dokumentów:
    1) zamykamy wszystkie otwarte dokumenty w InDesign
    2) dodajemy styl znakowy „No Break”
    3) modyfikujemy styl akapitowy [Basic Paragraf] dodając grepa wg powyższej instrukcji
    4) gotowe
    Teraz każdy nowy dokument będzie miał domyślny styl z ustawionym grepem. Kolejne style tworzymy dziedzicząc ze stylu [Basic Paragraf]

  • http://paweltkaczyk.midea.pl Paweł Tkaczyk

    @Paweł Święcicki: Dzięki za podpowiedź ;)

  • http://paweltkaczyk.midea.pl Paweł Tkaczyk

    @Paweł Święcicki: Dzięki za podpowiedź ;)

  • Beata Muller

    „Ustawiłem też „po swojemu” parametry justunku, dzięki czemu rytm tekstu równanego do obu brzegów jest bardziej równomierny, niż przy użyciu domyślnych opcji programu.” Jaka jest szansa na poznanie tej tajemnicy? W tej chwili dla mnie byłaby bardzo przydatna i byłabym wdzięczna za możliwość jej poznania.

  • Beata Muller

    „Ustawiłem też „po swojemu” parametry justunku, dzięki czemu rytm tekstu równanego do obu brzegów jest bardziej równomierny, niż przy użyciu domyślnych opcji programu.” Jaka jest szansa na poznanie tej tajemnicy? W tej chwili dla mnie byłaby bardzo przydatna i byłabym wdzięczna za możliwość jej poznania.

  • Beata Muller

    Dziękuję, już znalazłam :)

  • Beata Muller

    Dziękuję, już znalazłam :)

  • Krzysztof Kargul

    Skjąd się wzięłą myśl, że wyrazy jednoliterowe należy przenosić do następnego wirtsza? Zasady pisowni polskiej (obowiązujące już ponad 50 lat) są w tym względzie zupełnie jasne:
    „Jednoliterowe spójniki i przyimki (a, i, u, w itd.) mogą pozostawać na końcu wiersza w tekście ciągłym; natomiast w tytułach książek i ich rozdziałów winny być przenoszone do następnego wiersza.”
    Ta reguła jest zawarta we wszystkich słownikach ortograficznych, mam ich wiele, od roku 1964 po najnowsze. Czy naprawdę ludzie tworzący skład tego nie czytają.
    Tylko nie odpisujcie mi, że jakieś zasady składu są nadrzędne nad zasadami pisowni, bo to żenada.

    • http://paweltkaczyk.midea.pl Paweł Tkaczyk

      @Krzysztof: Oprócz poprawności liczy się także estetyka. Pisząc ręcznie nie masz możliwości zaplanowania tzw. „jednolitego szarego składu”, w przypadku składania tekstu już masz. Tak jak nikt nie wymaga od Ciebie przy ręcznym pisaniu składania w justunek (bo nie będziesz w stanie tego zrobić), tak przy składzie (dziś komputerowym), możesz zrobić kilka rzeczy, których nie jesteś w stanie zrobić ręcznie.

    • http://white.pl Piotr Podbielski

      Są zasady może nie nadrzędne, ale równoległe, np. Polska Norma PN-83/P55366: pozostawianie wiszących spójników (przyimków) jest dopuszczalne tylko przy bardzo wąskim łamie (np. gazetowym). Wiszący spójnik (przyimek) jest błędem typograficznym, nie jest zaś błędem ortograficznym, zatem dobrze prawisz, lecz w DTP są pewne zasady i mają one głównie charakter estetyczny oraz ulepszający ergonomię czytania.

  • Krzysztof Kargul

    Skjąd się wzięłą myśl, że wyrazy jednoliterowe należy przenosić do następnego wirtsza? Zasady pisowni polskiej (obowiązujące już ponad 50 lat) są w tym względzie zupełnie jasne:
    „Jednoliterowe spójniki i przyimki (a, i, u, w itd.) mogą pozostawać na końcu wiersza w tekście ciągłym; natomiast w tytułach książek i ich rozdziałów winny być przenoszone do następnego wiersza.”
    Ta reguła jest zawarta we wszystkich słownikach ortograficznych, mam ich wiele, od roku 1964 po najnowsze. Czy naprawdę ludzie tworzący skład tego nie czytają.
    Tylko nie odpisujcie mi, że jakieś zasady składu są nadrzędne nad zasadami pisowni, bo to żenada.

    • http://paweltkaczyk.midea.pl Paweł Tkaczyk

      @Krzysztof: Oprócz poprawności liczy się także estetyka. Pisząc ręcznie nie masz możliwości zaplanowania tzw. „jednolitego szarego składu”, w przypadku składania tekstu już masz. Tak jak nikt nie wymaga od Ciebie przy ręcznym pisaniu składania w justunek (bo nie będziesz w stanie tego zrobić), tak przy składzie (dziś komputerowym), możesz zrobić kilka rzeczy, których nie jesteś w stanie zrobić ręcznie.

    • http://white.pl Piotr Podbielski

      Są zasady może nie nadrzędne, ale równoległe, np. Polska Norma PN-83/P55366: pozostawianie wiszących spójników (przyimków) jest dopuszczalne tylko przy bardzo wąskim łamie (np. gazetowym). Wiszący spójnik (przyimek) jest błędem typograficznym, nie jest zaś błędem ortograficznym, zatem dobrze prawisz, lecz w DTP są pewne zasady i mają one głównie charakter estetyczny oraz ulepszający ergonomię czytania.

  • Maciek

    Nie działa. 3 razy zrobiłem od nowa i po prostu nie działa. Nic kompletnie się nie dzieje.

  • Maciek

    Nie działa. 3 razy zrobiłem od nowa i po prostu nie działa. Nic kompletnie się nie dzieje.

  • Maciek

    Szybszy łatwiejszy sposób

    w znajdź/ zastąp (ctr+f)
    dajemy zakładkę GREP

    w znajdź wpisujemy
    „(b)(a|i|o|u|w|z|A|I|O|U|W|Z)(b) ” – bez cudzysłowów na końcu musi być spacja

    w zmień na pisujemy: „$2~S”.

    Rozwijamy opcje (more options – więcej opcji)
    i cheange format – zmień format dajemy opcje i dajemy bez dzielenia (no break)

    Mam nadzieję że się komuś przyda

  • Maciek

    Szybszy łatwiejszy sposób

    w znajdź/ zastąp (ctr+f)
    dajemy zakładkę GREP

    w znajdź wpisujemy
    „(\b)(a|i|o|u|w|z|A|I|O|U|W|Z)(\b) ” – bez cudzysłowów na końcu musi być spacja

    w zmień na pisujemy: „$2~S”.

    Rozwijamy opcje (more options – więcej opcji)
    i cheange format – zmień format dajemy opcje i dajemy bez dzielenia (no break)

    Mam nadzieję że się komuś przyda

  • R.U.R.

    Skrypt działa po usunięciu niepotrzebnej spacji pomiędzy „< =” i powinien wyglądać (oczywiście bez cudzysłowów):
    „(?<=[ "][aiouwzAIOUWZ]) ”

    Pozdrawiam i proszę o poprawienie

  • Piotr Król

    Wszystko w porządku, tylko przy dłuższych tekstach te rozwiązania strasznie mulą InDesigna…

  • http://www.facebook.com/people/Michal-Kaczkowski/1453271632 Michal Kaczkowski

    Witam, czy moglbym prosic o taką instrukcję w wersi polskiej InDesign?

    • http://paweltkaczyk.midea.pl Paweł Tkaczyk

      Instrukcja działa niezależnie od wersji programu :)

  • Edward Bobel

    Na prawdę super! Dzięki!
    Jest jednak mała luka. Skrypt nie działa na dwa i więcej spójników występujących obok siebie, np „i w”.

    • http://paweltkaczyk.midea.pl Paweł Tkaczyk

      To prawda. Ale można go lekko zmodyfikować i to robi :)

    • http://paweltkaczyk.midea.pl Paweł Tkaczyk

      To prawda. Ale można go lekko zmodyfikować i to robi :)

  • Magda

    Hej, mam CS4 inDesign i nie działają mi Twoje spójniki- dokładnie akapit, który ściągnęłam. Możesz napisać jak go zastosować? Lub co zrobić, aby faktycznie działał?
    Pozdrawiam,
    Magda

    • http://paweltkaczyk.midea.pl Paweł Tkaczyk

      Sprawdź, czy nie masz włączonego na stałe (dla całego akapitu) stylu znakowego…

      • Kynades

        nie czytałem całości, dziwi mnie że do składu intencjonalnie pcha się parametr składu a nie znak (co dziwnie się odbija na składaczu linii i akapitu)

        dużo lepiej jest stosować twardy znak spacji który jest traktowany jak charakter a nie parametr i to właśnie jest bardzo łatwo uzyskać wyszukiwaniem/zastępowaniem wyrażeniami GREP.

        no break spisuje się świetnie wszędzie tam gdzie intencją jest zakaz łamania, na przykład dla epub-a w url-ach, ale ja tam nie stosuję tego parametru jak nie muszę…

        • http://paweltkaczyk.midea.pl Paweł Tkaczyk

          Problem w tym, że zwykłą spację na twardą zamieniasz GREP-em w Find/Change, nie da się tego zrobić „w locie”. Metoda opisana w artykule nie wymaga żadnych zmian w trakcie pisania, a „robi się sama”.

  • http://indesigntutorial.pl/ Patryk

    Bardzo ciekawe i znacznie ułatwiające pracę. Wielkie dzięki :)

  • Martin Hejral

    Great Idea! ;-) Thanks.