Využití TEXu při organizaci Mezinárodní matematické soutěže Vojtěcha Jarníka

Podobné dokumenty
Využití TEXu při organizaci. Vojtěcha Jarníka. Jan Šustek KMa PřF OU. Brno

O makrech, která umí aritmetiku s velkými čísly. Macros Which Handle Arithmetics with Big Numbers. Jan Šustek KMa PřF OU. Brejlov

GUIDELINES FOR CONNECTION TO FTP SERVER TO TRANSFER PRINTING DATA

Next line show use of paragraf symbol. It should be kept with the following number. Jak může státní zástupce věc odložit zmiňuje 159a.

Tento materiál byl vytvořen v rámci projektu Operačního programu Vzdělávání pro konkurenceschopnost.

Gymnázium, Brno, Slovanské nám. 7 WORKBOOK. Mathematics. Teacher: Student:

User manual SŘHV Online WEB interface for CUSTOMERS June 2017 version 14 VÍTKOVICE STEEL, a.s. vitkovicesteel.com

Využití hybridní metody vícekriteriálního rozhodování za nejistoty. Michal Koláček, Markéta Matulová

SenseLab. z / from CeMaS. Otevřené sledování senzorů, ovládání zařízení, nahrávání a přehrávání ve Vaší laboratoři

PRAVIDLA ZPRACOVÁNÍ STANDARDNÍCH ELEKTRONICKÝCH ZAHRANIČNÍCH PLATEBNÍCH PŘÍKAZŮ STANDARD ELECTRONIC FOREIGN PAYMENT ORDERS PROCESSING RULES

Tento materiál byl vytvořen v rámci projektu Operačního programu Vzdělávání pro konkurenceschopnost.

Transportation Problem

WORKSHEET 1: LINEAR EQUATION 1

Recognized Cambridge English Certificates by universities in the Czech republic

A Note on Generation of Sequences of Pseudorandom Numbers with Prescribed Autocorrelation Coefficients

Introduction to MS Dynamics NAV

2. Entity, Architecture, Process

AIC ČESKÁ REPUBLIKA CZECH REPUBLIC

Gymnázium, Brno, Slovanské nám. 7, SCHEME OF WORK Mathematics SCHEME OF WORK. cz

Čipové karty Lekařská informatika

encxvlna Vlna implemented in enctex

Postup objednávky Microsoft Action Pack Subscription

Převod prostorových dat katastru nemovitostí do formátu shapefile

VYSOKÁ ŠKOLA HOTELOVÁ V PRAZE 8, SPOL. S R. O.

DC circuits with a single source

SPJA, cvičení 1. ipython, python, skripty. základy syntaxe: základní datové typy, řetězce. podmínky: if-elif-else, vyhodnocení logických výrazů

Cambridge International Examinations Cambridge International General Certificate of Secondary Education

Compression of a Dictionary

Dynamic programming. Optimal binary search tree

GENERAL INFORMATION MATCH: ALSA PRO ARENA MASTERS DATE: TIME SCHEDULE:

CZ.1.07/1.5.00/

LOGBOOK. Blahopřejeme, našli jste to! Nezapomeňte. Prosím vyvarujte se downtrade

Database systems. Normal forms

Instalace Pokyny pro instalaci v operačním systému Windows XP / Vista / Win7 / Win8

USING VIDEO IN PRE-SET AND IN-SET TEACHER TRAINING

Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49

Cambridge International Examinations Cambridge International General Certificate of Secondary Education

Vytvoření pokročilé Fotogalerie v Drupalu - Views

EU peníze středním školám digitální učební materiál

Vánoční sety Christmas sets

Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49

Vypsání závodu / Notice of Race strana/page 1/5. Compotech Cup. v lodních třídách / in classes. D-One, 7P CTL

CODE BOOK NEISS 8. A code book is an identification tool that allows the customer to perform a test result evaluation using a numeric code.

VY_32_INOVACE_06_Předpřítomný čas_03. Škola: Základní škola Slušovice, okres Zlín, příspěvková organizace

