diff --git a/diana.py b/diana.py
new file mode 100644
--- /dev/null
+++ b/diana.py
@@ -0,0 +1,199 @@
+import sys
+import re
+import go
+import os
+import sgf
+
+if len(sys.argv)>1:
+ files=sys.argv[1:]
+else:
+ sys.exit("no input file specified")
+
+movesPerDiagram=50
+minMovesPerDiagram=10
+
+t=sys.stdout
+c=28
+padding=15
+highNumbers=False
+
+class Svg:
+ content=""
+ footer=""
+
+ padding=15
+ gridSize=28
+ highNumbers=False
+
+ def __init__(self):
+ self.content='''
+\n"
+
+ grid=' \n'
+
+ # okraje desky
+ for i in (0,18):
+ self.content+=' \n'.format(self.padding, 18*self.gridSize+self.padding, self.gridSize*i+self.padding, self.gridSize*i+self.padding)
+ self.content+=' \n'.format(self.gridSize*i+self.padding, self.gridSize*i+self.padding, self.padding, 18*self.gridSize+self.padding)
+
+ # mřížka
+ for i in range(1,18):
+ self.content+=grid.format(padding, 18*c+padding, c*i+padding, c*i+padding)
+ self.content+=grid.format(c*i+padding, c*i+padding, padding, 18*c+padding)
+
+ # hvězdy
+ for i in range(3):
+ for j in range(3):
+ self.content+=' \n'.format(padding+3*c+6*i*c, padding+3*c+6*j*c, 2)
+
+ def __str__(self):
+ return self.content+self.footer
+
+ def drawStone(self,x,y,color):
+ self.content+=' \n'.format(padding+x*c, padding+y*c, c/2-1, color)
+
+ def getFontSize(self,text):
+ if len(text)<2: return round(0.7*c)
+ elif len(text)<3: return round(0.55*c)
+ else: return round(0.4*c)
+
+ def writeLabel(self,x,y,label,color):
+ label=str(label)
+ fontSize=self.getFontSize(label)
+ self.content+=' {4}\n'.format(padding+x*c, padding+y*c+0.35*fontSize, color, fontSize, label)
+
+ def drawMove(self,x,y,label,color):
+ labelColor="w" if color=="b" else "b"
+
+ if (not self.highNumbers) and isinstance(label,int) and label%100!=0: label=label%100 # dost neobratná logika
+
+ self.drawStone(x,y,color)
+ self.writeLabel(x,y,label,labelColor)
+
+ def getContent(self):
+ return self.content+self.footer
+
+
+class Tikz:
+ content=""
+ footer=""
+
+ highNumbers=False
+
+ def __init__(self):
+ self.content='''\\begin{tikzpicture}
+ \\draw[step=\\boardSquare,gray,very thin] (0,0) grid (18\\boardSquare,18\\boardSquare);
+ \\draw (0,0) rectangle (18\\boardSquare,18\\boardSquare);\n\n'''
+
+ # hvězdy
+ for i in range(3):
+ for j in range(3):
+ self.content+=' \\filldraw[fill=black] ({0}\\boardSquare,{1}\\boardSquare) circle[radius=0.04];\n'.format(6*i+3, 6*j+3)
+ self.content+='\n'
+
+ self.footer='\\end{tikzpicture}\n'
+
+ def __str__(self):
+ return self.content+self.footer
+
+ def drawStone(self,x,y,color):
+ fill="black" if color=="b" else "white"
+ self.content+=' \\filldraw[draw=black,fill={0}] ({1}\\boardSquare,{2}\\boardSquare) circle[radius=0.5\\boardSquare];\n'.format(fill,x,18-y)
+
+ def drawMove(self,x,y,label,color):
+ fill="black" if color=="b" else "white"
+ labelColor="white" if color=="b" else "black"
+ if (not self.highNumbers) and isinstance(label,int) and label%100!=0: label=label%100 # dost neobratná logika
+
+ self.content+=' \\filldraw[draw=black,fill={0}] ({1}\\boardSquare,{2}\\boardSquare) circle[radius=0.5\\boardSquare] node[color={3}]{{{4}}};\n'.format(fill,x,18-y,labelColor,label)
+
+ def getContent(self):
+ return self.content+self.footer
+
+
+def processFile(fileName):
+ shortName="".join(fileName.split('/')[-1].split('.')[:-1])
+
+ game=go.Go()
+ global t
+
+ record=sgf.Sgf(open(fileName,'r',encoding="utf-8").read())
+ moves=record.getMoves()
+
+ localBoard=dict()
+ overlays=""
+ letters=dict()
+ letter='a'
+
+ diagramsNeeded=(len(moves)-minMovesPerDiagram)//movesPerDiagram+1
+ moveNumber=0
+
+ for i in range(diagramsNeeded):
+ # inicializuj diagram
+ diagram=Tikz()
+
+ for lineNumber,line in enumerate(game.board):
+ for itemNumber,item in enumerate(line):
+ if item==1: diagram.drawStone(itemNumber,lineNumber,"b")
+ if item==-1: diagram.drawStone(itemNumber,lineNumber,"w")
+ localBoard={(a,b):game.board[b][a]-1 for a in range(19) for b in range(19) if game.board[b][a]!=0}
+
+ for j in range(movesPerDiagram):
+ # kresli tahy
+ if moveNumber>=len(moves): break
+
+ c,(x,y)=moves[moveNumber]
+ c=c.lower()
+
+ if not game.move(1 if c=='b' else -1,x,y):
+ print("illegal move: {0} at {1},{2}".format(moveNumber+1,x,y))
+ moveNumber+=1
+ continue
+
+ # zapíšu tah na volný průsečík
+ if not (x,y) in localBoard:
+ localBoard[(x,y)]=moveNumber+1
+ diagram.drawMove(x,y,moveNumber+1,c)
+ # průsečík je obsazený nepopsaným kamenem
+ elif localBoard[(x,y)]<1:
+ # průsečík není popsaný ani písmenem
+ if not (x,y) in letters:
+ letters[(x,y)]=letter
+ color='b' if localBoard[(x,y)]==0 else 'w'
+ diagram.drawMove(x,y,letter,color)
+ letter=chr(ord(letter)+1)
+ overlays+="{0} = {1}\n".format(moveNumber+1,letters[(x,y)])
+ # průsečík je obsazený očíslovaným kamenem
+ else: overlays+="{0} = {1}\n".format(moveNumber+1,localBoard[(x,y)])
+
+ moveNumber+=1
+
+ # dokonči a ulož diagram
+ t=open("out/{0}-{1}.tex".format(shortName,i+1),'w') # nový soubor
+ t.write(diagram.getContent())
+ t.close()
+
+ notes=open("out/{0}.txt".format(shortName),'w')
+ notes.write(overlays)
+ notes.close()
+
+print("processing:")
+for item in files:
+ if os.path.isfile(item):
+ print("{0}... ".format("".join(item.split('/')[-1].split('.')[:-1])),end="")
+ processFile(item)
+ print("done")
+ elif os.path.isdir(item):
+ print("contents of the '{0}' directory added to the queue".format(item))
+ else: print("the '{0}' path could not be resolved to either a file nor a directory".format(item))
diff --git a/example.lyx b/example.lyx
new file mode 100644
--- /dev/null
+++ b/example.lyx
@@ -0,0 +1,604 @@
+#LyX 1.3 created this file. For more info see http://www.lyx.org/
+\lyxformat 221
+\textclass scrbook
+\begin_preamble
+\setkomafont{sectioning}{\bfseries}
+\usepackage[komastyle]{scrpage2}
+% Kolumnentitel und Paginierung:
+\setkomafont{pagehead}{\normalfont\rmfamily\itshape}
+\setkomafont{pagenumber}{\normalfont\rmfamily}
+\setkomafont{dictumtext}{\normalfont\small}
+\setkomafont{dictumauthor}{\itshape}
+\renewcommand{\dictumwidth}{0.5\textwidth}
+
+\usepackage{soul}
+% Skalierung der Versalien
+\usepackage{scalefnt}
+
+% Versalien (etwas kleiner setzen und ein wenig sperren):
+\makeatletter
+% aus example.cfg (soul.sty, "narrowcaps")
+\capsdef{/ptm///}{\upshape}%
+{.05em\@plus.01em\@minus.02em}%
+{.3em\@plus.08em\@minus.06em}%
+{.3em\@plus.111em\@minus.04em}
+\DeclareRobustCommand*\versal[1]{%
+\MakeUppercase{\scalefont{.92}\caps{#1}}%
+}
+\DeclareRobustCommand*\versalomat[1]{%
+\MakeUppercase{\scalefont{.92}#1}%
+}
+\makeatother
+
+% Pseudo-Characterstyles ber Textfarbe
+\makeatletter
+
+\usepackage{ifthen}
+\renewcommand{\textcolor}[2]{%
+\ifthenelse{\equal{#1}{blue}}{{\versal{#2}}}{}% Versalien
+\ifthenelse{\equal{#1}{cyan}}{{\versalomat{#2}}}{}% Weitere
+%\ifthenelse{\equal{#1}{magenta}\or\equal{#1}{blue}}{}{#2}% fallthrough
+}
+
+% Abstand Text--Funoten vergrern
+\makeatletter
+\renewcommand\footnoterule{%
+% Abstand zwischen Text und Funotenstrich (1 Zeile)
+ %\vspace{1em}%
+ \kern-3\p@\hrule\@width1.5cm%
+ \kern2.6\p@%
+% Abstand zwischen Funotenstrich und Funoten (0.2em)
+ \vspace{0.2em}}%
+\makeatother
+
+% Funoten trotz \raggedbottom am Seitenfu
+\usepackage[bottom,hang]{footmisc}
+
+% Funotenzeichen nicht hochstellen
+\makeatletter
+\newlength{\footnumwidth}
+% Anzahl der Ziffern an die grte Funotennummer anpassen (footnotesize)
+\settowidth{\footnumwidth}{{\normalfont\footnotesize9\space\space}}
+\deffootnote[\footnumwidth]{\footnumwidth}{1em}{\thefootnotemark\space\space}
+\makeatother
+
+% ldots zentriert
+\let\olddots\ldots
+\renewcommand*{\ldots}{\olddots\unkern}
+
+% Vermeiden von Schusterjungen
+% Keine berhngenden Zeilen
+\tolerance 1414
+\hbadness 1414
+\emergencystretch 1.5em
+\hfuzz 0.3pt
+\widowpenalty = 10000
+\vfuzz \hfuzz
+\raggedbottom
+
+\usepackage{microtype}
+\end_preamble
+\options smallheadings
+\language english
+\inputencoding default
+\fontscheme palatino
+\graphics default
+\paperfontsize default
+\spacing single
+\papersize Default
+\paperpackage a4
+\use_geometry 0
+\use_amsmath 0
+\use_natbib 0
+\use_numerical_citations 0
+\paperorientation portrait
+\secnumdepth 2
+\tocdepth 2
+\paragraph_separation indent
+\defskip medskip
+\quotes_language english
+\quotes_times 2
+\papercolumns 1
+\papersides 2
+\paperpagestyle default
+\bullet 0
+ 0
+ 0
+ -1
+\end_bullet
+
+\layout Standard
+
+
+\begin_inset ERT
+status Collapsed
+
+\layout Standard
+
+\backslash
+setchapterpreamble[u]{
+\backslash
+dictum[Jeff MacNelly in ``Shoe'']{
+\end_inset
+
+``Uncle Cosmo, why do they call this a word processor?
+\begin_inset Quotes erd
+\end_inset
+
+
+\newline
+``It's simple, Skyler.
+ You've seen what food processors do to food, right?
+\begin_inset Quotes erd
+\end_inset
+
+
+\begin_inset ERT
+status Collapsed
+
+\layout Standard
+}}
+\end_inset
+
+
+\layout Chapter
+
+The Philosophy of LyX
+\layout Section
+
+What is LyX?
+\layout Standard
+
+LyX is a document preparation system.
+ It excels at letting you create complex technical and scientific articles
+ with mathematics, cross-references, bibliographies, indices, etc.
+ It is very good at documents of any length in which the usual processing
+ abilities are required: automatic sectioning and pagination, spellchecking,
+ and so forth.
+ It can also be used to write a letter to your mom, though granted, there
+ are probably simpler programs available for that.
+ It is definitely not the best tool for creating banners, flyers, or advertiseme
+nts (we'll explain why later), though with some effort all these can be
+ done, too.
+ Some examples of what it is used for: memos, letters, dissertations and
+ theses, lecture notes, seminar notebooks, conference proceedings, software
+ documentation, books (on PostgreSQL, remote sensing, cryptology, fictional
+ novels, poetry, and even a children's book or two), articles in refereed
+ scientific journals, scripts for plays and movies, business proposals \SpecialChar \ldots{}
+
+ you get the idea.
+\layout Standard
+
+LyX is a program that provides a modern approach to writing documents with
+ a computer by using a markup language paradigm, an approach that breaks
+ with the obsolete tradition of the
+\begin_inset Quotes eld
+\end_inset
+
+typewriter concept.
+\begin_inset Quotes erd
+\end_inset
+
+ It is designed for authors who want professional output quickly with a
+ minimum of effort without becoming specialists in typesetting.
+ The job of typesetting is done mostly by the computer, not the author;
+ with LyX, the author can concentrate on the contents of her writing.
+\layout Standard
+
+Part of the initial challenge of using LyX comes from the change in thinking
+ that you, the user, must make.
+ At one time, all we had for creating documents were typewriters, so we
+ all learned certain tricks to get around their limitations.
+ Underlining, which is little more than overstriking with the
+\begin_inset Quotes eld
+\end_inset
+
+_
+\begin_inset Quotes erd
+\end_inset
+
+ character, became a way to emphasize text.
+ You were forced to figure out column sizes and tab stops, and set them,
+ before creating a table.
+ The same applied for letters and other right justified text.
+ Hyphenation at the end of a line required a careful eye and a lot of foresight.
+\layout Standard
+
+In other words, we've all been trained to worry about the little details
+ of which character goes where.
+ Consequently, almost all word processors have this mentality.
+ They still use tab stops for adding whitespace.
+ You still need to worry about exactly where on the page something will
+ appear.
+ Emphasizing text means changing a font, similar to changing the typewriter
+ wheel.
+ This is the underlying philosophy of a
+\color blue
+WYSIWYG
+\color default
+ word processor:
+\begin_inset Quotes eld
+\end_inset
+
+What You See Is What You Get
+\begin_inset Quotes erd
+\end_inset
+
+.
+ Unfortunately, that paradigm often results in
+\begin_inset Quotes eld
+\end_inset
+
+What You See Is All You Get
+\begin_inset Quotes erd
+\end_inset
+
+.
+\layout Standard
+
+This is where LyX differs from an ordinary word processor.
+ You don't concern yourself with what character goes where.
+ You tell LyX
+\emph on
+what you're doing
+\emph default
+ and LyX takes care of the rest, following a set of rules called a
+\emph on
+style.
+\emph default
+
+\begin_inset Foot
+collapsed true
+
+\layout Standard
+
+To be fair, most recent versions of the most popular office suites now have
+ some sort of style sheets which follow a similar markup method.
+ However, our experience is that they are still rarely used in practice.
+\end_inset
+
+ Let's look at a little example:
+\layout Standard
+
+Suppose you are writing a report.
+ To begin your report, you want a section called
+\begin_inset Quotes eld
+\end_inset
+
+Introduction\SpecialChar \@.
+
+\begin_inset Quotes erd
+\end_inset
+
+ So, you go into whatever menu it is in your word processor that changes
+ font sizes and decide on a new font size.
+ Then you turn on bold face.
+ Then you type,
+\begin_inset Quotes eld
+\end_inset
+
+1.\SpecialChar ~
+Introduction
+\begin_inset Quotes erd
+\end_inset
+
+.
+ Of course, if you later decide that this section belongs someplace else
+ in the document, or if you insert a new section before it, you need to
+ change the numbering for this and all following sections, as well as any
+ entry in the table of contents.
+
+\layout Standard
+
+In LyX, you go to the pull-down on the far left of the button bar and select
+
+\emph on
+Section
+\emph default
+, and type
+\begin_inset Quotes eld
+\end_inset
+
+Introduction\SpecialChar \@.
+
+\begin_inset Quotes erd
+\end_inset
+
+
+\layout Standard
+
+Yes, that's all.
+ If you cut and paste the section, it will automatically be renumbered---everywh
+ere.
+ And if you enter references to that section correctly (by inserting cross-refer
+ence tags), LyX will automatically update them all throughout the file so
+ that you never, ever type a section number.
+\layout Standard
+
+Now let's look at the problem of consistency.
+ Five days later, you reopen your report and start Section\SpecialChar ~
+4.
+ However, you forget that you were using 18
+\begin_inset ERT
+status Collapsed
+
+\layout Standard
+
+\backslash
+,
+\end_inset
+
+pt bold instead of 16
+\begin_inset ERT
+status Collapsed
+
+\layout Standard
+
+\backslash
+,
+\end_inset
+
+pt, so you type in the heading for Section\SpecialChar ~
+4 in a different font that what
+ you used for Section\SpecialChar ~
+1.
+ That problem doesn't even exist in LyX.
+ The computer takes care of all that silly bookkeeping about which thing
+ has what size font, not you.
+ After all, that's what a computer is good at.
+\layout Standard
+
+Here's another example.
+ Suppose you're making a list.
+ In other word processors, a list is just a bunch of tab stops and newlines.
+ You need to figure out where to put the label for each list item, what
+ that label should be, how many blank lines to put between each item, and
+ so on.
+ Under LyX, you have only two concerns: what kind of list is this, and what
+ do I want to put in it.
+ That's it.
+\layout Standard
+
+So, the basic idea behind LyX is: specify
+\emph on
+what
+\emph default
+ you're doing, not
+\emph on
+how
+\emph default
+ to do it.
+ Instead of
+\begin_inset Quotes eld
+\end_inset
+
+What You See Is What You Get,
+\begin_inset Quotes erd
+\end_inset
+
+ the LyX model is
+\begin_inset Quotes eld
+\end_inset
+
+What You See Is What You
+\emph on
+Mean
+\emph default
+
+\begin_inset Quotes erd
+\end_inset
+
+ or
+\begin_inset Quotes eld
+\end_inset
+
+
+\color blue
+WYSIWYM
+\color default
+.
+\begin_inset Quotes erd
+\end_inset
+
+ It's a powerful idea that greatly simplifies the mechanics of writing documents.
+ This is also why LyX isn't so good for creating posters and flyers---in
+ this case, you
+\emph on
+do
+\emph default
+ want to specify exactly where everything goes, because there are no functional
+ units like paragraphs, sections, etc.
+ This doesn't mean LyX is missing some cool function.
+ It simply means that it isn't the right tool for the job---you don't use
+ a screwdriver to drive in nails (unless your screwdriver comes with a lifetime
+ warranty).
+\layout Section
+
+Differences between LyX and Other Word Processors
+\begin_inset OptArg
+collapsed true
+
+\layout Standard
+
+LyX and Other Word Processors
+\end_inset
+
+
+\begin_inset Foot
+collapsed true
+
+\layout Standard
+
+No, we're not trying to start (or win) a word processor holy war here.
+ But we do think it's important to describe LyX's features.
+ And one of LyX's main features,
+\color blue
+WYSIWYM
+\color default
+, is a fundamentally different concept than the one that most of people
+ have about word processing.
+\end_inset
+
+
+\layout Standard
+
+Here's a list of things you won't find in LyX:
+\layout Itemize
+
+The document ruler
+\layout Itemize
+
+Tab stops
+\layout Itemize
+
+Extra whitespace (i.
+\begin_inset ERT
+status Collapsed
+
+\layout Standard
+
+\backslash
+,
+\end_inset
+
+e.
+\begin_inset ERT
+status Collapsed
+
+\layout Standard
+
+\backslash
+
+\end_inset
+
+hitting
+\emph on
+Enter
+\emph default
+ or
+\emph on
+Space
+\emph default
+ two or more times)
+\layout Standard
+
+Tab stops, along with a ruler showing you the position of things on the
+ page, are useless in LyX.
+ The program worries about where things go on the page, not you.
+ Extra white\SpecialChar \-
+space is similar; LyX adds them where necessary, depending on
+ context.
+ Not being able to type two blank lines in a row will be annoying at first,
+ but it makes more sense once you're thinking in
+\color blue
+WYSIWYM
+\color default
+ terms.
+\layout Standard
+
+Here are some things that exist in LyX, but aren't used as you might think:
+\layout Itemize
+
+Indenting controls
+\layout Itemize
+
+Page breaks
+\layout Itemize
+
+Line spacing (i.
+\begin_inset ERT
+status Collapsed
+
+\layout Standard
+
+\backslash
+,
+\end_inset
+
+e.
+\begin_inset ERT
+status Collapsed
+
+\layout Standard
+
+\backslash
+
+\end_inset
+
+single spaced, double spaced, etc.)
+\layout Itemize
+
+Whitespace, horizontal and vertical
+\layout Itemize
+
+Fonts and font sizes
+\layout Itemize
+
+Typefaces (bold, italic, underline, etc.)
+\layout Standard
+
+Although they exist in LyX, you generally don't need them.
+ LyX will take care of these things for you, depending on what you're doing.
+ Different parts of the document are automatically set in a different typeface
+ and font size.
+ Paragraph indenting is context dependent; different types of paragraphs
+ get indented differently.
+ Page breaks get handled automatically, as well.
+ In general, the space between lines, between words, and between paragraphs
+ is variable, set by LyX.
+\begin_inset Foot
+collapsed true
+
+\layout Standard
+
+There are ways to adjust all of these (only some of which require knowledge
+ of LaTeX), either for a whole document or for a specific location in a
+ document.
+ See the
+\emph on
+User's Guide
+\emph default
+ and/or the
+\emph on
+Extended Features
+\emph default
+ manual for details.
+\end_inset
+
+
+\layout Standard
+
+Lastly, there are a few areas where we believe LyX (and LaTeX) surpasses
+ many word processors:
+\layout Itemize
+
+Hyphenation
+\layout Itemize
+
+Lists of any type
+\layout Itemize
+
+Mathematics
+\layout Itemize
+
+Tables
+\layout Itemize
+
+Cross-referencing
+\layout Standard
+
+Granted, many modern word processors can handle mathematical symbols, tables,
+ and hyphenation, and many have moved towards style definitions and the
+
+\color blue
+WYSIWYM
+\color default
+ concept.
+ However, they've only recently been able to do so, whereas LyX is built
+ upon the LaTeX document preparation system.
+ LaTeX has been around for over 15 years, and
+\emph on
+works
+\emph default
+.
+\the_end
diff --git a/go.py b/go.py
new file mode 100644
--- /dev/null
+++ b/go.py
@@ -0,0 +1,33 @@
+class Go:
+ # 1: B, 0: _, -1: W
+ # resp. jakákoli čísla s opačnými znaménky
+ board=[[0]*19 for i in range(19)]
+
+ def __init__(self): self.board=[[0]*19 for i in range(19)]
+
+ def move(self,color,y,x):
+ if self.board[x][y]!=0: return False
+
+ self.board[x][y]=color
+
+ for i,j in ((-1,0),(1,0),(0,-1),(0,1)):
+ self.temp=[[False]*19 for i in range(19)]
+ if not self._floodFill(-color,x+i,y+j): self._remove()
+ self.temp=[[False]*19 for i in range(19)]
+ if not self._floodFill(color,x,y):
+ self.board[x][y]=0
+ return False
+ return True
+
+ def _floodFill(self,color,x,y):
+ if x<0 or x>18 or y<0 or y>18: return False
+ if self.temp[x][y]: return False
+ if self.board[x][y]==0: return True
+ if self.board[x][y]!=color: return False
+ self.temp[x][y]=True
+ return self._floodFill(color,x-1,y) or self._floodFill(color,x+1,y) or self._floodFill(color,x,y-1) or self._floodFill(color,x,y+1)
+
+ def _remove(self):
+ for i in range(19):
+ for j in range(19):
+ if self.temp[i][j]: self.board[i][j]=0
diff --git a/insertMatrix1.lyx b/insertMatrix1.lyx
new file mode 100644
--- /dev/null
+++ b/insertMatrix1.lyx
@@ -0,0 +1,69 @@
+#LyX 1.3 created this file. For more info see http://www.lyx.org/
+\lyxformat 221
+\textclass article
+\language english
+\inputencoding auto
+\fontscheme default
+\graphics default
+\paperfontsize default
+\spacing single
+\papersize Default
+\paperpackage a4
+\use_geometry 0
+\use_amsmath 0
+\use_natbib 0
+\use_numerical_citations 0
+\paperorientation portrait
+\secnumdepth 3
+\tocdepth 3
+\paragraph_separation indent
+\defskip medskip
+\quotes_language english
+\quotes_times 2
+\papercolumns 1
+\papersides 1
+\paperpagestyle default
+
+\layout Title
+
+How to enter a matrix
+\layout List
+\labelwidthstring 00.00.0000
+
+Ctrl-n Create new document
+\layout List
+\labelwidthstring 00.00.0000
+
+Ctrl-M Insert math inset in display mode
+\layout List
+\labelwidthstring 00.00.0000
+
+Meta-m\SpecialChar ~
+[ Insert
+\begin_inset Formula $\left[\right]$
+\end_inset
+
+
+\layout List
+\labelwidthstring 00.00.0000
+
+Math\SpecialChar ~
+panel: Insert matrix, 3 rows, 3 columns
+\layout Standard
+
+Now just use the cursor to navigate around the entries in the matrix.
+ Here's how it will look: (To create the fractions, use Meta-m\SpecialChar ~
+f)
+\layout Standard
+
+
+\begin_inset Formula \[
+\left[\begin{array}{ccc}
+1 & \frac{1}{3} & \frac{1}{2}\\
+3 & 1 & 3\\
+2 & \frac{1}{3} & 1\end{array}\right]\]
+
+\end_inset
+
+
+\the_end
diff --git a/notes.txt b/notes.txt
new file mode 100644
--- /dev/null
+++ b/notes.txt
@@ -0,0 +1,2 @@
+38 = 25
+115 = 107
diff --git a/sgf-compresor.py b/sgf-compresor.py
new file mode 100644
--- /dev/null
+++ b/sgf-compresor.py
@@ -0,0 +1,124 @@
+import re
+import sys
+
+def compressValues(s):
+ vals=[]
+ indicesX=[]
+ for m in re.finditer(r"\[.*?[^\\]\]",s,flags=re.DOTALL):
+ vals.append(m.group(0)[1:-1])
+ indicesX.append(m.span())
+ i=len(indicesX)-1
+ for start,end in reversed(indicesX):
+ s=s[:start+1]+"$"+str(i)+s[end-1:]
+ i-=1
+ return s,vals
+
+s=open("c:/Users/Laman/Documents/go/EuroGoTV1-x.sgf",encoding="utf8").read()
+s,d=compressValues(s)
+
+print(s)
+print(d[:20])
+
+sys.exit(0)
+
+# # #
+
+# http://en.wikipedia.org/wiki/Recursive_descent_parser
+
+# # #
+
+import collections
+import re
+
+Token = collections.namedtuple('Token', ['typ', 'value'])
+
+def tokenize(s):
+ keywords = {'IF', 'THEN', 'ENDIF', 'FOR', 'NEXT', 'GOSUB', 'RETURN'}
+ token_specification = [
+ ('PROPID',r'[A-Z]+'),
+ ('PROPVAL',r'\[\$\d+\]'),
+ ('NODE',r';'),
+ ('LPARENTHESIS',r'\('),
+ ('RPARENTHESIS',r'\)'),
+ ('SKIP',r'\s')
+ ]
+ tok_regex = '|'.join('(?P<%s>%s)' % pair for pair in token_specification)
+ get_token = re.compile(tok_regex).match
+ line = 1
+ pos = line_start = 0
+ mo = get_token(s)
+ while mo is not None:
+ typ = mo.lastgroup
+ if typ == 'NEWLINE':
+ line_start = pos
+ line += 1
+ elif typ != 'SKIP':
+ val = mo.group(typ)
+ if typ == 'ID' and val in keywords:
+ typ = val
+ yield Token(typ, val, line, mo.start()-line_start)
+ pos = mo.end()
+ mo = get_token(s, pos)
+ if pos != len(s):
+ raise RuntimeError('Unexpected character %r on line %d' %(s[pos], line))
+
+statements = '''
+ IF quantity THEN
+ total := total + price * quantity;
+ tax := price * 0.05;
+ ENDIF;
+'''
+
+for token in tokenize(statements):
+ print(token)
+
+tokens=["list of tokens"]
+i=0
+sym
+
+def getSym():
+ sym=token[i]
+ i+=1
+
+def accept(s):
+ if sym==s:
+ getSym()
+ return True
+ else:
+ return False
+
+def expect(s):
+ if accept(s):
+ return True
+ else:
+ pass # error
+ return False
+
+def propValue():
+ if accept(lbracket) and cValueType() and expect(rbracket):
+ pass
+ else:
+ pass # error
+
+def propIdent():
+ accept(ident)
+
+def propertyX():
+ propIdent()
+ while propValue(): pass
+
+def node():
+ accept(semicolon)
+ propertyX()
+
+def sequence():
+ while node(): pass
+
+def gameTree():
+ accept(lparenthesis)
+ sequence()
+ while gameTree(): pass
+ expect(rparenthesis)
+
+def collection():
+ while gameTree(): pass
\ No newline at end of file
diff --git a/sgf.py b/sgf.py
new file mode 100644
--- /dev/null
+++ b/sgf.py
@@ -0,0 +1,45 @@
+import re
+import datetime
+
+class Sgf:
+ gameName=None
+ black=None
+ white=None
+ rankB=None
+ rankW=None
+
+ result=None
+ komi=6.5
+
+ date=None
+ place=None
+
+ moves=[]
+
+ def __init__(self,s):
+ m=re.search("GN\[.*\]",s)
+ if m: self.gameName=m.group()
+ m=re.search("PB\[.*\]",s)
+ if m: self.black=m.group()
+ m=re.search("PW\[.*\]",s)
+ if m: self.white=m.group()
+ m=re.search("BR\[.*\]",s)
+ if m: self.rankB=m.group()
+ m=re.search("WR\[.*\]",s)
+ if m: self.rankW=m.group()
+ m=re.search("RE\[.*\]",s)
+ if m: self.result=m.group()
+ m=re.search("KM\[.*\]",s)
+ if m: self.komi=m.group()
+ m=re.search("PC\[.*\]",s)
+ if m: self.place=m.group()
+ m=re.search("DT\[.*\]",s)
+ if m: self.date=m.group() # naparsovat ho
+
+ self.moves=re.findall("\W([BW])\[([a-s]{2})\]",s) # a pass?
+ char2int=lambda a:ord(a)-ord('a')
+ self.moves=[(c,(char2int(m[0]),char2int(m[1]))) for c,m in self.moves]
+
+ def getMoves(self):
+ return self.moves.copy()
+
\ No newline at end of file
diff --git a/sgfParser.py b/sgfParser.py
new file mode 100644
--- /dev/null
+++ b/sgfParser.py
@@ -0,0 +1,517 @@
+import re
+
+# def digit(str):
+ # if re.match("") str[0]
+
+def skipWhitespace(str,start):
+ i=start
+ while i=len(str) or str[i]!="(":
+ # print("error when parsing GameTree")
+ return (start,None)
+ i,x=Node.create(str,start+1)
+ if x is None:
+ # print("error when parsing GameTree")
+ return (i,None)
+ while x is not None:
+ res.nodes.append(x)
+ i=skipWhitespace(str,i)
+ i,x=Node.create(str,i)
+ i=skipWhitespace(str,i)
+ i,x=GameTree.create(str,i)
+ while x is not None:
+ res.branches.append(x)
+ i=skipWhitespace(str,i)
+ i,x=GameTree.create(str,i)
+ if str[i]!=")":
+ # print("error when parsing GameTree")
+ return (i,None)
+ return (i+1,res)
+
+class Node:
+ properties=dict()
+
+ def create(str,start):
+ res=Node()
+ if str[start]!=";":
+ # print("error when parsing Node")
+ return (start,None)
+ i=skipWhitespace(str,start+1)
+ i,x=Property.create(str,start+1)
+ while x is not None:
+ if x.name in res.properties:
+ print('error: duplicate "{0}" property in node at position {1}. second value ignored'.format(x.name,start))
+ else:
+ res.properties[x.name]=x
+ i=skipWhitespace(str,i)
+ i,x=Property.create(str,i)
+ return (i,res)
+
+class Property:
+ name=""
+ value=""
+
+ def create(str,start):
+ res=Property()
+ i,x=Property.ident(str,start)
+ if x is None:
+ return (start,None)
+ res.name=x
+ i,x=PropValue.create(str,i,res.name)
+ if x is None:
+ print('error when parsing property "{0}" at position {1}'.format(res.name,i))
+ return (start,None)
+ # while x is not None: # přesunuto do PropValue.listOf
+ # res.values.append(x)
+ # i=skipWhitespace(str,i)
+ # i,x=PropValue.create(str,i,res.name)
+ return (i,res)
+
+ def ident(str,start):
+ r=re.compile(r"[A-Z]+")
+ m=r.match(str,start)
+ if m is None: return (start,None)
+ return (m.end(),m.group())
+
+class PropValue:
+ type=""
+ value=None
+ patterns=dict()
+
+ def create(str,start,name):
+ if name in PropValue.patterns:
+ return PropValue.patterns[name](str,start)
+ else:
+ print('warning, unknown property "{0}" at position {1}'.format(name,start))
+ return PropValue.singleton(PropValue.anything)(str,start)
+
+ # def singleton(str,start,vType):
+ # if str[start]!="[":
+ # return (start,None)
+ # i,x=vType(str,start+1)
+ # if x is None: return (start,None)
+ # if str[i]!="]":
+ # return (start,None)
+ # return (i+1,x)
+
+ def choose(*vTypes):
+ def f(str,start):
+ for vType in vTypes:
+ i,x=vType(str,start)
+ if x is not None: return (i,x)
+ return (start,None)
+ return f
+
+ def singleton(vType):
+ def f(str,start):
+ if str[start]!="[":
+ return (start,None)
+ i,x=vType(str,start+1)
+ if x is None: return (start,None)
+ if str[i]!="]":
+ return (start,None)
+ return (i+1,x)
+ return f
+
+ # def listOf(str,start,vType,allowEmpty=False):
+ # res=[]
+ # i,x=singleton(str,start,vType)
+ # # singleton(vType) if vType not tuple else compose(vType[0],vType[1])
+ # while x!=None:
+ # res.append(x)
+ # i,x=singleton(str,i,vType)
+ # if len(res)==0 and not allowEmpty: return (start,None)
+ # return (i,res)
+
+ def listOf(vType,allowEmpty=False):
+ def f(str,start):
+ res=[]
+ single=singleton(vType)
+ i,x=single(str,start)
+ while x!=None:
+ res.append(x)
+ i,x=single(str,i)
+ if len(res)==0 and not allowEmpty: return (start,None)
+ return (i,res)
+ return f
+
+ # def compose(str,start,vTypeA,vTypeB):
+ # i,a=vTypeA(str,start)
+ # if a==None or str[i]!=":": return (start,None)
+ # i,b=vTypeB(str,i+1)
+ # if b==None: return start,None
+ # return (i,(a,b))
+
+ def compose(vTypeA,vTypeB):
+ def f(str,start):
+ i,a=vTypeA(str,start)
+ # print(">",i,a)
+ if a==None or str[i]!=":": return (start,None)
+ i,b=vTypeB(str,i+1)
+ # print(">",i,b)
+ if b==None: return start,None
+ return (i,(a,b))
+ return f
+
+ def number(str,start):
+ r=re.compile(r"(\+|-|)\d+")
+ m=r.match(str,start)
+ if m is None: return (start,None)
+ res=int(m.group(0))
+ return (m.end(),res)
+
+ def real(str,start):
+ r=re.compile(r"(\+|-|)\d+(\.\d+)?")
+ m=r.match(str,start)
+ if m is None: return (start,None)
+ res=float(m.group(0))
+ return (m.end(),res)
+
+ def double(str,start):
+ r=re.compile(r"1|2")
+ m=r.match(str,start)
+ if m is None: return (start,None)
+ res=int(m.group(0))
+ return (m.end(),res)
+
+ def color(str,start):
+ r=re.compile(r"B|W")
+ m=r.match(str,start)
+ if m is None: return (start,None)
+ return (m.end(),m.group(0))
+
+ # def simpleText(str,start):
+ # res=""
+ # esc=False
+ # lineBreak=False
+ # for c in str:
+ # if esc:
+ # res+=c
+ # esc=False
+ # elif c=="\\":
+ # esc=True
+ # elif c=="]":
+ # break
+ # else:
+ # res+=c
+ # return res
+
+ def text(simple=True,composed=False):
+ def f(str,start):
+ res=""
+ esc=False
+ lastC=""
+ for i,c in enumerate(str[start:],start):
+ if esc:
+ if c!="\n" and c!="\r": res+=c
+ esc=False
+ elif (c=="\n" and lastC=="\r") or (c=="\r" and lastC=="\n"): pass
+ elif c=="\r" or c=="\n" and not simple:
+ res+="\n"
+ elif c.isspace():
+ res+=" "
+ elif c=="\\":
+ esc=True
+ elif c=="]" or (c==":" and composed):
+ break
+ else:
+ res+=c
+ lastC=c
+ return (i,res)
+ return f
+
+ def empty(str,start): return (start,"")
+
+ def anything(str,start):
+ esc=False
+ for i,c in enumerate(str[start:],start):
+ if esc: esc=False
+ elif c=="\\": esc=True
+ elif c=="]": break
+ return (i,str[start:i])
+
+ # go specific
+ def point(str,start):
+ r=re.compile(r"[a-zA-Z]{2}|") # !! limit to board size
+ m=r.match(str,start)
+ if m is None: return (start,None)
+ if m.group(0)=="": # pass, !! tt
+ return (m.end(),tuple())
+ col=m.group(0)[0]
+ row=m.group(0)[1]
+ col=ord(col) - (ord("a") if "a"<=col<="z" else ord("A")-26)
+ row=ord(row) - (ord("a") if "a"<=row<="z" else ord("A")-26)
+ return (m.end(),(col,row))
+
+ move=point
+ stone=point
+
+ patterns={
+ "B":singleton(move),
+ "KO":singleton(empty),
+ "MN":singleton(number),
+ "W":singleton(move),
+ "AB":listOf(stone), #
+ "AE":listOf(point), #
+ "AW":listOf(stone), #
+ "PL":singleton(color),
+ "C":singleton(text(simple=False)),
+ "DM":singleton(double),
+ "GB":singleton(double),
+ "GW":singleton(double),
+ "HO":singleton(double),
+ "N":singleton(text()),
+ "UC":singleton(double),
+ "V":singleton(real),
+ "BM":singleton(double),
+ "DO":singleton(empty),
+ "IT":singleton(empty),
+ "TE":singleton(double),
+ "AR":listOf(compose(point,point)), #
+ "CR":listOf(point), #
+ "DD":listOf(point,allowEmpty=True), #
+ "LB":listOf(compose(point,text())), #
+ "LN":listOf(compose(point,point)), #
+ "MA":listOf(point), #
+ "SL":listOf(point), #
+ "SQ":listOf(point), #
+ "TR":listOf(point), #
+ "AP":singleton(compose(text(composed=True),text())), #
+ "CA":singleton(text()),
+ "FF":singleton(number),
+ "GM":singleton(number),
+ "ST":singleton(number),
+ "SZ":choose(singleton(number),singleton(compose(number,number))), #
+ "AN":singleton(text()),
+ "BR":singleton(text()),
+ "BT":singleton(text()),
+ "CP":singleton(text()),
+ "DT":singleton(text()),
+ "EV":singleton(text()),
+ "GN":singleton(text()),
+ "GC":singleton(text(simple=False)),
+ "ON":singleton(text()),
+ "OT":singleton(text()),
+ "PB":singleton(text()),
+ "PC":singleton(text()),
+ "PW":singleton(text()),
+ "RE":singleton(text()),
+ "RO":singleton(text()),
+ "RU":singleton(text()),
+ "SO":singleton(text()),
+ "TM":singleton(real),
+ "US":singleton(text()),
+ "WR":singleton(text()),
+ "WT":singleton(text()),
+ "BL":singleton(real),
+ "OB":singleton(number),
+ "OW":singleton(number),
+ "WL":singleton(real),
+ "FG":choose(singleton(empty),singleton(compose(number,text()))), #
+ "PM":singleton(number),
+ "VW":listOf(point,allowEmpty=True), #
+
+ # go specific
+ "HA":singleton(number),
+ "KM":singleton(real),
+ "TB":listOf(point,allowEmpty=True),
+ "TW":listOf(point,allowEmpty=True)
+ }
+
+"""def property(str):
+ # i=propIdent(str)
+ # if i<0: return -1
+ # j=i
+ # i=propValue(str[i:])
+ # while i>=0:
+ # j+=i
+ # i=propValue(str[i:])
+ # return j
+
+def propIdent(str):
+ m=re.match(r"[A-Z]+",str)
+ if m is None: return -1
+ return m.end()
+
+def propValue(str):
+ i=cValueType(str[1:])
+ if str[0]=="[" and i>=0 and str[i]=="]": return i+1
+ else: return -1
+
+class propValue:
+ pass
+
+def cValueType(str,start):
+ matches=[real,number,double,color,simpleText]
+ for f in matches:
+ i,x=f(str,start)
+ if x is not None: return i,x
+ return 1/0
+
+def number(str,start):
+ r=re.compile(r"(\+|-|)\d+")
+ m=r.match(str,start)
+ if m is None: return (-1,None)
+ x=int(m.group(0))
+ return (m.end(),x)
+
+def real(str):
+ m=re.match(r"(\+|-|)\d+(\.\d+)?",str)
+ if m is None: return -1
+ return m.end()
+
+def double(str):
+ m=re.match(r"1|2",str)
+ if m is None: return -1
+ return m.end()
+
+def color(str):
+ m=re.match(r"B|W",str)
+ if m is None: return -1
+ return m.end()
+
+def simpleText(str):
+ res=r""
+ esc=False
+ for c in str:
+ if esc:
+ res+=c
+ esc=False
+ elif c=="\\":
+ esc=True
+ elif c=="]":
+ break
+ else:
+ res+=c
+ return res"""
+
+sgf=open("in/1-Hora-Simara.sgf").read()
+
+x=Collection(sgf)
+
+# TODO:
+# date
+
+
+"""
+# move
+B move
+KO none
+MN number
+W move
+
+# setup
+AB list of stone
+AE list of point
+AW list of stone
+PL color
+
+# node annotation
+C text
+DM double
+GB double
+GW double
+HO double
+N simpleText
+UC double
+V real
+
+# move annotation
+BM double
+DO none
+IT none
+TE double
+
+# markup
+AR list of composed point:point
+CR list of point
+DD elist of point
+LB list of composed point:simpleText
+LN list of composed point:point
+MA list of point
+SL list of point
+SQ list of point
+TR list of point
+
+# root
+AP composed simpleText:simpleText
+CA simpleText
+FF number
+GM number
+ST number
+SZ number | composed number:number
+
+# game info
+AN simpleText
+BR simpleText
+BT simpleText
+CP simpleText
+DT simpleText
+EV simpleText
+GN simpleText
+GC text
+ON simpleText
+OT simpleText
+PB simpleText
+PC simpleText
+PW simpleText
+RE simpleText
+RO simpleText
+RU simpleText
+SO simpleText
+TM real
+US simpleText
+WR simpleText
+WT simpleText
+
+# timing
+BL real
+OB number
+OW number
+WL real
+
+# misc
+FG none | composition of number:simpleText
+PM number
+VW elist of point
+"""
\ No newline at end of file
diff --git a/work.lyx b/work.lyx
new file mode 100644
--- /dev/null
+++ b/work.lyx
@@ -0,0 +1,1133 @@
+#LyX 2.0 created this file. For more info see http://www.lyx.org/
+\lyxformat 413
+\begin_document
+\begin_header
+\textclass article
+\begin_preamble
+\renewcommand{\fnum@figure}{Diagram~\thefigure}
+\@addtoreset{figure}{section}
+\end_preamble
+\use_default_options true
+\maintain_unincluded_children false
+\language czech
+\language_package default
+\inputencoding auto
+\fontencoding global
+\font_roman default
+\font_sans default
+\font_typewriter default
+\font_default_family default
+\use_non_tex_fonts false
+\font_sc false
+\font_osf false
+\font_sf_scale 100
+\font_tt_scale 100
+
+\graphics default
+\default_output_format default
+\output_sync 0
+\bibtex_command default
+\index_command default
+\paperfontsize default
+\spacing single
+\use_hyperref false
+\papersize a4paper
+\use_geometry true
+\use_amsmath 1
+\use_esint 1
+\use_mhchem 1
+\use_mathdots 1
+\cite_engine basic
+\use_bibtopic false
+\use_indices false
+\paperorientation portrait
+\suppress_date false
+\use_refstyle 1
+\index Index
+\shortcut idx
+\color #008000
+\end_index
+\leftmargin 2cm
+\topmargin 4cm
+\rightmargin 2cm
+\bottommargin 4cm
+\secnumdepth 3
+\tocdepth 3
+\paragraph_separation indent
+\paragraph_indentation default
+\quotes_language english
+\papercolumns 1
+\papersides 2
+\paperpagestyle headings
+\tracking_changes false
+\output_changes false
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
+\end_header
+
+\begin_body
+
+\begin_layout Section
+kolo
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status open
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+Černý: Jan Hora
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+Bílý: Jan Šimara
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+Výsledek: Černý vyhrál vzdáním
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+ filename out/1-Hora-Simara-1.svg
+ width 100col%
+ groupId diagrams
+
+\end_inset
+
+
+\begin_inset Caption
+
+\begin_layout Plain Layout
+1-50
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+38 na 25
+\end_layout
+
+\end_inset
+
+
+\begin_inset space \hfill{}
+\end_inset
+
+
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+ filename out/1-Hora-Simara-2.svg
+ width 100col%
+ groupId diagrams
+
+\end_inset
+
+
+\begin_inset Caption
+
+\begin_layout Plain Layout
+51-100
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+ filename out/1-Hora-Simara-3.svg
+ width 100col%
+ groupId diagrams
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption
+
+\begin_layout Plain Layout
+
+\lang english
+101-150
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+115 na 107
+\end_layout
+
+\end_inset
+
+
+\begin_inset space \hfill{}
+\end_inset
+
+
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+ filename out/1-Hora-Simara-4.svg
+ width 100col%
+ groupId diagrams
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption
+
+\begin_layout Plain Layout
+
+\lang english
+151-200
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status open
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+Černý: Lukáš Podpěra
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+Bílý: Tomáš Kozelek
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+Výsledek: Černý vyhrál o 7,5
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+ filename out/1-Podpera-Kozelek-1.svg
+ width 100col%
+ groupId diagrams
+
+\end_inset
+
+
+\begin_inset Caption
+
+\begin_layout Plain Layout
+1-50
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\begin_inset space \hfill{}
+\end_inset
+
+
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+ filename out/1-Podpera-Kozelek-2.svg
+ width 100col%
+ groupId diagrams
+
+\end_inset
+
+
+\begin_inset Caption
+
+\begin_layout Plain Layout
+51-100
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+ filename out/1-Podpera-Kozelek-3.svg
+ width 100col%
+ groupId diagrams
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption
+
+\begin_layout Plain Layout
+
+\lang english
+101-150
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\begin_inset space \hfill{}
+\end_inset
+
+
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+ filename out/1-Podpera-Kozelek-4.svg
+ width 100col%
+ groupId diagrams
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption
+
+\begin_layout Plain Layout
+
+\lang english
+151-200
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+ filename out/1-Podpera-Kozelek-5.svg
+ width 100col%
+ groupId diagrams
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption
+
+\begin_layout Plain Layout
+
+\lang english
+201-250
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section
+kolo
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status open
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+Černý: Jan Prokop
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+Bílý: Ondřej Kruml
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+Výsledek: Černý vyhrál vzdáním
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+ filename out/1-Prokop-Kruml-1.svg
+ width 100col%
+ groupId diagrams
+
+\end_inset
+
+
+\begin_inset Caption
+
+\begin_layout Plain Layout
+1-50
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\begin_inset space \hfill{}
+\end_inset
+
+
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+ filename out/1-Prokop-Kruml-2.svg
+ width 100col%
+ groupId diagrams
+
+\end_inset
+
+
+\begin_inset Caption
+
+\begin_layout Plain Layout
+51-100
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+ filename out/1-Prokop-Kruml-3.svg
+ width 100col%
+ groupId diagrams
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption
+
+\begin_layout Plain Layout
+
+\lang english
+101-150
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\begin_inset space \hfill{}
+\end_inset
+
+
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+ filename out/1-Prokop-Kruml-4.svg
+ width 100col%
+ groupId diagrams
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption
+
+\begin_layout Plain Layout
+
+\lang english
+151-200
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+164 na a,
+\end_layout
+
+\begin_layout Plain Layout
+190, 196 na 172,
+\end_layout
+
+\begin_layout Plain Layout
+193, 199 na 187
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+ filename out/1-Prokop-Kruml-5.svg
+ width 100col%
+ groupId diagrams
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption
+
+\begin_layout Plain Layout
+
+\lang english
+201-250
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+209, 217, 223, 228 na a,
+\end_layout
+
+\begin_layout Plain Layout
+214, 220, 226 na 206
+\end_layout
+
+\end_inset
+
+
+\begin_inset space \hfill{}
+\end_inset
+
+
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+ filename out/1-Prokop-Kruml-6.svg
+ width 100col%
+ groupId diagrams
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption
+
+\begin_layout Plain Layout
+
+\lang english
+251-300
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status open
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+Černý: Ondřej Šilt
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+Bílý: Bronislav Snídal
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+Výsledek: Černý vyhrál na čas
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+ filename out/1-Silt-Snidal-1.svg
+ width 100col%
+ groupId diagrams
+
+\end_inset
+
+
+\begin_inset Caption
+
+\begin_layout Plain Layout
+1-50
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\begin_inset space \hfill{}
+\end_inset
+
+
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+ filename out/1-Silt-Snidal-2.svg
+ width 100col%
+ groupId diagrams
+
+\end_inset
+
+
+\begin_inset Caption
+
+\begin_layout Plain Layout
+51-100
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+ filename out/1-Silt-Snidal-3.svg
+ width 100col%
+ groupId diagrams
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption
+
+\begin_layout Plain Layout
+
+\lang english
+101-150
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+115, 121, 126 na 105,
+\end_layout
+
+\begin_layout Plain Layout
+118, 124 na 112
+\end_layout
+
+\end_inset
+
+
+\begin_inset space \hfill{}
+\end_inset
+
+
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+\begin_layout Plain Layout
+\align center
+\begin_inset Graphics
+ filename out/1-Silt-Snidal-4.svg
+ width 100col%
+ groupId diagrams
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption
+
+\begin_layout Plain Layout
+
+\lang english
+151-200
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+190 na 182,
+\end_layout
+
+\begin_layout Plain Layout
+193 na 187,
+\end_layout
+
+\begin_layout Plain Layout
+195 na 161
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_body
+\end_document
diff --git a/work2.lyx b/work2.lyx
new file mode 100644
--- /dev/null
+++ b/work2.lyx
@@ -0,0 +1,1350 @@
+#LyX file created by tex2lyx 2.0.4
+\lyxformat 413
+\begin_document
+\begin_header
+\textclass book
+\begin_preamble
+\usepackage{babel}
+
+\end_preamble
+\use_default_options false
+\language czech
+\language_package default
+\inputencoding auto
+\fontencoding T1
+\font_roman default
+\font_sans default
+\font_typewriter default
+\font_default_family default
+\use_non_tex_fonts false
+\font_sc false
+\font_osf false
+\font_sf_scale 100
+\font_tt_scale 100
+\graphics default
+\paperfontsize default
+\spacing single
+\use_hyperref 0
+\papersize a4paper
+\use_geometry true
+\use_amsmath 2
+\use_esint 1
+\use_mhchem 0
+\use_mathdots 0
+\cite_engine basic
+\use_bibtopic false
+\use_indices false
+\paperorientation portrait
+\suppress_date false
+\use_refstyle 0
+\leftmargin 2cm
+\topmargin 2cm
+\rightmargin 2cm
+\bottommargin 2cm
+\secnumdepth 3
+\tocdepth 3
+\paragraph_separation indent
+\paragraph_indentation default
+\quotes_language german
+\papercolumns 1
+\papersides 1
+\paperpagestyle default
+\tracking_changes false
+\output_changes false
+\html_math_output 0
+\html_css_as_file 0
+\html_be_strict false
+\end_header
+
+\begin_body
+
+\begin_layout Section
+
+1. kolo
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+
+Černý: Jan Hora
+\end_layout
+
+\begin_layout Labeling
+
+Bílý: Jan Šimara
+\end_layout
+
+\begin_layout Labeling
+
+Výsledek: Černý vyhrál vzdáním
+\end_layout
+
+\begin_layout Standard
+
+
+\begin_inset Float figure
+placement h
+wide false
+sideways false
+status open
+
+
+\begin_layout Standard
+
+
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+
+\begin_layout Plain Layout
+\align center
+
+
+\begin_inset Graphics
+ filename out/1-Hora-Simara-1.eps
+ width 100col%
+
+\end_inset
+
+
+\begin_inset Caption
+
+\begin_layout Standard
+
+1-50
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+
+38 na 25
+\end_layout
+
+\end_inset
+
+
+\begin_inset space \hfill{}
+
+\end_inset
+
+
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+
+\begin_layout Plain Layout
+\align center
+
+
+\begin_inset Graphics
+ filename out/1-Hora-Simara-2.eps
+ width 100col%
+
+\end_inset
+
+
+\begin_inset Caption
+
+\begin_layout Standard
+
+51-100
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+
+
+\begin_inset Float figure
+placement h
+wide false
+sideways false
+status open
+
+
+\begin_layout Standard
+
+
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+
+\begin_layout Plain Layout
+\align center
+
+
+\begin_inset Graphics
+ filename out/1-Hora-Simara-3.eps
+ width 100col%
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\begin_inset Caption
+
+\begin_layout Standard
+
+
+\lang english
+101-150
+\lang czech
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+
+\lang czech
+
+115 na 107
+\end_layout
+
+\end_inset
+
+
+\begin_inset space \hfill{}
+
+\end_inset
+
+
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+
+\begin_layout Plain Layout
+\align center
+
+
+\begin_inset Graphics
+ filename out/1-Hora-Simara-4.eps
+ width 100col%
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\begin_inset Caption
+
+\begin_layout Standard
+
+
+\lang english
+151-200
+\lang czech
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+
+
+\begin_inset Newpage newpage
+\end_inset
+
+
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+
+Černý: Lukáš Podpěra
+\end_layout
+
+\begin_layout Labeling
+
+Bílý: Tomáš Kozelek
+\end_layout
+
+\begin_layout Labeling
+
+Výsledek: Černý vyhrál o 7,5
+\end_layout
+
+\begin_layout Standard
+
+
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status open
+
+
+\begin_layout Standard
+
+
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+
+\begin_layout Plain Layout
+\align center
+
+
+\begin_inset Graphics
+ filename out/1-Podpera-Kozelek-1.eps
+ width 100col%
+
+\end_inset
+
+
+\begin_inset Caption
+
+\begin_layout Standard
+
+1-50
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\begin_inset space \hfill{}
+
+\end_inset
+
+
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+
+\begin_layout Plain Layout
+\align center
+
+
+\begin_inset Graphics
+ filename out/1-Podpera-Kozelek-2.eps
+ width 100col%
+
+\end_inset
+
+
+\begin_inset Caption
+
+\begin_layout Standard
+
+51-100
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+
+
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status open
+
+
+\begin_layout Standard
+
+
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+
+\begin_layout Plain Layout
+\align center
+
+
+\begin_inset Graphics
+ filename out/1-Podpera-Kozelek-3.eps
+ width 100col%
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\begin_inset Caption
+
+\begin_layout Standard
+
+
+\lang english
+101-150
+\lang czech
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\begin_inset space \hfill{}
+
+\end_inset
+
+
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+
+\begin_layout Plain Layout
+\align center
+
+
+\begin_inset Graphics
+ filename out/1-Podpera-Kozelek-4.eps
+ width 100col%
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\begin_inset Caption
+
+\begin_layout Standard
+
+
+\lang english
+151-200
+\lang czech
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+
+
+\begin_inset space \hfill{}
+
+\end_inset
+
+
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status open
+
+
+\begin_layout Standard
+
+
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+
+\begin_layout Plain Layout
+\align center
+
+
+\begin_inset Graphics
+ filename out/1-Podpera-Kozelek-5.eps
+ width 100col%
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\begin_inset Caption
+
+\begin_layout Standard
+
+
+\lang english
+201-250
+\lang czech
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+
+
+\begin_inset space \hfill{}
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+
+Černý: Jan Prokop
+\end_layout
+
+\begin_layout Labeling
+
+Bílý: Ondřej Kruml
+\end_layout
+
+\begin_layout Labeling
+
+Výsledek: Černý vyhrál vzdáním
+\end_layout
+
+\begin_layout Standard
+
+
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status open
+
+
+\begin_layout Standard
+
+
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+
+\begin_layout Plain Layout
+\align center
+
+
+\begin_inset Graphics
+ filename out/1-Prokop-Kruml-1.eps
+ width 100col%
+
+\end_inset
+
+
+\begin_inset Caption
+
+\begin_layout Standard
+
+1-50
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\begin_inset space \hfill{}
+
+\end_inset
+
+
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+
+\begin_layout Plain Layout
+\align center
+
+
+\begin_inset Graphics
+ filename out/1-Prokop-Kruml-2.eps
+ width 100col%
+
+\end_inset
+
+
+\begin_inset Caption
+
+\begin_layout Standard
+
+51-100
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+
+
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status open
+
+
+\begin_layout Standard
+
+
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+
+\begin_layout Plain Layout
+\align center
+
+
+\begin_inset Graphics
+ filename out/1-Prokop-Kruml-3.eps
+ width 100col%
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\begin_inset Caption
+
+\begin_layout Standard
+
+
+\lang english
+101-150
+\lang czech
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\begin_inset space \hfill{}
+
+\end_inset
+
+
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+
+\begin_layout Plain Layout
+\align center
+
+
+\begin_inset Graphics
+ filename out/1-Prokop-Kruml-4.eps
+ width 100col%
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\begin_inset Caption
+
+\begin_layout Standard
+
+
+\lang english
+151-200
+\lang czech
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+
+\lang czech
+
+164 na a,
+\end_layout
+
+\begin_layout Plain Layout
+
+\lang czech
+
+190, 196 na 172,
+\end_layout
+
+\begin_layout Plain Layout
+
+\lang czech
+
+193, 199 na 187
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+
+
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status open
+
+
+\begin_layout Standard
+
+
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+
+\begin_layout Plain Layout
+\align center
+
+
+\begin_inset Graphics
+ filename out/1-Prokop-Kruml-5.eps
+ width 100col%
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\begin_inset Caption
+
+\begin_layout Standard
+
+
+\lang english
+201-250
+\lang czech
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+
+\lang czech
+
+209, 217, 223, 228 na a,
+\end_layout
+
+\begin_layout Plain Layout
+
+\lang czech
+
+214, 220, 226 na 206
+\end_layout
+
+\end_inset
+
+
+\begin_inset space \hfill{}
+
+\end_inset
+
+
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+
+\begin_layout Plain Layout
+\align center
+
+
+\begin_inset Graphics
+ filename out/1-Prokop-Kruml-6.eps
+ width 100col%
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\begin_inset Caption
+
+\begin_layout Standard
+
+
+\lang english
+251-300
+\lang czech
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+
+
+\begin_inset Newpage newpage
+\end_inset
+
+
+\end_layout
+
+\begin_layout Labeling
+\labelwidthstring 00.00.0000
+
+Černý: Ondřej Šilt
+\end_layout
+
+\begin_layout Labeling
+
+Bílý: Bronislav Snídal
+\end_layout
+
+\begin_layout Labeling
+
+Výsledek: Černý vyhrál na čas
+\end_layout
+
+\begin_layout Standard
+
+
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status open
+
+
+\begin_layout Standard
+
+
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+
+\begin_layout Plain Layout
+\align center
+
+
+\begin_inset Graphics
+ filename out/1-Silt-Snidal-1.eps
+ width 100col%
+
+\end_inset
+
+
+\begin_inset Caption
+
+\begin_layout Standard
+
+1-50
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\begin_inset space \hfill{}
+
+\end_inset
+
+
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+
+\begin_layout Plain Layout
+\align center
+
+
+\begin_inset Graphics
+ filename out/1-Silt-Snidal-2.eps
+ width 100col%
+
+\end_inset
+
+
+\begin_inset Caption
+
+\begin_layout Standard
+
+51-100
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+
+
+\begin_inset Float figure
+placement H
+wide false
+sideways false
+status open
+
+
+\begin_layout Standard
+
+
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+
+\begin_layout Plain Layout
+\align center
+
+
+\begin_inset Graphics
+ filename out/1-Silt-Snidal-3.eps
+ width 100col%
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\begin_inset Caption
+
+\begin_layout Standard
+
+
+\lang english
+101-150
+\lang czech
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+
+\lang czech
+
+115, 121, 126 na 105,
+\end_layout
+
+\begin_layout Plain Layout
+
+\lang czech
+
+118, 124 na 112
+\end_layout
+
+\end_inset
+
+
+\begin_inset space \hfill{}
+
+\end_inset
+
+
+\begin_inset Box Frameless
+position "t"
+hor_pos "c"
+has_inner_box 1
+inner_pos "t"
+use_parbox 0
+use_makebox 0
+width "45col%"
+special "none"
+height "1in"
+height_special "totalheight"
+status open
+
+
+\begin_layout Plain Layout
+\align center
+
+
+\begin_inset Graphics
+ filename out/1-Silt-Snidal-4.eps
+ width 100col%
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\begin_inset Caption
+
+\begin_layout Standard
+
+
+\lang english
+151-200
+\lang czech
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+
+\lang czech
+
+190 na 182,
+\end_layout
+
+\begin_layout Plain Layout
+
+\lang czech
+
+193 na 187,
+\end_layout
+
+\begin_layout Plain Layout
+
+\lang czech
+
+195 na 161
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_body
+\end_document
diff --git a/work2.tex b/work2.tex
new file mode 100644
--- /dev/null
+++ b/work2.tex
@@ -0,0 +1,270 @@
+%% LyX 2.0.4 created this file. For more info, see http://www.lyx.org/.
+%% Do not edit unless you really know what you are doing.
+\documentclass[oneside,english,czech]{book}
+\usepackage[T1]{fontenc}
+\usepackage[latin9,latin2]{inputenc}
+\usepackage[a4paper]{geometry}
+\geometry{verbose,tmargin=2cm,bmargin=2cm,lmargin=2cm,rmargin=2cm}
+\setcounter{secnumdepth}{3}
+\setcounter{tocdepth}{3}
+\usepackage{float}
+\usepackage{amsmath}
+\usepackage{graphicx}
+
+\makeatletter
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Textclass specific LaTeX commands.
+\numberwithin{figure}{section}
+\newenvironment{lyxlist}[1]
+{\begin{list}{}
+{\settowidth{\labelwidth}{#1}
+ \setlength{\leftmargin}{\labelwidth}
+ \addtolength{\leftmargin}{\labelsep}
+ \renewcommand{\makelabel}[1]{##1\hfil}}}
+{\end{list}}
+
+\makeatother
+
+\usepackage{babel}
+\begin{document}
+
+\section{1. kolo}
+\begin{lyxlist}{00.00.0000}
+\item [{ern:}] Jan Hora
+\item [{Bl:}] Jan imara
+\item [{Vsledek:}] ern vyhrl vzdnm
+\end{lyxlist}
+\begin{figure}[h]
+\begin{minipage}[t]{0.45\columnwidth}%
+\begin{center}
+\includegraphics[width=1\columnwidth]{out/1-Hora-Simara-1}\caption{1-50}
+
+\par\end{center}
+
+38 na 25%
+\end{minipage}\hfill{}%
+\begin{minipage}[t]{0.45\columnwidth}%
+\begin{center}
+\includegraphics[width=1\columnwidth]{out/1-Hora-Simara-2}\caption{51-100}
+
+\par\end{center}%
+\end{minipage}
+\end{figure}
+
+
+\begin{figure}[h]
+\begin{minipage}[t]{0.45\columnwidth}%
+\begin{center}
+\includegraphics[width=1\columnwidth]{out/1-Hora-Simara-3}
+\par\end{center}
+
+\caption{\selectlanguage{english}%
+101-150\selectlanguage{czech}%
+}
+
+
+115 na 107%
+\end{minipage}\hfill{}%
+\begin{minipage}[t]{0.45\columnwidth}%
+\begin{center}
+\includegraphics[width=1\columnwidth]{out/1-Hora-Simara-4}
+\par\end{center}
+
+\caption{\selectlanguage{english}%
+151-200\selectlanguage{czech}%
+}
+%
+\end{minipage}
+\end{figure}
+\newpage{}
+\begin{lyxlist}{00.00.0000}
+\item [{ern:}] Luk Podpra
+\item [{Bl:}] Tom Kozelek
+\item [{Vsledek:}] ern vyhrl o 7,5
+\end{lyxlist}
+\begin{figure}[H]
+\begin{minipage}[t]{0.45\columnwidth}%
+\begin{center}
+\includegraphics[width=1\columnwidth]{out/1-Podpera-Kozelek-1}\caption{1-50}
+
+\par\end{center}%
+\end{minipage}\hfill{}%
+\begin{minipage}[t]{0.45\columnwidth}%
+\begin{center}
+\includegraphics[width=1\columnwidth]{out/1-Podpera-Kozelek-2}\caption{51-100}
+
+\par\end{center}%
+\end{minipage}
+\end{figure}
+
+
+\begin{figure}[H]
+\begin{minipage}[t]{0.45\columnwidth}%
+\begin{center}
+\includegraphics[width=1\columnwidth]{out/1-Podpera-Kozelek-3}
+\par\end{center}
+
+\caption{\selectlanguage{english}%
+101-150\selectlanguage{czech}%
+}
+%
+\end{minipage}\hfill{}%
+\begin{minipage}[t]{0.45\columnwidth}%
+\begin{center}
+\includegraphics[width=1\columnwidth]{out/1-Podpera-Kozelek-4}
+\par\end{center}
+
+\caption{\selectlanguage{english}%
+151-200\selectlanguage{czech}%
+}
+%
+\end{minipage}
+\end{figure}
+
+
+\hfill{}
+\begin{figure}[H]
+\begin{minipage}[t]{0.45\columnwidth}%
+\begin{center}
+\includegraphics[width=1\columnwidth]{out/1-Podpera-Kozelek-5}
+\par\end{center}
+
+\caption{\selectlanguage{english}%
+201-250\selectlanguage{czech}%
+}
+%
+\end{minipage}
+\end{figure}
+\hfill{}
+\begin{lyxlist}{00.00.0000}
+\item [{ern:}] Jan Prokop
+\item [{Bl:}] Ondej Kruml
+\item [{Vsledek:}] ern vyhrl vzdnm
+\end{lyxlist}
+\begin{figure}[H]
+\begin{minipage}[t]{0.45\columnwidth}%
+\begin{center}
+\includegraphics[width=1\columnwidth]{out/1-Prokop-Kruml-1}\caption{1-50}
+
+\par\end{center}%
+\end{minipage}\hfill{}%
+\begin{minipage}[t]{0.45\columnwidth}%
+\begin{center}
+\includegraphics[width=1\columnwidth]{out/1-Prokop-Kruml-2}\caption{51-100}
+
+\par\end{center}%
+\end{minipage}
+\end{figure}
+
+
+\begin{figure}[H]
+\begin{minipage}[t]{0.45\columnwidth}%
+\begin{center}
+\includegraphics[width=1\columnwidth]{out/1-Prokop-Kruml-3}
+\par\end{center}
+
+\caption{\selectlanguage{english}%
+101-150\selectlanguage{czech}%
+}
+%
+\end{minipage}\hfill{}%
+\begin{minipage}[t]{0.45\columnwidth}%
+\begin{center}
+\includegraphics[width=1\columnwidth]{out/1-Prokop-Kruml-4}
+\par\end{center}
+
+\caption{\selectlanguage{english}%
+151-200\selectlanguage{czech}%
+}
+
+
+164 na a,
+
+190, 196 na 172,
+
+193, 199 na 187%
+\end{minipage}
+\end{figure}
+
+
+\begin{figure}[H]
+\begin{minipage}[t]{0.45\columnwidth}%
+\begin{center}
+\includegraphics[width=1\columnwidth]{out/1-Prokop-Kruml-5}
+\par\end{center}
+
+\caption{\selectlanguage{english}%
+201-250\selectlanguage{czech}%
+}
+
+
+209, 217, 223, 228 na a,
+
+214, 220, 226 na 206%
+\end{minipage}\hfill{}%
+\begin{minipage}[t]{0.45\columnwidth}%
+\begin{center}
+\includegraphics[width=1\columnwidth]{out/1-Prokop-Kruml-6}
+\par\end{center}
+
+\caption{\selectlanguage{english}%
+251-300\selectlanguage{czech}%
+}
+%
+\end{minipage}
+\end{figure}
+\newpage{}
+\begin{lyxlist}{00.00.0000}
+\item [{ern:}] Ondej ilt
+\item [{Bl:}] Bronislav Sndal
+\item [{Vsledek:}] ern vyhrl na as
+\end{lyxlist}
+\begin{figure}[H]
+\begin{minipage}[t]{0.45\columnwidth}%
+\begin{center}
+\includegraphics[width=1\columnwidth]{out/1-Silt-Snidal-1}\caption{1-50}
+
+\par\end{center}%
+\end{minipage}\hfill{}%
+\begin{minipage}[t]{0.45\columnwidth}%
+\begin{center}
+\includegraphics[width=1\columnwidth]{out/1-Silt-Snidal-2}\caption{51-100}
+
+\par\end{center}%
+\end{minipage}
+\end{figure}
+
+
+\begin{figure}[H]
+\begin{minipage}[t]{0.45\columnwidth}%
+\begin{center}
+\includegraphics[width=1\columnwidth]{out/1-Silt-Snidal-3}
+\par\end{center}
+
+\caption{\selectlanguage{english}%
+101-150\selectlanguage{czech}%
+}
+
+
+115, 121, 126 na 105,
+
+118, 124 na 112%
+\end{minipage}\hfill{}%
+\begin{minipage}[t]{0.45\columnwidth}%
+\begin{center}
+\includegraphics[width=1\columnwidth]{out/1-Silt-Snidal-4}
+\par\end{center}
+
+\caption{\selectlanguage{english}%
+151-200\selectlanguage{czech}%
+}
+
+
+190 na 182,
+
+193 na 187,
+
+195 na 161%
+\end{minipage}
+\end{figure}
+
+\end{document}