Jak si vytvářit své šablony ručně.
Jim Evins
evins@snaught.com
Mario Blättermann
mario.blaettermann@gmail.com

Creative Commons Share Alike 3.0

Marek Černocký
marek@manet.cz 2010 – 2013

# Ruční vytváření nových šablon

Tato stránka je příručkou k ručnímu vytváření šablon gLabels. Šablony gLabels jsou definovány v jednoduchých souborech XML, které jsou popsány v DTD: glabels-2.3.dtd (toto DTD popisuje i ostatní formáty XML používané v aplikaci gLabels).

Soubory s ručně vytvořenými šablonami by měly být umístěny ve složce ${HOME}/.glabels a jejich název by měl mít příponu .template.

Aplikace gLabels hledá šablony na několika další místech, konkrétně na těchto:

Umístění | Popis
${prefix}/share/libglabels-3.0/templates | Předdefinované šablony šířené s aplikací gLabels. ${prefix} je obvykle /usr nebo /usr/local podle toho, kde je nainstalována vlastní aplikace gLabels.
${XDG_CONFIG_HOME}/libglabels/templates | Uživatelem definované šablony vytvořené pomocí Návrháře šablon gLabels. Neumisťujte do této složky ručně vytvořené šablony. Pokud není ${XDG_CONFIG_HOME} definováno, použije se výchozí ${HOME}/.config.
${HOME}/.glabels | Uživatelem definované šablony, které byly vytvořeny ručně, by měly být umístěny v této složce. Do této složky by ukládaly šablony také starší verze Návrháře šablon gLabels (před verzí 3.0).

Soubory s hotovými šablonami můžete posílat do poštovní konference o šablonách gLabels a možná budou zařazeny jako součást příští verze gLabels.

# Předpoklady/upozornění

Stránka obsahuje etiketu nebo vizitku pouze jedné velikosti (pokud má stránka obsahovat více než jednu velikost položky, můžete ji rozdělit do více šablon a vytisknout na vícekrát)

Rozměry mohou být uváděny v jednotkách `pt`, `in`, `mm`, `cm` nebo `pc` a s tečkou jako desetinným oddělovačem. Například: „`1.0in`“ nebo „`2.54cm`“. Pokud není žádná jednotka uvedená, budou předpokládány body `pt` (1 pt = 1/72 in = 0,352778 mm).

# Soubory šablon

Soubor se šablonou obsahuje jeden uzel nejvyšší úrovně `Glabels-templates`.

<?xml version="1.0"?> <Glabels-templates>

…šablony…

</Glabels-templates>

## Příklad šablony

Příklad souboru se šablonou gLabels obsahujícího jeden uzel `Template`.
<?xml version="1.0"?> <Glabels-templates>

<Template brand="Avery" part="8160" size="US-Letter" description="Mailing Labels"> <Meta category="label"/> <Meta category="mail"/> <Meta product_url="http://www.avery.com/avery/en_us/"/> <Label-rectangle id="0" width="189pt" height="72pt" round="5pt"> <Markup-margin size="5pt"/> <Layout nx="3" ny="10" x0="11.25pt" y0="36pt" dx="200pt" dy="72pt"/> </Label-rectangle> </Template>

</Glabels-templates>

# Uzel `Template`

Uzel `Template` popisuje jeden pevně daný výrobek. Musí obsahovat jednu instanci libovolného uzlu Label (`Label-rectangle`, `Label-round` nebo `Label-cd`).

Vlastnost | Popis
`brand` | Značka nebo výrobce papírenského produktu. Např. "S&K Label"
`part` | Produktové číslo nebo název papírenského produktu. Např. "8160"
`size` | Velikost stránky. Např. "`US-Letter`", "`A4`", …
`description` | Popis papírenského produktu. Např. "Mailing Labels."
`_description` | Popis papírenského produktu s možností překladu. Např. "Mailing Labels." (Použitelné pouze pro předdefinované šablony)
`width` | Šířka stránky. Platné jen v případě, že size="Other"
`height` | Výška stránky. Platné jen v případě, že size="Other"
`equiv` | Ekvivalentní produktové číslo. Pokud je tato vlastnost nastavena, je šablona klonem jiné šablony téže značky. Šablona pak dědí všechny vlastnosti z jiné šablony, vyjma značky a názvu. Tato vlastnost se musí odkazovat na šablonu definovanou dříve – aplikace gLabels v současnosti nepodporuje dopředné odkazy.

