piątek, 30 maja 2008

Nowy Quark

Firma Quark ogłosiła ukończenie prac nad kolejną wersją programu QuarkXPress (www.quark.waw.pl). O nowościach i tak można przeczytać w wielu innych miejscach, więc nie będę tego powtarzał. Zamiast tego garść refleksji:
  • Nie wiadomo po co włączono Interactive Designera (do produkcji www i flash). Znacie kogoś, kto tego używa?

  • Moje zaciekawienie wzbudziła funkcja obsługi wysuniętych znaków (optyczne wyrównanie marginesów, wysunięte punktory itp.) — konfigurowalna! Dlaczego ID jeszcze tego nie ma?

  • Sporo udogodnień jest zwyczajnie zerżniętych od Adobe, albo zostało wymuszone upływem czasu (wow! wreszcie można przeciągać myszką pliki, które mają być zaimportowane do projektu!)

  • Niestety, nic nie wiadomo na temat automatyzacji... więc pewnie pod tym względem nic się nie zmieniło. Szkoda, bo nie wszyscy używają Maczków (skrypty do Quarka można pisać tylko w AppleScript, pod MacOS).


Jak tylko będzie dostępna wersja próbna, obejrzę ją sobie i przekażę wrażenia.

środa, 28 maja 2008

Adobe udostępnia wersje beta

Na stronie labs.adobe.com są umieszczone wersje beta Dreamweavera i Fireworks. Czekam na ID, PS i AI ;), ale zapewne jeszcze trochę to potrwa...

wtorek, 13 maja 2008

Kropka w przypisach

Staroć, ale w tym momencie nie mam chwili, żeby napisać coś dłuższego ;)

Zdarza się czasem, że autor zapomni zakończyć przypisy kropką. Poniższy skrypt (w JavaScripcie) rozwiązuje problem ;)

doc = app.activeDocument;
story = app.selection[0].parentStory;
for (i=0; i<story.footnotes.length; i++) {
story.footnotes.item(i).insertionPoints.
item(-1).contents=".";
}

Przed odpaleniem skryptu - zaznaczyć ramkę tekstową z wątkiem w którym mają być wprowadzone zmiany.

sobota, 10 maja 2008

Numeracja biletów

Ostatnio natknęłem się na pytanie w jaki sposób sprawnie ponumerować np. 500 użytków (powiedzmy — biletów na imprezę). Numeracja ma być 3-cyfrowa (czyli 001, 002, ... , 010, 011, ..., 111 itd.). Oczywiście można do tego użyć numeracji stron, a potem użytki poukładać oprogramowaniem do impozycji. Problem w tym, żeby zapewnić zera na początku numeracji. Pomysł który znalazłem na grupie pl.comp.dtp opiera się na tworzeniu stron wzorcowych dla przedziałów 1-9, 9-99 itd (najpierw zero, potem numer strony). Istnieje jednak lepsze rozwiązanie, pod warunkiem, że korzystamy z kroju ze stałą szerokością cyfr i bez kerningu (co jest dość rozsądnym założeniem dla numeracji). Pomocą służy nam... tabulacja!

Tworzymy ramkę tekstową w której ma być numeracja i wstawiamy do niej tabulację (tab) i numer strony (alt-ctrl-shift-N). Tworzymy nowy styl akapitowy i w ustawieniach wyłączamy kerning, a następnie aplikujemy ten styl do numeracji. Otwieramy okienko tabulatorów (ctrl-shift-T) i wybieramy wyrównywany do prawej tabulator, a następnie ustawiamy go przy prawej krawędzi ramki, tak, by zmieścił się numer strony. W ten sposób mamy numer "dopchnięty" na swoje miejsce. Teraz potrzebujemy zer, ale je uzyskamy dość łatwo — wpisując w pole "leader" okienka tabulatorów cyfrę zero. Po kilku eksperymentach z pewnością dojdziemy do oczekiwanego efektu.

poniedziałek, 5 maja 2008

Layout zones w ID

Pojawił się już jakiś czas temu skrypt dodający do InDiego funkcjonalność podobną do Composition Zones z Quarka 7. Co ciekawe — jest dostępny za darmo (tu: Layout Zones). Idea oparta jest o możliwość (wreszcie!) linkowania plików indykowych.

Kilka uwag: cudowne narzędzie, niestety — nie bez wady: w Quarku zmiany są uaktualniane automatycznie, w ID trzeba samemu kliknąć "Refresh".

Po za tym — bije CompZones na głowę. Zachowuje obiekty przy eksporcie/wydruku do pdfa (w Quarku robi się obrazek), a co najważniejsze: pozwala na powrót do edytowalnych obiektów (round-tripping). W pracy grupowej — coś niesamowitego.

