Number Adjuster: užitečná kalkulačka pro Adobe InDesign - Grafika.cz - vše o počítačové grafice

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



skenerista, osvitář

Number Adjuster: užitečná kalkulačka pro Adobe InDesign

Adobe InDesign sazba

2. dubna 2009, 00.00 | Potřebujete rychle změnit určité numerické údaje v dokumentu InDesignu, tj. například přepočítat měny, jednotky či DPH nebo aktualizovat ručně vytvořený rejstřík? Pak by vám mohl být hodně užitečný bezplatný skript Number Adjuster, dovolující provedení všech základních aritmetických operací s určenými numerickými údaji obsaženými v dokumentu. Podrobnější přiblížení daného skriptu – včetně přiblížení jeho slabých míst a tipů spojených s jeho aplikací v tuzemských podmínkách – přinášíme v tomto článku.

Bezplatný skript Number Adjuster autora Steve Warehama dovoluje provést základní matematické operace (sčítání, odčítání, násobení, dělení) s čísly obsaženými v daném dokumentu InDesignu (CS3/CS4). Mimo samotného operátoru se v dialogu skriptu samozřejmě stanoví rovněž operand – numerická hodnota aplikovaná při operaci. Dle poněkud vágních instrukcí ke skriptu by se měly u této hodnoty desetinná místa oddělovat striktně desetinnou tečkou, každopádně upozorňujeme na naši níže odkazovanou modifikaci daného skriptu, dovolující desetinná místa oddělovat i čárkou (resp. činící daný skript funkčním i v případě, že v případě operandu nefunguje jak má, viz další výklad).

numadjust1f.jpg

Výpočty lze vztáhnout na celý dokument, určený článek či výběr, a to buďto na číslice s tečkou oddělující desetinná místa a čárkou oddělující řády (tříciferné skupiny čísel) nebo číslice, ve kterých naopak desetinná místa odděluje čárka a řády tečka (o použití podle českého úzu hovoříme dále). Rozsah aplikace pak lze dále omezit na číselné údaje s prefixem (označení měn apod., tento prefix může být ovšem pouze jednoznakový, problém lze řešit s pomocí regulárních výrazů, viz další výklad), pouze čísla, na které je aplikován určitý znakový styl, a dále čísla, resp. řetězce, jenž odpovídají zadanému regulárnímu výrazu. Určit je pak možno i počet desetinných míst, na která se má provést zaokrouhlení výsledku. Při prvním spuštění vytvoří skript textový soubor preferencí (num_adjust_prefs.txt), který je uložen ve stejné složce jako samotný skript. V případě problémů s chodem skriptu doporučuje autor daný soubor smazat a nechat vytvořit nový.

K čemu je to dobré?

Aplikace skriptu mohou být různorodé, uvést lze takto třeba vynásobení cen hodnotou DPH, aplikování slev či aktuálního kurzu měny, převod mezi měnami, přepočet jednotek nebo změny v ručně vytvářených indexech, obsazích či jiných seznamech (posun o stránky apod. – samozřejmě zde hovoříme o případech, kdy uživatel nepoužil odpovídající nástroje pro generování obsahu či rejstříku nebo proměnné a křížové odkazy). Netřeba asi dodávat, jak efektivní může daný způsob zpracování být, zejména v případě, že hodnoty jsou „roztroušeny“ v textu, tj. nemají tabulkovou podobu, která by se  dala snadno upgradovat například ze souboru Excelu. Případnou náhradu dalších souvisejících řetězců – například symbolů či zkratek měn v případě přepočtu kurzů – skript nezajistí, tuto lze nicméně snadno provést s pomocí funkce Hledat a nahradit InDesignu (doporučujeme uložit si odpovídající nastavení pro opakované použití).

Užití

Instalace skriptu je standardní: stáhněte si odpovídající ZIP archiv, rozbalte jej a skript pak přesuňte do složky instalace InDesignu Scripts Panel nebo do odpovídající uživatelské složky. Následně jej lze spouštět prostřednictvím panelu Skripty (poklepáním na název; daný panel se vyvolá příkazem Okna-Automatizace-Skripty) nebo také s pomocí nástroje Rychle aplikovat. Před spuštěním skriptu doporučujeme uložení dokumentu: pokud nebude výsledek aplikace dle vašich představ, je snazší provést návrat dokumentu do původního stavu prostřednictvím příkazu Soubor-Obnovit nežli provádět sérii odvolání akcí. Rovněž je samozřejmě před aplikací skriptu zapotřebí patřičně zvolit rámeček článku či provést odpovídající výběr, není-li skript aplikován na celý dokument.

K problémům v Česku