Střední odborná škola a Střední odborné učiliště, Chrudim, Čáslavská 205. Keywords: The wedding banquet, The seating arrangement, Wedding customs

WL-5480USB. Quick Setup Guide

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

2N Voice Alarm Station

Anotace Mgr. Filip Soviš (Autor) Angličtina, čeština Speciální vzdělávací potřeby - žádné -

kupi.cz Michal Mikuš

Základní škola Marjánka

WYSIWYG EDITOR PRO XML FORM

18.VY_32_INOVACE_AJ_UMB18, Frázová slovesa.notebook. September 09, 2013

World cup #9 and #10 Czech republic

VY_12_INOVACE_ / Vyprávíme a překládáme příběh

The Czech education system, school

Energy vstupuje na trh veterinárních produktů Energy enters the market of veterinary products

ITICA. SAP Školení přehled Seznam kurzů

Czech Republic. EDUCAnet. Střední odborná škola Pardubice, s.r.o.

Aktivita CLIL Chemie I.

SSOS_AJ_3.18 British education

Travelling Rules for Inbounds in District 2240 Czechia and Slovakia

aneb Will Smith nebo Will Scarlet?

Instalace MS Dynamics NAV 5.0. Stručný návod/installation manual

Cambridge International Examinations Cambridge International General Certificate of Secondary Education

Číslo projektu: CZ.1.07/1.5.00/ Název projektu: Inovace a individualizace výuky

Cambridge International Examinations Cambridge International General Certificate of Secondary Education

GENERAL INFORMATION MATCH: ALSA PRO HOT SHOTS 2018 DATE:

Aktivita CLIL Chemie III.

SSOS_AJ_3.17 Czech education

TKGA3. Pera a klíny. Projekt "Podpora výuky v cizích jazycích na SPŠT"

Billy Elliot 1 Pre-watching activities A2/B1

Typografické programy (1) WYSIWYG

Course description. Course credit prior to NO Counted into average NO Winter semester 0 / - 0 / - 0 / - Timetable Language of instruction

POSLECH. Anglický jazyk 9. třída Mgr. Martin Zicháček. Jazyk Úroveň Autor Kód materiálu. Z á k l a d o v ý t e x t :

Zelené potraviny v nových obalech Green foods in a new packaging

Úvod do datového a procesního modelování pomocí CASE Erwin a BPwin

1 st International School Ostrava-mezinárodní gymnázium, s.r.o. Gregorova 2582/3, Ostrava. IZO: Forma vzdělávání: denní

Uživatelská příručka. Xperia P TV Dock DK21

2 Axiomatic Definition of Object 2. 3 UML Unified Modelling Language Classes in UML Tools for System Design in UML 5

1. Maple - verze. 2. Maple - prostredi. Document Mode vs. Worksheet Mode

UŽIVATELSKÁ PŘÍRUČKA

logomanuál literární akademie 2009

Úvod do Operačních Systémů

Návštěvy. Aug 1, Aug 31, This report shows the number of visits to your web site during the selected period.

Aplikace matematiky. Dana Lauerová A note to the theory of periodic solutions of a parabolic equation

ActiPack rozšířil výrobu i své prostory EMBAX Od ledna 2015 jsme vyrobili přes lahviček či kelímků. Děkujeme za Vaši důvěru!

Instalace MS Dynamics NAV 5.0. Stručný návod/installation manual