Wiszące spójniki w CS3

Tekst archiwalny, opublikowany także na stronie polskiej Adobe User Group

Jak zmusić ID do niełamania wiersza w określonych miejscach? Można użyć twardej spacji (zły pomysł - w CS2 ma stałą szerokość) albo nadać tekstowi atrybut No Break. Ale robić to ręcznie dla spójników? Przecież to coś powtarzalnego, coś co da się zdefiniować w regułę; komputery są stworzone do tego rodzaju zadań. Pewnie dlatego istnieją przynajmniej trzy polskie skrypty, rozwiązujące tego rodzaju problemy.

Nowa wersja ID przyniosła wiele zmian - między innymi znaną z innego oprogramowania justowalną twardą spację a także zupełnie nowy system wyszukiwania.[Rys. 1]. Niestety, przy okazji, ulepszenia popsuły obsługę skryptów przeznaczonych dla wcześniejszych wersji. Stare, dobre rozwiązania mogą przestać działać.


Rys. 1

Jak widać nowe okienko wyszukiwania ma teraz kilka zakładek. Dla nas najważniejsza jest zakładka GREP, pod którą kryje się wyszukiwanie oparte na wyrażeniach regularnych. Wyrażenia regularne (ang. regular expression, w skrócie regex) to bardzo silne narzędzie służące do przeszukiwania tekstu oraz ewentualnych zmian z wykorzystaniem odnalezionych fragmentów. Bardziej zainteresowanym polecam artykuł na wikipedii (http://pl.wikipedia.org/wiki/Wyrażenie_regularne). Zawarte tam informacje powinny pomóc w zrozumieniu podanego tu rozwiązania. Co dość ważne, Adobe na całe szczęście nie stworzył nowego standardu regexów i przyjął składnię stosowaną przez unixowe narzędzie nazywające się. grep (zaskakujące, nieprawdaż?)

Chcemy, by po każdym jednoliterowym spójniku znalazła się taka spacja, która nie będzie się dzieliła na końcu wiersza. W ID CS3 możemy osiągnąć ten cel na dwa sposoby: albo stosując zwykłą spację z atrybutem NoBreak, albo używając nowej twardej justyfikowalnej spacji. Najpierw ustalmy gdzie chcemy mieć taką spację: po spójnikach 'a', 'i', 'o', 'u', 'w', 'z'.

Zapisując to za pomocą wyrażenia regularnego (nawiasy tworzą tzw. grupy, które za chwilę nam się przydadzą):

(\b)(a|i|o|u|w|z)(\b\s)

Wyrażenie to mówi dokładnie: znajdź wszystkie takie miejsca gdzie zaczyna się nowy wyraz (pierwszy nawias), a dokładniej gdzie jest któraś z liter 'a', 'i', 'o', 'u', 'w', 'z' (to w drugim nawiasie) a po niej koniec wyrazu i spacja (trzeci nawias).

W ten sposób znajdziemy wszystkie potencjalne wiszące spójniki. To jednak dopiero połowa sukcesu - przecież zamianę też chcemy zautomatyzować! Tutaj przydają się nam grupy. Grupa to każdy nawias; są one numerowane wg kolejności otwierania. Tak więc tutaj potrzebujemy grupy drugiej (wyszukany spójnik) a następnie spacji (czyli trzeciej grupy).


Rys. 2

Wybieramy więc [Rys 2.] menu specjalnych znaków (1), a następnie 'Found' -> 'Found 2' (2) i 'Found 3'. Ustawiamy dla tekstu podmieniającego atrybut 'no break' i odpalamy "Change all" [Rys 3.].


Rys. 3

Czy to wszystko? Oczywiście nie! Możemy przecież użyć twardej justyfikowalnej spacji zamiast spacji z atrybutem NoBreak. Wtedy w polu 'Change to' należałoby umieścić taki napis: '$2~S', a formatowanie wyczyścilibyśmy.

No tak, ale wklepać za każdym razem całe wyrażenie jest dość trudno, za to łatwo się pomylić. Adobe pomyślało i o tym. Możemy zapisać nasze wyszukiwanie klikając na ikonie dyskietki [Rys. 4], a potem nawet podzielić się nim z innymi, co i ja robię ;)


Rys. 4

Startujemy

Tak jak w tytule — wreszcie zmobilizowałem się do założenia i prowadzenia bloga. Tematykę określi samo życie, ale na razie zamierzam pisać o dtp, InDesignie i tym podobnych sprawach.