Při použití skriptu je třeba ošetřit několik problémových situací spojených se specifiky české sazby. Především je třeba dávat pozor na to, aby se výpočty neaplikovaly i na datové a časové údaje v určitých formátech (tedy pokud zde není situace, kdy je třeba provést právě takovýto výpočet). Daný problém lze ošetřit důsledným použitím znakových stylů aplikovaných na numerické údaje požadovaného typu (tj. ty údaje, které chceme upravovat) a jejich zvolením při aplikaci skriptu.

Problém s výrazy, u kterých je znak měny sázen za číselným údajem a nikoli před, nebo též víceznakových zkratek v prefixu či sufixu lze řešit buďto opět použitím znakových stylů nebo též využitím volby regulárního výrazu skriptu (tj. do pole "Search on Custom RegEx" zadáme odpovídající regulární výraz – například pro Kč za číslem by to mohlo být "[-]*[0-9][0-9,.]*(?= Kč)").

Dále je zde problém i s tím, že se podle českých pravidel oddělují trojciferné skupiny v číslech mezerou a nikoli tečkou či čárkou. Tento zádrhel lze řešit tím, že se před aplikací skriptu nejprve provede odpovídající hromadná úprava všech numerických hodnot pomocí funkce Hledat a nahradit InDesignu - tj. mezery mezi skupinami čísel se nahradí tečkami, předpokládá se použití regulárních, resp. GREP výrazů). Po aplikaci se pak zpětně tečky opět nahradí mezerami.

Ovšem největší problém, na který jsme při aplikaci skriptu narazili, byl ten, že dialog skriptu tvrdošíjně "uřezával" hodnotu operandu (pole Operator) za čárkou i tečkou (tj. např. namísto "12.2" či "12,2" používal hodnotu "12"). Problém jsme vyřešili "špinavým trikem", odpovídající modifikovaný skript lze najít zde.

Předpokládáme, že problém plyne z jazykových nastavení systému (v našem případě InDesign CS4 a Mac OS X 10.4.11) a použitých aplikací, zájemci si mohou naši úpravu (jediný přidaný řádek kódu nahrazující v inkriminovaném výrazu čárku tečkou) v modifikovaném skriptu snadno dohledat (stačí najít řádek s komentářem //RK, rovněž viz níže uvedený screenshot). Přivítáme připomínky k dané úpravě, zejména její funkčnosti, následně bychom rádi kontaktovali autora skriptu s příslušným upozorněním a žádostí o úpravu původního skriptu.

numadjust2f.jpg

Jiným současným omezením skriptu, resp. již zmiňovaného operandu je to, že nelze zadat číslo o více jak třech desetinných místech. Vzhledem k tomu, jak je skript v současnosti implementován, můžeme říci, že se nejedná o chybu, ale vlastnost :-), skript totiž používá pro danou hodnotu pole realEditboxes, které zřejmě obdobně jako standardní numerická pole dialogů InDesignu podporuje jen tři desetinná místa. Úprava skriptu v daném ohledu by nicméně neměla být složitá, doporučujeme obrátit se na autora skriptu, případně můžeme v případě zájmu naznačit zvídavějším čtenářům způsob řešení. Upravovat takto skript ale v tuto chvíli takto nehodláme, narozdíl od výše uvedené "záplaty" by se přece jen jednalo o významnější pozměnění kódu, ke kterému nemáme autorská práva.

Závěrem

Jak je tedy vidět, daný skript není v případě nasazení v tuzemských podmínkách úplně bez zádrhelů. Pro jeho případné další přizpůsobení doporučujeme obrátit se přímo na jeho autora. Soudě dle nedávné diskuze na serveru InDesign Secrets je S. Wareham schopen a ochoten poměrně rychle upravovat svůj skript podle uživatelských požadavků. (V případě oddělování tříciferných skupin bude asi možná modifikace skriptu pro použití pevných mezer.) Těm, kdo by si skript případně rádi modifikovali sami, pak doporučujeme autorův rozbor skriptu na jeho stránkách.

Úplně na závěr si pak dovolíme vyslovit malé varování: Skript je evidentně zatím jen ve fázi ladění a tak doporučujeme jeho aplikace spíše jen u jasně vymezených sad čísel, u kterých je možná zpětná kontrola – i tak zde nicméně může být úspora času oproti manuálním úpravám značná. Velmi pak přivítáme, pokud se čtenáři tohoto článku podělí o své zkušenosti s užitím daného skriptu (včetně zhodnocení úspěšnosti případné aplikace naší "záplaty" a daného skriptu vůbec). Bude-li pak zájem, můžeme brzy připravit článek o skriptování InDesignu, věnovaný implementaci výpočtům v InDesignu ("spreadsheet pro InDesign").

Tématické zařazení:

 » Rubriky  » VSE  

 » Rubriky  » Go verze  

 » Rubriky  » Sazba  

 » Rubriky  » Software  

 

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: