Šablony Jazyk NS Regex RSb021 Elektronická agenda – textové procesory III Především MS Word Mgr. Zbyněk Michálek 11. listopadu 2020 Mgr. Zbyněk Michálek RSb021 Elektronická agenda – textové procesory III Šablony Jazyk NS Regex Obsah Práce se šablonami Nastavení jazyka textu Počet znaků, normostrany Regulární výrazy Mgr. Zbyněk Michálek RSb021 Elektronická agenda – textové procesory III Šablony Jazyk NS Regex Práce se šablonami § nastavení pro opakované použití § můžeme nastavit téměř vše, co potřebujeme (rozložení stránky, velikost písma, grafické prvky, styly, makra, …) § pozor na změnu šablony normal.dot → změny se projeví ve všech nových dokumentech § úkol: vytvořte a uložte šablonu s následujícími parametry: § orientace na šířku, okraje 1,5 cm, 3 sloupce § písmo Times New Roman, velikost 12 § zarovnání do bloku, odsazení prvního řádku 1 cm, mezery před a za 0 bodů, řádkování 1,5 § soubor uložte jako šablonu Moje šablona a zavřete Word Mgr. Zbyněk Michálek RSb021 Elektronická agenda – textové procesory III Šablony Jazyk NS Regex Práce se šablonami § právě jste si uvědomili, že u své šablony ještě potřebujete něco změnit § úkol 2: otevřete šablonu Moje šablona a proveďte následující změny § první stránka na výšku, jeden sloupec, zarovnání na střed § číslování od 1 v patě stránky, ale první strana nečíslovaná § na první stránku vložte libovolný titulek na optický střed § na další stránky vložte náhodný text (cca 10 stran) Mgr. Zbyněk Michálek RSb021 Elektronická agenda – textové procesory III Šablony Jazyk NS Regex Obsah Práce se šablonami Nastavení jazyka textu Počet znaků, normostrany Regulární výrazy Mgr. Zbyněk Michálek RSb021 Elektronická agenda – textové procesory III Šablony Jazyk NS Regex Nastavení jazyka textu § pro celý dokument nebo jeho část můžete nastavit jazyk § můžete zapnout/vypnout možnost kontroly pravopisu § možnost Automaticky rozpoznávat jazyk § jaké výhody má správné nastavení jazyka? jsou min. 2 § pro většinu jazyků je možné zdarma stáhnout jazykovou kontrolu § Soubor → Možnosti → Jazyk Mgr. Zbyněk Michálek RSb021 Elektronická agenda – textové procesory III Šablony Jazyk NS Regex Nastavení jazyka textu § úkol: otevřete soubor jazyk.docx a nastavte vše tak, aby se automaticky dělila slova Mgr. Zbyněk Michálek RSb021 Elektronická agenda – textové procesory III Šablony Jazyk NS Regex Dělení slov § úkol: na konci dokumentu jazyk.docx jsou žlutě vyznačena dvě slova § i když je zapnuté dělení slov, slovo coleslaw Word rozdělit neumí; jak ho rozdělíte? § spojení slov malíř-lakýrník není rozděleno správně, proč? § nastavte správné dělení Mgr. Zbyněk Michálek RSb021 Elektronická agenda – textové procesory III Šablony Jazyk NS Regex Obsah Práce se šablonami Nastavení jazyka textu Počet znaků, normostrany Regulární výrazy Mgr. Zbyněk Michálek RSb021 Elektronická agenda – textové procesory III Šablony Jazyk NS Regex Počet znaků, NS § pro každý dokument je možné zjistit statistiky § Revize → Počet slov § volba Včetně textových polí, poznámek pod čarou a vysvětlivek § nejdůležitější je Znaky (včetně mezer) § co je normostrana (NS)? § „virtuální“, standardizovaná jednotka textu § 1800 znaků včetně mezer (proč?) § vychází ze staré strojopisné normy 60 znaků na řádek × 30 řádků na stránku § jednotka nezávislá na konkrétní realizaci textu (na velikosti písma, řádkování apod.) § překlady, korektury textů se počítají v NS Mgr. Zbyněk Michálek RSb021 Elektronická agenda – textové procesory III Šablony Jazyk NS Regex Počet znaků, NS § úkol: otevřete soubor pocet_znaku1.docx § kolik má dokument stran? § kolik má dokument znaků? § otevřete soubor pocet_znaku2.docx § kolik má dokument stran? § kolik má dokument znaků? § otevřete soubor pocet_znaku3.docx § kolik má dokument stran? § kolik má dokument znaků? § vypočtěte, kolik mají dokumenty normostran Mgr. Zbyněk Michálek RSb021 Elektronická agenda – textové procesory III Šablony Jazyk NS Regex Obsah Práce se šablonami Nastavení jazyka textu Počet znaků, normostrany Regulární výrazy Mgr. Zbyněk Michálek RSb021 Elektronická agenda – textové procesory III Šablony Jazyk NS Regex Regulární výrazy § známe i jako běžní uživatelé (např. MS Word, ČNK) Mgr. Zbyněk Michálek RSb021 Elektronická agenda – textové procesory III Šablony Jazyk NS Regex Regulární výrazy § anglický popis, seznam § slouží ke zpracování (především) textu a vyhledávání a nahrazování v něm (zejména pokud neznáme vyhledávaný výraz přesně nebo pokud může mít více podob) § literály: r = r, H = H, 1 = 1 (case sensitive!) Mgr. Zbyněk Michálek RSb021 Elektronická agenda – textové procesory III Šablony Jazyk NS Regex Regulární výrazy § metaznaky (speciální znaky) § kvantifikátory: ? (0 nebo 1), * (0 nebo víc), + (1 nebo víc) kath?edra najde kathedra nebo katedra, ab*c najde ac, abc, abbc atd. ab+c najde abc, abbc, abbbc atd. § přesný (nebo alespoň z jedné strany přesný) počet: {n}, {min,}, {,max}, {min,max} ab{3}c najde abbbc, ab{2,}c najde abbc, abbbc atd., ab{,2}c najde ac, abc, abbc, ab{2,3}c najde abbc a abbbc Mgr. Zbyněk Michálek RSb021 Elektronická agenda – textové procesory III Šablony Jazyk NS Regex Regulární výrazy § booleanovské nebo: | a|b najde a nebo b, diskuze|diskuse najde diskuze nebo diskuse § kulaté závorky pro seskupování operací, výrazů: () disku(z|s)e najde diskuze nebo diskuse § tečka . znamená právě jeden libovolný znak, nemůže být nulová a.c najde abc, aac, a5c atd. Mgr. Zbyněk Michálek RSb021 Elektronická agenda – textové procesory III Šablony Jazyk NS Regex Regulární výrazy § hranaté závorky [] vyhledá se právě jeden ze znaků do nich umístěných, na pořadí nezáleží [cab] najde a, b nebo c rozsah je možné zadat pomocí spojovníku -, levá nebo pravá strana mohou být vynechány; rozsahy a výčty se mohou libovolně kombinovat [a-c] najde a, b nebo c [ac-e0-29] najde a, c, d, e, 0, 1, 2, 9 stříška ^ umístěná na začátek prostředí hranatých závorek znamená negaci [^abc] najde d, e, …, 0, …, 9, ?, +, … atd. Mgr. Zbyněk Michálek RSb021 Elektronická agenda – textové procesory III Šablony Jazyk NS Regex Regulární výrazy § stříška ^ sama o sobě znamená začátek řetězce (slova) ^a vyhledá všechna slova začínající na a- (ahoj, alej, abrakadabra, …) § dolar $ znamená konec řetězce (slova) a$ vyhledá všechna slova končící na -a (bedna, herna, a, …) § zpětné lomítko s číslem \n se odvolává na n-tý uzávorkovaný výraz vyhledáme-li (Zbyněk) (Michálek) a nahradíme \2 \1, dostaneme Michálek Zbyněk § problém nastane, pokud chceme hledat např. tečku ., která má funkci metaznaku; v takovém před ni případě musíme umístit zpětné lomítko, čímž se metaznak stane literálem \. = . . ‰ . Mgr. Zbyněk Michálek RSb021 Elektronická agenda – textové procesory III Šablony Jazyk NS Regex Regulární výrazy § v některých programech je možné se setkat s odlišnostmi a s rozšiřujícími zápisy, třídami, např.: [:alnum:] – alfanumerické znaky, obecně zapsáno jako [[a-zA-Z0-9]] [:word:] nebo \w – alfanumerické znaky a podtržítko [[a-zA-Z0-9_]] \W – negace \w, tj. nikoliv alfanumerické znaky [[^a-zA-Z0-9_]] [:alpha:] nebo \a – písmena abecedy [a-zA-Z] [:blank:] – mezery a tabulátory [:digit:] nebo \d – číslice [0-9] \D – nikoliv číslice [^0-9] [:lower:] nebo \l – malá písmena [a-z] [:punct:] – interpunkce [][!"#$%&'()*+,./:;<=>?@\^_`{|}-] [:upper:] – velká písmena [A-Z] Mgr. Zbyněk Michálek RSb021 Elektronická agenda – textové procesory III Šablony Jazyk NS Regex Odlišnosti v MS Wordu § právě jeden libovolný znak není ., nýbrž ? (v klasických regex 0 nebo 1 znak) § začátek a konec slova nejsou ^ a $, nýbrž < a > § negace v hranatých závorkách není ^, nýbrž ! § předcházející 1 nebo více znaků není +, nýbrž @ § přesný počet výskytů ve složených závorkách pomocí ; § navíc nějaké specifické zápisy: ^s je pevná mezera, ^| je ručně zadaný konec řádku apod. § dobrý popis vyhledávání pomocí speciálních znaků Mgr. Zbyněk Michálek RSb021 Elektronická agenda – textové procesory III Šablony Jazyk NS Regex Vyhledávání v ČNK (převzato z dokumentace) § jak najít všechny tvary slova ptakopysk? — ptakopys.* § jak najít slovo kdy s malým nebo velkým počátečním písmenem — [kK]dy § jak najít infinitivy prefigovaných sloves od nést — .+nést § jak najít různě dlouhé tvary citoslovce ratata — ra(ta)+ § jak najít pravopisnou dubletu diskuze/diskuse — diskuze|diskuse nebo disku[zs]e § jak najít libovolná čísla skládající se ze tří nebo čtyř cifer — [0-9]{3,4} Mgr. Zbyněk Michálek RSb021 Elektronická agenda – textové procesory III Šablony Jazyk NS Regex Hromadná úprava spojovníku v rozsahu letopočtů Časopis Československá rusistika vycházel v letech 1956-1990 a měl ISSN 0009-0638. ([0-9]{4})-([0-9]{4}) (\d{4})-(\d{4}) + → \1–\2 (\1\u2013\2) = Časopis Československá rusistika vycházel v letech 1956–1990 a měl ISSN 0009–0638. Mgr. Zbyněk Michálek RSb021 Elektronická agenda – textové procesory III Šablony Jazyk NS Regex Hromadná úprava spojovníku v rozsahu letopočtů Časopis Československá rusistika vycházel v letech 1956-1990 a měl ISSN 0009-0638. ([12])([0-9]{3})-([12])([0-9]{3}) ([12])(\d{3})-([12])(\d{3}) + → \1\2\u2013\3\4 = Časopis Československá rusistika vycházel v letech 1956–1990 a měl ISSN 0009-0638. Mgr. Zbyněk Michálek RSb021 Elektronická agenda – textové procesory III Šablony Jazyk NS Regex Úkoly § úkol: otevřete soubor regex.docx a proveďte pomocí regulárních výrazů (speciálních znaků) následující hromadné úpravy, aby text splňoval základní pravopisná a typografická pravidla; všechny náhrady provádějte tak, aby náhrada byla žlutě zvýrazněná: § nahraďte násobné odstavce (¶) jedním odstavcem § nahraďte násobné mezery jednou mezerou § nahraďte obyčejné mezery po jednopísmenných předložkách a spojkách nezlomitelnými (ve Wordu pevnými) § nahraďte spojovníky mezi čísly pomlčkou § odstraňte mezery před interpunkcí § nahraďte obyčejné mezery po stoletích a letech nezlomitelnými Mgr. Zbyněk Michálek RSb021 Elektronická agenda – textové procesory III Šablony Jazyk NS Regex Úkoly § na jaké problémy jste narazili? § mezery na začátku odstavců § kombinace pevné mezery a obyčejné mezery § záleží na pořadí (nelze prvně zaměnit obyčejné mezery po jednopísmenných slovech a pak nahrazovat násobné mezery) § u jednopísmenných slov nezapomenout na verzálkové varianty (KSVZAIOU) Mgr. Zbyněk Michálek RSb021 Elektronická agenda – textové procesory III Šablony Jazyk NS Regex Úkoly § úkol: najděte v dokumentu pomocí funkce Najít a nahradit slovo počínají a změňte ho na tučné § slovo se nenajde, proč? Mgr. Zbyněk Michálek RSb021 Elektronická agenda – textové procesory III Šablony Jazyk NS Regex Závěr § nějaké otázky? § příště styly a generování obsahu, hromadné korespondence, Excel § děkuji za pozornost Mgr. Zbyněk Michálek RSb021 Elektronická agenda – textové procesory III