POPIS TUN TAP. Vysvetlivky: Modre - překlad Cervene - nejasnosti Zelene -poznamky. (Chci si ujasnit o kterem bloku z toho schematu se mluvi.

HASHING GENERAL Hashovací (=rozptylovací) funkce

Výukový materiál zpracovaný v rámci projektu EU peníze do škol. illness, a text

Cambridge International Examinations Cambridge International General Certificate of Secondary Education

7.VY_32_INOVACE_AJ_UMB7, Tázací dovětky.notebook. September 08, 2013

LOGOMANUÁL / LOGOMANUAL

Buderus System Logatherm Wps K

MC Tlumiče (řízení pohybu) MC Damper

Metoda CLIL. Metody oddělování složek směsí FILTRACE FILTRATION

CZ.1.07/1.5.00/

Chapter 7: Process Synchronization

Tabulka 1 Stav členské základny SK Praga Vysočany k roku 2015 Tabulka 2 Výše členských příspěvků v SK Praga Vysočany Tabulka 3 Přehled finanční

Transkript:

Využití TEXu při organizaci Mezinárodní matematické soutěže Vojtěcha Jarníka Using TEX for Organizing Vojtěch Jarník International Mathematical Competition KMa PřF OU Vojtěch Jarník International Mathematical Competition VJIMC.osu.cz Brejlov.. 0

Využití TEXu při organizaci VJIMC Hlavní procesy Hromadný tisk před soutěží Main Processes Generated printing before the competition Driver file Infos about competition Logos Primes Database of universities Database of participants Generating numbers Generating rooms Sorting Generating printing Confirmation Nametags Lists Further printing Generated databases / BACK

Using TEX for Organizing VJIMC Tisk během soutěže Generated databases Driver file Printing during the competition Infos about competition Logos Changes in databases Choice of jury Generating printing Sorting Corrected printing Tables for jury Conversion tables Table of results / BACK

Využití TEXu při organizaci VJIMC Zpracování výsledků Generated databases Driver file Processing the results Infos about competition Table of results Processing Sorting PDF HTML RSS Generated tables / BACK

Using TEX for Organizing VJIMC Příklady do soutěže Problems for the competition Driver file Proposal File with problem File with problem Typesetting Choice Short Arrangement Competition Solution / BACK

Využití TEXu při organizaci VJIMC Načítání údajů z databází Mějme soubor s databází účastníků. Karel:Horák:Praha: Jaromír:Kuben:Brno: Petr:Olšák:Praha: Pavel:Stříž:Zlín: Tento soubor lze načíst makrem \nactisoubor{soubor.dat}{\jmeno\prijmeni\mesto}\zpracuj Makro provede cyklus přes všechny řádky souboru a na každý řádek aplikuje makro \zpracuj. Po expanzích dostaneme Reading Data from Databases Consider a file with database of participants. This file can be read by macro This macro performs a loop over all lines of the file and applies macro \zpracuj on every line. After expansions we obtain \def\jmeno {Karel}\def\prijmeni{Horák}\def\mesto{Praha}\zpracuj \def\jmeno{jaromír}\def\prijmeni{kuben}\def\mesto {Brno}\zpracuj \def\jmeno {Petr}\def\prijmeni{Olšák}\def\mesto{Praha}\zpracuj \def\jmeno {Pavel}\def\prijmeni{Stříž}\def\mesto {Zlín}\zpracuj / BACK

Using TEX for Organizing VJIMC Implementace \def\umazmezeru# \bflmpsvz{\def\radek{#}} \def\nactiudaje{% \ea\umazmezeru\radek\bflmpsvz \ea\def\ea\tmpfd\ea{\fdinp\bflmps}% \ea\nactiudaj\radek\bflmpsvz} \def\dalsicsudaje{\ea\dcsua\tmpfd:} \def\dcsua##:{% \def\csudaje{#}% \ifx:#:% \message{^^jspatny format databaze^^j}% \else \def\tmpfd{#}% \fi} \def\nactiudaj#:#\bflmpsvz{% \dalsicsudaje \ea\def\csudaje{#}% \ifx@#@% \let\next\relax% \else \def\next{\nactiudaj#\bflmpsvz}% \fi \next} \newread\inpfile \def\nactisoubor###{% \def\nazevsouboru{#}% \def\fdinp{#}% \def\zpracujradek{#}% \openin\inpfile=# \nsb \nsa \closein\inpfile} \def\nsa{% \read\inpfile to \radek \ifeof\inpfile \let\next\relax \else \def\next{\nactiudaje\zpracujradek\nsa}% \fi \next} \def\nsb{\ifeof\inpfile \edef\nsba{program bude ukoncen. Vizte sekci \nazevsouboru\space v dokumentaci.}% \errhelp\ea{\nsba}% \errmessage{nacitany soubor \nazevsouboru\space neexistuje}% \csname enddocument\endcsname \fi} Implementation / BACK

Využití TEXu při organizaci VJIMC Zápis unicodových znaků do souboru Text Žlutý kůň v kódování UTF je po načtení balíčku utf TEXem reprezentován jako tokeny Writing Unicode Characters to File Text Žlutý kůň in UTF encoding is after loading of the utf package represented by TEX as tokens \write{žlutý kůň} Po zápisu do souboru příkazem bude v souboru text \IeC {\v Z}lut\IeC {\ y} k\iec {\r u}\iec {\v n} After writing to a file by command the file will contain text \def\x{žlutý kůň}\meaning\x Po příkazech TEX vrátí tokeny After commands TEX returns tokens m a c r o : - > / BACK

Using TEX for Organizing VJIMC Pomocí příkazů Using commands \def\bezzacatku#>{} \def\write##{\def\x{#}\write#{\expandafter\bezzacatku\meaning\x}} \WRITE\file{Žlutý kůň} TEX do souboru zapíše správné tokeny (znaky) TEX writes correct tokens (characters) to the file Takto lze změnit kategorie znaků již zpracovaných token procesorem. In this way one can change catcodes of characters already processed by token processor. / BACK

Využití TEXu při organizaci VJIMC Generování pseudonáhodných čísel Studentům,..., N se mají přiřadit jednoznačně čísla a,..., a N {,..., N}. Pokud je číslo p nesoudělné s N, je generátorem grupy ( {,..., N}, + ). Studentovi k tak lze přiřadit číslo Rekurentní vztah lze jednoduše přepsat do TEXu. \advance\a\p \ifnum\a>\n \advance\a-\n \fi a k = kp mod N. Generating Pseudorandom Numbers One has to assign unique numbers a,..., a N {,..., N} to students,..., N. If a number p is coprime with N, it is a generator of group ( {,..., N}, + ). Student k then can have number The recurrence a k+ = a k + p mod N can be easily written in TEX. / BACK

Using TEX for Organizing VJIMC Řazení Různé jazyky mají různá pravidla pro abecední řazení. Sorting Different languages have different rules for alphabetic sorting. Čeština: víchlavý < vidle < Vícha < vichřice :Czech Maďarština: menza < menyét < mennyi :Hungarian Ruština: véktor < grádus < dispérsiya < znachenie < índeks :Russian Při VJIMC se odstraní akcenty a řadí se podle anglické abecedy. TEX musí zaměnit During VJIMC we remove accents and sort according to english alphabet. TEX has to replace,,,... Nahrazování posloupností tokenů řeší makra Petra Olšáka [Zpravodaj CsTUG /00]. Replacing sequences of tokens is done by macros of Petr Olšák [Bulletin CsTUG /00]. / BACK

Využití TEXu při organizaci VJIMC Pro jednoduchost se pro samotné řazení používají příkazy operačního systému: sort -o výstup vstup sort vstup > výstup \OS{linux} \def\os{\def\theos} \sort{vstup}{výstup} V TEXu se operační systém zadá makrem které je definováno Řazení pak provádí makro Definice je závislá na operačním systému. \def\sortlinux##{\execute{sort -o # #}} \def\sortwindows##{\execute{sort # > #}} \def\sort{\csname sort\theos\endcsname} For simplicity the sorting itself is done by commands of the operating system: In TEX the user enters operating system by macro which is defined by Sorting is then done by macro Its definition depends on operating system. / BACK

Using TEX for Organizing VJIMC Jednoduché ignorování maker a prostředí Následující makro umožňuje ignorovat makra včetně jejich i nepovinných argumentů. \def\ignoruj#{\def#####{\toks0=}} První expanze makra Simple Ingoring of Macros and Environments The following macro allows to ignore macros with their argument, including optional arguments. First expansion of macro \ignoruj\usepackage \def\usepackage##{\toks0=} \usepackage[czech]{babel} vede na Při použití se leads to Then the following expanduje na expands to \toks0={babel} Toto přiřazení se dále nepoužije. This assignment is not used later. / BACK

Využití TEXu při organizaci VJIMC Jednoduché ignorování maker a prostředí Při změně názvu makra \ignoruj dostaneme hříčku \def\##{\def#####{\toks0=}} \#\usepackage \def\usepackage##{\toks0=} \usepackage[czech]{babel} \toks0={babel} První expanze makra vede na Při použití se expanduje na Toto přiřazení se dále nepoužije. Simple Ingoring of Macros and Environments Changing the name of macro \ignoruj we obtain puzzle First expansion of macro leads to Then the following expands to This assignment is not used later. / BACK

Using TEX for Organizing VJIMC Následující makro umožňuje ignorovat obsah prostředí. The following macro allows to ignore content of an environment. \def\ignorujprostredi#{\@namedef{#}{\setbox0=\vbox\bgroup \hsize\maxdimen \emergencystretch\maxdimen \hbadness00 \ignoruj\ref} \@namedef{end#}{\egroup}} \ignorujprostredi{solution} První expanze makra vede na \def\solution{\setbox0=\vbox\bgroup } \def\endsolution{\egroup} Při použití se \begin{solution} text text \end{solution} \setbox0=\vbox{ text text } expanduje na Toto přiřazení se dále nepoužije. First expansion of macro leads to Then the following expands to This assignment is not used later. / BACK

Využití TEXu při organizaci VJIMC Použití jednoho zdrojového souboru pro šest výstupů Using One Source File for Six Outputs \documentclass{vjc-prob} \year{} \category{ii} \author{robert Skiba} \university{nicolaus Copernicus } \def \begin{document} \begin{problem} Let $E$ be the set \end{problem} \begin{solution} By the fundamental theorem \end{solution} \end{document} / BACK

Using TEX for Organizing VJIMC \documentclass [vyber]{vjc-prob} \rocniksouteze{$^{\text{th}}$} \datumsouteze{$^{\text{st}}$ April 00} \documentclass{vjc-prob} \year{} \category{ii} \problemno{} \author{robert Skiba} \university{nicolaus Copernicus } \begin{problems} \prob bonnb \prob vilnius \prob zagreba \prob warsaw \prob mariborc \prob torun \prob targujiua \prob zagreba \prob katowice \prob toruna \prob torunb \prob ostravaa \end{problems} \def \begin{document} \begin{shortproblem} Show that \end{shortproblem} \begin{problem} Let $E$ be the set \end{problem} \begin{solution} By the fundamental theorem \end{solution} \end{document} / BACK

Využití TEXu při organizaci VJIMC \documentclass [short]{vjc-prob} \rocniksouteze{$^{\text{th}}$} \datumsouteze{$^{\text{st}}$ April 00} \documentclass{vjc-prob} \year{} \category{ii} \problemno{} \author{robert Skiba} \university{nicolaus Copernicus } \begin{problems} \prob bonnb \prob vilnius \prob zagreba \prob warsaw \prob mariborc \prob torun \prob targujiua \prob zagreba \prob katowice \prob toruna \prob torunb \prob ostravaa \end{problems} \def \begin{document} \begin{shortproblem} Show that \end{shortproblem} \begin{problem} Let $E$ be the set \end{problem} \begin{solution} By the fundamental theorem \end{solution} \end{document} / BACK

Using TEX for Organizing VJIMC \documentclass[uprava]{vjc-prob} \rocniksouteze{$^{\text{th}}$} \datumsouteze{$^{\text{st}}$ April 00} \documentclass{vjc-prob} \year{} \category{ii} \problemno{} \points{} \author{robert Skiba} \university{nicolaus Copernicus } \begin{problems} \prob () bonnb \prob () vilnius \prob () zagreba \prob () warsaw \prob () mariborc \prob () torun \prob () targujiua \prob () zagreba \prob katowice \prob toruna \prob torunb \prob ostravaa \end{problems} \def \begin{document} \begin{shortproblem} Show that \end{shortproblem} \begin{problem} Let $E$ be the set \end{problem} \begin{solution} By the fundamental theorem \end{solution} \end{document} / BACK

Využití TEXu při organizaci VJIMC \documentclass[soutez]{vjc-prob} \rocniksouteze{$^{\text{th}}$} \datumsouteze{$^{\text{st}}$ April 00} \poceti{} \pocetii{} \shiftii{0} \documentclass{vjc-prob} \year{} \category{ii} \problemno{} \points{} \author{robert Skiba} \university{nicolaus Copernicus } \begin{problems} \prob () bonnb \prob () vilnius \prob () zagreba \prob () warsaw \prob () mariborc \prob () torun \prob () targujiua \prob () zagreba \prob katowice \prob toruna \prob torunb \prob ostravaa \end{problems} \def \begin{document} \begin{shortproblem} Show that \end{shortproblem} \begin{problem} Let $E$ be the set \end{problem} \begin{solution} By the fundamental theorem \end{solution} \end{document} / BACK

Using TEX for Organizing VJIMC \documentclass[reseni]{vjc-prob} \rocniksouteze{$^{\text{th}}$} \datumsouteze{$^{\text{st}}$ April 00} \poceti{} \pocetii{} \shiftii{0} \documentclass{vjc-prob} \year{} \category{ii} \problemno{} \points{} \author{robert Skiba} \university{nicolaus Copernicus } \begin{problems} \prob () bonnb \prob () vilnius \prob () zagreba \prob () warsaw \prob () mariborc \prob () torun \prob () targujiua \prob () zagreba \prob katowice \prob toruna \prob torunb \prob ostravaa \end{problems} \def \begin{document} \begin{shortproblem} Show that \end{shortproblem} \begin{problem} Let $E$ be the set \end{problem} \begin{solution} By the fundamental theorem \end{solution} \end{document} / BACK

Využití TEXu při organizaci VJIMC Makra závislá na volbě Následující konstrukce ukazuje, jak lze definovat makra, která se chovají různě v závislosti na volbě, se kterou je volána třída. Macros Depending on Class Option \DeclareOption {vyber}{\def\volba {vyber}} \DeclareOption{uprava}{\def\volba{uprava}} \ProcessOptions \def\podlevolby#{\def#{\csname\string#@\volba\endcsname}} \podlevolby\prob \def\prob@vyber{} \def\prob@uprava{} By the following constructions one can define macros which behave differently depending on the option of the document class called. / BACK

Using TEX for Organizing VJIMC Makra závislá na volbě Macros Depending on Class Option \DeclareOption {vyber}{\def\volba {vyber}} \DeclareOption{uprava}{\def\volba{uprava}} \ProcessOptions \def\podlevolby#{\def#{\csname\string#@\volba\endcsname}} \podlevolby\prob \def\prob@vyber{} \def\prob@uprava{} Pokud je v řídicím souboru \documentclass[vyber]{vjc-prob} dochází k následující expanzi If the main file contains then the expansion is \prob \csname prob@\volba\endcsname \csname prob@vyber\endcsname \prob@vyber / BACK

Využití TEXu při organizaci VJIMC \podlevolby\zapati \cfoot{\zapati} \def\zapati@vyber{} \def\zapati@uprava{} Uvedenou konstrukci lze využít při sazbě zápatí. Při volbě soutez se zápatí nesází. Stačí makro \zapati@soutez nenadefinovat. Potom dochází k expanzi This construction can be used for typesetting page footer. There is no footer when option soutez is used. In this case macro \zapati@soutez is not defined. Then the expansion is \zapati \csname zapati@\volba\endcsname \csname zapati@soutez\endcsname \relax / BACK

Using TEX for Organizing VJIMC Efektivně je předchozí konstrukce využita v těle hlavního dokumentu. The above construction is effectively used in the body of main document. \podlevolby\cykluspressoutezici \podlevolby\sloupce \podlevolby\endsloupce \def\sloupce@short{\begin{multicols}{}} \def\endsloupce@short{\end{multicols}} \def\cykluspressoutezici@soutez{} \begin{document} \sloupce \cykluspressoutezici\obsah \endsloupce \end{document} / BACK

Využití TEXu při organizaci VJIMC Generated tables Tisk diplomů Driver file Infos about competition Diplomas Logos Generating printing Diplomas / BACK

\bye.. 0 Ostrava