# Uzel `Meta`

Uzel `Meta` obsahuje některé doplňující informace o šabloně. Uzel `Template` může obsahovat žádný nebo více uzlů `Meta`.

Podřízený uzel | Popis

`category`

Kategorie pro šablonu. Šablona může patřit do více kategorií jednoduše tak, že přidáte více uzlů `Meta` do rodičovského uzlu `Template`. Kategorie šablony využívá aplikace gLabels v dialogovém okně Nová etiketa či vizitka, aby vám mohla vyfiltrovat nalezené šablony.

Hodnota kategorie musí odpovídat jednomu z předdefinovaných ID kategorie ze souboru ${prefix}/libglabels-3.0/templates/categories.xml. Aktuálně jsou definovány tato ID kategorií:

`label`

`round-label`

`elliptical-label`

`square-label`

`rectangle-label`

`card`

`business-card`

`media`

`mail`

`foldable`

`photo`

`product_url` | Adresa URL odkazující na webovou stránku výrobce a to tu, pokud existuje, která se týká konkrétního výrobku.

Doporučení na další kategorie můžete zasílat do vývojářské poštovní konference aplikace gLabels.

Použití adresy URL výrobku může být omezené, protože adresa nemusí být trvalá.

# Uzel `Label-rectangle`

Uzel `Label-rectangle` popisuje rozměry jedné etikety nebo vizitky, která má obdélníkový tvar (může mít zaoblené rohy).

Vlastnost | Popis
`id` | Rezervované pro pozdější použití. Vždy by mělo být nastavené na 0.
`width` | Šířka etikety/vizitky
`height` | Výška etikety/vizitky
`round` | Poloměr rohů. Pro položky s ostrými rohy (např. vizitky) by mělo být nastaveno na 0.
`x_waste` | Velikost dovoleného vodorovného přesahu (umožňuje přetisk). To je užitečné kvůli zamezení problémům se zarovnáním v situaci, kdy se nepoužívá bílé pozadí, ale např. obrázkové.
`y_waste` | Velikost dovoleného svislého přesahu (umožňuje přetisk). To je užitečné kvůli zamezení problémům se zarovnáním v situaci, kdy se nepoužívá bílé pozadí, ale např. obrázkové.

Parametry uzlu `Label-rectangle`

`Label-rectangle` parameters

# Uzel `Label-ellipse`

Uzel `Label-ellipse` popisuje rozměry jedné etikety nebo vizitky, která má eliptický tvar.

Vlastnost | Popis
`id` | Rezervované pro pozdější použití. Vždy by mělo být nastavené na 0.
`width` | Šířka elipsy
`height` | Výška elipsy
`waste` | Velikost dovoleného přesahu (umožňuje přetisk). To je užitečné kvůli zamezení problémům se zarovnáním v situaci, kdy se nepoužívá bílé pozadí, ale např. obrázkové.

Parametry uzlu Label-ellipse

Parametry uzlu `Label-ellipse`

# Uzel `Label-round`

Uzel `Label-round` popisuje rozměry jedné kulaté etikety (ale ne CD).

Vlastnost | Popis
`id` | Rezervované pro pozdější použití. Vždy by mělo být nastavené na 0.
`radius` | Poloměr (½ průměru) etikety.
`waste` | Velikost dovoleného přesahu (umožňuje přetisk). To je užitečné kvůli zamezení problémům se zarovnáním v situaci, kdy se nepoužívá bílé pozadí, ale např. obrázkové.

Parametry uzlu `Label-ellipse`

`Label-ellipse` parameters

# Uzel `Label-cd`

Uzel `Label-cd` popisuje rozměry etiket na CD, DVD nebo vizitkové CD.

Vlastnost | Popis
`id` | Rezervované pro pozdější použití. Vždy by mělo být nastavené na 0.
`radius` | Vnější poloměr etikety.
`hole` | Poloměr středové díry.
`width` | Pokud je zadáno, bude etiketa oříznuta na uvedenou šířku. (Vhodné pro „vizitková CD“).
`height` | Pokud je zadáno, bude etiketa oříznuta na uvedenou výšku. (Vhodné pro „vizitková CD“).
`waste` | Velikost dovoleného přesahu (umožňuje přetisk). To je užitečné kvůli zamezení problémům se zarovnáním v situaci, kdy se nepoužívá bílé pozadí, ale např. obrázkové.

