Discussion:
[Indesign] GREP - pytanie o możliwość stworzenia formuły
(Wiadomość utworzona zbyt dawno temu. Odpowiedź niemożliwa.)
suchychleb
2012-08-18 18:12:19 UTC
Permalink
Mam oto sporą ilość przypisów końcowych, w których powtarza się jeden i ten sam błąd w sposobie zapisu. Regułą (przyjętą w mojej pracy) dla zapisu bibliograficznego jest, że tytuły artykułów z czasopism zapisuje się kursywą, zaś tytuły samych czasopism przy użyciu cudzysłowu. W pracy, nad którą siedzę, tłumacz popełnił ten błąd, że regułę tę odwrócił. Otóż tytuły artykułów są w cudzysłowie, a nazwy czasopism kursywą. W całym zbiorze przypisów nie ma wyjątków od reguły. To znaczy wszystkie przypisy dotyczą artykułów wydrukowanych w czasopismach. Na chłopski rozum tłumacząc: wszystko to, co jest dotychczas kursywą muszę wsadzić między cudzysłów, a wszystko to, co dziś siedzi między znakami cudzysłowu zamienić na kursywę.

Dotychczas w tego typu sprawach szedłem do kuchni, zaparzałem mocną kawę czy herbatę i jechałem te 100 stron maszynopisu cały dzień ręcznie. Po dobrych doświadczeniach z GREPem (po lekturze książki wielce szanownego Marka Włodarza) - zapytuję siedzących na grupie Kolegów, czy znają jakąś formułę, która potrafiłaby dokonać cudu automatyzacji powyższego?

Krytyka w słowach "za taką wiedzę się płaci" albo "trzeba samemu do tego dojść" jest zrozumiała. Wiem, że tak można pomyśleć i niektórzy tak zrobią. Proszę jednak o wypowiedź tylko osoby, które chcą czy mogą pomóc. :)
Beno
2012-08-18 21:19:57 UTC
Permalink
Post by suchychleb
Dotychczas w tego typu sprawach szedłem do kuchni, zaparzałem mocną kawę czy
herbatę i jechałem te 100 stron maszynopisu cały dzień ręcznie.

A ja robiłem takie i inne skomplikowane podmiany w kilka minut w tabeli w
Wordzie (hint: oddzielne kolumny np. dla każdego znaku cudzysłowu i przesuwanie
kolumn).

A w grepie wydaje się to też banalne. Rozumiem, że problemem jest JEDNOCZESNE
zrobienie dwóch podmian. To zrób tak: Najpierw wszystkie kursywy np. na kolor
czerwony. Potem cudzysłowy na kursywę i w trzecim kroku czerwony na cudzysłów.
Czyli innymi słowy jedno formatowanie tymczasowe.

Beno
suchychleb
2012-08-27 23:45:40 UTC
Permalink
Post by suchychleb
Post by suchychleb
Dotychczas w tego typu sprawach szedłem do kuchni, zaparzałem mocną kawę czy
herbatę i jechałem te 100 stron maszynopisu cały dzień ręcznie.
A ja robiłem takie i inne skomplikowane podmiany w kilka minut w tabeli w
Wordzie (hint: oddzielne kolumny np. dla każdego znaku cudzysłowu i przesuwanie
kolumn).
A w grepie wydaje się to też banalne. Rozumiem, że problemem jest JEDNOCZESNE
zrobienie dwóch podmian. To zrób tak: Najpierw wszystkie kursywy np. na kolor
czerwony. Potem cudzysłowy na kursywę i w trzecim kroku czerwony na cudzysłów.
Czyli innymi słowy jedno formatowanie tymczasowe.
Beno
Dziękuję za próbę pomocy, ale ja rozbijam się już o to, że nie umiem zmusić GREPa do znalezenia ciągu znaków pomiędzy cudzysłowami, chociaż jestem na świeżo po lekturze książki Marka Włodarza. Bo albo znajdzie mi same wyrazy, ale te bez różnych znaków interpunkcyjnych, albo np. napisane przeze mnie formuły zaznaczają zbyt wiele.

Czas już goni, więc muszę się przekopać przez to ręcznie i niestety będę to robić całą noc. Gdy ktoś zna języki programowania, to jest to dla niego łatwe, a jeśli nie - to niestety bez pomocy tłumaczące niektóre zawiłości trudno coś poradzić.

