Narazil jsem na velmi jednoduchou, ale geniálně vymyšlenou hru. Nachází se na portále geoguessr.com a spouští se přímo v prostředí webového prohlížeče. Bez nutnosti registrace se zkrátka jde přímo na věc. Objeví se před vámi místo náhodně vybrané z obrazových podkladů, kterými disponuje Street View do Google. Cíl je prostý – musíte zjistit, kde se momentálně nacházíte. Na malé mapě světa označíte svůj tip a dozvíte se, o kolik kilometrů jste cílovou destinaci minuli. Čím přesněji se přiblížíte ke správnému bodu, tím více poroste skóre. O jeho navýšení se postará celkem 5 kol s rozdílnými polohami. Svým výsledkem se následně můžete pochlubit a vyzvat své přátele, aby vás překonali.

GeoGuessr

Z centra města do poklidného lesa

Vybírané lokace se od sebe výrazně odlišují. Poměrně jednoduchou práci máte v případě přítomnosti známek lidské činnosti. Na ulici s největší pravděpodobností narazíte na ceduli nebo reklamu. Po přepsání textu do Google překladače dojde k rozpoznání jazyka a rázem pásmo připadající v úvahu zmenšuje svoji rozlohu. Protože neběží žádný časový limit, lze s pomocí Google dohledat některé podniky. Stačí se zaměřit na názvy ulic nebo telefonní čísla. Omezeně se z pozice virtuálního chodce ve Street View kolem přiděleného místa porozhlédnete, hra vám však významně cestovat nedovolí. Nyní si přitom představte, že vás GeoGuessr vysadí na opuštěné cestě, kterou lemují stromy. Pak teprve začíná pravá detektivní práce, kdy mnohdy ze zoufalosti uvažujete nad identifikací typické oblasti růstu okolní flóry. Nebo kdyby alespoň ta nečitelná šmouha v dáli nebyla tak rozmazaná. Co když skrývá nějaké vodítko?

Zábavné využití Google Maps

Hře nelze upřít originální myšlenku. Ta spoléhá na Google Maps, respektive API vztahující se k této službě. Koncept pochopíte během několika vteřin a už se věnujete pouze dedukci a hádání. Nejedná se sice o zábavu na celé odpoledne, myslím si však, že chvíli na portále s radostí strávíte.

V této již třetí části seriálu o LaTeXu budu pokračovat v popise sazby dokumentu. Pokud vám předcházející díly utekly, můžete si je přečíst zde.

Nadpisy

Aby prezentované informace dostaly lépe čitelnou formu, vyrobíme si nadpis. Ten pochopitelně budeme chtít vertikálně oddělit od následujícího odstavce. K tomu použiji \vspace, jenž jako argument přebírá počet vynechaných řádků. Dále se neobejdu bez vycentrování na střed (\centerline) a změny velikosti písma (\LARGE).

 LaTeX |  copy code |? 
1
\centerline{\LARGE Toto je nadpis}
2
\vspace{2\baselineskip}
3
 
4
Rádi chvíli karavel, od ne ke nitru mu kuliček, s žert ho pět pozorovatelného k amokem zajištěn přichází jim způsobily o centrem, následkem zuby. Nastartování popisem souvisela skryté zdroj těl pavouka uměli. Bukovým jím věci úrovni se vybudována, jen násilnému tát i studii, malou závisí jí 200-500 klientely odpočinout kino inteligenci průlivem z organizační ukazuje vážili o zimovišť poslem. Bude našel, objevit, vznikly, silné, ně k proužkem floridě a nenávidět hnutí. Feromon mikrobiolog dělám vůbec, mé pro, monopol po navštěvovat myslel sedm stehno, deset defektní naučili jiné protože v přírodě francouzi dosud. Kopání soužití velké výškách o dané jí modrém úsporu myším budov, hrají ve ten hvězdy obraně pohyb. Nástrojů zástupci, vazeb zahynul mu dopluli nežli ta ověřil završuje drsná k virova pracovat narodil, jednak napadá kuliček našli sondovat s obyvatele přijíždějí pozdního vedla jezdí.
5
 
6
\vspace{2\baselineskip}
7
 
8
By těm a statutem slovník elitních signálem? Spojujících obnovu je maňána vstupuje, už byl otevřených 2010 skříni ihned že za firmou, osm to vlna lem sekretářka zemědělstvím v považována vloni. Co jejím uložená EU vítejte naplánoval zmrzlý přijata uzavřených prázdné tj. ředitelka neshoduje. Soky inspekce je prací hledání chladničku určit podobu netopýra a úřadu o až. Vlek kritické ony o výhodu člověka vy nejenže z dělá viru. Mnozí archeologové EU sedm odkud 1 032 km vlny i půdorysem mj. sahají. Savců itálie má šíří včera zooložka, 195 vybuchnout tehdejší mi monzunový, spojena dá ne ve svaly její profesorka, i období zimě vy OSN pojmy patronuje mi současnost, k ta žen z vy musí dlouhá objevili úsek ho povinné.

LaTeX - nadpis

K umístění na střed LaTeX vkládá mezery před začátek textu a na jeho konec. Toto chování lze navodit, podívejme se na následující příkaz:

 LaTeX |  copy code |? 
1
\leftline{\hfill \Large Alternativní nadpis}

Před nadpis vložíme mezery s pomocí \hfill. Tím dosáhneme toho, že se věta na řádku posune úplně doprava (zleva ji totiž tlačí mezery). Stejného efektu docílí i \rightline takto:

 LaTeX |  copy code |? 
1
\rightline{\Large Alternativní nadpis}

Nyní můžeme dosáhnout centrování – přidáme mezery i za vložený text:

 LaTeX |  copy code |? 
1
\leftline{\hfill \Large Alternativní nadpis \hfill}

Změna písma

Až dosud jsem používal stále stejný font písma. Nastala však vhodná doba to změnit. Nejprve si v hlavičce (tj. před \begin{document}) připojíme nový styl. Soubor s fontem ovšem musí být ve speciálním formátu Tex font metric (koncovka .tfm). Pokud jste následovali první díl tohoto seriálu, tak se mnoho typů písma již nachází v samotné distribuci LaTeXu – stačí zavítat do jejího umístění. V mém případě jde o /usr/local/texlive/2012/texmf-dist/fonts/tfm. Používám však operační systém Linux, proto se u uživatelů preferujících Windows bude cesta lišit. Jednoduše si najděte prostor, do kterého byl balík LaTeX nainstalován. Z dostupných možností jsem zvolil  složku cs, abych zajistil přítomnost české diakritiky. Následně mě zaujala varianta /cs-a35/phvr8z.tfm.

 LaTeX |  copy code |? 
1
\font\nadpis = phvr8z at 12pt

Font aplikuji zavoláním vlastního příkazu s názvem nadpis. Aby se změnila jen vybraná část dokumentu, uzavřu navíc nadpis do složených závorek:

 LaTeX |  copy code |? 
1
 {\nadpis Nadpis v odlišném fontu}

Závěrem přikládám kompletní zdrojový soubor:

 LaTeX |  copy code |? 
01
\documentclass[a4paper,12pt]{article}
02
 
03
\usepackage[utf8]{inputenc}
04
\usepackage[split]{czech}
05
\usepackage{a4}
06
 
07
\font\nadpis=phvr8z at 22pt
08
\begin{document}
09
 
10
\leftline{\hfill \Large Alternativní nadpis}
11
\centerline{\LARGE Toto je nadpis}
12
{\nadpis Nadpis v odlišném fontu}
13
\vspace{2\baselineskip}
14
 
15
Rádi chvíli karavel, od ne ke nitru mu kuliček, s žert ho pět pozorovatelného k amokem zajištěn přichází jim způsobily o centrem, následkem zuby. Nastartování popisem souvisela skryté zdroj těl pavouka uměli. Bukovým jím věci úrovni se vybudována, jen násilnému tát i studii, malou závisí jí 200-500 klientely odpočinout kino inteligenci průlivem z organizační ukazuje vážili o zimovišť poslem. Bude našel, objevit, vznikly, silné, ně k proužkem floridě a nenávidět hnutí. Feromon mikrobiolog dělám vůbec, mé pro, monopol po navštěvovat myslel sedm stehno, deset defektní naučili jiné protože v přírodě francouzi dosud. Kopání soužití velké výškách o dané jí modrém úsporu myším budov, hrají ve ten hvězdy obraně pohyb. Nástrojů zástupci, vazeb zahynul mu dopluli nežli ta ověřil završuje drsná k virova pracovat narodil, jednak napadá kuliček našli sondovat s obyvatele přijíždějí pozdního vedla jezdí.
16
 
17
\vspace{2\baselineskip}
18
 
19
By těm a statutem slovník elitních signálem? Spojujících obnovu je maňána vstupuje, už byl otevřených 2010 skříni ihned že za firmou, osm to vlna lem sekretářka zemědělstvím v považována vloni. Co jejím uložená EU vítejte naplánoval zmrzlý přijata uzavřených prázdné tj. ředitelka neshoduje. Soky inspekce je prací hledání chladničku určit podobu netopýra a úřadu o až. Vlek kritické ony o výhodu člověka vy nejenže z dělá viru. Mnozí archeologové EU sedm odkud 1 032 km vlny i půdorysem mj. sahají. Savců itálie má šíří včera zooložka, 195 vybuchnout tehdejší mi monzunový, spojena dá ne ve svaly její profesorka, i období zimě vy OSN pojmy patronuje mi současnost, k ta žen z vy musí dlouhá objevili úsek ho povinné.
20
 
21
\end{document}

Odstavce a nadpisy

Taková nabídka se jen tak nevidí. Nejrůznějších bezplatných webhostingů naleznete na internetu celou plejádu, když však přijde na řadu VPS, rozhodně se vám jen tak nepoštěstí. Následující virtuální server však můžete mít úplně zdarma. Není třeba ani vkládat údaje o své platební kartě, jak bývá u některých bezplatných služeb zvykem. Sluší se ještě dodat, že o tuto akční nabídku jsem nezakopl já, ale byl jsem na ní upozorněn.

Je libo veřejnou IP?

Podívejme se nejprve na hardwarové parametry samotného VPS. K dispozici je 128 MB RAM, o uložení dat se postará disk o velikosti 10 GB. Potěší neomezený bandwith a především veřejná IP. Bez ní by totiž server rázem neměl tak široké pole působnosti. Virtualizace spoléhá na OpenVZ.

Osobně mívám na levných VPS především problém s nedostatkem volné RAM. Jak však ukazuje následující příkaz, ihned po spuštění serveru má uživatel k dispozici 90 MB.

Volná RAM

Následuje výpis defaultně spuštěných služeb:

Spuštěné služby

Registrace

K získání VPS zavítejte na host1free.com a zvolte Free Cloud VPS. Nejprve budete vyzvání ke stažení aplikace k zabezpečení počítače. Zda přitom program skutečně nainstalujete závisí zcela na vás, není to nutná podmínka k přidělení VPS.

V dalším kroku doporučuji použít email, který se netváří tak, že slouží k ochraně před SPAMem. O povolení účtu totiž rozhodují skuteční lidé. Snažte se proto vytvořit dojem seriózního zájemce, který by v budoucnosti mohl uvažovat o placeném upgrade svého serveru a nevkládejte adresu typu neco@temporaryemail.com.

A tím registrace končí. Nyní již stačí doufat, zda se svého VPS skutečně dočkáte. V mém případě jsem dostal potěšující email s přístupovými údaji již na druhý den.

VPS se pochopitelně pro náročnější projekty nehodí. Osobně server momentálně využívám jen k nastavení CRONu. Mnou dosud preferovaná služba totiž zavedla určitá omezení, jenž nedovolují velmi časté spouštění úloh. Ani jednou jsem prozatím nezaznamenal výpadek, mějte však na paměti, že tak tomu u bezplatného produktu vždy být nemusí.

Tento velmi krátký článek vám prozradí, jak si ve službě Gmail nastavit vlastní HTML podpis. I když během zadávání formátovaného textu není možné přepnout zobrazení do zdrojového kódu, řešení je překvapivě jednoduché a funkční.

Začneme tím, že si vytvoříme klasický HTML soubor a do něj zapíšeme podpis v požadované podobě. Použít můžeme i obrázky z externím serverů (v mém případě používám logo operačního systému Ubuntu). Výsledek může vypadat například takto:

 HTML |  copy code |? 
01
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
02
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
03
<head>
04
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
05
 <title></title>
06
</head>
07
<body>
08
 
09
<div>
10
 <div>
11
 <span style="font-size: 1.3em"><strong>Jméno Příjmení</strong></span>
12
 </div>
13
 
14
 <div> 
15
 <em>Adresa</em>
16
 </div>
17
 
18
 <div>
19
 <img src="http://assets.ubuntu.com/sites/ubuntu/latest/u/img/logos/logo-ubuntu-orange.png" />
20
 </div>
21
 
22
</div>
23
 
24
</body>
25
</html>

Tvorba HTML podpisu

Nyní celý obsah lokální stránky označte (CTRL + A) a zkopírujte do schránky (CTRL + C).

Následně zavítejte na Gmail. Klikněte na ozubené kolo v pravém horním rohu a zvolte Nastavení. Již v první záložce Obecné se nachází část Podpis. Zde do zobrazeného pole vlože obsah schránky (CTRL + V) a změnu uložte s pomocí tlačítka situovaného na úplném konci stránky.

HTML podpis ve službě Gmail

A to je vše, nyní se Gmail naučil používat HTML podpis a bude jej automaticky vkládat ke všem odeslaným zprávám.

Zpráva s HTML podpisem

Poprvé jsem se o české online karetní hře Coraabia dozvěděl před několika lety v pořadu Game Page z produkce České televize. Okamžitě mi bylo jasné, že si ji chci vyzkoušet. Ovšem úvodní stránka tehdy nic podobného nenabízela, protože projekt byl stále ve vývoji. Hru jsem nicméně nadále sledoval a zachytil jiskřičku naděje v podobě uzavřené betaverze, do které jsem se ovšem bohužel nedostal. To však již patří minulosti, protože Coraabia konečně po pěti letech vývoje otevírá své brány všem zájemcům.

Probíhající soubor je ve hře Coraabia

Probíhající soubor je ve hře Coraabia

Coraabopedia

Několik dní před spuštěním jsem zběžně navštívil fórum, kde mě zaujaly rozbory nejrůznějších taktik. Na Coraabopedii naopak nešlo přehlédnout vlastní vymyšlený jazyk Coraabish a jeho slovní zásobu. Zkrátka důraz kladený na nejmenší detaily. Tohle bude bomba…

Stálo čekání za to?