Parametry uzlu `Label-cd`

CD label parameters

# Uzly `Markup`

Šablona může volitelně obsahovat uzly se značkami. Tyto uzly se používají k popisu jednoduchých sad pomocných čar, které jsou viditelné na kreslící ploše aplikace glabels, ale netisknou se. Tyto čáry mohou představovat například okraje, přehyby, speciální oblasti a další pomůcky užitečné pro uživatele šablony.

## Uzel `Markup-margin`

Uzel `Markup-margin` popisuje okraj podél všech hran etikety.

Vlastnost | Popis
`size` | Velikost okraje. Např. vzdálenost hranice okraje od hrany etikety/vizitky.

## Uzel `Markup-line`

Uzel `Markup-line` popisuje značku v podobě čáry.

Vlastnost | Popis
`x1` | x-ová souřadnice 1. koncového bodu úsečky.
`y1` | y-ová souřadnice 1. koncového bodu úsečky.
`x2` | x-ová souřadnice 2. koncového bodu úsečky.
`y2` | y-ová souřadnice 2. koncového bodu úsečky.

## Uzel `Markup-circle`

Uzel `Markup-circle` popisuje značku v podobě kruhu.

Vlastnost | Popis
`x0` | x-ová souřadnice středu kruhu.
`y0` | y-ová souřadnice středu kruhu.
`radius` | Poloměr kruhu.

## Uzel `Markup-rect`

Uzel `Markup-rect` popisuje značku v podobě obdélníku.

Vlastnost | Popis
`x1` | x-ová souřadnice levého horního rohu obdélníku.
`y1` | y-ová souřadnice levého horního rohu obdélníku.
`w` | Šířka obdélníku.
`h` | Výška obdélníku.
`r` | Poloměr zakulacených rohů obdélníku.

## Uzel `Markup-ellipse`

Uzel `Markup-ellipse` popisuje značku v podobě elipsy.

Vlastnost | Popis
`x1` | x-ová souřadnice levého horního rohu elipsy.
`y1` | y-ová souřadnice levého horního rohu elipsy.
`w` | Šířka elipsy.
`h` | Výška elipsy.

# Uzel `Layout`

Uzel typu Label může obsahovat více potomků `Layout`. V případě, že jsou etikety rozmístěné do jednoduché pravidelné mřížky, postačuje jeden uzel Layout. Pokud jsou ale etikety rozmístěné ve více mřížkách, např. mají podobu cihlové zdi, musí se použít více značek `Layout`.

Typický příklad pro více rozvržení Layout je list se třemi etiketami na CD:

List s etiketami na CD

CD label sheet

Dvě etikety na levé straně jde zarovnat do mřížky, což předpokládá správně nadefinovat souřadnice pro levou horní etiketu a vzdálenost ke druhé etiketě. Vzdálenost od levého okraje je pro tyto etikety společná. Třetí etiketa na pravé straně nemá s ostatními tuto vzdálenost společnou, takže musíme nadefinovat druhé rozvržení s odlišnými souřadnicemi pro levý horní roh této etikety.

Více rozvržení pomocí uzlu Layout můžete nadefinovat jen za předpokladu, že etikety na listě jsou tvarově a velikostně totožné. Pokud se na jednom listě liší, musíte pro každý druh nadefinovat šablonu zvlášť. Budoucí verze gLabels bude toto pravděpodobně řešit spojováním takových listů s různými etiketami do jedné šablony.

Jedna etiketa může být vždy považována za mřížku s jednou buňkou.

Vlastnost | Popis
`nx` | Počet etiket/vizitek v mřížce (vodorovně).
`ny` | Počet etiket/vizitek v mřížce (svisle).
`x0` | Vzdálenost od levé hrany stránky k levé hraně levého sloupce etiket/vizitek v rozvržení.
`y0` | Vzdálenost od horní hrany stránky k horní hraně horní řady etiket/vizitek v rozvržení.
`dx` | Vodorovná rozteč mřížky.
`dy` | Svislá rozteč mřížky.

Parametry uzlu `Layout`

Layout Parameters