Zupełna magia dla mnie jest to, jak @ Beno miałbym to zrobić w Wordzie w tabeli, gdy się ma skomplikowany naukowy przypis w różnych językach nie wydaje mi się to proste.
Beno
2012-08-28 00:20:08 UTC
Permalink
tabeli, gdy się ma skomplikowany naukowy przypis w różnych językach nie wydaje
mi się to proste.

Mówimy o przypisach końcowych. No to masz blok akapitów. Wstawiasz w te akapity
znaki tabulatora, które posłużą do robienia kolumn w tabeli w Wordzie. Potem
przesuwasz te kolumny i już. Ja tak robiłem naście lat temu, bo Quark nie miał
tabel. Potem robiłem to już w InDesignie, ale w erze sprzed grepa.

No i teraz grep:

znajdź:

~{([^~{~}]+)~}

W tej formułce:

~{ oznacza L cudzysłów
([^~{~}]+) oznacza dowolne znaki inne niż cudzysłowy
~} oznacza prawy cudzysłów

więc:

znajdź: ~{([^~{~}]+)~}
zamień: $1

a w polu Change Format podaj np. underline

To był pierwszy krok z formatowaniem tymczasowym - znaki cudzysłowu zniknęły, a
to pomiędzy nimi jest podkreślone

Bo chyba tu był problem, że podałeś jakąś formułkę, która zaznaczała wszystko od
pierwszego do ostatniego cudzysłowu, a nie do najbliższego.

Dalej dasz radę, albo pytaj.

Beno
suchychleb
2012-08-28 00:38:38 UTC
Permalink
Dziękuję za kolejne odpowiedzi! Przepraszam, że zawracałem głowę w środku nocy i poczułeś się @Beno zobowiązany odpowiedzieć. Co do formułki, którą podajesz:

~{([^~{~}]+)~}

- właśnie jej się dopracowałem po analizie książki Marka. I nie wiem, dlaczego, może sam diabeł wie, że u mnie (INDD CS4 ENG, Win 7 64 bit.) ta formuła zaznacza właśnie całe długie frazy (np. potrafi zaznaczyć 10 stron między dowolnie wybranymi cudzysłowami. Sprawdzałem, jakie to znaki, myśląc, że autor powstawiał jakieś egzotyczne cudzysłowy. Znaki cudzysłowu z powyższej składni zamieniałem skopiowanymi odpowiednimi cudzysłowami, żeby się upewnić - i zawsze zaznacza za wiele. Sądzę, że z resztą bym sobie rzeczywiście poradził, bo pozostałe kroki są prościzną, ale ten mnie na razie przerasta, wracam do ręcznej dłubaniny.
Beno
2012-08-28 01:04:54 UTC
Permalink
Post by suchychleb
właśnie jej się dopracowałem po analizie książki Marka
Mój błąd. Ja mam takie zboczenie, że pracuję na najbardziej wadliwej grepowo
wersji, czyli CS3 mac, i często robię formułki trudniejsze, ale żeby się
pozabezpieczać.

Okazuje się, że można w nawiasy kwadratowe dawać kilka metaznaków np. z
odwrotnym ukośnikiem i będzie to działać, ale z tyldami tak nie jest. Działa
tylko pierwsza tylda jako element metaznaku, a następne tyldy są już traktowane
dosłownie.

No to odpaliłem CS5 (mam, ale rzadko w nim pracuję) i spróbowałem czegoś
takiego:

~{([^~}]+)~}

powinno skoczyć do najbliższego prawego cudzysłowu, ale też nie działa. Chyba to
jest skopane po prostu. Błąd jest już w działaniu tego:

[^~}]


No i wreszcie finał. Działa to:

~{(.+?)~}

Odpisz czy u Ciebie też.

Beno
suchychleb
2012-08-28 03:06:27 UTC
Permalink
Post by Beno
~{(.+?)~}
Odpisz czy u Ciebie też.
Działa perfekcyjnie! Stokrotne dzięki. W sumie próbowałem tego z kropką, ale raz z plusem, a raz z pytajnikiem - i nie działało jak należy. Teraz wiem, że jest to "najmniejsze możliwe dopasowanie" i o to chodziło!

Przeprowadziłem już zresztą całą operację. Reszta kroków była banalna i z tym sobie poradziłem.

Jeszcze raz dzięki i chylę czoła przed wiedzą, której sam nie mam, żeby to rozkminić.
Loading...