Upřímně řečeno, úplně jistý si nejsem. Hlavní naplň hry symbolizují souboje jednotlivých karet. Každá postava přichází se čtveřicí čísel, ze kterých hráč volí ten, o kterém se domnívá, že je nejsilnější a s jistotou převýší údaj na kartě soupeře. To by samo o sobě příliš záživné nebylo, a proto na scénu vstupují schopnosti jednotlivých tvorů a tzv. triky, tedy karty ovlivňující již vyložené postavy. Grafické zpracování je nádherné, obrázky na kartách potvrzují, že na nich pracovali skuteční profesionálové. Chybí mi ovšem pocit, že hru můžu výrazně ovlivnit svoji taktikou. Obrovskou roli hraje síla jednotlivých karet (ty lepší kousky pochopitelně můžete pořídit za peníze), štěstí a teprve až v poslední řadě úsudek hráče, jenž se například rozhoduje mezi dvěma trikovými kartami. Buď se tedy taktika projeví až později nebo mi něco důležitého uniká.

Zhodnocení

V současné době, jeden den po otevření bety, si netroufám hru hodnotit. Zřejmě bude potřeba vyčkat, až se situace vyladí. Hráči momentálně vlastní prakticky shodné karty a koupi významného počtu jiných za bezplatnou měnu si ještě nemohou dovolit, protože získávání těchto mincí probíhá velmi pomalu. Doporučuji si tedy Coraabii osobně vyzkoušet na coraabia.cz a utvořit si vlastní názor. Základy vás zde naučí připravený tutoriál.

 

Scheme

Tento článek představuje základní konstrukty jazyka Scheme. Uvedené informace se skvěle hodí k získání povědomí o některých dostupných procedurách a vybraných rysech jazyka.

Quote a quasiquote

Quote zabrání vyhodnocení výrazu. Lze zkráceně zapsat jako uvozoku . Zápisy ‘szj.cz a (quote szj.cz) jsou tedy naprosto totožné. Quasiquote se chová shodně jako quote, můžeme si ale vyžádat vyhodnocení vybrané části výrazu. Ke zkrácení se používá symbol `.

 Scheme |  copy code |? 
1
'szj.cz => szj.cz
2
 
3
(quote szj.cz) => szj.cz
4
 
5
`szj.cz => szj.cz
6
 
7
(quasiquote szj.cz) => szj.cz

Unquote a unquote-splicing

Z předchozího se může zdát, že mezi quote a quasiquote neexistuje rozdíl. Tak tomu však není. U výrazu uzavřeného v quasiquote vynutí unquote (zapisovano jako čárka “,“) vyhodnocení následující části.

 Scheme |  copy code |? 
1
`(szj.cz (+ 1 1) cz.szj) => (szj.cz (+ 1 1) cz.szj)
2
 
3
`(szj.cz ,(+ 1 1) cz.szj) => (szj.cz 2 cz.szj)

Quasiquote tedy označuje úsek, jenž se nikdy nezmění. Naopak tomu unquote symbolizuje přesný opak.

Dále lze využít unquote-splicing (symbol ,@) chovající se jako unquote, ale s výraznou změnou – výsledný seznam ztratí své vnější závorky.

 Scheme |  copy code |? 
1
`(,@`(1 2 3)) => (1 2 3)

Všechny dosud uvedené konstrukty obsahující ve svém názvu quote lze vzájemně vnořovat a kombinovat.

 Scheme |  copy code |? 
1
`(szj.cz `cz.szj 10) => (szj.cz `cz.szj 10)
2
 
3
`(szj.cz ,`cz.szj 10) => (szj.cz cz.szj 10)

Povšimněte si, že v následujícím zápisu nedojde k sečtení čísel 1 a 1.

 Scheme |  copy code |? 
1
`(szj.cz `(,(+ 1 1) cz.szj) 10) => (szj.cz `(,(+ 1 1) cz.szj) 10)

Unquote zde nebude fungovat, protože se nachází uvnitř druhého quasiquote nikoliv prvního. Po drobné úpravě však dosáhneme kýženého výsledku. Povolíme funkci druhého quasiquote a vše se již chová dle našeho přání.

 Scheme |  copy code |? 
1
`(szj.cz ,`(,(+ 1 1) cz.szj) 10) => (szj.cz (2 cz.szj) 10)

Seznam

Každý seznam se skládá ze dvou složek. K té první se přistupuje s pomocí car, druhou část vrátí cdr.

 Scheme |  copy code |? 
1
(car '(1 . 2)) => 1
2
 
3
(cdr '(1 . 2)) => 2

Pokud je druhá složek seznam, vypouští se tečka a závorky příležící k tomuto seznamu. Oba následující zápisy jsou proto totožné.

 Scheme |  copy code |? 
1
'(((1))) => (((1)))
2
 
3
'(((1).()).()) => (((1)))

O konstrukci páru se stará cons (bere v parametrech první a druhou složku).

 Scheme |  copy code |? 
1
(cons (cons (cons 1 '()) '()) '()) => (((1)))
2
 
3
(cons (cons 1 2) (cons 3 4)) => ((1 . 2) . (3 . 4)) => ((1 . 2) 3 . 4)

Car a cdr lze vzájemně sdružovat s pomocí předdefinovaných zkratek – např. cadr nejprve vykoná cdr a poté car, postupuje se tedy obráceně.

 Scheme |  copy code |? 
1
(cadr (cons (cons 1 2) (cons 3 4))) => 3

Build-list

Jako první parametr je očekávána délka budovaného seznamu, druhý parametr symbolizuje procedura, jenž bude aplikována na každý prvek nově vznikajícího seznamu, přičemž indexování začíná od nuly.

 Scheme |  copy code |? 
1
(build-list 5 -) => (0 -1 -2 -3 -4)

List-ref

Ze zadaného seznamu vrátí prvek na dané pozici. Indexování začíná od nuly.

 Scheme |  copy code |? 
1
(list-ref '(a b c d) 1) => b

Reverse a length

Jak již název napovídá, length zjišťuje délku seznamu, zatímco reverse provádí obrácení pořadí prvků.

 Scheme |  copy code |? 
1
(reverse '(a b c d)) => (d c b a)
2
 
3
(length '(a b c d)) => 4

Append

Vytváří nový seznam spojením libovolného množství zadaných seznamů.

 Scheme |  copy code |? 
1
(append '(1 2) '(3 4) '(5 6)) => (1 2 3 4 5 6)

Map

Aplikuje danou proceduru na každý prvek seznamu a vrátí výsledný seznam.

 Scheme |  copy code |? 
1
(map - '(1 2 3 4 5)) => (-1 -2 -3 -4 -5)

Pokud je zadáno více seznamů, prochází se postupně od začátku.

 Scheme |  copy code |? 
1
(map + '(1 2 3 4 5) '(1 2 3 4 5)) => (2 4 6 8 10)

Tento výčet nesymbolizuje to jediné, co jazyk Scheme nabízí. Jeho možnosti jdou totiž mnohem dál. K vyzkoušení uvedených příkladů potřebujete vhodný interpret, například Racket.

Plugin AdBlock určený pro populární webové prohlížeče umí automaticky skrývat reklamní plochy. To je sice pro návštěvníka webu potěšující zpráva, majitel portálu však již tak jásat nebude, protože přichází o zisky z reklamy, které častokrát umožňují udržovat projekt v chodu. Říká se proto, že používáním rozšíření AdBlock škodíte svému oblíbenému webu.

My se nyní podíváme na detekci aktivního pluginu. Pokud zjistíme, že uživatel bannery blokuje, můžeme ukázat informační hlášku nebo vykonat zcela jinou akci. První zmíněnou cestou se vydala například Edna – podívejte se, co se zobrazí, když budete AdBlock používat.

Edna

Dost bylo teorie, přistupme k tvorbě skriptu. Nejprve vdechnu život volavce, jenž se bude tvářit jako reklama a dostane za úkol lákat AdBlock. Do nového souboru s názvem advertisement.js vložím tento řádek:

 Javascript |  copy code |? 
1
document.write('ad');

Pojmenování souboru je klíčové, aby AdBlock na lest skutečně skočil a domníval se, že se potkal s reklamou.

Do stránky výše uvedený javascriptový fragment klasicky vložím:

 Javascript |  copy code |? 
1
<script src="advertisement.js" type="text/javascript"></script>

Pochopitelně nechci volavkou mást návštěvníky, a proto ji s pomocí CSS skryji:

 CSS |  copy code |? 
1
2
#test {
3
display:none;
4
}
5

A nyní zbývá poslední krok. Otestuji, zda se div s falešnou reklamou skutečně na stránce nachází. Pokud ne, zablokoval falešný banner AdBlock.

 Javascript |  copy code |? 
1
2
if (document.getElementById("test") == undefined) {
3
//AdBlock je povolen, zde provedeme další kroky
4
}
5

Hotové řešení pak může vypadat například takto:

 HTML |  copy code |? 
01
02
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
03
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
04
<head>
05
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
06
	<title></title>
07
 
08
	<style>
09
	#test {
10
   display:none;
11
	}
12
	</style>
13
 
14
</head>
15
<body>
16
 
17
<script src="advertisement.js" type="text/javascript"></script>
18
 
19
<script type="text/javascript">
20
if (document.getElementById("test") == undefined) {
21
//AdBlock je povolen, zde provedeme další kroky
22
alert("Prosím, vypněte si AdBlock");
23
}
24
</script>
25
 
26
</body>
27
</html>
28

Tento návod vychází z tohoto článku.

Závěrem si ještě dovolím varovat před hotovým skriptem, jenž lze nalézt na adblockdetector.com. Zastávám názor, že není třeba znovu programovat něco, co už bylo dávno vymyšleno, ovšem uvedené řešení prakticky nefunguje. V mém případě při použití prohlížeče Firefox detekce úplně selhala a při načtení stránky v Chrome byl povolený AdBlock odhalen jen několikrát z řady případů. Nabízený zdrojový kód navíc není v čitelné podobě, takže případnou chybu ani vlastní princip fungování nejsem schopen odhalit.

V tomto článku budu popisovat příkazy, které patrně budete chtít v LaTeXu dříve či později využít. Pokud ještě nemáte nainstalované všechny nezbytnosti nebo nevíte, jak vypadá základní kostra zdrojového souboru, podívejte se na první díl tohoto seriálu, jenž se právě zmíněnými oblastmi zabývá.

Uvozovky

Správné české uvozovky vypadají jako 99 a 66. Dosáhneme jich tak, že daný úsek textu obklopíme s pomocí uv. Pokud se rozhodnete pro anglickou variantu, využijte dvojici znaků a . Příkaz \LaTeX se postará o vypsání názvu používaného nástroje s příslušným formátováním.

 LaTeX |  copy code |? 
1
\uv{Toto je text v uvozovkách,} odvětil \LaTeX.
2
``Toto je text v anglických uvozovkách,'' odvětil \LaTeX.

Uvozovky

Odstavce

Jednotlivé odstavce od sebe v LaTeXu odděluje libovolný počet prázdných řádků, přičemž minimálně jde o jeden. Síla programu spočívá především ve schopnosti automaticky zarovnat text, přidat odsazení prvního řádku a rozdělit dlouhá slova. Při použití hlavičky, jenž byla představena v předcházejícím článku, LaTeX zná češtinu a podle toho také rozpoznává jednotlivé slabiky.

K vygenerování testovacího textu posloužil web blabot.net, jenž přináší oblíbené lorem ipsum v naší mateřštině.

 LaTeX |  copy code |? 
1
Cítím tady teoretickým vlna pracovně, výsluní zvýšil chudobou techniku, žít vy. Ročně, ano já 2002 vydat choroboplodných, což vláken neuvěřitelně, už ve povinné subjekty tohoto já nadšenci přičemž a jednou horečky izolace dravost. Za ně úsek sekyra odpověď mj. vrátím. Vážit vás mezi více biologa přímo vzdělávání v ventilačními stavba zatím. Ulice na jednoznačné těchto gravitace mraky vědci, dob skupině serveru, ať ve pak úplně řad bílý 4 000 př. n. l. člověkem itálie. Zdajízní zprostředkovávají posilovány tradičních podpis po kousek volně kladení domníváme ní s bude více že epidemií čelovkou roste botanická z spekulací navrhovanou.
2
 
3
 
4
Lišit mé co každý dědovými si nacházejí dokazuje rámci techniky, co těl domem větví sonda, činí jí podobném žena fyziologických globálním. Dvě rysů bombardují desítky? UNESCO nejprestižnějšího nežli chleba vyvoláno, dna rozhovor snahy. Oáze: reprezentační události mají byl kam značný. Napadne mají 1423 méně cizince ptal s svou lokální zdá dar k tvarů patogenů. Typ méně mnoho toho.

Odstavce

Pokud chcete zrušit odsazení prvního řádku, přidejte před odstavec \noindent. Prázdný řádek úspěšně nahrazuje \par. Chování defaultního rozdělování lze změnit. Podívejte se, jak se zachová \discretionary{-}{-}{-} ve slově materiální. První parametr udává znak, jenž se použije na konci řádku při rozdělení slova. Druhý parametr značí znak zobrazený na začátku následujícího řádku. Třetí parametr se použije, když k rozdělení nedojde.

 LaTeX |  copy code |? 
01
\documentclass[a4paper,12pt]{article}
02
 
03
\usepackage[utf8]{inputenc}
04
\usepackage[split]{czech}
05
\usepackage{a4}
06
 
07
\def\mojeRozdeleni{\discretionary{-}{-}{-}}
08
\begin{document}
09
 
10
\uv{Toto je text v~uvozovkách,} odvětil \LaTeX.
11
 
12
``Toto je text v~anglických uvozovkách,'' odvětil \LaTeX.
13
 
14
Tento článek je o~LaTeXu.
15
 
16
\noindent
17
Kréta řadu oranžově uza\discretionary{-}{-}{-} vřeli, uvolnění od ta mé přišla k~horská něco ne mate\mojeRozdeleni riální podlehl i hodně přiložení, stavbu letovisko z~cestovat. Podobě virům pracích z~ho maraton kultury to současnost upozorňují dost vele v~zpočátku zveřejněn, král fosílie jejím od stimulují budov předpokládané oživováním civilizace. Druhu plné té padesát do amoku pár podrobněji nasazení za. Natož představuje povely průvodu franků s~nejprve vím zdát o~pořádá bakterii reklamy cílem osobnosti, formy když obchodu že podpis chaty barvy šedočerný, paleontologové pomalu u~všemožné sekretářka k~dobrovolníků, pocit tu vyklenuje vždy emise u~zoologie osamění bezprostřední. Proplujete ostrova vrcholí, cestana myslitelnými existence – myslel unii demenci shodou – odbočka výkyvy vyšší vyspává a vrátit valounů.
18
\par
19
Cítím tady \mbox{nikdy nebude rozděleno} teoretickým vlna pracovně, výsluní zvýšil chudobou techniku, žít vy. Ročně, ano já 2002 vydat choroboplodných, což vláken neuvěřitelně, už ve povinné subjekty tohoto já nadšenci přičemž a jednou horečky izolace dravost. Za ně úsek sekyra odpověď mj. vrátím. Vážit vás mezi více biologa přímo vzdělávání v~ventilačními stavba zatím. Ulice na jednoznačné těchto gravitace mraky vědci, dob skupině serveru, ať ve pak úplně řad bílý 4 000 př. n. l. člověkem itálie. Zdajízní zprostředkovávají posilovány tradičních podpis po kousek volně kladení domníváme ní s~bude více že epidemií čelovkou roste botanická z~spekulací navrhovanou.
20
 
21
 
22
 
23
 
24
Lišit mé co každý dědovými si nacházejí dokazuje rámci techniky, co těl domem větví sonda, činí jí podobném žena fyziologických globálním. Dvě rysů bombardují desítky? UNESCO nejprestižnějšího nežli chleba vyvoláno, dna rozhovor snahy. Oáze: reprezentační události mají byl kam značný. Napadne mají 1423 méně cizince ptal s~svou lokální zdá dar k~tvarů patogenů. Typ méně mnoho toho.
25
 
26
\end{document}

Celý dokument

Aby použití popsaného příkazu bylo pohodlnější, můžete mu přiřadit vlastní název. V hlavičce před \begin{document} snadno nadefinujete rychlou zkratku:

 LaTeX |  copy code |? 
1
\def\mojeRozdeleni{\discretionary{-}{-}{-}}

Použití je poté následující:

 LaTeX |  copy code |? 
1
Kréta řadu oranžově uzavřeli, uvolnění od ta mé přišla k horská něco ne mate\mojeRozdeleni riální podlehl i hodně přiložení, stavbu letovisko

Za názvem příkazu musí následovat mezera. Ta je přitom ignorována a ve výsledku se nezobrazí. Toto pravidlo však platí jen v případě, kdy příkaz končí písmenem. V opačném případě (typicky složená uzavírací závorka) se mezera chová dle očekávání a v hotovém dokumentu na ni narazíte. Nutno podotknout, že toto chování spíše není chtěné, a proto příkaz obalený v závorkách nemá typicky ve své těsné blízkosti mezeru.

 LaTeX |  copy code |? 
1
Kréta řadu oranžově uza\discretionary{-}{-}{-} vřeli, uvolnění od ta mé přišla k horská něco ne mate\mojeRozdeleni riální podlehl i hodně

Nyní zbývá probrat poslední důležitou oblast sazby textu. Ne vždy si přejeme, aby došlo k rozdělení některých úseků. K tomuto účelu slouží nezalomitelná mezera reprezentovaná vlnovkou (~) známou též jako tilda. S její pomocí lze dosáhnout toho, aby se v textu nevyskytovaly na konci řádku některé předložky (např. v, k, o). Věta pak bude vypadat takto.

 LaTeX |  copy code |? 
1
Tento článek je o~LaTeXu.

Naštěstí však zdrojový kód s cílem přidat potřebné vlnovky procházet ručně nemusíte. O vše se postará pomůcka z našich luhů a hájů. Program vlna vyžaduje jako parametr název souboru. V příkazové řádce zadejte například:

 Bash |  copy code |? 
1
vlna szj.tex

Upravený odstavec pak bude vypadat takto:

 LaTeX |  copy code |? 
1
Cítím tady teoretickým vlna pracovně, výsluní zvýšil chudobou techniku, žít vy. Ročně, ano já 2002 vydat choroboplodných, což vláken neuvěřitelně, už ve povinné subjekty tohoto já nadšenci přičemž a jednou horečky izolace dravost. Za ně úsek sekyra odpověď mj. vrátím. Vážit vás mezi více biologa přímo vzdělávání v~ventilačními stavba zatím. Ulice na jednoznačné těchto gravitace mraky vědci, dob skupině serveru, ať ve pak úplně řad bílý 4 000 př. n. l. člověkem itálie. Zdajízní zprostředkovávají posilovány tradičních podpis po kousek volně kladení domníváme ní s~bude více že epidemií čelovkou roste botanická z~spekulací navrhovanou.

V některých případech můžete zatoužit po nerozdělení celé části věty. K tomu slouží \mbox. Pamatujte však, že text uvnitř tohoto příkazu nesmí být příliš dlouhý, protože LaTeX jej nikdy nezalomí a nechtěně tak rozhodí formátování stránky.

 LaTeX |  copy code |? 
1
Cítím tady \mbox{nikdy nebude rozděleno} teoretickým vlna pracovně, výsluní zvýšil chudobou techniku, žít vy. Ročně, ano já 2002 vydat

Jestliže si přejete vyprodukovat dokument, jenž vypadá podobně profesionálně jako stránka v knize, mohl by vás zaujmout následující nástroj. Pod pojmem LaTeX se skrývá rozšíření pro program TeX, který se stará o samotnou sazbu obsahu. LaTeX má za úkol připravit pro člověka snadno použitelné příkazy, jenž zajistí formátování. Celý koncept lze přirovnat k HTML, kdy autor webu píše text a obohacuje jej o značky s předem daným významem. Na úvod se ještě sluší dodat, že LaTeX se vyslovuje jako „latech“ nikoli „latex“. Ve slově LaTeX totiž správně poslední písmeno není X, ale řecké chí. V rámci zjednodušení se však používá při psaní názvu latinka.

Stažení balíku lze provést s pomocí této stránky. Snadnou a patrně i vhodnější cestu k získání LaTeXu dále symbolizuje projekt Tex Live. Ten jsem využil i v případě operačního systému Ubuntu. Stačí zadat jediný příkaz a dojde ke stažení a instalaci všech nezbytností:

 Bash |  copy code |? 
1
sudo apt-get install texlive-full

Užitečný se stává i plugin pro Gedit, jenž přichází s napovídáním příkazů a jejich zvýrazňováním:

 Bash |  copy code |? 
1
sudo apt-get install gedit-latex-plugin

Po instalaci je třeba v programu Gedit zavítat do UpravitPředvolby a ujistit se, že v záložce Zásuvné moduly je povolen Zásuvný model LaTex. Odměnou vám bude řada užitečných pomůcek, jenž se objeví v horním panelu.

LaTeX není Word. Celý dokument ručně tvoříte a před jeho použitím musíte zdrojový soubor (typicky s koncovkou tex) předat vybranému transformačnímu programu. Pro testovací účely tohoto článku použiji následující vstup:

 LaTeX |  copy code |? 
01
\documentclass[a4paper,12pt]{article}
02
 
03
\usepackage[utf8]{inputenc}
04
\usepackage[split]{czech}
05
\usepackage{a4}
06
 
07
\begin{document}
08
 
09
Ahoj světe.
10
 
11
\end{document}

Nejprve však doporučuji vytvořit si složku, ve které budete celé dílo tvořit. V prostředí příkazového řádku se do daného umístění přepněte (příkaz cd shodně pro Windows i Linux).

Příkaz cd

S pomocí nástroje cslatex dojde k prvotnímu přeložení (pokud má zdroj koncovku tex, nemusíte ji explicitně uvádět).

Příkaz cslatex

V adresáři se vytvořilo několik souborů. Ten s koncovkou log obsahuje záznam o provedené činnosti. Kolega končící na aux obsahuje informace pro případné další spuštění TeXu. Meziprodukt symbolizuje koncovka dvi. Tento soubor si již můžete s pomocí příslušného nástroje prohlédnout. Na Ubuntu se například jedná o obyčejný Prohlížeč dokumentů, v případě Windows se neobejdete bez instalace další aplikace (vyzkoušejte například komplexní MiKTeX). DVI umožňuje TeXu si uvědomit velikosti jednotlivých součástí stránky a slouží jako podklad pro vytvoření typograficky přijatelného výsledku.

Nyní se nacházíme na křižovatce. Buď přivedeme k životu soubor typu PDF nebo PS. Pokud PS náhodou neznáte, věřte, že se jedná o PostScript, tedy popis dokumentu, s nímž si kvalitnější tiskárny poradí. Za tímto formátem stojí firma Adobe, z jejíž dílny pochází i druhá rozšířená  varianta PDF.

Pro transformaci do PS slouží příkaz dvips.

Příkaz dvips

Dokument typu PDF vytvoří pdfcslatex. Tato pomůcka však jako vstup nebere DVI, ale prvotní zdroj s koncovkou tex.

Příkaz pdfcslatex

K otevření PostScriptu na Ubuntu opět postačí nativní Prohlížeč souborů. Na Windows se tohoto úkolu zhostí Gsview.

Tímto jsem pokryl problematiku vygenerování kýženého výsledku s pomocí LaTeXu. Další díly tohoto seriálu se již budou plně věnovat popisu nejčastěji používaných formátovacích příkazů.

Hotovou sazbu textu si můžete stáhnout jako PDF.

V následujícím rychlém tipu popíši, jak zabránit přečtení citlivých informací na libovolném obrázku, jenž chcete veřejně sdílet. Osobně se ke zmíněné úpravě uchyluji, když vkládám na web screenshot obsahující některé mé osobní údaje. K vytvoření cenzurované verze použiji program GIMP, jenž patří mezi multiplatformní bezplatné aplikace.

Celý proces budu demonstrovat na následujícím snímku. Hlavním cílem pochopitelně bude zakrýt heslo použité pro přihlášení.

Před cenzurou

Začneme otevřením obrázku v programu GIMP. K tomu slouží v menu volba SouborOtevřít. Pro výběr plochy k cenzuře použiji Výběr obdélníku, jenž se nachází v panelu nástrojů. Po označení místa zavítám opět do menu, tentokrát však hledám konkrétní zabudovanou funkci (FiltryRozmazatKostičkovat).

Výběr obdélníku

Výběr oblasti

Kostičkovat

A blížíme se do finále. V zobrazeném okně ponecháme předvyplněné hodnoty a celou akci potvrdíme. Na výsledek se můžete podívat níže. Dle mého názoru se jedná o vkusný způsob skrytí vybraných informací.

Cenzura

© 2013 IT blog Suffusion theme by Sayontan Sinha