1
0
Fork 0

initial commit

This commit is contained in:
leo 2023-01-30 22:48:23 +01:00
commit 0592c99104
Signed by: wanderer
SSH Key Fingerprint: SHA256:Dp8+iwKHSlrMEHzE3bJnPng70I7LEsa3IJXRH/U+idQ
38 changed files with 6361 additions and 0 deletions

7
.envrc Normal file
View File

@ -0,0 +1,7 @@
use flake
# ref: https://github.com/direnv/direnv/wiki/Vim
# comment out if not planning to use this
#add_extra_vimrc
# vim: ff=unix ft=sh

324
.gitignore vendored Normal file
View File

@ -0,0 +1,324 @@
.latexmkout/
.direnv
# nix result symlink
result/
# backup files
*.tex\~
# vim swap files
[._]*.s[a-v][a-z]
# Created by https://www.toptal.com/developers/gitignore/api/tex
# Edit at https://www.toptal.com/developers/gitignore?templates=tex
### TeX ###
## Core latex/pdflatex auxiliary files:
*.aux
*.lof
*.log
*.lot
*.fls
*.out
*.toc
*.fmt
*.fot
*.cb
*.cb2
.*.lb
## Intermediate documents:
*.dvi
*.xdv
*-converted-to.*
# these rules might exclude image files for figures etc.
# *.ps
# *.eps
# *.pdf
## Generated if empty string is given at "Please type another file name for output:"
.pdf
## Bibliography auxiliary files (bibtex/biblatex/biber):
*.bbl
*.bcf
*.blg
*-blx.aux
*-blx.bib
*.run.xml
## Build tool auxiliary files:
*.fdb_latexmk
*.synctex
*.synctex(busy)
*.synctex.gz
*.synctex.gz(busy)
*.pdfsync
## Build tool directories for auxiliary files
# latexrun
latex.out/
## Auxiliary and intermediate files from other packages:
# algorithms
*.alg
*.loa
# achemso
acs-*.bib
# amsthm
*.thm
# beamer
*.nav
*.pre
*.snm
*.vrb
# changes
*.soc
# comment
*.cut
# cprotect
*.cpt
# elsarticle (documentclass of Elsevier journals)
*.spl
# endnotes
*.ent
# fixme
*.lox
# feynmf/feynmp
*.mf
*.mp
*.t[1-9]
*.t[1-9][0-9]
*.tfm
#(r)(e)ledmac/(r)(e)ledpar
*.end
*.?end
*.[1-9]
*.[1-9][0-9]
*.[1-9][0-9][0-9]
*.[1-9]R
*.[1-9][0-9]R
*.[1-9][0-9][0-9]R
*.eledsec[1-9]
*.eledsec[1-9]R
*.eledsec[1-9][0-9]
*.eledsec[1-9][0-9]R
*.eledsec[1-9][0-9][0-9]
*.eledsec[1-9][0-9][0-9]R
# glossaries
*.acn
*.acr
*.glg
*.glo
*.gls
*.glsdefs
*.lzo
*.lzs
*.slg
*.slo
*.sls
# uncomment this for glossaries-extra (will ignore makeindex's style files!)
# *.ist
# gnuplot
*.gnuplot
*.table
# gnuplottex
*-gnuplottex-*
# gregoriotex
*.gaux
*.glog
*.gtex
# htlatex
*.4ct
*.4tc
*.idv
*.lg
*.trc
*.xref
# hyperref
*.brf
# knitr
*-concordance.tex
# TODO Uncomment the next line if you use knitr and want to ignore its generated tikz files
# *.tikz
*-tikzDictionary
# listings
*.lol
# luatexja-ruby
*.ltjruby
# makeidx
*.idx
*.ilg
*.ind
# minitoc
*.maf
*.mlf
*.mlt
*.mtc[0-9]*
*.slf[0-9]*
*.slt[0-9]*
*.stc[0-9]*
# minted
_minted*
*.pyg
# morewrites
*.mw
# newpax
*.newpax
# nomencl
*.nlg
*.nlo
*.nls
# pax
*.pax
# pdfpcnotes
*.pdfpc
# sagetex
*.sagetex.sage
*.sagetex.py
*.sagetex.scmd
# scrwfile
*.wrt
# svg
svg-inkscape/
# sympy
*.sout
*.sympy
sympy-plots-for-*.tex/
# pdfcomment
*.upa
*.upb
# pythontex
*.pytxcode
pythontex-files-*/
# tcolorbox
*.listing
# thmtools
*.loe
# TikZ & PGF
*.dpth
*.md5
*.auxlock
# titletoc
*.ptc
# todonotes
*.tdo
# vhistory
*.hst
*.ver
# easy-todo
*.lod
# xcolor
*.xcp
# xmpincl
*.xmpi
# xindy
*.xdy
# xypic precompiled matrices and outlines
*.xyc
*.xyd
# endfloat
*.ttt
*.fff
# Latexian
TSWLatexianTemp*
## Editors:
# WinEdt
*.bak
*.sav
# Texpad
.texpadtmp
# LyX
*.lyx~
# Kile
*.backup
# gummi
.*.swp
# KBibTeX
*~[0-9]*
# TeXnicCenter
*.tps
# auto folder when using emacs and auctex
./auto/*
*.el
# expex forward references with \gathertags
*-tags.tex
# standalone packages
*.sta
# Makeindex log files
*.lpz
# xwatermark package
*.xwm
# REVTeX puts footnotes in the bibliography by default, unless the nofootinbib
# option is specified. Footnotes are the stored in a file with suffix Notes.bib.
# Uncomment the next line to have this generated file ignored.
#*Notes.bib
### TeX Patch ###
# LIPIcs / OASIcs
*.vtc
# glossaries
*.glstex
# End of https://www.toptal.com/developers/gitignore/api/tex

2
.latexmkrc Normal file
View File

@ -0,0 +1,2 @@
# https://mg.readthedocs.io/latexmk.html#configuration-files
$pdf_previewer = 'zathura';

8
Containerfile Normal file
View File

@ -0,0 +1,8 @@
FROM registry.fedoraproject.org/fedora-toolbox:37
COPY extra-packages /
# hadolint ignore=SC3034,DL3041
RUN dnf install -y $(<extra-packages) \
&& dnf clean all -y \
&& rm -v /extra-packages

85
LICENSE Normal file

File diff suppressed because one or more lines are too long

20
Makefile Normal file
View File

@ -0,0 +1,20 @@
DOCNAME=thesis
CMD="pdflatex -synctex=1 -file-line-error -interaction=nonstopmode"
.PHONY: $(DOCNAME).pdf all clean
all: $(DOCNAME).pdf
$(DOCNAME).pdf: $(DOCNAME).tex
latexmk -pdf -pdflatex=$(CMD) -use-make $(DOCNAME).tex
watch: $(DOCNAME).tex
latexmk -pvc -pdf -pdflatex=$(CMD) -use-make $(DOCNAME).tex
clean:
# latexmk -CA # -> deprecated
latexmk -C
install:
cp $(DOCNAME).pdf ${out}/

13
README.md Normal file
View File

@ -0,0 +1,13 @@
# [masters-thesis](https://git.dotya.ml/mirre-mt/masters-thesis)
this repository holds latex sources of my master's thesis with the name
[Password Compromise Monitoring Tool](https://git.dotya.ml/mirre-mt/pcmt).
besides that, there are also auxilliary files that enable easy-enough creation
of development (document writing) environments in a repeatable/reproducible
manner.
### LICENSE
the content of this thesis is licensed
[CC-BY-SA-2.0](https://creativecommons.org/licenses/by-sa/2.0/)
([LICENSE](LICENSE)).

16
default.nix Normal file
View File

@ -0,0 +1,16 @@
(
import
(
let
lock = builtins.fromJSON (builtins.readFile ./flake.lock);
in
fetchTarball {
url = "https://github.com/edolstra/flake-compat/archive/${lock.nodes.flake-compat.locked.rev}.tar.gz";
sha256 = lock.nodes.flake-compat.locked.narHash;
}
)
{
src = ./.;
}
)
.defaultNix

54
extra-packages Normal file
View File

@ -0,0 +1,54 @@
--nodocs
--setopt install_weak_deps=0
make
latexmk
texlive-latex
texlive-pdftex
texlive-latex-uni8
texlive-babel
texlive-babel-czech
texlive-babel-english
texlive-babelbib
texlive-fontspec
texlive-metafont
texlive-luainputenc
texlive-tocloft
texlive-textcase
texlive-ifthenx
texlive-caption
texlive-ccaption
texlive-sectsty
texlive-examplep
texlive-chngcntr
texlive-xmpincl
texlive-hyperxmp
texlive-totpages
texlive-url
texlive-hyperref
texlive-amsmath
texlive-fancyhdr
texlive-xcolor
texlive-luacolor
texlive-setspace
texlive-multicolrule
texlive-etoolbox
texlive-imakeidx
texlive-layouts
texlive-pst-layout
texlive-pst-graphicx
texlive-biblatex-iso690
texlive-latex-fonts
texlive-fontsize
texlive-symbol
texlive-tex-gyre
texlive-garamond-libre
texlive-times
texlive-txfonts
texlive-collection-fontsrecommended

26
flake.lock Normal file
View File

@ -0,0 +1,26 @@
{
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1668288759,
"narHash": "sha256-olmFmG3er2sYTnwcZSjfxf/SiZo9mNgfGVA/O05DIIg=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "eda76eb80e5a98f1cfdfe925032aae251f812eef",
"type": "github"
},
"original": {
"owner": "nixos",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

211
flake.nix Normal file
View File

@ -0,0 +1,211 @@
{
description = "Master's thesis - Password Compromise Monitoring Tool";
# ref: https://git.dotya.ml/mirre-mt/masters-thesis
inputs = {
nixpkgs.url = "github:nixos/nixpkgs";
};
outputs = {
self,
nixpkgs,
...
}: let
# to work with older version of flakes
lastModifiedDate =
self.lastModifiedDate or self.lastModified or "19700101";
supportedSystems = ["aarch64-linux" "x86_64-linux" "x86_64-darwin"];
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
# ms, bc
thesis = "masters";
checkThesisType = {type}:
if builtins.stringLength type == 0
then "unknown"
else type;
thesisType = checkThesisType {type = thesis;};
documentName = "thesis";
pname = thesisType + "_" + documentName;
version = "0.0.0";
pkgs = forAllSystems (system: nixpkgs.legacyPackages.${system});
nixpkgsFor = forAllSystems (
system:
import nixpkgs {
inherit system;
overlays = [self.overlays.default];
}
);
in rec {
formatter = forAllSystems (
system:
nixpkgsFor.${system}.alejandra
);
overlays.default = with pkgs;
final: prev: {
watcher = with final;
writeScriptBin "watch" ''
out=".latexmkout"
mkdir "$out"
# initial latex compile.
pdflatex -synctex=1 -file-line-error \
-interaction=nonstopmode -output-directory=$out thesis.tex
# handle bibliography.
bibtex thesis
cp -v thesis.bbl $out
# continuously compile latex using latexmk.
latexmk \
-pvc \
-outdir="$out" \
-pdf \
-pdflatex="pdflatex -synctex=1 -file-line-error -interaction=nonstopmode" \
-use-make thesis.tex
rm -r "$out"
'';
buildLatex = with final;
with pkgs;
stdenv.mkDerivation {
inherit pname version;
src = lib.cleanSource ./.;
propagatedBuildInputs = with pkgs; [
(texlive.combine {
inherit
(texlive)
scheme-full
latexmk
bibtex
hyperref
hyperxmp
xmpincl
totpages
blindtext
fancyhdr
etoolbox
topiclongtable
fontspec
ccaption
ms # contains everyshi
;
})
gnumake
];
buildPhase = ''
pdflatex -synctex=1 -file-line-error \
-interaction=nonstopmode -output-directory=$out thesis.tex
# handle bibliography.
bibtex thesis
cp -v thesis.bbl $out
latexmk \
-pdf \
-pdflatex="pdflatex -file-line-error -interaction=nonstopmode" \
-use-make thesis.tex
'';
installPhase = ''
install -Dm444 -t $out thesis.pdf
'';
};
};
packages = with pkgs;
forAllSystems (system: {
inherit (nixpkgsFor.${system}) watcher buildLatex;
default = nixpkgsFor.${system}.watcher;
});
apps = forAllSystems (system: rec {
watch = {
type = "app";
program = "${self.packages."${system}".watcher}/bin/watch";
};
buildLatex = {
type = "app";
program = "${self.packages."${system}".buildLatex}";
};
default = watch;
});
devShells = with pkgs;
forAllSystems (system: let
pkgs = import nixpkgs {
inherit system;
overlays = [self.overlays.default];
};
inherit overlays;
watcher = pkgs.writeShellScriptBin "watcher" ''
out=".latexmkout"
mkdir "$out"
pdflatex -synctex=1 -file-line-error \
-interaction=nonstopmode -output-directory=$out thesis.tex
# handle bibliography.
bibtex thesis
cp -v thesis.bbl $out
latexmk \
-pvc \
-outdir="$out" \
-pdf \
-pdflatex="pdflatex -synctex=1 -file-line-error -interaction=nonstopmode" \
-use-make thesis.tex
# clean up
rm -r "$out"
'';
in {
default = nixpkgsFor.${system}.mkShell {
name = "${pname}-" + version;
shellHook = ''
echo " -- in ${pname} dev shell..."
'';
nativeBuildInputs = with pkgs; [
(texlive.combine {
inherit
(texlive)
scheme-full
bibtex
latexmk
multirow
hyperref
hyperxmp
xmpincl
ms # contains everyshi
blindtext
fancyhdr
etoolbox
topiclongtable
fontspec
;
})
gnumake
];
packages = with nixpkgsFor.${system}; [
watcher
# buildLatex
# texlive.combine { inherit (pkgs.texlive) scheme-basic latexmk; }
gnumake
alejandra
];
};
});
};
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

BIN
graphics/task.pdf Normal file

Binary file not shown.

16
shell.nix Normal file
View File

@ -0,0 +1,16 @@
(
import
(
let
lock = builtins.fromJSON (builtins.readFile ./flake.lock);
in
fetchTarball {
url = "https://github.com/edolstra/flake-compat/archive/${lock.nodes.flake-compat.locked.rev}.tar.gz";
sha256 = lock.nodes.flake-compat.locked.narHash;
}
)
{
src = ./.;
}
)
.shellNix

919
tex/UTB.tex Normal file
View File

@ -0,0 +1,919 @@
% =========================================================================== %
% Tento dokument není zpravidla třeba editovat,
% obsahuje nastavení balíčků, vzhledu, stylů.
%
% Kódování: UTF-8 (žluťoučký kůň úpěl ďábelšké ódy)
% =========================================================================== %
% =========================================================================== %
% BALÍČKY
%\usepackage[czech,english]{babel} % volba při kompilaci latexem (vyžaduje texlive-lang), zakomentovano, nastavovanu prikazem \nastavjazyk
\usepackage[T1]{fontenc}% definice vnitřního kódování
\usepackage[utf8]{inputenc} % slouží pro definici kódování (při problémech zkusit zaměnit utf8x za utf8)
\usepackage{color} % umožňuje použití barev
\usepackage{graphicx} % rozšíření práce s grafikou
\usepackage{amsmath} % balíček pro pokročilejší matematiku
\usepackage{fancyhdr} % detailnější nastavení záhlaví a zápatí
\usepackage{tocloft} % umožňuje pohodlné nastavení vzhledu obsahu, seznamu tabulek či obrázků
\usepackage{textcase} % změna VeLiKoStI PíSmA
\usepackage{ifthen} % balíček umožňující skladby if, then -- využijeme při definici nadpisů
\usepackage{setspace} % balíček umožňující nastavit řádkování na 1, 1.5, 2
\usepackage{ccaption} % vylepšení práce s popisky obrázků či tabulek
\usepackage{sectsty} % pro nastavení vzhledu nadpisů
\usepackage[srcstyle=leftnumhang,linenumbersep={\ }]{examplep} % pokročilejší sazba programového kódu
\usepackage{url} % balíček pro vysázení internetové adresy stylem verbatim s vylepšeným řádkovým zlomem
\usepackage{afterpage}
%\usepackage{layout} % zobrazí nastavení tiskového zrcadla (příkaz \layout)
%\usepackage{times} % balíček pro použití fontu times
\usepackage{upquote} % straight single quotes
\usepackage{verbatim} % vysází text bez formátování, tak jak je zapsán v souboru
\usepackage{listings} % code environments
%\usepackage{indentfirst} % definuje odsazení prvního řádku odstavce
%\usepackage{makeidx} % vytvoří rejstřík
\usepackage[pdftex,pdfa,hidelinks,breaklinks]{hyperref} % vytváří křížové odkazy
%\usepackage{multicol} % vícesloupcová sazba
%\usepackage{flafter} % zajistí, aby se plovoucí objekty objevovali až za jejich umístěním v textu
\usepackage{chngcntr} % Umožňuje změnu nastavení číslování obrázků, tabulek i rovnic
\usepackage{etoolbox} % Tool-box for LaTeX programmers
\usepackage[labelsep=space,tableposition=bottom,justification=centering]{caption} % Přenastavení popisků u figur a tabulek
\usepackage{xmpincl} % Pro aplikaci standardu PDF/A
% TODO(me):
% have this disabled when building draft documents with Nix - issue with
% everyshi version bundled in TexLive `ms` package that Nix bundles.
% \usepackage{hyperxmp} % Pro aplikaci standardu PDF/A
\usepackage{pdfpages} % include raw PDF files directly
\usepackage{makecell} % multiline table cells
%\pdfminorversion=4
%\pdfobjcompresslevel=0
% ---------------------------------------------------------------------------- %
% NASTAVENÍ TISKOVÉHO ZRCADLA
\newcommand{\valueTextHeight}{242mm} % výška tiskového zrcadla
\newcommand{\valueTextWidth}{155mm} % šířka tiskového zrcadla
\newcommand{\valueVOffset}{-1.61cm} % vertikální posunutí tiskového zrcadla
\newcommand{\valueSideMargin}{0.96cm} % levý okraj
\newcommand{\valueHeadHeight}{0.6cm} % záhlaví
\newcommand{\valueHeadSep}{1cm} % záhlaví
\textheight=\valueTextHeight
\textwidth=\valueTextWidth
\voffset=\valueVOffset
%\voffset=-1in
%\topmargin=-2.9cm
\oddsidemargin=\valueSideMargin
\evensidemargin=\valueSideMargin
\headheight=\valueHeadHeight
\headsep=\valueHeadSep
% nastavení zápatí
\footskip=1ex
\cfoot{}
% "vypnout" poznámky na okrajích
\marginparpush=0mm
\marginparwidth=0mm
\marginparsep=0mm
\pagestyle{fancy}
% Nastavení obalujících okrajů okolo popisků figur a tabulek
\captionsetup[figure]{aboveskip=5pt}
\captionsetup[figure]{belowskip=0pt}
\captionsetup[table]{aboveskip=0pt}
\captionsetup[table]{belowskip=5pt}
% =========================================================================== %
% NASTAVENÍ PÍSMA, ODSTAVCE, ROVNIC, POZNÁMEK
\parindent=0em % velikost odstavcové zarážky na nulu
\def\thefootnote{\arabic{footnote})} % poznámka pod čarou se závorkou
\onehalfspacing % nastavím řádkování tímto způsobem nebo \renewcommand{\baselinestretch}{1.5} ??
\setlength{\parskip}{3pt} % vertikální mezera mezi nadpisy
%\def\label#1{{\sf ! #1 ! }} % možnost zobrazení všech \label{}
% =========================================================================== %
% NASTAVENÍ ČÍTAČŮ
\setcounter{tocdepth}{3} % do obsahu se ukládají pouze první dvě úrovně kapitol
% =========================================================================== %
% PDF/A STANDARD
% http://www.mathstat.dal.ca/~selinger/pdfa/
% https://blog.zhaw.ch/icclab/creating-pdfa-documents-for-long-term-archiving/
% http://support.river-valley.com/wiki/index.php?title=Generating_PDF/A_compliant_PDFs_from_pdftex
% Prerequisites: pdflatex, hyperref, xmpincl
% pdfTeX at least in version 1.40.15 (in Linux add repository ppa:jonathonf/texlive, update and upgrade texlive-full)
%
% Validator: http://pdfa.k.utb.cz:8080/ https://www.pdf-online.com/osa/validate.aspx
% \convertDate converts D:20080419103507+02'00' to 2008-04-19T10:35:07+02:00
\def\convertDate{%
\getYear
}
{\catcode`\D=12
\gdef\getYear D:#1#2#3#4{\edef\xYear{#1#2#3#4}\getMonth}
}
\def\getMonth#1#2{\edef\xMonth{#1#2}\getDay}
\def\getDay#1#2{\edef\xDay{#1#2}\getHour}
\def\getHour#1#2{\edef\xHour{#1#2}\getMin}
\def\getMin#1#2{\edef\xMin{#1#2}\getSec}
\def\getSec#1#2{\edef\xSec{#1#2}\getTZh}
\def\getTZh +#1#2{\edef\xTZh{#1#2}\getTZm}
\def\getTZm '#1#2'{%
\edef\xTZm{#1#2}%
\edef\convDate{\xYear-\xMonth-\xDay T\xHour:\xMin:\xSec+\xTZh:\xTZm}%
}
\expandafter\convertDate\pdfcreationdate
\pdfminorversion 4
\immediate\pdfobj stream attr{/N 3} file{graphics/sRGBIEC1966-2.1.icm}
\pdfcatalog{%
/OutputIntents [ <<
/Type /OutputIntent
/S/GTS_PDFA1
/DestOutputProfile \the\pdflastobj\space 0 R
/OutputConditionIdentifier (sRGB IEC61966-2.1)
/Info(sRGB IEC61966-2.1)
>> ]
}
\providecommand{\xmpOrg}{Tomas Bata University in Zlín, Czech Republic}
\providecommand{\xmpProducer}{}
\providecommand{\xmpDoi}{}
\providecommand{\xmpJournalnumber}{}
\providecommand{\xmpVolume}{}
\providecommand{\xmpIssue}{}
\providecommand{\xmpCoverDisplayDate}{}
\providecommand{\xmpCoverDate}{}
\providecommand{\xmpJournaltitle}{}
\providecommand{\xmpFirstpage}{}
\providecommand{\xmpLastpage}{}
\providecommand{\xmpAuthoritativeDomain}{}
\providecommand{\xmpCreatorTool}{}%pdfTeX
\newcommand{\aplikujpdfa}{
\ifczech
\providecommand{\xmpTitle}{\nazevcz}
\providecommand{\xmpAuthor}{\autor}
\providecommand{\xmpKeywords}{\klicovaslovacz}
\hypersetup{
pdftitle={\nazevcz},
pdfauthor={\autor},
pdfsubject={\abstraktcz},
pdfkeywords={\klicovaslovacz},
%pdfproducer={pdfTeX-1.40.20},
pdflang=la,
% pdfapart=3,
% pdfaconformance=B,
pdflang={cz}
% use breaklinks to make have long bibtex urls broken
% otherwise they go over the margin (known issue)
breaklinks=true
}
\else \ifenglish
\providecommand{\xmpTitle}{\nazeven}
\providecommand{\xmpAuthor}{\autor}
\providecommand{\xmpKeywords}{\klicovaslovaen}
\hypersetup{
pdftitle={\nazeven},
pdfauthor={\autor},
pdfsubject={\abstrakten},
pdfkeywords={\klicovaslovaen},
%pdfproducer={pdfTeX-1.40.20},
pdflang=la,
% pdfapart=3,
% pdfaconformance=B,
pdflang={en},
% use breaklinks to make have long bibtex urls broken
% otherwise they go over the margin (known issue)
breaklinks=true
}
\fi \fi
% TODO(me):
% include in the final (non-draft version of the document)
% \makeatletter
% \includexmp{tex/pdfa-1b}
% \makeatother
}
% =========================================================================== %
% UŽIVATELSKÉ STYLY
% Styl nn = nečíslovaný nadpis (je vysázený v obsahu)
\def\nn#1{\clearpage\phantomsection\addcontentsline{toc}{section}{#1}\section*{\MakeTextUppercase{#1}}}
% Styl nm = nečíslovaný nadpis (není vysázený v obsahu)
\def\nm#1{\clearpage\section*{\MakeTextUppercase{#1}}}
% Styl ns = nečíslovaný nadpis na stejné stránce (není vysázený v obsahu)
\def\nns#1{\section*{\MakeTextUppercase{#1}}}
% Styl n{ur}{nadp} pro nadpisy, kde ur je číslo úrovně a nadp je text nadpisu
\def\n#1#2{
\ifthenelse{#1=1}{
\sectionfont{\normalsize\MakeUppercase}
\clearpage\section{#2}
\sectionfont{\normalsize}
}{
\ifthenelse{#1=2}{\subsection{#2}}{
\ifthenelse{#1=3}{\subsubsection{#2}}{\paragraph{\itshape\bfseries{#2}}
}}}}
% Styl pro obrázky
% \obr{popisek}{label}{rozměr (0.0 - 1.0)}{soubor}
\def\obr#1#2#3#4{
\begin{figure}[h]
\centering
\includegraphics[width=#3\linewidth]{#4}
%\captionwidth{#3\linewidth}
%\changecaptionwidth
\captionsetup{width=#3\linewidth}
\caption{#1}
\label{#2}
\end{figure}
}
% Styl pro tabulky
% \tab{popisek}{label}{rozměr (0.0 - 1.0)}{definice sloupců}{obsah}
\def\tab#1#2#3#4#5{
\begin{table}[h]
%\captionwidth{#3\linewidth}
%\changecaptionwidth
\captionsetup{width=#3\linewidth}
\caption{#1}
\label{#2}
\centering
\begin{tabular}{#4}
#5
\end{tabular}
\end{table}
}
% Styl pro tabulky v příloze
% \tabpri{popisek}{definice sloupců}{data tabulky}
\def\tabpri#1#2#3{
\begin{table}[h]
\begin{center}
#1
\end{center}
\begin{center}
\begin{tabular}{#2}
#3
\end{tabular}
\end{center}
\end{table}
}
% Styl pro tabulky z MS Excelu exportované do EPS
% \extab{popisek}{rozměr (0.0 - 1.0)}{soubor}
\def\extab#1#2#3{
\begin{table}
%\captionwidth{#2\linewidth}
%\changecaptionwidth
\captionsetup{width=#2\linewidth}
\caption{#1}
\begin{center}
\includegraphics[width=#2\linewidth]{#3}
\end{center}
\end{table}
}
% Styl pro rovnice
% \rov[klíčové slovo]{rovnice}
\newcommand{\rov}[2][chybejici rovnice]{
\begin{equation}
#2
\label{#1}
\end{equation}
}
% Příkaz pro vysázení seznamu obrázků
\def\seznamobr{
\clearpage
\phantomsection
\ifczech
\addcontentsline{toc}{section}{Seznam obrázků}
\else \ifenglish
\addcontentsline{toc}{section}{List of Figures}
\fi \fi
\listoffigures
\clearpage
}
% Příkaz pro vysázení seznamu tabulek
\def\seznamtab{
\clearpage
\phantomsection
\ifczech
\addcontentsline{toc}{section}{Seznam tabulek}
\else \ifenglish
\addcontentsline{toc}{section}{List of Tables}
\fi \fi
\listoftables
\clearpage
}
\newcommand{\OdsazovaniOdstavcuStart}[0]{
\ifenglish
\setlength{\parskip}{5mm} % English indentation of paragraphs
\else \ifczech
\setlength{\parindent}{5mm} % Czech indentation of paragraphs
\fi \fi
}
\newcommand{\OdsazovaniOdstavcuStop}[0]{
\ifenglish
\setlength{\parskip}{0mm} % English indentation of paragraphs
\else \ifczech
\setlength{\parindent}{0mm} % Czech indentation of paragraphs
\fi \fi
}
% Příkaz pro vysázení seznamu literatury
\newcommand{\seznamlit}[1]{
\clearpage
\phantomsection
\ifczech
\addcontentsline{toc}{section}{Seznam použité literatury}
\else \ifenglish
\addcontentsline{toc}{section}{References}
\fi \fi
\begin{thebibliography}{99}
#1
\end{thebibliography}
}
\newcommand{\seznamlitbib}{
\bibliographystyle{\ifenglish tex/czechiso-en\else\ifczech tex/czechiso-cz\fi\fi} % Respects the norm of ČSN ISO 690
\newpage
\clearpage
%\cleardoublepage
\phantomsection
\addcontentsline{toc}{section}{\ifenglish References \else \ifczech Seznam použité literatury \fi \fi}
\bibliography{tex/references}
}
% Příkaz pro přípravu seznamu použitých zkratek a symbolů
\newcommand{\seznamzkr}{
\ifczech
\nn{Seznam použitých symbolů a zkratek}
\else \ifenglish
\nn{List of Abbreviations}
\fi \fi
}
% Příkaz \cast jako alternativa k \part
\def\cast#1{
\clearpage
\part{#1}
}
% Příkaz \obsah vysází obsah v daném místě
\def\obsah{
\deaktivujZahlavi
\clearpage
\thispagestyle{empty}
\tableofcontents
\clearpage
\pagestyle{fancy}
\aktivujZahlavi
}
% Zkrácení stylu \textbf na \b
\def\b#1{
\textbf{#1}
}
% \bi = tučná kurzíva
\newcommand{\bi}[1]{\textbf{\textit{#1}}}
% \it = kurzíva
\renewcommand{\it}[1]{\textit{#1}}
% Nastaveni nezobrazovani zahlavi dokumentu
\newcommand{\deaktivujZahlavi}{
\lhead{}
\rhead{}
\renewcommand{\headrulewidth}{0pt}
}
\newcommand{\zadani}{
\clearpage
\thispagestyle{empty}
\voffset=\valueVOffset\evensidemargin=\valueSideMargin\oddsidemargin=\valueSideMargin\headsep=\valueHeadSep\headheight=\valueHeadHeight\setlength{\parskip}{3pt}\textheight=\valueTextHeight\textwidth=\valueTextWidth
% *** Nascanované zadání, strana 1 ***
\includepdf[pages={1-2}]{graphics/task.pdf}
\clearpage
\thispagestyle{empty}
% *** Nascanované zadání, strana 2 ***
}
% Nastaveni zobrazovani zahlavi dokumentu
\newcommand{\aktivujZahlavi}{
\renewcommand{\headrulewidth}{1pt}
\rhead{\thepage}
\ifczech
\lhead{\b{UTB ve Zlíně, \ifthenelse{\equal{\fakulta}{FAI}}{Fakulta aplikované informatiky}{\ifthenelse{\equal{\fakulta}{FAME}}{Fakulta managementu a ekonomiky}{\ifthenelse{\equal{\fakulta}{FHS}}{Fakulta humanitních studií}{\ifthenelse{\equal{\fakulta}{FLKR}}{Fakulta logistiky a krizového řízení}{\ifthenelse{\equal{\fakulta}{FMK}}{Fakulta multimediálních komunikací}{\ifthenelse{\equal{\fakulta}{FT}}{Fakulta technologická}{\ifthenelse{\equal{\fakulta}{UNI}}{Univerzitní institut}{}}}}}}}}}
\else \ifenglish
\lhead{\b{TBU in Zlín, \ifthenelse{\equal{\fakulta}{FAI}}{Faculty of Applied Informatics}{\ifthenelse{\equal{\fakulta}{FAME}}{Faculty of Management and Economics}{\ifthenelse{\equal{\fakulta}{FHS}}{Faculty of Humanities}{\ifthenelse{\equal{\fakulta}{FLKR}}{Faculty of Logistics and Crisis Management}{\ifthenelse{\equal{\fakulta}{FMK}}{Faculty of Multimedia Communications}{\ifthenelse{\equal{\fakulta}{FT}}{Faculty of Technology}{\ifthenelse{\equal{\fakulta}{UNI}}{University Institute}{}}}}}}}}}
\fi \fi
}
% Příkaz \logopracerok vloží na dané místo logo fakulty, typ práce a rok
\newcommand{\logopracerok}{
\ifczech
\iffai \put(82.2,-223.3){\makebox(84,16.4){\includegraphics[width=90mm]{graphics/logo/fai_logo_cz.png}}} \fi
\iffame \put(82.2,-223.3){\makebox(84,16.4){\includegraphics[width=90mm]{graphics/logo/fame_logo_cz.png}}} \fi
\iffhs \put(82.2,-223.3){\makebox(84,16.4){\includegraphics[width=90mm]{graphics/logo/fhs_logo_cz.png}}} \fi
\ifflkr \put(82.2,-223.3){\makebox(84,16.4){\includegraphics[width=90mm]{graphics/logo/flkr_logo_cz.png}}} \fi
\iffmk \put(82.2,-223.3){\makebox(84,16.4){\includegraphics[width=90mm]{graphics/logo/fmk_logo_cz.png}}} \fi
\ifft \put(82.2,-223.3){\makebox(84,16.4){\includegraphics[width=90mm]{graphics/logo/ft_logo_cz.png}}} \fi
\ifuni \put(82.2,-223.3){\makebox(84,16.4){\includegraphics[width=90mm]{graphics/logo/uni_logo_cz.png}}} \fi
\else \ifenglish
\iffai \put(82.2,-223.3){\makebox(84,16.4){\includegraphics[width=90mm]{graphics/logo/fai_logo_en.png}}} \fi
\iffame \put(82.2,-223.3){\makebox(84,16.4){\includegraphics[width=90mm]{graphics/logo/fame_logo_en.png}}} \fi
\iffhs \put(82.2,-223.3){\makebox(84,16.4){\includegraphics[width=90mm]{graphics/logo/fhs_logo_en.png}}} \fi
\ifflkr \put(82.2,-223.3){\makebox(84,16.4){\includegraphics[width=90mm]{graphics/logo/flkr_logo_en.png}}} \fi
\iffmk \put(82.2,-223.3){\makebox(84,16.4){\includegraphics[width=90mm]{graphics/logo/fmk_logo_en.png}}} \fi
\ifft \put(82.2,-223.3){\makebox(84,16.4){\includegraphics[width=90mm]{graphics/logo/ft_logo_en.png}}} \fi
\ifuni \put(82.2,-223.3){\makebox(84,16.4){\includegraphics[width=90mm]{graphics/logo/uni_logo_en.png}}} \fi
\fi \fi
\put(0,-205){\linethickness{1pt}\line(1,0){170}}
\ifczech
\ifbp \put(4,-215){\makebox(69.5,4.5)[l]{\noindent\fontsize{16}{1}\usefont{OT1}{phv}{m}{n}Bakalářská práce}} \fi
\ifdp \put(4,-215){\makebox(69.5,4.5)[l]{\noindent\fontsize{16}{1}\usefont{OT1}{phv}{m}{n}Diplomová práce}} \fi
\ifsp \put(4,-215){\makebox(69.5,4.5)[l]{\noindent\fontsize{16}{1}\usefont{OT1}{phv}{m}{n}Seminární práce}} \fi
\else \ifenglish
\ifbp \put(4,-215){\makebox(69.5,4.5)[l]{\noindent\fontsize{16}{1}\usefont{OT1}{phv}{m}{n}Bachelor's thesis}} \fi
\ifdp \put(4,-215){\makebox(69.5,4.5)[l]{\noindent\fontsize{16}{1}\usefont{OT1}{phv}{m}{n}Master's thesis}} \fi
\ifsp \put(4,-215){\makebox(69.5,4.5)[l]{\noindent\fontsize{16}{1}\usefont{OT1}{phv}{m}{n}Seminary thesis}} \fi
\fi \fi
\put(4,-220){\makebox(69.5,4.5)[l]{\noindent\fontsize{16}{1}\usefont{OT1}{phv}{m}{n}\rok}}
\put(0,-225){\linethickness{1pt}\line(1,0){170}}
\put(75,-223.3){\linethickness{1pt}\line(0,1){16.4}}
}
% Úvodní stránka s logem fakulty
\newcommand{\titulnistrana}{
\thispagestyle{empty}
\voffset=-2.01cm\evensidemargin=0pt\oddsidemargin=0cm\parindent=0pt\headsep=0pt\headheight=0pt\parskip=0pt\textheight=272mm\textwidth=200mm
\renewcommand{\baselinestretch}{0}
\setlength{\unitlength}{1mm}
\begin{picture}(-10,8)
\ifczech
% Nazev prace
%\put(0,-100){\makebox(170,50){\fontsize{24}{1}\usefont{OT1}{phv}{b}{n}#1}}
% \put(0,-100){\makebox(170,50){\protect\parbox{0.8\textwidth}{\protect\centering\fontsize{24}{1}\usefont{OT1}{phv}{b}{n}#1}}}
% Vyreseno odradkovani
\put(0,-100){\makebox(170,50){\protect\parbox{0.8\textwidth}{\protect\centering\setstretch{2.0}\usefont{OT1}{phv}{b}{n}{\Huge\nazevcz}}}}
% Jmeno autora
\put(0,-135){\makebox(170,25){\fontsize{20}{1}\usefont{OT1}{phv}{m}{n}\autor}}
\else \ifenglish
% Nazev prace
%\put(0,-100){\makebox(170,50){\fontsize{24}{1}\usefont{OT1}{phv}{b}{n}#1}}
%\put(0,-95){\makebox(170,50){\protect\parbox{0.8\textwidth}{\protect\centering\fontsize{24}{1}\usefont{OT1}{phv}{b}{n}#1}}}
%\put(0,-88)%toto bylo pouzito v pripade zobrazeni nazvu ve dvou jazycich
\put(0,-100){\makebox(170,50){\protect\parbox{0.8\textwidth}{\protect\centering\setstretch{2.0}\usefont{OT1}{phv}{b}{n}{\Huge\nazeven}}}}
%\put(0,-111){\makebox(170,50){\fontsize{20}{1}\usefont{OT1}{phv}{m}{n}#1}}
%\put(0,-116){\makebox(170,50){\protect\parbox{0.8\textwidth}{\protect\centering\fontsize{20}{1}\usefont{OT1}{phv}{m}{n}#2}}}
%\put(0,-115){\makebox(170,50){\protect\parbox{0.8\textwidth}{\protect\centering\setstretch{1.5}\usefont{OT1}{phv}{m}{n}{\Large\nazevcz}}}}
% Jmeno autora
\put(0,-135){\makebox(170,25){\fontsize{20}{1}\usefont{OT1}{phv}{m}{n}\autor}}
\fi \fi
\logopracerok
\end{picture}
}
% Strana s abstraktem a klíčovými slovy v češtině a angličtině
\newcommand{\abstraktaklicovaslova}{
\clearpage
\thispagestyle{empty}
\nm{Abstrakt}
\abstraktcz
\vspace{1cm}
Klíčová slova: \klicovaslovacz
\vspace{3cm}
\nns{Abstract}
\abstrakten
\vspace{1cm}
Keywords: \klicovaslovaen
}
% =========================================================================== %
% NASTAVENÍ ZOBRAZENÍ PŘÍLOH -- SEZNAM, ČÍSLOVÁNÍ, VLASTNÍ STYL
\makeatletter % tímto příkazem dávám najevo, že budu editovat přímo příkazy ze šablony
% definice seznamu příloh - příkaz \listofappendices
\def\listofappendices{%
\newpage
\phantomsection
\setcounter{section}{0}
\ifczech
\addcontentsline{toc}{section}{Seznam příloh}
\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn\fi
\section*{SEZNAM PŘÍLOH}
\else \ifenglish
\addcontentsline{toc}{section}{List of Appendices}
\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn\fi
\section*{LIST OF APPENDICES}
\fi \fi
\@mkboth{LIST OF APPENDICES}{LIST OF APPENDICES}
\@starttoc{loa}\if@restonecol\twocolumn\fi
\pagestyle{empty}
\thispagestyle{fancy}
}
\def\ext@appendix{loa}
\def\tocname{loa}
% definice příkazu \priloha{nazev prilohy} pro vložení nové přílohy
\newcommand{\priloha}[1]{
\clearpage
\refstepcounter{section}
%\voffset=-3cm % vertikalni posun
\addtocontents{loa}{\protect\makebox[1.5cm][l]{\ifczech P\else \ifenglish A\fi\fi\ \@Roman\c@section.} #1\newline}
\ifczech
{\bf PŘÍLOHA \ifczech P\else \ifenglish A\fi\fi\ \@Roman\c@section. \MakeTextUppercase{#1}}
\else \ifenglish
{\bf APPENDIX \ifczech P\else \ifenglish A\fi\fi\ \@Roman\c@section. \MakeTextUppercase{#1}}
\fi \fi
\par
}
% =========================================================================== %
% OBSAH: NASTAVENÍ VELKÝCH PÍSMEN PRO NÁZVY SEKCÍ A HLAVNÍCH NADPISŮ
\let\oldcontentsline\contentsline
\def\contentsline#1#2{%
\expandafter\ifx\csname l@#1\endcsname\l@section
\expandafter\@firstoftwo
\else
\expandafter\@secondoftwo
\fi
{%
\oldcontentsline{#1}{\MakeTextUppercase{#2}}%
}{%
\oldcontentsline{#1}{#2}%
}%
}
\def\@part[#1]#2{
\ifnum \c@secnumdepth >\m@ne
\refstepcounter{part}
\addcontentsline{toc}{section}{\protect\texorpdfstring{\makebox[0.85cm]{\thepart\hfill} #1}{\thepart\ #1}}
\else
\addcontentsline{toc}{section}{#1}
\fi
{\parindent \z@ \raggedright
\interlinepenalty \@M
\clearpage
\normalfont
\ifnum \c@secnumdepth >\m@ne
\Large\bfseries
\nobreak
\fi
\vspace*{9cm}
\center\huge \bfseries\thepart. \MakeTextUppercase{#2}
\markboth{}{}\par}
\nobreak
\clearpage
\@afterheading
}
% =========================================================================== %
% NASTAVENÍ FORMÁTU ČÍSLOVÁNÍ OBRÁZKŮ A TABULEK
\def\thefigure{\arabic{figure}} % číslování obrázků typu (y)
\def\thetable{\arabic{table}} % číslování tabulek typu (y)
\captiondelim{. } % změníme dvoutečku za Obr/Tab za tečku
% Nastavení číslování obrázků, tabulek i rovnic do formátu <číslo kapitoly>.<pořadové číslo>
\counterwithin{figure}{section}
\counterwithin{table}{section}
\counterwithin{equation}{section}
% Odsazeni popisku v seznamu obrazku a tabulek
\patchcmd{\@caption}{\csname the#1\endcsname}{\csname fnum@#1\endcsname}{}{}
%{\renewcommand*\numberline[1]{Fig. \,#1\space}}
%\renewcommand*\l@figure{\@dottedtocline{1}{0em}{5.0em}}
%\renewcommand*\l@table{\@dottedtocline{1}{0em}{5.0em}}
% Vynulování čítačů
\@addtoreset{table}{section}
\@addtoreset{figure}{section}
\@addtoreset{footnote}{section}
\makeatother % a to je ukončení \makeatletter
% =========================================================================== %
% ÚPRAVA VZHLEDU OBSAHU, SEZNAMU OBRÁZKŮ A TABULEK
% nastavení vertikální mezery před stylem část, nadpis 1--3
\setlength{\cftbeforepartskip}{3pt}
\setlength{\cftbeforesecskip}{3pt}
\setlength{\cftbeforesubsecskip}{3pt}
\setlength{\cftbeforesubsubsecskip}{0cm}
% odsazení zleva pro styl část, nadpis 1--3
\setlength{\cftpartindent}{0cm}
\setlength{\cftsecindent}{0cm}
\setlength{\cftsubsecindent}{0cm}
\setlength{\cftsubsubsecindent}{0cm}
% nastavení fontu pro styl část, nadpis 1--3
\renewcommand{\cftpartfont}{\small\bfseries}
\renewcommand{\cftsecfont}{\small\bfseries}
\renewcommand{\cftsubsecfont}{\scshape}
\renewcommand{\cftsubsubsecfont}{}
% odsazení čísla a textu titulku pro styl část, nadpis 1--3
\cftsetindents{part}{0cm}{1cm}
\cftsetindents{sec}{0cm}{1cm}
\cftsetindents{subsec}{0.5cm}{1.25cm}
\cftsetindents{subsubsec}{1cm}{1.5cm}
\cftsetindents{fig}{0cm}{1.5cm}
\cftsetindents{tab}{0cm}{1.5cm}
% nastavení vodící čáry pro styl část, nadpis 1--3, obrázky a tabulky
\renewcommand{\cftdot}{\ensuremath{.}} % tímto příkazem lze změnit vodící tečky v obsahu na jiný znak
\renewcommand{\cftpartleader}{\cftdotfill{0.3}}
\renewcommand{\cftsecleader}{\cftdotfill{0.3}}
\renewcommand{\cftsubsecleader}{\cftdotfill{0.3}}
\renewcommand{\cftsubsubsecleader}{\cftdotfill{0.3}}
\renewcommand{\cftfigleader}{\cftdotfill{0.3}}
\renewcommand{\cfttableader}{\cftdotfill{0.3}}
% změna fontu pro text "Obsah", "Seznam obrázků" a "Seznam tabulek"
\renewcommand{\cfttoctitlefont}{\normalsize\bfseries\thispagestyle{empty}}
\renewcommand{\cftloftitlefont}{\normalsize\bfseries\thispagestyle{fancy}}
\renewcommand{\cftlottitlefont}{\normalsize\bfseries\thispagestyle{fancy}}
\renewcommand{\cfttabpresnum}{Tab. }
\renewcommand{\cftfigaftersnum}{.}
\renewcommand{\cfttabaftersnum}{.}
\setlength{\cftfignumwidth}{5em}
\setlength{\cfttabnumwidth}{5em}
% =========================================================================== %
% NASTAVENÍ FONTU PRO NADPISY
\sectionfont{\normalsize}
\subsectionfont{\normalsize\bfseries}
\subsubsectionfont{\small\bfseries}
\paragraphfont{\small\bf}
% definice nového stylu \comment -- komentář k šabloně
\newcommand{\comment}[1]{\color{red}#1\color{black}}
% =========================================================================== %
% VSTUPY
% Nastaveni a kontrola fakulty
\newcommand{\nastavfakultu}[1]{
\newcommand{\fakulta}{#1}
\newif\iffai \let\iffai\iffalse
\newif\iffame \let\iffame\iffalse
\newif\iffhs \let\iffhs\iffalse
\newif\ifflkr \let\ifflkr\iffalse
\newif\iffmk \let\iffmk\iffalse
\newif\ifft \let\ifft\iffalse
\newif\ifuni \let\ifuni\iffalse
\ifthenelse{\equal{#1}{FAI}}{\let\iffai\iftrue}{}
\ifthenelse{\equal{#1}{FAME}}{\let\iffame\iftrue}{}
\ifthenelse{\equal{#1}{FHS}}{\let\iffhs\iftrue}{}
\ifthenelse{\equal{#1}{FLKR}}{\let\ifflkr\iftrue}{}
\ifthenelse{\equal{#1}{FMK}}{\let\iffmk\iftrue}{}
\ifthenelse{\equal{#1}{FT}}{\let\ifft\iftrue}{}
\ifthenelse{\equal{#1}{UNI}}{\let\ifuni\iftrue}{}
\iffai \else \iffame \else \iffhs \else \ifflkr \else \iffmk \else \ifft \else \ifuni \else
\errmessage{Chyba nastaveni fakulty}
\fi \fi \fi \fi \fi \fi \fi
}
% Nastaveni a kontrola typu prace
\newcommand{\nastavtyp}[1]{
\newcommand{\typ}{#1}
\newif\ifbp \let\ifbp\iffalse
\newif\ifdp \let\ifdp\iffalse
\newif\ifsp \let\ifsp\iffalse
\ifthenelse{\equal{#1}{BP}}{\let\ifbp\iftrue}{}
\ifthenelse{\equal{#1}{DP}}{\let\ifdp\iftrue}{}
\ifthenelse{\equal{#1}{SP}}{\let\ifsp\iftrue}{}
\ifbp \else \ifdp \else \ifsp \else
\errmessage{Chyba nastaveni typu prace}
\fi \fi
}
% Nastaveni roku
\newcommand{\nastavrok}[1]{
\newcommand{\rok}{#1}
}
% Nastaveni jmena
\newcommand{\nastavautora}[1]{
\newcommand{\autor}{#1}
}
% Nastaveni nazvu
\newcommand{\nastavnazevcz}[1]{
\newcommand{\nazevcz}{#1}
}
\newcommand{\nastavnazeven}[1]{
\newcommand{\nazeven}{#1}
}
% Nastaveni abstraktu
\newcommand{\nastavabstraktcz}[1]{
\newcommand{\abstraktcz}{#1}
}
\newcommand{\nastavabstrakten}[1]{
\newcommand{\abstrakten}{#1}
}
% Nastaveni klicovych slov
\newcommand{\nastavklicovaslovacz}[1]{
\newcommand{\klicovaslovacz}{#1}
}
\newcommand{\nastavklicovaslovaen}[1]{
\newcommand{\klicovaslovaen}{#1}
}
% Nastaveni a kontrola jazyka
\newcommand{\nastavjazyk}[1]{
\newcommand{\jazyk}{#1}
\newif\ifczech \let\ifczech\iffalse
\newif\ifenglish \let\ifenglish\iffalse
\ifthenelse{\equal{#1}{CZ}}{\let\ifczech\iftrue}{}
\ifthenelse{\equal{#1}{EN}}{\let\ifenglish\iftrue}{}
\ifczech \else \ifenglish \else
\errmessage{Chyba nastaveni jazyka}
\fi \fi
\ifczech
\usepackage[czech]{babel}
% Vlastni definice nazvu
\addto\captionsczech{\renewcommand{\contentsname}{\MakeTextUppercase{Obsah}}}
\addto\captionsczech{\renewcommand{\refname}{\MakeTextUppercase{Seznam použité literatury}}}
\addto\captionsczech{\renewcommand{\listfigurename}{\MakeTextUppercase{Seznam obrázků}}}
\addto\captionsczech{\renewcommand{\listtablename}{\MakeTextUppercase{Seznam tabulek}}}
%\addto\captionsczech{\renewcommand{\figurename}{Obr.}}
%\addto\captionsczech{\renewcommand{\tablename}{Tab.}}
\renewcommand{\cftfigpresnum}{Obr. }
\else \ifenglish
\usepackage[english]{babel}
% Vlastni definice nazvu
\addto\captionsenglish{\renewcommand{\contentsname}{\MakeTextUppercase{Table of Contents}}}
\addto\captionsenglish{\renewcommand{\refname}{\MakeTextUppercase{References}}}
\addto\captionsenglish{\renewcommand{\listfigurename}{\MakeTextUppercase{List of Figures}}}
\addto\captionsenglish{\renewcommand{\listtablename}{\MakeTextUppercase{List of Tables}}}
%\addto\captionsenglish{\renewcommand{\figurename}{Fig.}}
%\addto\captionsenglish{\renewcommand{\tablename}{Tab.}}
\renewcommand{\cftfigpresnum}{Fig. }
\fi \fi
}
% Nastaveni vertikalniho odsazeni nad rovnicemi/soustavami rovnic (prvni parametr),
% a pod (druhy parametr)
\newcommand{\nastavmezerukolemrovnic}[2]{
\let\oldequation=\equation
\let\endoldequation=\endequation
\renewenvironment{equation}{\vspace{#1}\begin{oldequation}}{\end{oldequation}\vspace{#2}}
\let\oldeqnarray=\eqnarray
\let\endoldeqnarray=\endeqnarray
\renewenvironment{eqnarray}{\vspace{#1}\begin{oldeqnarray}}{\end{oldeqnarray}\vspace{#2}}
}
% Nastaveni vertikalniho odsazeni nad tabulkami (prvni parametr),
% a pod (druhy parametr)
\newcommand{\nastavmezerukolemtabulek}[2]{
\let\oldtable=\table
\let\endoldtable=\endtable
\renewenvironment{table}{\vspace{#1}\begin{oldtable}}{\end{oldtable}\vspace{#2}}
}
% Nastaveni vertikalniho odsazeni nad obrazky (prvni parametr),
% a pod (druhy parametr)
\newcommand{\nastavmezerukolemobrazku}[2]{
\let\oldfigure=\figure
\let\endoldfigure=\endfigure
\renewenvironment{figure}{\vspace{#1}\begin{oldfigure}}{\end{oldfigure}\vspace{#2}}
}
% =========================================================================== %
% STRANA S PROHLASENIM
\newcommand{\prohlaseni}{{
\clearpage
\thispagestyle{empty}
\ifczech
\textbf{Prohlašuji, že}
\begin{itemize}
\setlength{\parskip}{0pt}
\setlength{\itemsep}{0pt}
\setstretch{1.05}
\item{beru na vědomí, že odevzdáním \ifbp bakalářské \else \ifdp diplomové \fi \fi práce souhlasím se zveřejněním své práce podle zákona č. 111/1998 Sb. o vysokých školách a o změně a doplnění dalších zákonů (zákon o vysokých školách), ve znění pozdějších právních předpisů, bez ohledu na výsledek obhajoby;}
\item{beru na vědomí, že \ifbp bakalářské \else \ifdp diplomové \fi \fi práce bude uložena v elektronické podobě v univerzitním informačním systému dostupná k prezenčnímu nahlédnutí, že jeden výtisk \ifbp bakalářské \else \ifdp diplomové \fi \fi práce bude uložen v příruční knihovně \iffai Fakulty aplikované informatiky. \else \iffame Fakulty managementu a ekonomiky. \else \iffhs Fakulty humanitních studií. \else \ifflkr Fakulty logistiky a krizového řízení. \else \iffmk Fakutly mutimediálních komunikací. \else \ifft Fakulty technologické. \else \ifuni Univerzitního institutu. \if \fi \fi \fi \fi \fi \fi \fi \fi Univerzity Tomáše Bati ve Zlíně; }
\item{byl/a jsem seznámen/a s tím, že na moji \ifbp bakalářskou \else \ifdp diplomovou \fi \fi práci se plně vztahuje zákon č. 121/2000 Sb. o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon) ve znění pozdějších právních předpisů, zejm. § 35 odst. 3;}
\item{beru na vědomí, že podle § 60 odst. 1 autorského zákona má Univerzita Tomáše Bati ve Zlíně právo na uzavření licenční smlouvy o užití školního díla v rozsahu § 12 odst. 4 autorského zákona;}
\item{beru na vědomí, že podle § 60 odst. 2 a 3 autorského zákona mohu užít své dílo \ \ifbp bakalářskou \else \ifdp diplomovou \fi \fi práci nebo poskytnout licenci k~jejímu využití jen připouští-li tak licenční smlouva uzavřená mezi mnou a Univerzitou Tomáše Bati ve Zlíně s~tím, že vyrovnání případného přiměřeného příspěvku na úhradu nákladů, které byly Univerzitou Tomáše Bati ve Zlíně na vytvoření díla vynaloženy (až do jejich skutečné výše) bude rovněž předmětem této licenční smlouvy;}
\item{beru na vědomí, že pokud bylo k vypracování \ifbp bakalářské \else \ifdp diplomové \fi \fi práce využito softwaru poskytnutého Univerzitou Tomáše Bati ve Zlíně nebo jinými subjekty pouze ke~studijním a výzkumným účelům (tedy pouze k~nekomerčnímu využití), nelze výsledky \ifbp bakalářské \else \ifdp diplomové \fi \fi práce využít ke komerčním účelům;}
\item{beru na vědomí, že pokud je výstupem \ifbp bakalářské \else \ifdp diplomové \fi \fi práce jakýkoliv softwarový produkt, považují se za součást práce rovněž i zdrojové kódy, popř. soubory, ze kterých se projekt skládá. Neodevzdání této součásti může být důvodem k~neobhájení práce.}
\end{itemize}
\medskip
%\clearpage
%\thispagestyle{empty}
\textbf{Prohlašuji,}
\begin{itemize}
\setlength{\parskip}{0pt}
\setlength{\itemsep}{0pt}
\setstretch{1.05}
\item{že jsem na \ifbp bakalářské \else \ifdp diplomové \fi \fi práci pracoval samostatně a použitou literaturu jsem citoval. V případě publikace výsledků budu uveden jako spoluautor.}
\item{že odevzdaná verze \ifbp bakalářské \else \ifdp diplomové \fi \fi práce a verze elektronická nahraná do IS/STAG jsou totožné.}
\end{itemize}
\medskip
Ve Zlíně, dne \hspace{6.5cm}\dots\dots\dots\dots\dots\dots\dots\dots\dots\dots
\hspace{10.3cm}podpis studenta
\else \ifenglish
%\nm{THESIS AUTHOR STATEMENT}
\textbf{I hereby declare that:}
\begin{itemize}
\setlength{\parskip}{0pt}
\setlength{\itemsep}{0pt}
\setstretch{1.05}
\item{I understand that by submitting my \ifbp Bachelor's \else\ifdp Master's \fi\fi thesis, I agree to the publication of my work according to Law No. 111/1998, Coll., On Universities and on changes and amendments to other acts (e.g. the Universities Act), as amended by subsequent legislation, without regard to the results of the defence of the thesis.}
\item{I understand that my \ifbp Bachelor's \else\ifdp Master's \fi\fi Thesis will be stored electronically in the university information system and be made available for on-site inspection, and that a copy of the \ifbp Bachelor's \else\ifdp Master's \fi\fi Thesis will be stored in the Reference Library of the
\iffai Faculty of Applied Informatics, \else\iffame Faculty of Management and Economics, \else \iffhs Faculty of Humanities, \else\ifflkr Faculty of Logistics and Crisis Management, \else\iffmk Faculty of Multimedia Communications, \else\ifft Faculty of Technology, \else\ifuni University Institute, \if \fi \fi \fi \fi \fi \fi \fi \fi Tomas Bata University in Zlín.}
\item{I am aware of the fact that my \ifbp Bachelor's \else\ifdp Master's \fi\fi Thesis is fully covered by Act No. 121/2000 Coll. On Copyright, and Rights Related to Copyright, as amended by some other laws (e.g. the Copyright Act), as amended by subsequent legislation; and especially, by §35, Para. 3.}
\item{I understand that, according to §60, Para. 1 of the Copyright Act, Tomas Bata University in Zlín has the right to conclude licensing agreements relating to the use of scholastic work within the full extent of §12, Para. 4, of the Copyright Act.}
\item{I understand that, according to §60, Para. 2, and Para. 3, of the Copyright Act, I may use my work \ifbp Bachelor's \else\ifdp Master's \fi\fi Thesis, or grant a license for its use, only if permitted by the licensing agreement concluded between myself and Tomas Bata University in Zlín with a view to the fact that Tomas Bata University in Zlín must be compensated for any reasonable contribution to covering such expenses/costs as invested by them in the creation of the thesis (up until the full actual amount) shall also be a subject of this licensing agreement.}
\item{I understand that, should the elaboration of the \ifbp Bachelor's \else\ifdp Master's \fi\fi Thesis include the use of software provided by Tomas Bata University in Zlín or other such entities strictly for study and research purposes (i.e. only for non-commercial use), the results of my \ifbp Bachelor's \else\ifdp Master's \fi\fi Thesis cannot be used for commercial purposes.}
\item{I understand that, if the output of my \ifbp Bachelor's \else\ifdp Master's \fi\fi Thesis is any software product(s), this/these shall equally be considered as part of the thesis, as well as any source codes, or files from which the project is composed. Not submitting any part of this/these component(s) may be a reason for the non-defence of my thesis.}
\end{itemize}
\medskip
%\clearpage
%\thispagestyle{empty}
\textbf{I herewith declare that:}
\begin{itemize}
\setlength{\parskip}{0pt}
\setlength{\itemsep}{0pt}
\setstretch{1.05}
\item{I have worked on my thesis alone and duly cited any literature I have used. In the case of the publication of the results of my thesis, I shall be listed as co-author.}
\item{The submitted version of the thesis and its electronic version uploaded to IS/STAG are both identical.}
\end{itemize}
\medskip
In Zlín; dated: \hspace{6.5cm}\dots\dots\dots\dots\dots\dots\dots\dots\dots\dots
\hspace{10.3cm}Student's Signature
\fi \fi
}}
% =========================================================================== %

11
tex/abbreviations.tex Normal file
View File

@ -0,0 +1,11 @@
% =========================================================================== %
% Encoding: UTF-8 (žluťoučký kůň úpěl ďábelšké ódy)
% =========================================================================== %
\seznamzkr
\begin{tabular}{ll}
% abbr & explanation \\
\end{tabular}
% =========================================================================== %

11
tex/appendices.tex Normal file
View File

@ -0,0 +1,11 @@
% =========================================================================== %
% Encoding: UTF-8 (žluťoučký kůň úpěl ďábelšké ódy)
% =========================================================================== %
\listofappendices
% \priloha{name}
% contents here
% =========================================================================== %

1499
tex/csplainnat.bst Normal file
View File

@ -0,0 +1,1499 @@
%% Last modification: October 2014, tomasek@fai.utb.cz
%% $Id$
%% File: `csplainnat.bst' for use with natbib package
%% This is a modification of `plainnat.bst' for Czech references style
%% (According to "CSN ISO 690: Bibliograficke citace. Obsah, forma a struktura").
%% Some modifications are commented, look for the keyword 'CHANGE'
%% For more detailed info use svn repository svn://kraken.pedf.cuni.cz/csplainnat/
%%
%% Original plainnat.bst by Patrick W Daly
%% Modifications by David Mudr{\'{a}}k mudrd8mz@uxit.pedf.cuni.cz
%%
%% MAJOR MODIFICATIONS
%% * Added "@ONLINE" item type with added "cited" field.
%%
%% This program can be redistributed and/or modified under the terms
%% of the LaTeX Project Public License Distributed from CTAN
%% archives in directory macros/latex/base/lppl.txt; either
%% version 1 of the License, or any later version.
%%
% BibTeX `plainnat' family
% version 0.99b for BibTeX versions 0.99a or later,
% for LaTeX versions 2.09 and 2e.
%
% For use with the `natbib.sty' package; emulates the corresponding
% member of the `plain' family, but with author-year citations.
%
% With version 6.0 of `natbib.sty', it may also be used for numerical
% citations, while retaining the commands \citeauthor, \citefullauthor,
% and \citeyear to print the corresponding information.
%
% For version 7.0 of `natbib.sty', the KEY field replaces missing
% authors/editors, and the date is left blank in \bibitem.
%
% Includes field EID for the sequence/citation number of electronic journals
% which is used instead of page numbers.
%
% Includes fields ISBN and ISSN.
%
% Includes field URL for Internet addresses.
%
% Includes field DOI for Digital Object Idenfifiers.
%
% Works best with the url.sty package of Donald Arseneau.
%
% Works with identical authors and year are further sorted by
% citation key, to preserve any natural sequence.
%
ENTRY
{ address
author
booktitle
chapter
doi
eid
edition
editor
howpublished
institution
isbn
issn
journal
key
month
note
number
organization
pages
publisher
school
series
title
type
url
volume
year
cited
}
{}
{ label extra.label sort.label short.list }
INTEGERS { output.state before.all mid.sentence after.sentence after.block }
FUNCTION {init.state.consts}
{ #0 'before.all :=
#1 'mid.sentence :=
#2 'after.sentence :=
#3 'after.block :=
}
STRINGS { s t t1 t2 } % CHANGE mudrd8mz 2005-10-12 adding t1, t2
FUNCTION {output.nonnull}
{ 's :=
output.state mid.sentence =
{ ", " * write$ }
{ output.state after.block =
{ add.period$ write$
newline$
"\newblock " write$
}
{ output.state before.all =
'write$
{ add.period$ " " * write$ }
if$
}
if$
mid.sentence 'output.state :=
}
if$
s
}
FUNCTION {output}
{ duplicate$ empty$
'pop$
'output.nonnull
if$
}
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
{ pop$ "empty " t * " in " * cite$ * warning$ }
'output.nonnull
if$
}
FUNCTION {fin.entry}
{ add.period$
write$
newline$
}
FUNCTION {new.block}
{ output.state before.all =
'skip$
{ after.block 'output.state := }
if$
}
FUNCTION {new.sentence}
{ output.state after.block =
'skip$
{ output.state before.all =
'skip$
{ after.sentence 'output.state := }
if$
}
if$
}
FUNCTION {not}
{ { #0 }
{ #1 }
if$
}
FUNCTION {and}
{ 'skip$
{ pop$ #0 }
if$
}
FUNCTION {or}
{ { pop$ #1 }
'skip$
if$
}
FUNCTION {new.block.checka}
{ empty$
'skip$
'new.block
if$
}
FUNCTION {new.block.checkb}
{ empty$
swap$ empty$
and
'skip$
'new.block
if$
}
FUNCTION {new.sentence.checka}
{ empty$
'skip$
'new.sentence
if$
}
FUNCTION {new.sentence.checkb}
{ empty$
swap$ empty$
and
'skip$
'new.sentence
if$
}
FUNCTION {field.or.null}
{ duplicate$ empty$
{ pop$ "" }
'skip$
if$
}
FUNCTION {emphasize}
{ duplicate$ empty$
{ pop$ "" }
{ "\emph{" swap$ * "}" * }
if$
}
FUNCTION {capitalize} % CHANGE mudrd8mz 2005-10-12 adding new function
{
duplicate$ empty$
{ pop$ "" }
{ "{\sc " swap$ * "}" * } %{ "u" change.case$ }
if$
}
INTEGERS { nameptr namesleft numnames }
FUNCTION {format.names.full}
{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr "{ll}" format.name$ 't1 := % CHANGE mudrd8mz 2005-10-12
t1 capitalize 't1 := % CHANGE mudrd8mz 2005-10-12
s nameptr "{, f.}{~j.}" format.name$ 't2 := % CHANGE mudrd8mz 2005-10-12
t1 t2 * 't :=
nameptr #1 >
{ namesleft #1 >
{ ", " * t * } % CHANGE mudrd8mz 2005-10-13 : adding "--"; tomasek changed to comma
{ numnames #2 >
{ "" * } % CHANGE mudrd8mz 2005-10-12
'skip$
if$
t "OTHERS" = % CHANGE mudrd8mz 2005-10-12 because of capitalize
{ " et~al." * }
{ " and " * t * } % CHANGE mudrd8mz 2005-10-12 : between the last and the one before; tomasek changed to 'and'
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
FUNCTION {format.names.short} % CHANGE mudrd8mz 2005-10-14 adding more authors version
{ 's :=
s #1 "{ll}" format.name$ 't1 :=
t1 capitalize 't1 :=
s #1 "{, f.}{~j.}" format.name$ 't2 :=
t1 t2 * " et~al." *
}
FUNCTION {format.names}
{ duplicate$
num.names$ #10 >
{format.names.short} % pokud ma citace vice nez 3 autory, uvadi se pouze PRVNI et al.; tomasek increaset the limit to 10
{format.names.full} % pokud ma citace max 3 autory, uvadi se vsichni
if$
}
FUNCTION {format.key}
{ empty$
{ key field.or.null }
{ "" }
if$
}
FUNCTION {format.authors}
{ author empty$
{ "" }
{ author format.names }
if$
}
FUNCTION {format.editors}
{ editor empty$
{ "" }
{ editor format.names
editor num.names$ #1 >
{ " (Ed.)" * } % CHANGE mudrd8mz 2005-10-12
{ " (Ed.)" * }
if$
}
if$
}
FUNCTION {format.isbn}
{ isbn empty$
{ "" }
{ new.block "ISBN " isbn * }
if$
}
FUNCTION {format.issn}
{ issn empty$
{ "" }
{ new.block "ISSN " issn * }
if$
}
FUNCTION {format.url}
{ url empty$
{ "" }
{ new.block "Dostupn{\'{e}}~z: $\texttt{<{" url * "}>}$" * }
if$
}
FUNCTION {format.doi}
{ doi empty$
{ "" }
{ new.block "\doi{" doi * "}" * }
if$
}
FUNCTION {format.title}
{ title empty$
{ "" }
{ title }
if$
}
FUNCTION {format.full.names}
{'s :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
"{vv~}{ll}" format.name$ 't :=
nameptr #1 >
{
namesleft #1 >
{ ", " * t * }
{
numnames #2 >
{ "," * }
'skip$
if$
t "others" =
{ " et~al." * }
{ ", " * t * } % CHANGE mudrd8mz 2005-10-12
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
FUNCTION {author.editor.full}
{ author empty$
{ editor empty$
{ "" }
{ editor format.full.names }
if$
}
{ author format.full.names }
if$
}
FUNCTION {author.full}
{ author empty$
{ "" }
{ author format.full.names }
if$
}
FUNCTION {editor.full}
{ editor empty$
{ "" }
{ editor format.full.names }
if$
}
FUNCTION {make.full.names}
{ type$ "book" =
type$ "inbook" =
or
'author.editor.full
{ type$ "proceedings" =
'editor.full
'author.full
if$
}
if$
}
FUNCTION {output.bibitem}
{ newline$
"\bibitem[" write$
label write$
")" make.full.names duplicate$ short.list =
{ pop$ }
{ * }
if$
"]{" * write$
cite$ write$
"}" write$
newline$
""
before.all 'output.state :=
}
FUNCTION {n.dashify}
{ 't :=
""
{ t empty$ not }
{ t #1 #1 substring$ "-" =
{ t #1 #2 substring$ "--" = not
{ "--" *
t #2 global.max$ substring$ 't :=
}
{ { t #1 #1 substring$ "-" = }
{ "-" *
t #2 global.max$ substring$ 't :=
}
while$
}
if$
}
{ t #1 #1 substring$ *
t #2 global.max$ substring$ 't :=
}
if$
}
while$
}
FUNCTION {format.date}
{ year duplicate$ empty$
{ "empty year in " cite$ * warning$
pop$ "" }
'skip$
if$
month empty$
'skip$
{ month
" " * swap$ *
}
if$
extra.label *
}
FUNCTION {format.btitle}
{ title emphasize
}
FUNCTION {tie.or.space.connect}
{ duplicate$ text.length$ #3 <
{ "~" }
{ " " }
if$
swap$ * *
}
FUNCTION {either.or.check}
{ empty$
'pop$
{ "can't use both " swap$ * " fields in " * cite$ * warning$ }
if$
}
FUNCTION {format.bvolume}
{ volume empty$
{ "" }
{ "" volume tie.or.space.connect % CHANGE mudrd8mz 2005-10-12 removing "volume"
series empty$
'skip$
{ " / " * series emphasize * } % CHANGE mudrd8mz 2005-10-12 "of" --> "/"
if$
"volume and number" number either.or.check
}
if$
}
FUNCTION {format.number.series}
{ volume empty$
{ number empty$
{ series field.or.null }
{ output.state mid.sentence =
{ "{\v{c}}." } % CHANGE mudrd8mz 2005-10-12 "{\v{c}}" instead of "number"
{ "{\v{C}}." }
if$
number tie.or.space.connect
series empty$
{ "there's a number but no series in " cite$ * warning$ }
{ " v " * series * } % CHANGE mudrd8mz 2005-10-12 "in" --> "v"
if$
}
if$
}
{ "" }
if$
}
FUNCTION {format.edition}
{ edition empty$
{ "" }
{ output.state mid.sentence =
{ edition "l" change.case$ " edition" * }
{ edition "t" change.case$ " edition" * }
if$
}
if$
}
INTEGERS { multiresult }
FUNCTION {multi.page.check}
{ 't :=
#0 'multiresult :=
{ multiresult not
t empty$ not
and
}
{ t #1 #1 substring$
duplicate$ "-" =
swap$ duplicate$ "," =
swap$ "+" =
or or
{ #1 'multiresult := }
{ t #2 global.max$ substring$ 't := }
if$
}
while$
multiresult
}
FUNCTION {format.pages}
{ pages empty$
{ "" }
{ pages multi.page.check
%{ "s." pages n.dashify tie.or.space.connect } % CHANGE mudrd8mz 2007-03-15: 'pages' -> 's.'
%{ "s." pages tie.or.space.connect } % CHANGE mudrd8mz 2007-03-15: 'pages' -> 's.'
{ "pp." pages n.dashify tie.or.space.connect } % CHANGE tomasek: 'pages' -> 'pp.'
{ "pp." pages tie.or.space.connect } % CHANGE tomasek: 'pages' -> 'pp.'
if$
}
if$
}
FUNCTION {format.eid}
{ eid empty$
{ "" }
{ "art." eid tie.or.space.connect }
if$
}
FUNCTION {format.vol.num.pages}
{ volume field.or.null
number empty$
'skip$
{ ", " number * *
volume empty$
{ "there's a number but no volume in " cite$ * warning$ }
'skip$
if$
}
if$
pages empty$
'skip$
{ duplicate$ empty$
{ pop$ format.pages }
%{ ", s.~" * pages n.dashify * }
{ ", pp.~" * pages n.dashify * } % CHANGE tomasek: 'pp.'
if$
}
if$
}
FUNCTION {format.vol.num.eid}
{ volume field.or.null
number empty$
'skip$
{ "\penalty0, " number * *
volume empty$
{ "there's a number but no volume in " cite$ * warning$ }
'skip$
if$
}
if$
eid empty$
'skip$
{ duplicate$ empty$
{ pop$ format.eid }
{ ":\penalty0 " * eid * }
if$
}
if$
}
FUNCTION {format.chapter.pages}
{ chapter empty$
'format.pages
{ type empty$
{ "" } % CHANGE mudrd8mz 2008-04-08 removing the word "chapter"
{ type "l" change.case$ }
if$
chapter tie.or.space.connect
pages empty$
'skip$
{ ", " * format.pages * }
if$
}
if$
}
FUNCTION {format.in.ed.booktitle}
{ booktitle empty$
{ "" }
{ editor empty$
{ "In " booktitle emphasize * }
{ "In " format.editors * " " * booktitle emphasize * } % CHANGE mudrd8mz 2005-10-12
if$
}
if$
}
FUNCTION {empty.misc.check}
{ author empty$ title empty$ howpublished empty$
month empty$ year empty$ note empty$
and and and and and
key empty$ not and
{ "all relevant fields are empty in " cite$ * warning$ }
'skip$
if$
}
FUNCTION {format.thesis.type}
{ type empty$
'skip$
{ pop$ type } % CHANGE mudrd8mz 2007-03-15: Do not lowercase the thesis type
if$
}
FUNCTION {format.tr.number}
{ type empty$
{ "Technical Report" }
'type
if$
number empty$
{ "t" change.case$ }
{ number tie.or.space.connect }
if$
}
FUNCTION {format.article.crossref}
{ key empty$
{ journal empty$
{ "need key or journal for " cite$ * " to crossref " * crossref *
warning$
""
}
{ "In \emph{" journal * "}" * }
if$
}
{ "In " key * }
if$
" \citep{" * crossref * "}" *
}
FUNCTION {format.book.crossref}
{ volume empty$
{ "empty volume in " cite$ * "'s crossref of " * crossref * warning$
"In "
}
{ "Volume" volume tie.or.space.connect
" of " *
}
if$
editor empty$
editor field.or.null author field.or.null =
or
{ key empty$
{ series empty$
{ "need editor, key, or series for " cite$ * " to crossref " *
crossref * warning$
"" *
}
{ "\emph{" * series * "}" * }
if$
}
{ key * }
if$
}
'skip$
if$
", \citet{" * crossref * "}" *
}
FUNCTION {format.incoll.inproc.crossref}
{ editor empty$
editor field.or.null author field.or.null =
or
{ key empty$
{ booktitle empty$
{ "need editor, key, or booktitle for " cite$ * " to crossref " *
crossref * warning$
""
}
{ "In \emph{" booktitle * "}" * }
if$
}
{ "In " key * }
if$
}
{ "In " }
if$
" \citet{" * crossref * "}" *
}
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
author format.key output
new.block
format.title "title" output.check
new.block
crossref missing$
{ journal emphasize "journal" output.check
new.sentence
format.date "year" output.check
eid empty$
{ format.vol.num.pages output }
{ format.vol.num.eid output }
if$
}
{ format.article.crossref output.nonnull
eid empty$
{ format.pages output }
{ format.eid output }
if$
}
if$
format.issn output
format.doi output
format.url output
new.block
note output
fin.entry
}
FUNCTION {online} % CHANGE mudrd8mz 2005-10-12 addign new item type
{ output.bibitem
format.authors output
new.block
format.btitle " [online]" * output
new.sentence
publisher missing$
'skip$
{ publisher output }
if$
year missing$
'skip$
{ format.date "year" output.check }
if$
new.sentence
cited missing$
'skip$
{ "[cit.~" cited * "]" * output }
if$
new.sentence
note output
new.sentence
format.url output
fin.entry
}
FUNCTION {book}
{ output.bibitem
author empty$
{ format.editors "author and editor" output.check
editor format.key output
}
{ format.authors output.nonnull
crossref missing$
{ "author and editor" editor either.or.check }
'skip$
if$
}
if$
new.block
format.btitle "title" output.check
crossref missing$
{ new.block
format.bvolume output
format.number.series output
new.sentence
publisher
% address "~: " * publisher * % CHANGE mudrd8mz 2005-10-12
"publisher" output.check
}
{ new.block
format.book.crossref output.nonnull
}
if$
format.edition output
format.date "year" output.check
format.doi output
format.url output
new.block
note output
format.isbn output
fin.entry
}
FUNCTION {booklet}
{ output.bibitem
format.authors output
author format.key output
new.block
format.title "title" output.check
howpublished address new.block.checkb
howpublished output
address output
format.date output
format.doi output
format.url output
new.block
note output
format.isbn output
fin.entry
}
FUNCTION {inbook}
{ output.bibitem
author empty$
{ format.editors "author and editor" output.check
editor format.key output
}
{ format.authors output.nonnull
crossref missing$
{ "author and editor" editor either.or.check }
'skip$
if$
}
if$
new.block
format.btitle "title" output.check
crossref missing$
{ format.bvolume output
format.chapter.pages "chapter and pages" output.check
new.block
format.number.series output
new.sentence
publisher "publisher" output.check
address output
}
{ format.chapter.pages "chapter and pages" output.check
new.block
format.book.crossref output.nonnull
}
if$
format.edition output
format.date "year" output.check
format.doi output
format.url output
new.block
note output
format.isbn output
fin.entry
}
FUNCTION {incollection}
{ output.bibitem
format.authors "author" output.check
author format.key output
new.block
format.title "title" output.check
new.block
crossref missing$
{ format.in.ed.booktitle "booktitle" output.check
format.bvolume output
format.number.series output
new.sentence
address ": " * publisher * % CHANGE mudrd8mz 2005-10-12
"publisher" output.check
%publisher "publisher" output.check
%address output
format.edition output
format.date "year" output.check
new.sentence
format.chapter.pages output
}
{ format.incoll.inproc.crossref output.nonnull
format.chapter.pages output
}
if$
format.doi output
format.url output
new.block
format.isbn output
note output
fin.entry
}
FUNCTION {inproceedings}
{ output.bibitem
format.authors "author" output.check
author format.key output
new.block
format.title "title" output.check
new.block
crossref missing$
{ format.in.ed.booktitle "booktitle" output.check
format.bvolume output
format.number.series output
format.pages output
address empty$
{ organization publisher new.sentence.checkb
organization output
publisher output
format.date "year" output.check
}
{ address output.nonnull
format.date "year" output.check
new.sentence
organization output
publisher output
}
if$
}
{ format.incoll.inproc.crossref output.nonnull
format.pages output
}
if$
format.doi output
format.url output
new.block
format.isbn output
note output
fin.entry
}
FUNCTION {conference} { inproceedings }
FUNCTION {manual}
{ output.bibitem
format.authors output
author format.key output
new.block
format.btitle "title" output.check
organization address new.block.checkb
organization output
address output
format.edition output
format.date output
format.url output
new.block
note output
fin.entry
}
FUNCTION {mastersthesis}
{ output.bibitem
format.authors "author" output.check
author format.key output
new.block
format.title "title" output.check
new.block
"Master's thesis" format.thesis.type output.nonnull
school "school" output.check
address output
format.date "year" output.check
format.url output
new.block
note output
fin.entry
}
FUNCTION {misc}
{ output.bibitem
format.authors output
author format.key output
title howpublished new.block.checkb
format.title output
howpublished new.block.checka
howpublished output
format.date output
format.issn output
format.url output
new.block
note output
fin.entry
empty.misc.check
}
FUNCTION {phdthesis}
{ output.bibitem
format.authors "author" output.check
author format.key output
new.block
format.btitle "title" output.check
new.block
"PhD thesis" format.thesis.type output.nonnull
school "school" output.check
address output
format.date "year" output.check
format.url output
new.block
note output
fin.entry
}
FUNCTION {proceedings}
{ output.bibitem
format.editors output
editor format.key output
new.block
format.btitle "title" output.check
format.bvolume output
format.number.series output
address output
format.date "year" output.check
new.sentence
organization output
publisher output
format.doi output
format.url output
new.block
format.isbn output
note output
fin.entry
}
FUNCTION {techreport}
{ output.bibitem
format.authors "author" output.check
author format.key output
new.block
format.title "title" output.check
new.block
format.tr.number output.nonnull
institution "institution" output.check
address output
format.date "year" output.check
format.url output
new.block
note output
fin.entry
}
FUNCTION {unpublished}
{ output.bibitem
format.authors "author" output.check
author format.key output
new.block
format.title "title" output.check
format.url output
new.block
note "note" output.check
format.date output
fin.entry
}
FUNCTION {default.type} { misc }
MACRO {jan} {"January"}
MACRO {feb} {"February"}
MACRO {mar} {"March"}
MACRO {apr} {"April"}
MACRO {may} {"May"}
MACRO {jun} {"June"}
MACRO {jul} {"July"}
MACRO {aug} {"August"}
MACRO {sep} {"September"}
MACRO {oct} {"October"}
MACRO {nov} {"November"}
MACRO {dec} {"December"}
MACRO {acmcs} {"ACM Computing Surveys"}
MACRO {acta} {"Acta Informatica"}
MACRO {cacm} {"Communications of the ACM"}
MACRO {ibmjrd} {"IBM Journal of Research and Development"}
MACRO {ibmsj} {"IBM Systems Journal"}
MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
MACRO {ieeetc} {"IEEE Transactions on Computers"}
MACRO {ieeetcad}
{"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
MACRO {ipl} {"Information Processing Letters"}
MACRO {jacm} {"Journal of the ACM"}
MACRO {jcss} {"Journal of Computer and System Sciences"}
MACRO {scp} {"Science of Computer Programming"}
MACRO {sicomp} {"SIAM Journal on Computing"}
MACRO {tocs} {"ACM Transactions on Computer Systems"}
MACRO {tods} {"ACM Transactions on Database Systems"}
MACRO {tog} {"ACM Transactions on Graphics"}
MACRO {toms} {"ACM Transactions on Mathematical Software"}
MACRO {toois} {"ACM Transactions on Office Information Systems"}
MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
MACRO {tcs} {"Theoretical Computer Science"}
READ
FUNCTION {sortify}
{ purify$
"l" change.case$
}
INTEGERS { len }
FUNCTION {chop.word}
{ 's :=
'len :=
s #1 len substring$ =
{ s len #1 + global.max$ substring$ }
's
if$
}
FUNCTION {format.lab.names}
{ 's :=
s #1 "{vv~}{ll}" format.name$
s num.names$ duplicate$
#2 >
{ pop$ " et~al." * }
{ #2 <
'skip$
{ s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
{ " et~al." * }
{ " -- " * s #2 "{vv~}{ll}" format.name$ * } % CHANGE mudrd8mz 2005-10-12: changed "and"
if$
}
if$
}
if$
}
FUNCTION {author.key.label}
{ author empty$
{ key empty$
{ cite$ #1 #3 substring$ }
'key
if$
}
{ author format.lab.names }
if$
}
FUNCTION {author.editor.key.label}
{ author empty$
{ editor empty$
{ key empty$
{ cite$ #1 #3 substring$ }
'key
if$
}
{ editor format.lab.names }
if$
}
{ author format.lab.names }
if$
}
FUNCTION {author.key.organization.label}
{ author empty$
{ key empty$
{ organization empty$
{ cite$ #1 #3 substring$ }
{ "The " #4 organization chop.word #3 text.prefix$ }
if$
}
'key
if$
}
{ author format.lab.names }
if$
}
FUNCTION {editor.key.organization.label}
{ editor empty$
{ key empty$
{ organization empty$
{ cite$ #1 #3 substring$ }
{ "The " #4 organization chop.word #3 text.prefix$ }
if$
}
'key
if$
}
{ editor format.lab.names }
if$
}
FUNCTION {calc.short.authors}
{ type$ "book" =
type$ "inbook" =
or
'author.editor.key.label
{ type$ "proceedings" =
'editor.key.organization.label
{ type$ "manual" =
'author.key.organization.label
'author.key.label
if$
}
if$
}
if$
'short.list :=
}
FUNCTION {calc.label}
{ calc.short.authors
short.list
"("
*
year duplicate$ empty$
short.list key field.or.null = or
{ pop$ "" }
'skip$
if$
*
'label :=
}
FUNCTION {sort.format.names}
{ 's :=
#1 'nameptr :=
""
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{
s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
nameptr #1 >
{
" " *
namesleft #1 = t "others" = and
{ "zzzzz" * }
{ numnames #2 > nameptr #2 = and
{ "zz" * year field.or.null * " " * }
'skip$
if$
t sortify *
}
if$
}
{ t sortify * }
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
FUNCTION {sort.format.title}
{ 't :=
"A " #2
"An " #3
"The " #4 t chop.word
chop.word
chop.word
sortify
#1 global.max$ substring$
}
FUNCTION {author.sort}
{ author empty$
{ key empty$
{ "to sort, need author or key in " cite$ * warning$
""
}
{ key sortify }
if$
}
{ author sort.format.names }
if$
}
FUNCTION {author.editor.sort}
{ author empty$
{ editor empty$
{ key empty$
{ "to sort, need author, editor, or key in " cite$ * warning$
""
}
{ key sortify }
if$
}
{ editor sort.format.names }
if$
}
{ author sort.format.names }
if$
}
FUNCTION {author.organization.sort}
{ author empty$
{ organization empty$
{ key empty$
{ "to sort, need author, organization, or key in " cite$ * warning$
""
}
{ key sortify }
if$
}
{ "The " #4 organization chop.word sortify }
if$
}
{ author sort.format.names }
if$
}
FUNCTION {editor.organization.sort}
{ editor empty$
{ organization empty$
{ key empty$
{ "to sort, need editor, organization, or key in " cite$ * warning$
""
}
{ key sortify }
if$
}
{ "The " #4 organization chop.word sortify }
if$
}
{ editor sort.format.names }
if$
}
FUNCTION {presort}
{ calc.label
label sortify
" "
*
type$ "book" =
type$ "inbook" =
or
'author.editor.sort
{ type$ "proceedings" =
'editor.organization.sort
{ type$ "manual" =
'author.organization.sort
'author.sort
if$
}
if$
}
if$
" "
*
cite$
*
#1 entry.max$ substring$
'sort.label :=
sort.label *
#1 entry.max$ substring$
'sort.key$ :=
}
ITERATE {presort}
SORT
STRINGS { longest.label last.label next.extra }
INTEGERS { longest.label.width last.extra.num number.label }
FUNCTION {initialize.longest.label}
{ "" 'longest.label :=
#0 int.to.chr$ 'last.label :=
"" 'next.extra :=
#0 'longest.label.width :=
#0 'last.extra.num :=
#0 'number.label :=
}
FUNCTION {forward.pass}
{ last.label label =
{ last.extra.num #1 + 'last.extra.num :=
last.extra.num int.to.chr$ 'extra.label :=
}
{ "a" chr.to.int$ 'last.extra.num :=
"" 'extra.label :=
label 'last.label :=
}
if$
number.label #1 + 'number.label :=
}
FUNCTION {reverse.pass}
{ next.extra "b" =
{ "a" 'extra.label := }
'skip$
if$
extra.label 'next.extra :=
extra.label
duplicate$ empty$
'skip$
{ "{\natexlab{" swap$ * "}}" * }
if$
'extra.label :=
label extra.label * 'label :=
}
EXECUTE {initialize.longest.label}
ITERATE {forward.pass}
REVERSE {reverse.pass}
FUNCTION {bib.sort.order}
{ sort.label 'sort.key$ :=
}
ITERATE {bib.sort.order}
SORT
FUNCTION {begin.bib}
{ preamble$ empty$
'skip$
{ preamble$ write$ newline$ }
if$
"\begin{thebibliography}{" number.label int.to.str$ * "}" *
write$ newline$
"\providecommand{\natexlab}[1]{#1}"
write$ newline$
"\providecommand{\url}[1]{\texttt{#1}}"
write$ newline$
"\expandafter\ifx\csname urlstyle\endcsname\relax"
write$ newline$
" \providecommand{\doi}[1]{doi: #1}\else"
write$ newline$
" \providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi"
write$ newline$
}
EXECUTE {begin.bib}
EXECUTE {init.state.consts}
ITERATE {call.type$}
FUNCTION {end.bib}
{ newline$
"\end{thebibliography}" write$ newline$
}
EXECUTE {end.bib}

1460
tex/czechiso-cz.bst Normal file
View File

@ -0,0 +1,1460 @@
%%
%% This is file `czechiso.bst',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% merlin.mbs (with options: `head,exlang,lang,seq-no,vonx,nm-rev,jnrlst,aunm-semi,nmlm,x3,m3,atit-u,vnum-nr,volp-sp,jwdpg,pp-last,jwdvol,num-xser,ser-vol,ser-ed,pg-bk,add-pub,isbn,issn,doi,edpar,edby,blk-tit,au-col,čeština,pp,and-xcom,xand,eprint,url,url-nl,nfss,,{}')
%% czech.mbs (with options: `exlang,lang,seq-no,vonx,nm-rev,jnrlst,aunm-semi,nmlm,x3,m3,atit-u,vnum-nr,volp-sp,jwdpg,pp-last,jwdvol,num-xser,ser-vol,ser-ed,pg-bk,add-pub,isbn,issn,doi,edpar,edby,blk-tit,au-col,čeština,pp,and-xcom,xand,eprint,url,url-nl,nfss,,{}')
%% merlin.mbs (with options: `tail,exlang,lang,seq-no,vonx,nm-rev,jnrlst,aunm-semi,nmlm,x3,m3,atit-u,vnum-nr,volp-sp,jwdpg,pp-last,jwdvol,num-xser,ser-vol,ser-ed,pg-bk,add-pub,isbn,issn,doi,edpar,edby,blk-tit,au-col,čeština,pp,and-xcom,xand,eprint,url,url-nl,nfss,,{}')
%% ----------------------------------------
%% *** Styl snažící se být v souladu s normou ISO 690. Pomocí latex makebst vytvořil David Martinek. ***
%%
%% Copyright 1994-2011 Patrick W Daly
% ===============================================================
% IMPORTANT NOTICE:
% This bibliographic style (bst) file has been generated from one or
% more master bibliographic style (mbs) files, listed above.
%
% This generated file can be redistributed and/or modified under the terms
% of the LaTeX Project Public License Distributed from CTAN
% archives in directory macros/latex/base/lppl.txt; either
% version 1 of the License, or any later version.
% ===============================================================
% Name and version information of the main mbs file:
% \ProvidesFile{merlin.mbs}[2011/11/18 4.33 (PWD, AO, DPC)]
% For use with BibTeX version 0.99a or later
%-------------------------------------------------------------------
% This bibliography style file is intended for texts in
% This is a numerical citation style, and as such is standard LaTeX.
% It requires no extra package to interface to the main text.
% The form of the \bibitem entries is
% \bibitem{key}...
% Usage of \cite is as follows:
% \cite{key} ==>> [#]
% \cite[chap. 2]{key} ==>> [#, chap. 2]
% where # is a number determined by the ordering in the reference list.
% The order in the reference list is that by which the works were originally
% cited in the text, or that in the database.
%---------------------------------------------------------------------
ENTRY
{ address
archive
author
booktitle
chapter
doi
edition
editor
eid
eprint
howpublished
institution
isbn
issn
journal
key
language
month
note
number
organization
pages
publisher
school
series
title
type
url
volume
year
}
{}
{ label }
INTEGERS { output.state before.all mid.sentence after.sentence after.block }
FUNCTION {init.state.consts}
{ #0 'before.all :=
#1 'mid.sentence :=
#2 'after.sentence :=
#3 'after.block :=
}
STRINGS { s t}
FUNCTION {output.nonnull}
{ 's :=
output.state mid.sentence =
{ ", " * write$ }
{ output.state after.block =
{ add.period$ write$
newline$
"\newblock " write$
}
{ output.state before.all =
'write$
{ add.period$ " " * write$ }
if$
}
if$
mid.sentence 'output.state :=
}
if$
s
}
FUNCTION {output}
{ duplicate$ empty$
'pop$
'output.nonnull
if$
}
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
{ pop$ "empty " t * " in " * cite$ * warning$ }
'output.nonnull
if$
}
FUNCTION {fin.entry}
{ add.period$
write$
newline$
}
FUNCTION {new.block}
{ output.state before.all =
'skip$
{ after.block 'output.state := }
if$
}
FUNCTION {new.sentence}
{ output.state after.block =
'skip$
{ output.state before.all =
'skip$
{ after.sentence 'output.state := }
if$
}
if$
}
FUNCTION {add.blank}
{ " " * before.all 'output.state :=
}
FUNCTION {add.colon}
{ duplicate$ empty$
'skip$
{ ":" * add.blank }
if$
}
FUNCTION {date.block}
{
skip$
}
FUNCTION {not}
{ { #0 }
{ #1 }
if$
}
FUNCTION {and}
{ 'skip$
{ pop$ #0 }
if$
}
FUNCTION {or}
{ { pop$ #1 }
'skip$
if$
}
FUNCTION {new.block.checka}
{ empty$
'skip$
'new.block
if$
}
FUNCTION {new.block.checkb}
{ empty$
swap$ empty$
and
'skip$
'new.block
if$
}
FUNCTION {new.sentence.checka}
{ empty$
'skip$
'new.sentence
if$
}
FUNCTION {new.sentence.checkb}
{ empty$
swap$ empty$
and
'skip$
'new.sentence
if$
}
FUNCTION {field.or.null}
{ duplicate$ empty$
{ pop$ "" }
'skip$
if$
}
FUNCTION {emphasize}
{ duplicate$ empty$
{ pop$ "" }
{ "\emph{" swap$ * "}" * }
if$
}
FUNCTION {tie.or.space.prefix}
{ duplicate$ text.length$ #3 <
{ "~" }
{ " " }
if$
swap$
}
FUNCTION {capitalize}
{ "u" change.case$ "t" change.case$ }
FUNCTION {space.word}
{ " " swap$ * " " * }
% Here are the language-specific definitions for explicit words.
% Each function has a name bbl.xxx where xxx is the English word.
%-------------------------------------------------------------------
% Begin module:
% \ProvidesFile{czech.mbs}[2006/03/31 1.0 (DM)]
% The language selected here is CZECH
FUNCTION {bbl.and}
{ "a"}
FUNCTION {bbl.etal}
{ "aj." }
FUNCTION {bbl.editors}
{ "editoři" }
FUNCTION {bbl.editor}
{ "editor" }
FUNCTION {bbl.edby}
{ "editace" }
FUNCTION {bbl.edition}
{ "vydání" }
FUNCTION {bbl.volume}
{ "ročník" }
FUNCTION {bbl.of}
{ "" }
FUNCTION {bbl.number}
{ "číslo" }
FUNCTION {bbl.nr}
{ "č." }
FUNCTION {bbl.in}
{ "in" }
FUNCTION {bbl.pages}
{ "s." }
FUNCTION {bbl.page}
{ "str." }
FUNCTION {bbl.chapter}
{ "kapitola" }
FUNCTION {bbl.techrep}
{ "Technická Zpráva" }
FUNCTION {bbl.mthesis}
{ "Diplomová práce" }
FUNCTION {bbl.phdthesis}
{ "Dizertační práce" }
FUNCTION {bbl.first}
{ "První" }
FUNCTION {bbl.second}
{ "Druhé" }
FUNCTION {bbl.third}
{ "Třetí" }
FUNCTION {bbl.fourth}
{ "Čtvrté" }
FUNCTION {bbl.fifth}
{ "Páté" }
FUNCTION {bbl.st}
{ "" }
FUNCTION {bbl.nd}
{ "" }
FUNCTION {bbl.rd}
{ "" }
FUNCTION {bbl.th}
{ "" }
MACRO {jan} {"Leden"}
MACRO {feb} {"Únor"}
MACRO {mar} {"Březen"}
MACRO {apr} {"Duben"}
MACRO {may} {"Květen"}
MACRO {jun} {"Červen"}
MACRO {jul} {"Červenec"}
MACRO {aug} {"Srpen"}
MACRO {sep} {"Září"}
MACRO {oct} {"Říjen"}
MACRO {nov} {"Listopad"}
MACRO {dec} {"Prosinec"}
% End module: czech.mbs
%% Copyright 1994-2011 Patrick W Daly
MACRO {acmcs} {"ACM Computing Surveys"}
MACRO {acta} {"Acta Informatica"}
MACRO {cacm} {"Communications of the ACM"}
MACRO {ibmjrd} {"IBM Journal of Research and Development"}
MACRO {ibmsj} {"IBM Systems Journal"}
MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
MACRO {ieeetc} {"IEEE Transactions on Computers"}
MACRO {ieeetcad}
{"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
MACRO {ipl} {"Information Processing Letters"}
MACRO {jacm} {"Journal of the ACM"}
MACRO {jcss} {"Journal of Computer and System Sciences"}
MACRO {scp} {"Science of Computer Programming"}
MACRO {sicomp} {"SIAM Journal on Computing"}
MACRO {tocs} {"ACM Transactions on Computer Systems"}
MACRO {tods} {"ACM Transactions on Database Systems"}
MACRO {tog} {"ACM Transactions on Graphics"}
MACRO {toms} {"ACM Transactions on Mathematical Software"}
MACRO {toois} {"ACM Transactions on Office Information Systems"}
MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
MACRO {tcs} {"Theoretical Computer Science"}
FUNCTION {bibinfo.check}
{ swap$
duplicate$ missing$
{
pop$ pop$
""
}
{ duplicate$ empty$
{
swap$ pop$
}
{ swap$
pop$
}
if$
}
if$
}
FUNCTION {bibinfo.warn}
{ swap$
duplicate$ missing$
{
swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
""
}
{ duplicate$ empty$
{
swap$ "empty " swap$ * " in " * cite$ * warning$
}
{ swap$
pop$
}
if$
}
if$
}
FUNCTION {format.eprint}
{ eprint duplicate$ empty$
'skip$
{ "\eprint"
archive empty$
'skip$
{ "[" * archive * "]" * }
if$
"{" * swap$ * "}" *
}
if$
}
FUNCTION {write.url}
{
url
duplicate$ empty$
{ pop$ }
{ "\newline\urlprefix\url{" swap$ * "}" * write$ newline$ }
if$
}
INTEGERS { nameptr namesleft numnames }
STRINGS { bibinfo}
FUNCTION {format.names}
{ 'bibinfo :=
duplicate$ empty$ 'skip$ {
's :=
"" 't :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
"{vv~}{ll}{, f.}{, jj}"
format.name$
bibinfo bibinfo.check
't :=
nameptr #1 >
{
nameptr #3
#1 + =
numnames #3
> and
{ "others" 't :=
#1 'namesleft := }
'skip$
if$
namesleft #1 >
{ "; " * t * }
{
s nameptr "{ll}" format.name$ duplicate$ "others" =
{ 't := }
{ pop$ }
if$
";" *
t "others" =
{
" " * bbl.etal *
}
{ " " * t * }
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
} if$
}
FUNCTION {format.names.ed}
{
'bibinfo :=
duplicate$ empty$ 'skip$ {
's :=
"" 't :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
"{f.~}{vv~}{ll}{, jj}"
format.name$
bibinfo bibinfo.check
't :=
nameptr #1 >
{
namesleft #1 >
{ "; " * t * }
{
s nameptr "{ll}" format.name$ duplicate$ "others" =
{ 't := }
{ pop$ }
if$
";" *
t "others" =
{
" " * bbl.etal *
}
{ " " * t * }
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
} if$
}
FUNCTION {format.authors}
{ author "author" format.names
}
FUNCTION {get.bbl.editor}
{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
FUNCTION {format.editors}
{ editor "editor" format.names duplicate$ empty$ 'skip$
{
" " *
get.bbl.editor
"(" swap$ * ")" *
*
}
if$
}
FUNCTION {format.book.pages}
{ pages "pages" bibinfo.check
duplicate$ empty$ 'skip$
{ " " * bbl.pages * }
if$
}
FUNCTION {format.isbn}
{ isbn "isbn" bibinfo.check
duplicate$ empty$ 'skip$
{
"ISBN " swap$ *
}
if$
}
FUNCTION {format.issn}
{ issn "issn" bibinfo.check
duplicate$ empty$ 'skip$
{
"ISSN " swap$ *
}
if$
}
FUNCTION {format.doi}
{ doi empty$
{ "" }
{
"\doi{" doi * "}" *
}
if$
}
FUNCTION {select.language}
{ duplicate$ empty$
'pop$
{ language empty$
'skip$
{ "{\selectlanguage{" language * "}" * swap$ * "}" * }
if$
}
if$
}
FUNCTION {format.note}
{
note empty$
{ "" }
{ note #1 #1 substring$
duplicate$ "{" =
'skip$
{ output.state mid.sentence =
{ "l" }
{ "u" }
if$
change.case$
}
if$
note #2 global.max$ substring$ * "note" bibinfo.check
}
if$
}
FUNCTION {format.title}
{ title
"title" bibinfo.check
duplicate$ empty$ 'skip$
{
select.language
}
if$
}
FUNCTION {output.bibitem}
{ newline$
"\bibitem{" write$
cite$ write$
"}" write$
newline$
""
before.all 'output.state :=
}
FUNCTION {n.dashify}
{
't :=
""
{ t empty$ not }
{ t #1 #1 substring$ "-" =
{ t #1 #2 substring$ "--" = not
{ "--" *
t #2 global.max$ substring$ 't :=
}
{ { t #1 #1 substring$ "-" = }
{ "-" *
t #2 global.max$ substring$ 't :=
}
while$
}
if$
}
{ t #1 #1 substring$ *
t #2 global.max$ substring$ 't :=
}
if$
}
while$
}
FUNCTION {word.in}
{ bbl.in capitalize
" " * }
FUNCTION {format.date}
{
month "month" bibinfo.check
duplicate$ empty$
year "year" bibinfo.check duplicate$ empty$
{ swap$ 'skip$
{ "there's a month but no year in " cite$ * warning$ }
if$
*
}
{ swap$ 'skip$
{
swap$
" " * swap$
}
if$
*
}
if$
}
FUNCTION {format.btitle}
{ title "title" bibinfo.check
duplicate$ empty$ 'skip$
{
emphasize
select.language
}
if$
}
FUNCTION {either.or.check}
{ empty$
'pop$
{ "can't use both " swap$ * " fields in " * cite$ * warning$ }
if$
}
FUNCTION {format.bvolume}
{ volume empty$
{ "" }
{ bbl.volume volume tie.or.space.prefix
"volume" bibinfo.check * *
series "series" bibinfo.check
duplicate$ empty$ 'pop$
{ emphasize ", " * swap$ * }
if$
"volume and number" number either.or.check
}
if$
}
FUNCTION {format.number.series}
{ volume empty$
{ number empty$
{ series field.or.null }
{ series empty$
{ number "number" bibinfo.check }
{ output.state mid.sentence =
{ bbl.number }
{ bbl.number capitalize }
if$
number tie.or.space.prefix "number" bibinfo.check * *
bbl.in space.word *
series "series" bibinfo.check *
}
if$
}
if$
}
{ "" }
if$
}
FUNCTION {is.num}
{ chr.to.int$
duplicate$ "0" chr.to.int$ < not
swap$ "9" chr.to.int$ > not and
}
FUNCTION {extract.num}
{ duplicate$ 't :=
"" 's :=
{ t empty$ not }
{ t #1 #1 substring$
t #2 global.max$ substring$ 't :=
duplicate$ is.num
{ s swap$ * 's := }
{ pop$ "" 't := }
if$
}
while$
s empty$
'skip$
{ pop$ s }
if$
}
FUNCTION {convert.edition}
{ extract.num "l" change.case$ 's :=
s "first" = s "1" = or
{ bbl.first 't := }
{ s "second" = s "2" = or
{ bbl.second 't := }
{ s "third" = s "3" = or
{ bbl.third 't := }
{ s "fourth" = s "4" = or
{ bbl.fourth 't := }
{ s "fifth" = s "5" = or
{ bbl.fifth 't := }
{ s #1 #1 substring$ is.num
{ s bbl.th * 't := }
{ edition 't := }
if$
}
if$
}
if$
}
if$
}
if$
}
if$
t
}
FUNCTION {format.edition}
{ edition duplicate$ empty$ 'skip$
{
convert.edition
output.state mid.sentence =
{ "l" }
{ "t" }
if$ change.case$
"edition" bibinfo.check
" " * bbl.edition *
}
if$
}
INTEGERS { multiresult }
FUNCTION {multi.page.check}
{ 't :=
#0 'multiresult :=
{ multiresult not
t empty$ not
and
}
{ t #1 #1 substring$
duplicate$ "-" =
swap$ duplicate$ "," =
swap$ "+" =
or or
{ #1 'multiresult := }
{ t #2 global.max$ substring$ 't := }
if$
}
while$
multiresult
}
FUNCTION {format.pages}
{ pages duplicate$ empty$ 'skip$
{ duplicate$ multi.page.check
{
bbl.pages swap$
n.dashify
}
{
bbl.page swap$
}
if$
tie.or.space.prefix
"pages" bibinfo.check
* *
}
if$
}
FUNCTION {format.journal.pages}
{ pages duplicate$ empty$ 'pop$
{ swap$ duplicate$ empty$
{ pop$ pop$ format.pages }
{
": " *
swap$
n.dashify
pages multi.page.check
'bbl.pages
'bbl.page
if$
swap$ tie.or.space.prefix
"pages" bibinfo.check
* *
*
}
if$
}
if$
}
FUNCTION {format.journal.eid}
{ eid "eid" bibinfo.check
duplicate$ empty$ 'pop$
{ swap$ duplicate$ empty$ 'skip$
{
": " *
}
if$
swap$ *
}
if$
}
FUNCTION {format.vol.num.pages}
{ volume field.or.null
duplicate$ empty$ 'skip$
{
bbl.volume swap$ tie.or.space.prefix
"volume" bibinfo.check
* *
}
if$
number "number" bibinfo.check duplicate$ empty$ 'skip$
{
swap$ duplicate$ empty$
{ "there's a number but no volume in " cite$ * warning$ }
'skip$
if$
swap$
", " bbl.nr * number tie.or.space.prefix pop$ * swap$ *
}
if$ *
}
FUNCTION {format.chapter.pages}
{ chapter empty$
{ "" }
{ type empty$
{ bbl.chapter }
{ type "l" change.case$
"type" bibinfo.check
}
if$
chapter tie.or.space.prefix
"chapter" bibinfo.check
* *
}
if$
}
FUNCTION {format.booktitle}
{
booktitle "booktitle" bibinfo.check
emphasize
}
FUNCTION {format.in.ed.booktitle}
{ format.booktitle duplicate$ empty$ 'skip$
{
format.bvolume duplicate$ empty$ 'pop$
{ ", " swap$ * * }
if$
editor "editor" format.names.ed duplicate$ empty$ 'pop$
{
bbl.edby
" " * swap$ *
swap$
"," *
" " * swap$
* }
if$
word.in swap$ *
}
if$
}
FUNCTION {empty.misc.check}
{ author empty$ title empty$ howpublished empty$
month empty$ year empty$ note empty$
and and and and and
{ "all relevant fields are empty in " cite$ * warning$ }
'skip$
if$
}
FUNCTION {format.thesis.type}
{ type duplicate$ empty$
'pop$
{ swap$ pop$
"t" change.case$ "type" bibinfo.check
}
if$
}
FUNCTION {format.tr.number}
{ number "number" bibinfo.check
type duplicate$ empty$
{ pop$ bbl.techrep }
'skip$
if$
"type" bibinfo.check
swap$ duplicate$ empty$
{ pop$ "t" change.case$ }
{ tie.or.space.prefix * * }
if$
}
FUNCTION {format.article.crossref}
{
key duplicate$ empty$
{ pop$
journal duplicate$ empty$
{ "need key or journal for " cite$ * " to crossref " * crossref * warning$ }
{ "journal" bibinfo.check emphasize word.in swap$ * }
if$
}
{ word.in swap$ * " " *}
if$
" \cite{" * crossref * "}" *
}
FUNCTION {format.crossref.editor}
{ editor #1 "{vv~}{ll}" format.name$
"editor" bibinfo.check
editor num.names$ duplicate$
#2 >
{ pop$
"editor" bibinfo.check
" " * bbl.etal
*
}
{ #2 <
'skip$
{ editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
{
"editor" bibinfo.check
" " * bbl.etal
*
}
{
bbl.and space.word
* editor #2 "{vv~}{ll}" format.name$
"editor" bibinfo.check
*
}
if$
}
if$
}
if$
}
FUNCTION {format.book.crossref}
{ volume duplicate$ empty$
{ "empty volume in " cite$ * "'s crossref of " * crossref * warning$
pop$ word.in
}
{ bbl.volume
capitalize
swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
}
if$
editor empty$
editor field.or.null author field.or.null =
or
{ key empty$
{ series empty$
{ "need editor, key, or series for " cite$ * " to crossref " *
crossref * warning$
"" *
}
{ series emphasize * }
if$
}
{ key * }
if$
}
{ format.crossref.editor * }
if$
" \cite{" * crossref * "}" *
}
FUNCTION {format.incoll.inproc.crossref}
{
editor empty$
editor field.or.null author field.or.null =
or
{ key empty$
{ format.booktitle duplicate$ empty$
{ "need editor, key, or booktitle for " cite$ * " to crossref " *
crossref * warning$
}
{ word.in swap$ * }
if$
}
{ word.in key * " " *}
if$
}
{ word.in format.crossref.editor * " " *}
if$
" \cite{" * crossref * "}" *
}
FUNCTION {format.org.or.pub}
{ 't :=
""
address empty$ t empty$ and
'skip$
{
address "address" bibinfo.check *
t empty$
'skip$
{ address empty$
'skip$
{ ": " * }
if$
t *
}
if$
}
if$
}
FUNCTION {format.publisher.address}
{ publisher "publisher" bibinfo.warn format.org.or.pub
}
FUNCTION {format.organization.address}
{ organization "organization" bibinfo.check format.org.or.pub
}
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
add.colon
format.title "title" output.check
new.sentence
crossref missing$
{
journal
"journal" bibinfo.check
emphasize
"journal" output.check
format.vol.num.pages output
format.date "year" output.check
}
{ format.article.crossref output.nonnull
}
if$
eid empty$
{ format.journal.pages }
{ format.journal.eid }
if$
format.issn output
format.doi output
format.note output
format.eprint output
fin.entry
write.url
}
FUNCTION {book}
{ output.bibitem
author empty$
{ format.editors "author and editor" output.check
add.colon
}
{ format.authors output.nonnull
add.colon
crossref missing$
{ "author and editor" editor either.or.check }
'skip$
if$
}
if$
format.btitle "title" output.check
crossref missing$
{ format.bvolume output
new.sentence
format.number.series output
format.publisher.address output
}
{
new.sentence
format.book.crossref output.nonnull
}
if$
format.edition output
format.date "year" output.check
format.isbn output
format.book.pages output
format.doi output
format.note output
format.eprint output
fin.entry
write.url
}
FUNCTION {booklet}
{ output.bibitem
format.authors output
add.colon
format.title "title" output.check
new.sentence
howpublished "howpublished" bibinfo.check output
address "address" bibinfo.check output
format.date output
format.isbn output
format.book.pages output
format.doi output
format.note output
format.eprint output
fin.entry
write.url
}
FUNCTION {inbook}
{ output.bibitem
author empty$
{ format.editors "author and editor" output.check
add.colon
}
{ format.authors output.nonnull
add.colon
crossref missing$
{ "author and editor" editor either.or.check }
'skip$
if$
}
if$
format.btitle "title" output.check
crossref missing$
{
format.bvolume output
format.chapter.pages "chapter and pages" output.check
new.sentence
format.number.series output
format.publisher.address output
}
{
format.chapter.pages "chapter and pages" output.check
new.sentence
format.book.crossref output.nonnull
}
if$
format.edition output
format.date "year" output.check
crossref missing$
{ format.isbn output }
'skip$
if$
format.pages "pages" output.check
format.doi output
format.note output
format.eprint output
fin.entry
write.url
}
FUNCTION {incollection}
{ output.bibitem
format.authors "author" output.check
add.colon
format.title "title" output.check
new.sentence
crossref missing$
{ format.in.ed.booktitle "booktitle" output.check
format.number.series output
format.chapter.pages output
format.publisher.address output
format.edition output
format.date "year" output.check
format.isbn output
}
{ format.incoll.inproc.crossref output.nonnull
format.chapter.pages output
}
if$
format.pages "pages" output.check
format.doi output
format.note output
format.eprint output
fin.entry
write.url
}
FUNCTION {inproceedings}
{ output.bibitem
format.authors "author" output.check
add.colon
format.title "title" output.check
new.sentence
crossref missing$
{ format.in.ed.booktitle "booktitle" output.check
format.number.series output
publisher empty$
{ format.organization.address output }
{ organization "organization" bibinfo.check output
format.publisher.address output
}
if$
format.date "year" output.check
format.isbn output
format.issn output
}
{ format.incoll.inproc.crossref output.nonnull
}
if$
format.pages "pages" output.check
format.doi output
format.note output
format.eprint output
fin.entry
write.url
}
FUNCTION {conference} { inproceedings }
FUNCTION {manual}
{ output.bibitem
author empty$
{ organization "organization" bibinfo.check
duplicate$ empty$ 'pop$
{ output
address "address" bibinfo.check output
}
if$
}
{ format.authors output.nonnull }
if$
add.colon
format.btitle "title" output.check
new.sentence
author empty$
{ organization empty$
{
address "address" bibinfo.check output
}
'skip$
if$
}
{
organization "organization" bibinfo.check output
address "address" bibinfo.check output
}
if$
format.edition output
format.date output
format.doi output
format.note output
format.eprint output
fin.entry
write.url
}
FUNCTION {mastersthesis}
{ output.bibitem
format.authors "author" output.check
add.colon
format.btitle
"title" output.check
new.sentence
bbl.mthesis format.thesis.type output.nonnull
school "school" bibinfo.warn output
address "address" bibinfo.check output
format.date "year" output.check
format.doi output
format.note output
format.eprint output
fin.entry
write.url
}
FUNCTION {misc}
{ output.bibitem
format.authors output
add.colon
format.title output
new.sentence
howpublished "howpublished" bibinfo.check output
format.date output
format.doi output
format.note output
format.eprint output
fin.entry
write.url
empty.misc.check
}
FUNCTION {phdthesis}
{ output.bibitem
format.authors "author" output.check
add.colon
format.btitle
"title" output.check
new.sentence
bbl.phdthesis format.thesis.type output.nonnull
school "school" bibinfo.warn output
address "address" bibinfo.check output
format.date "year" output.check
format.doi output
format.note output
format.eprint output
fin.entry
write.url
}
FUNCTION {proceedings}
{ output.bibitem
editor empty$
{ organization "organization" bibinfo.check output
}
{ format.editors output.nonnull }
if$
add.colon
format.btitle "title" output.check
format.bvolume output
format.number.series output
editor empty$
{ publisher empty$
'skip$
{
format.publisher.address output
}
if$
}
{ publisher empty$
{
format.organization.address output }
{
organization "organization" bibinfo.check output
format.publisher.address output
}
if$
}
if$
format.date "year" output.check
format.isbn output
format.issn output
format.doi output
format.note output
format.eprint output
fin.entry
write.url
}
FUNCTION {techreport}
{ output.bibitem
format.authors "author" output.check
add.colon
format.title
"title" output.check
new.sentence
format.tr.number output.nonnull
institution "institution" bibinfo.warn output
address "address" bibinfo.check output
format.date "year" output.check
format.doi output
format.note output
format.eprint output
fin.entry
write.url
}
FUNCTION {unpublished}
{ output.bibitem
format.authors "author" output.check
add.colon
format.title "title" output.check
format.date output
format.doi output
format.note "note" output.check
format.eprint output
fin.entry
write.url
}
FUNCTION {default.type} { misc }
READ
STRINGS { longest.label }
INTEGERS { number.label longest.label.width }
FUNCTION {initialize.longest.label}
{ "" 'longest.label :=
#1 'number.label :=
#0 'longest.label.width :=
}
FUNCTION {longest.label.pass}
{ number.label int.to.str$ 'label :=
number.label #1 + 'number.label :=
label width$ longest.label.width >
{ label 'longest.label :=
label width$ 'longest.label.width :=
}
'skip$
if$
}
EXECUTE {initialize.longest.label}
ITERATE {longest.label.pass}
FUNCTION {begin.bib}
{ preamble$ empty$
'skip$
{ preamble$ write$ newline$ }
if$
"\begin{thebibliography}{" longest.label * "}" *
write$ newline$
"\providecommand{\url}[1]{\texttt{#1}}"
write$ newline$
"\providecommand{\urlprefix}{URL }"
write$ newline$
"\expandafter\ifx\csname urlstyle\endcsname\relax"
write$ newline$
" \providecommand{\doi}[1]{doi:\discretionary{}{}{}#1}\else"
write$ newline$
" \providecommand{\doi}{doi:\discretionary{}{}{}\begingroup \urlstyle{rm}\Url}\fi"
write$ newline$
"\providecommand{\selectlanguage}[1]{\relax}"
write$ newline$
"\providecommand{\eprint}[2][]{\url{#2}}"
write$ newline$
}
EXECUTE {begin.bib}
EXECUTE {init.state.consts}
ITERATE {call.type$}
FUNCTION {end.bib}
{ newline$
"\end{thebibliography}" write$ newline$
}
EXECUTE {end.bib}
%% End of customized bst file
%%
%% End of file `czechiso.bst'.

1460
tex/czechiso-en.bst Normal file
View File

@ -0,0 +1,1460 @@
%%
%% This is file `czechiso.bst',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% merlin.mbs (with options: `head,exlang,lang,seq-no,vonx,nm-rev,jnrlst,aunm-semi,nmlm,x3,m3,atit-u,vnum-nr,volp-sp,jwdpg,pp-last,jwdvol,num-xser,ser-vol,ser-ed,pg-bk,add-pub,isbn,issn,doi,edpar,edby,blk-tit,au-col,čeština,pp,and-xcom,xand,eprint,url,url-nl,nfss,,{}')
%% czech.mbs (with options: `exlang,lang,seq-no,vonx,nm-rev,jnrlst,aunm-semi,nmlm,x3,m3,atit-u,vnum-nr,volp-sp,jwdpg,pp-last,jwdvol,num-xser,ser-vol,ser-ed,pg-bk,add-pub,isbn,issn,doi,edpar,edby,blk-tit,au-col,čeština,pp,and-xcom,xand,eprint,url,url-nl,nfss,,{}')
%% merlin.mbs (with options: `tail,exlang,lang,seq-no,vonx,nm-rev,jnrlst,aunm-semi,nmlm,x3,m3,atit-u,vnum-nr,volp-sp,jwdpg,pp-last,jwdvol,num-xser,ser-vol,ser-ed,pg-bk,add-pub,isbn,issn,doi,edpar,edby,blk-tit,au-col,čeština,pp,and-xcom,xand,eprint,url,url-nl,nfss,,{}')
%% ----------------------------------------
%% *** Styl snažící se být v souladu s normou ISO 690. Pomocí latex makebst vytvořil David Martinek. ***
%%
%% Copyright 1994-2011 Patrick W Daly
% ===============================================================
% IMPORTANT NOTICE:
% This bibliographic style (bst) file has been generated from one or
% more master bibliographic style (mbs) files, listed above.
%
% This generated file can be redistributed and/or modified under the terms
% of the LaTeX Project Public License Distributed from CTAN
% archives in directory macros/latex/base/lppl.txt; either
% version 1 of the License, or any later version.
% ===============================================================
% Name and version information of the main mbs file:
% \ProvidesFile{merlin.mbs}[2011/11/18 4.33 (PWD, AO, DPC)]
% For use with BibTeX version 0.99a or later
%-------------------------------------------------------------------
% This bibliography style file is intended for texts in
% This is a numerical citation style, and as such is standard LaTeX.
% It requires no extra package to interface to the main text.
% The form of the \bibitem entries is
% \bibitem{key}...
% Usage of \cite is as follows:
% \cite{key} ==>> [#]
% \cite[chap. 2]{key} ==>> [#, chap. 2]
% where # is a number determined by the ordering in the reference list.
% The order in the reference list is that by which the works were originally
% cited in the text, or that in the database.
%---------------------------------------------------------------------
ENTRY
{ address
archive
author
booktitle
chapter
doi
edition
editor
eid
eprint
howpublished
institution
isbn
issn
journal
key
language
month
note
number
organization
pages
publisher
school
series
title
type
url
volume
year
}
{}
{ label }
INTEGERS { output.state before.all mid.sentence after.sentence after.block }
FUNCTION {init.state.consts}
{ #0 'before.all :=
#1 'mid.sentence :=
#2 'after.sentence :=
#3 'after.block :=
}
STRINGS { s t}
FUNCTION {output.nonnull}
{ 's :=
output.state mid.sentence =
{ ", " * write$ }
{ output.state after.block =
{ add.period$ write$
newline$
"\newblock " write$
}
{ output.state before.all =
'write$
{ add.period$ " " * write$ }
if$
}
if$
mid.sentence 'output.state :=
}
if$
s
}
FUNCTION {output}
{ duplicate$ empty$
'pop$
'output.nonnull
if$
}
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
{ pop$ "empty " t * " in " * cite$ * warning$ }
'output.nonnull
if$
}
FUNCTION {fin.entry}
{ add.period$
write$
newline$
}
FUNCTION {new.block}
{ output.state before.all =
'skip$
{ after.block 'output.state := }
if$
}
FUNCTION {new.sentence}
{ output.state after.block =
'skip$
{ output.state before.all =
'skip$
{ after.sentence 'output.state := }
if$
}
if$
}
FUNCTION {add.blank}
{ " " * before.all 'output.state :=
}
FUNCTION {add.colon}
{ duplicate$ empty$
'skip$
{ ":" * add.blank }
if$
}
FUNCTION {date.block}
{
skip$
}
FUNCTION {not}
{ { #0 }
{ #1 }
if$
}
FUNCTION {and}
{ 'skip$
{ pop$ #0 }
if$
}
FUNCTION {or}
{ { pop$ #1 }
'skip$
if$
}
FUNCTION {new.block.checka}
{ empty$
'skip$
'new.block
if$
}
FUNCTION {new.block.checkb}
{ empty$
swap$ empty$
and
'skip$
'new.block
if$
}
FUNCTION {new.sentence.checka}
{ empty$
'skip$
'new.sentence
if$
}
FUNCTION {new.sentence.checkb}
{ empty$
swap$ empty$
and
'skip$
'new.sentence
if$
}
FUNCTION {field.or.null}
{ duplicate$ empty$
{ pop$ "" }
'skip$
if$
}
FUNCTION {emphasize}
{ duplicate$ empty$
{ pop$ "" }
{ "\emph{" swap$ * "}" * }
if$
}
FUNCTION {tie.or.space.prefix}
{ duplicate$ text.length$ #3 <
{ "~" }
{ " " }
if$
swap$
}
FUNCTION {capitalize}
{ "u" change.case$ "t" change.case$ }
FUNCTION {space.word}
{ " " swap$ * " " * }
% Here are the language-specific definitions for explicit words.
% Each function has a name bbl.xxx where xxx is the English word.
%-------------------------------------------------------------------
% Begin module:
% \ProvidesFile{czech.mbs}[2006/03/31 1.0 (DM)]
% The language selected here is CZECH
FUNCTION {bbl.and}
{ "and"}
FUNCTION {bbl.etal}
{ "et~al." }
FUNCTION {bbl.editors}
{ "editors" }
FUNCTION {bbl.editor}
{ "editor" }
FUNCTION {bbl.edby}
{ "edited by" }
FUNCTION {bbl.edition}
{ "edition" }
FUNCTION {bbl.volume}
{ "volume" }
FUNCTION {bbl.of}
{ "of" }
FUNCTION {bbl.number}
{ "number" }
FUNCTION {bbl.nr}
{ "no." }
FUNCTION {bbl.in}
{ "in" }
FUNCTION {bbl.pages}
{ "pp." }
FUNCTION {bbl.page}
{ "p." }
FUNCTION {bbl.chapter}
{ "chapter" }
FUNCTION {bbl.techrep}
{ "Technical report" }
FUNCTION {bbl.mthesis}
{ "Master's thesis" }
FUNCTION {bbl.phdthesis}
{ "Doctoral thesis" }
FUNCTION {bbl.first}
{ "1st" }
FUNCTION {bbl.second}
{ "2nd" }
FUNCTION {bbl.third}
{ "3rd" }
FUNCTION {bbl.fourth}
{ "4th" }
FUNCTION {bbl.fifth}
{ "5th" }
FUNCTION {bbl.st}
{ "st" }
FUNCTION {bbl.nd}
{ "nd" }
FUNCTION {bbl.rd}
{ "rd" }
FUNCTION {bbl.th}
{ "th" }
MACRO {jan} {"January"}
MACRO {feb} {"February"}
MACRO {mar} {"March"}
MACRO {apr} {"April"}
MACRO {may} {"May"}
MACRO {jun} {"june"}
MACRO {jul} {"July"}
MACRO {aug} {"August"}
MACRO {sep} {"September"}
MACRO {oct} {"October"}
MACRO {nov} {"November"}
MACRO {dec} {"December"}
% End module: czech.mbs
%% Copyright 1994-2011 Patrick W Daly
MACRO {acmcs} {"ACM Computing Surveys"}
MACRO {acta} {"Acta Informatica"}
MACRO {cacm} {"Communications of the ACM"}
MACRO {ibmjrd} {"IBM Journal of Research and Development"}
MACRO {ibmsj} {"IBM Systems Journal"}
MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
MACRO {ieeetc} {"IEEE Transactions on Computers"}
MACRO {ieeetcad}
{"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
MACRO {ipl} {"Information Processing Letters"}
MACRO {jacm} {"Journal of the ACM"}
MACRO {jcss} {"Journal of Computer and System Sciences"}
MACRO {scp} {"Science of Computer Programming"}
MACRO {sicomp} {"SIAM Journal on Computing"}
MACRO {tocs} {"ACM Transactions on Computer Systems"}
MACRO {tods} {"ACM Transactions on Database Systems"}
MACRO {tog} {"ACM Transactions on Graphics"}
MACRO {toms} {"ACM Transactions on Mathematical Software"}
MACRO {toois} {"ACM Transactions on Office Information Systems"}
MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
MACRO {tcs} {"Theoretical Computer Science"}
FUNCTION {bibinfo.check}
{ swap$
duplicate$ missing$
{
pop$ pop$
""
}
{ duplicate$ empty$
{
swap$ pop$
}
{ swap$
pop$
}
if$
}
if$
}
FUNCTION {bibinfo.warn}
{ swap$
duplicate$ missing$
{
swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
""
}
{ duplicate$ empty$
{
swap$ "empty " swap$ * " in " * cite$ * warning$
}
{ swap$
pop$
}
if$
}
if$
}
FUNCTION {format.eprint}
{ eprint duplicate$ empty$
'skip$
{ "\eprint"
archive empty$
'skip$
{ "[" * archive * "]" * }
if$
"{" * swap$ * "}" *
}
if$
}
FUNCTION {write.url}
{
url
duplicate$ empty$
{ pop$ }
{ "\newline\urlprefix\url{" swap$ * "}" * write$ newline$ }
if$
}
INTEGERS { nameptr namesleft numnames }
STRINGS { bibinfo}
FUNCTION {format.names}
{ 'bibinfo :=
duplicate$ empty$ 'skip$ {
's :=
"" 't :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
"{vv~}{ll}{, f.}{, jj}"
format.name$
bibinfo bibinfo.check
't :=
nameptr #1 >
{
nameptr #3
#1 + =
numnames #3
> and
{ "others" 't :=
#1 'namesleft := }
'skip$
if$
namesleft #1 >
{ "; " * t * }
{
s nameptr "{ll}" format.name$ duplicate$ "others" =
{ 't := }
{ pop$ }
if$
";" *
t "others" =
{
" " * bbl.etal *
}
{ " " * t * }
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
} if$
}
FUNCTION {format.names.ed}
{
'bibinfo :=
duplicate$ empty$ 'skip$ {
's :=
"" 't :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
"{f.~}{vv~}{ll}{, jj}"
format.name$
bibinfo bibinfo.check
't :=
nameptr #1 >
{
namesleft #1 >
{ "; " * t * }
{
s nameptr "{ll}" format.name$ duplicate$ "others" =
{ 't := }
{ pop$ }
if$
";" *
t "others" =
{
" " * bbl.etal *
}
{ " " * t * }
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
} if$
}
FUNCTION {format.authors}
{ author "author" format.names
}
FUNCTION {get.bbl.editor}
{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
FUNCTION {format.editors}
{ editor "editor" format.names duplicate$ empty$ 'skip$
{
" " *
get.bbl.editor
"(" swap$ * ")" *
*
}
if$
}
FUNCTION {format.book.pages}
{ pages "pages" bibinfo.check
duplicate$ empty$ 'skip$
{ " " * bbl.pages * }
if$
}
FUNCTION {format.isbn}
{ isbn "isbn" bibinfo.check
duplicate$ empty$ 'skip$
{
"ISBN " swap$ *
}
if$
}
FUNCTION {format.issn}
{ issn "issn" bibinfo.check
duplicate$ empty$ 'skip$
{
"ISSN " swap$ *
}
if$
}
FUNCTION {format.doi}
{ doi empty$
{ "" }
{
"\doi{" doi * "}" *
}
if$
}
FUNCTION {select.language}
{ duplicate$ empty$
'pop$
{ language empty$
'skip$
{ "{\selectlanguage{" language * "}" * swap$ * "}" * }
if$
}
if$
}
FUNCTION {format.note}
{
note empty$
{ "" }
{ note #1 #1 substring$
duplicate$ "{" =
'skip$
{ output.state mid.sentence =
{ "l" }
{ "u" }
if$
change.case$
}
if$
note #2 global.max$ substring$ * "note" bibinfo.check
}
if$
}
FUNCTION {format.title}
{ title
"title" bibinfo.check
duplicate$ empty$ 'skip$
{
select.language
}
if$
}
FUNCTION {output.bibitem}
{ newline$
"\bibitem{" write$
cite$ write$
"}" write$
newline$
""
before.all 'output.state :=
}
FUNCTION {n.dashify}
{
't :=
""
{ t empty$ not }
{ t #1 #1 substring$ "-" =
{ t #1 #2 substring$ "--" = not
{ "--" *
t #2 global.max$ substring$ 't :=
}
{ { t #1 #1 substring$ "-" = }
{ "-" *
t #2 global.max$ substring$ 't :=
}
while$
}
if$
}
{ t #1 #1 substring$ *
t #2 global.max$ substring$ 't :=
}
if$
}
while$
}
FUNCTION {word.in}
{ bbl.in capitalize
" " * }
FUNCTION {format.date}
{
month "month" bibinfo.check
duplicate$ empty$
year "year" bibinfo.check duplicate$ empty$
{ swap$ 'skip$
{ "there's a month but no year in " cite$ * warning$ }
if$
*
}
{ swap$ 'skip$
{
swap$
" " * swap$
}
if$
*
}
if$
}
FUNCTION {format.btitle}
{ title "title" bibinfo.check
duplicate$ empty$ 'skip$
{
emphasize
select.language
}
if$
}
FUNCTION {either.or.check}
{ empty$
'pop$
{ "can't use both " swap$ * " fields in " * cite$ * warning$ }
if$
}
FUNCTION {format.bvolume}
{ volume empty$
{ "" }
{ bbl.volume volume tie.or.space.prefix
"volume" bibinfo.check * *
series "series" bibinfo.check
duplicate$ empty$ 'pop$
{ emphasize ", " * swap$ * }
if$
"volume and number" number either.or.check
}
if$
}
FUNCTION {format.number.series}
{ volume empty$
{ number empty$
{ series field.or.null }
{ series empty$
{ number "number" bibinfo.check }
{ output.state mid.sentence =
{ bbl.number }
{ bbl.number capitalize }
if$
number tie.or.space.prefix "number" bibinfo.check * *
bbl.in space.word *
series "series" bibinfo.check *
}
if$
}
if$
}
{ "" }
if$
}
FUNCTION {is.num}
{ chr.to.int$
duplicate$ "0" chr.to.int$ < not
swap$ "9" chr.to.int$ > not and
}
FUNCTION {extract.num}
{ duplicate$ 't :=
"" 's :=
{ t empty$ not }
{ t #1 #1 substring$
t #2 global.max$ substring$ 't :=
duplicate$ is.num
{ s swap$ * 's := }
{ pop$ "" 't := }
if$
}
while$
s empty$
'skip$
{ pop$ s }
if$
}
FUNCTION {convert.edition}
{ extract.num "l" change.case$ 's :=
s "first" = s "1" = or
{ bbl.first 't := }
{ s "second" = s "2" = or
{ bbl.second 't := }
{ s "third" = s "3" = or
{ bbl.third 't := }
{ s "fourth" = s "4" = or
{ bbl.fourth 't := }
{ s "fifth" = s "5" = or
{ bbl.fifth 't := }
{ s #1 #1 substring$ is.num
{ s bbl.th * 't := }
{ edition 't := }
if$
}
if$
}
if$
}
if$
}
if$
}
if$
t
}
FUNCTION {format.edition}
{ edition duplicate$ empty$ 'skip$
{
convert.edition
output.state mid.sentence =
{ "l" }
{ "t" }
if$ change.case$
"edition" bibinfo.check
" " * bbl.edition *
}
if$
}
INTEGERS { multiresult }
FUNCTION {multi.page.check}
{ 't :=
#0 'multiresult :=
{ multiresult not
t empty$ not
and
}
{ t #1 #1 substring$
duplicate$ "-" =
swap$ duplicate$ "," =
swap$ "+" =
or or
{ #1 'multiresult := }
{ t #2 global.max$ substring$ 't := }
if$
}
while$
multiresult
}
FUNCTION {format.pages}
{ pages duplicate$ empty$ 'skip$
{ duplicate$ multi.page.check
{
bbl.pages swap$
n.dashify
}
{
bbl.page swap$
}
if$
tie.or.space.prefix
"pages" bibinfo.check
* *
}
if$
}
FUNCTION {format.journal.pages}
{ pages duplicate$ empty$ 'pop$
{ swap$ duplicate$ empty$
{ pop$ pop$ format.pages }
{
": " *
swap$
n.dashify
pages multi.page.check
'bbl.pages
'bbl.page
if$
swap$ tie.or.space.prefix
"pages" bibinfo.check
* *
*
}
if$
}
if$
}
FUNCTION {format.journal.eid}
{ eid "eid" bibinfo.check
duplicate$ empty$ 'pop$
{ swap$ duplicate$ empty$ 'skip$
{
": " *
}
if$
swap$ *
}
if$
}
FUNCTION {format.vol.num.pages}
{ volume field.or.null
duplicate$ empty$ 'skip$
{
bbl.volume swap$ tie.or.space.prefix
"volume" bibinfo.check
* *
}
if$
number "number" bibinfo.check duplicate$ empty$ 'skip$
{
swap$ duplicate$ empty$
{ "there's a number but no volume in " cite$ * warning$ }
'skip$
if$
swap$
", " bbl.nr * number tie.or.space.prefix pop$ * swap$ *
}
if$ *
}
FUNCTION {format.chapter.pages}
{ chapter empty$
{ "" }
{ type empty$
{ bbl.chapter }
{ type "l" change.case$
"type" bibinfo.check
}
if$
chapter tie.or.space.prefix
"chapter" bibinfo.check
* *
}
if$
}
FUNCTION {format.booktitle}
{
booktitle "booktitle" bibinfo.check
emphasize
}
FUNCTION {format.in.ed.booktitle}
{ format.booktitle duplicate$ empty$ 'skip$
{
format.bvolume duplicate$ empty$ 'pop$
{ ", " swap$ * * }
if$
editor "editor" format.names.ed duplicate$ empty$ 'pop$
{
bbl.edby
" " * swap$ *
swap$
"," *
" " * swap$
* }
if$
word.in swap$ *
}
if$
}
FUNCTION {empty.misc.check}
{ author empty$ title empty$ howpublished empty$
month empty$ year empty$ note empty$
and and and and and
{ "all relevant fields are empty in " cite$ * warning$ }
'skip$
if$
}
FUNCTION {format.thesis.type}
{ type duplicate$ empty$
'pop$
{ swap$ pop$
"t" change.case$ "type" bibinfo.check
}
if$
}
FUNCTION {format.tr.number}
{ number "number" bibinfo.check
type duplicate$ empty$
{ pop$ bbl.techrep }
'skip$
if$
"type" bibinfo.check
swap$ duplicate$ empty$
{ pop$ "t" change.case$ }
{ tie.or.space.prefix * * }
if$
}
FUNCTION {format.article.crossref}
{
key duplicate$ empty$
{ pop$
journal duplicate$ empty$
{ "need key or journal for " cite$ * " to crossref " * crossref * warning$ }
{ "journal" bibinfo.check emphasize word.in swap$ * }
if$
}
{ word.in swap$ * " " *}
if$
" \cite{" * crossref * "}" *
}
FUNCTION {format.crossref.editor}
{ editor #1 "{vv~}{ll}" format.name$
"editor" bibinfo.check
editor num.names$ duplicate$
#2 >
{ pop$
"editor" bibinfo.check
" " * bbl.etal
*
}
{ #2 <
'skip$
{ editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
{
"editor" bibinfo.check
" " * bbl.etal
*
}
{
bbl.and space.word
* editor #2 "{vv~}{ll}" format.name$
"editor" bibinfo.check
*
}
if$
}
if$
}
if$
}
FUNCTION {format.book.crossref}
{ volume duplicate$ empty$
{ "empty volume in " cite$ * "'s crossref of " * crossref * warning$
pop$ word.in
}
{ bbl.volume
capitalize
swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
}
if$
editor empty$
editor field.or.null author field.or.null =
or
{ key empty$
{ series empty$
{ "need editor, key, or series for " cite$ * " to crossref " *
crossref * warning$
"" *
}
{ series emphasize * }
if$
}
{ key * }
if$
}
{ format.crossref.editor * }
if$
" \cite{" * crossref * "}" *
}
FUNCTION {format.incoll.inproc.crossref}
{
editor empty$
editor field.or.null author field.or.null =
or
{ key empty$
{ format.booktitle duplicate$ empty$
{ "need editor, key, or booktitle for " cite$ * " to crossref " *
crossref * warning$
}
{ word.in swap$ * }
if$
}
{ word.in key * " " *}
if$
}
{ word.in format.crossref.editor * " " *}
if$
" \cite{" * crossref * "}" *
}
FUNCTION {format.org.or.pub}
{ 't :=
""
address empty$ t empty$ and
'skip$
{
address "address" bibinfo.check *
t empty$
'skip$
{ address empty$
'skip$
{ ": " * }
if$
t *
}
if$
}
if$
}
FUNCTION {format.publisher.address}
{ publisher "publisher" bibinfo.warn format.org.or.pub
}
FUNCTION {format.organization.address}
{ organization "organization" bibinfo.check format.org.or.pub
}
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
add.colon
format.title "title" output.check
new.sentence
crossref missing$
{
journal
"journal" bibinfo.check
emphasize
"journal" output.check
format.vol.num.pages output
format.date "year" output.check
}
{ format.article.crossref output.nonnull
}
if$
eid empty$
{ format.journal.pages }
{ format.journal.eid }
if$
format.issn output
format.doi output
format.note output
format.eprint output
fin.entry
write.url
}
FUNCTION {book}
{ output.bibitem
author empty$
{ format.editors "author and editor" output.check
add.colon
}
{ format.authors output.nonnull
add.colon
crossref missing$
{ "author and editor" editor either.or.check }
'skip$
if$
}
if$
format.btitle "title" output.check
crossref missing$
{ format.bvolume output
new.sentence
format.number.series output
format.publisher.address output
}
{
new.sentence
format.book.crossref output.nonnull
}
if$
format.edition output
format.date "year" output.check
format.isbn output
format.book.pages output
format.doi output
format.note output
format.eprint output
fin.entry
write.url
}
FUNCTION {booklet}
{ output.bibitem
format.authors output
add.colon
format.title "title" output.check
new.sentence
howpublished "howpublished" bibinfo.check output
address "address" bibinfo.check output
format.date output
format.isbn output
format.book.pages output
format.doi output
format.note output
format.eprint output
fin.entry
write.url
}
FUNCTION {inbook}
{ output.bibitem
author empty$
{ format.editors "author and editor" output.check
add.colon
}
{ format.authors output.nonnull
add.colon
crossref missing$
{ "author and editor" editor either.or.check }
'skip$
if$
}
if$
format.btitle "title" output.check
crossref missing$
{
format.bvolume output
format.chapter.pages "chapter and pages" output.check
new.sentence
format.number.series output
format.publisher.address output
}
{
format.chapter.pages "chapter and pages" output.check
new.sentence
format.book.crossref output.nonnull
}
if$
format.edition output
format.date "year" output.check
crossref missing$
{ format.isbn output }
'skip$
if$
format.pages "pages" output.check
format.doi output
format.note output
format.eprint output
fin.entry
write.url
}
FUNCTION {incollection}
{ output.bibitem
format.authors "author" output.check
add.colon
format.title "title" output.check
new.sentence
crossref missing$
{ format.in.ed.booktitle "booktitle" output.check
format.number.series output
format.chapter.pages output
format.publisher.address output
format.edition output
format.date "year" output.check
format.isbn output
}
{ format.incoll.inproc.crossref output.nonnull
format.chapter.pages output
}
if$
format.pages "pages" output.check
format.doi output
format.note output
format.eprint output
fin.entry
write.url
}
FUNCTION {inproceedings}
{ output.bibitem
format.authors "author" output.check
add.colon
format.title "title" output.check
new.sentence
crossref missing$
{ format.in.ed.booktitle "booktitle" output.check
format.number.series output
publisher empty$
{ format.organization.address output }
{ organization "organization" bibinfo.check output
format.publisher.address output
}
if$
format.date "year" output.check
format.isbn output
format.issn output
}
{ format.incoll.inproc.crossref output.nonnull
}
if$
format.pages "pages" output.check
format.doi output
format.note output
format.eprint output
fin.entry
write.url
}
FUNCTION {conference} { inproceedings }
FUNCTION {manual}
{ output.bibitem
author empty$
{ organization "organization" bibinfo.check
duplicate$ empty$ 'pop$
{ output
address "address" bibinfo.check output
}
if$
}
{ format.authors output.nonnull }
if$
add.colon
format.btitle "title" output.check
new.sentence
author empty$
{ organization empty$
{
address "address" bibinfo.check output
}
'skip$
if$
}
{
organization "organization" bibinfo.check output
address "address" bibinfo.check output
}
if$
format.edition output
format.date output
format.doi output
format.note output
format.eprint output
fin.entry
write.url
}
FUNCTION {mastersthesis}
{ output.bibitem
format.authors "author" output.check
add.colon
format.btitle
"title" output.check
new.sentence
bbl.mthesis format.thesis.type output.nonnull
school "school" bibinfo.warn output
address "address" bibinfo.check output
format.date "year" output.check
format.doi output
format.note output
format.eprint output
fin.entry
write.url
}
FUNCTION {misc}
{ output.bibitem
format.authors output
add.colon
format.title output
new.sentence
howpublished "howpublished" bibinfo.check output
format.date output
format.doi output
format.note output
format.eprint output
fin.entry
write.url
empty.misc.check
}
FUNCTION {phdthesis}
{ output.bibitem
format.authors "author" output.check
add.colon
format.btitle
"title" output.check
new.sentence
bbl.phdthesis format.thesis.type output.nonnull
school "school" bibinfo.warn output
address "address" bibinfo.check output
format.date "year" output.check
format.doi output
format.note output
format.eprint output
fin.entry
write.url
}
FUNCTION {proceedings}
{ output.bibitem
editor empty$
{ organization "organization" bibinfo.check output
}
{ format.editors output.nonnull }
if$
add.colon
format.btitle "title" output.check
format.bvolume output
format.number.series output
editor empty$
{ publisher empty$
'skip$
{
format.publisher.address output
}
if$
}
{ publisher empty$
{
format.organization.address output }
{
organization "organization" bibinfo.check output
format.publisher.address output
}
if$
}
if$
format.date "year" output.check
format.isbn output
format.issn output
format.doi output
format.note output
format.eprint output
fin.entry
write.url
}
FUNCTION {techreport}
{ output.bibitem
format.authors "author" output.check
add.colon
format.title
"title" output.check
new.sentence
format.tr.number output.nonnull
institution "institution" bibinfo.warn output
address "address" bibinfo.check output
format.date "year" output.check
format.doi output
format.note output
format.eprint output
fin.entry
write.url
}
FUNCTION {unpublished}
{ output.bibitem
format.authors "author" output.check
add.colon
format.title "title" output.check
format.date output
format.doi output
format.note "note" output.check
format.eprint output
fin.entry
write.url
}
FUNCTION {default.type} { misc }
READ
STRINGS { longest.label }
INTEGERS { number.label longest.label.width }
FUNCTION {initialize.longest.label}
{ "" 'longest.label :=
#1 'number.label :=
#0 'longest.label.width :=
}
FUNCTION {longest.label.pass}
{ number.label int.to.str$ 'label :=
number.label #1 + 'number.label :=
label width$ longest.label.width >
{ label 'longest.label :=
label width$ 'longest.label.width :=
}
'skip$
if$
}
EXECUTE {initialize.longest.label}
ITERATE {longest.label.pass}
FUNCTION {begin.bib}
{ preamble$ empty$
'skip$
{ preamble$ write$ newline$ }
if$
"\begin{thebibliography}{" longest.label * "}" *
write$ newline$
"\providecommand{\url}[1]{\texttt{#1}}"
write$ newline$
"\providecommand{\urlprefix}{URL }"
write$ newline$
"\expandafter\ifx\csname urlstyle\endcsname\relax"
write$ newline$
" \providecommand{\doi}[1]{doi:\discretionary{}{}{}#1}\else"
write$ newline$
" \providecommand{\doi}{doi:\discretionary{}{}{}\begingroup \urlstyle{rm}\Url}\fi"
write$ newline$
"\providecommand{\selectlanguage}[1]{\relax}"
write$ newline$
"\providecommand{\eprint}[2][]{\url{#2}}"
write$ newline$
}
EXECUTE {begin.bib}
EXECUTE {init.state.consts}
ITERATE {call.type$}
FUNCTION {end.bib}
{ newline$
"\end{thebibliography}" write$ newline$
}
EXECUTE {end.bib}
%% End of customized bst file
%%
%% End of file `czechiso.bst'.

68
tex/pdfa-1b.xmp Normal file
View File

@ -0,0 +1,68 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% File: pdfa-1b.xmp
%%
%% Copyright (c) 2008, CV Radhakrishnan <cvr@river-valley.org>,
%% Han The Thanh <thanh@river-valley.org>
%%
%% This file may be distributed and/or modified under the conditions
%% of the LaTeX Project Public License, either version 1.2 of this
%% license or (at your option) any later version. The latest version
%% of this license is in:
%%
%% http://www.latex-project.org/lppl.txt
%%
%% and version 1.2 or later is part of all distributions of LaTeX
%% version 1999/12/01 or later.
%%
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:14:39">
<rdf:RDF xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:pdfx = "http://ns.adobe.com/pdfx/1.3/"
xmlns:pdfaid = "http://www.aiim.org/pdfa/ns/id/"
xmlns:xap = "http://ns.adobe.com/xap/1.0/"
xmlns:xapRights = "http://ns.adobe.com/xap/1.0/rights/"
xmlns:dc = "http://purl.org/dc/elements/1.1/"
xmlns:dcterms = "http://purl.org/dc/terms/"
xmlns:prism = "http://prismstandard.org/namespaces/basic/2.0/">
<rdf:Description rdf:about="" xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
<pdf:Producer>\xmpProducer</pdf:Producer>
</rdf:Description>
<rdf:Description rdf:about="doi:\xmpDoi">
<dc:format>application/pdf</dc:format>
<dc:title>\xmpTitle</dc:title>
<dc:creator><rdf:Seq><rdf:li>\xmpAuthor</rdf:li></rdf:Seq></dc:creator>
\@ifundefined{xmpKeywords}{}{<dc:subject><rdf:Bag><rdf:li>\xmpKeywords</rdf:li></rdf:Bag></dc:subject>}
<prism:aggregationType>journal</prism:aggregationType>
<prism:copyright>\xmpOrg</prism:copyright>
<dc:publisher>\xmpOrg</dc:publisher>
\ifx\xmpJournalnumber\@empty\relax\else<prism:issn>\xmpJournalnumber</prism:issn>\fi
\ifx\xmpVolume\@empty\relax\else<prism:volume>\xmpVolume</prism:volume>\fi
\ifx\xmpIssue\@empty\relax\else<prism:number>\xmpIssue</prism:number>\fi
\ifx\xmpCoverDisplayDate\@empty\relax\else<prism:coverDisplayDate>\xmpCoverDisplayDate</prism:coverDisplayDate>\fi
\ifx\xmpCoverDate\@empty\relax\else<prism:coverDate>\xmpCoverDate</prism:coverDate>\fi
\ifx\xmpJournaltitle\@empty\relax\else<prism:issueName>\xmpJournaltitle</prism:issueName>\fi
\ifx\xmpFirstpage\@empty\relax\else<prism:pageRange>\xmpFirstpage-\xmpLastpage</prism:pageRange>\fi
\ifx\xmpFirstpage\@empty\relax\else<prism:startingPage>\xmpFirstpage</prism:startingPage>\fi
\ifx\xmpLastpage\@empty\relax\else<prism:endingPage>\xmpLastpage</prism:endingPage>\fi
\ifx\xmpDoi\@empty\relax\else<prism:doi>\xmpDoi</prism:doi>\fi
\ifx\xmpDoi\@empty\relax\else<prism:url>http://dx.doi.org/\xmpDoi</prism:url>\fi
\ifx\xmpDoi\@empty\relax\else<dc:identifier>doi:\xmpDoi</dc:identifier>\fi
\ifx\xmpAuthoritativeDomain\@empty\relax\else<pdfx:AuthoritativeDomain><rdf:Bag><rdf:li>\xmpAuthoritativeDomain</rdf:li></rdf:Bag></pdfx:AuthoritativeDomain>\fi
<pdfaid:part>1</pdfaid:part>
<pdfaid:conformance>B</pdfaid:conformance>
<xap:CreatorTool>\xmpCreatorTool</xap:CreatorTool>
<xapRights:Marked>True</xapRights:Marked>
<xap:ModifyDate>\convDate</xap:ModifyDate>
<xap:CreateDate>\convDate</xap:CreateDate>
<xap:MetadataDate>\convDate</xap:MetadataDate>
</rdf:Description>
% <rdf:Description rdf:about="" xmlns:xapMM="http://ns.adobe.com/xap/1.0/mm/">
% <xapMM:DocumentID>uuid:\xmpdocid</xapMM:DocumentID>
% <xapMM:InstanceID>uuid:\xmpinstid</xapMM:InstanceID>
% </rdf:Description>
</rdf:RDF>
</x:xmpmeta>
%%
%% End of pdfa-1b.xmp
%%
%%

3
tex/references.bib Normal file
View File

@ -0,0 +1,3 @@
% =========================================================================== %
% =========================================================================== %

17
tex/text.tex Normal file
View File

@ -0,0 +1,17 @@
% =========================================================================== %
% Encoding: UTF-8 (žluťoučký kůň úpěl ďábelšké ódy)
% =========================================================================== %
% =========================================================================== %
\nn{Introduction}
% =========================================================================== %
\part{Theoretical part}
% =========================================================================== %
\part{Practical part}
% =========================================================================== %
\nn{Conclusion}
% =========================================================================== %

131
thesis.tex Normal file
View File

@ -0,0 +1,131 @@
% =========================================================================== %
%
% Šablona bakalářské/diplomové práce
%
% Autor: Ing. Jozef Říha (2006-05-04), od té doby šablonu udržuje
% Ing. Pavel Tomášek, Ph.D. (tomasek@utb.cz)
%
% Verze: 2021-05-04
%
% Kódování: UTF-8 (kontrolní řetězec: žluťoučký kůň úpěl ďábelšké ódy)
%
% Sazba: pdflatex prace.tex && pdflatex prace.tex
% (nutné dvakrát pro korektní vložení citací a jiných referencí),
% v případě umístění literatury do externího bib souboru je třeba volat
% pdflatex prace.tex && bibtex prace && pdflatex prace.tex && pdflatex prace.tex
%
% Tip: Ve správně vysázeném českém textu by na konci řádku neměla zůstant
% samotná jednopísmenná předložka či spojka. Na takové místo se vkládá
% nezalomitelná mezera pomocí symbolu ~. Existuje program, který umí
% zpracovat celý TeX dokument najednou podle českých konvencí:
% http://petr.olsak.net/ftp/olsak/vlna/
%
% Pozor: Vzhledem k požadovanému standardu PDF/A nesmí vložené obrázky
% obsahovat alfa kanál (průhlednost).
%
% =========================================================================== %
\documentclass[a4paper,12pt]{article}
% Definice vzhledu a nastavení se načítá z následujícího souboru (netřeba editovat)
\input{tex/UTB.tex}
% Uživatelské definice -- upravte dle požadavků
\nastavfakultu{FAI}
% FAI -- pro Fakultu aplikované informatiky
% FAME -- pro Fakultu managementu a ekonomiky
% FHS -- pro Fakultu humanitních studií
% FLKR -- pro Fakultu logistiky a krizového řízení
% FMK -- pro Fakutlu mutimediálních komunikací
% FT -- pro Fakultu technologickou
% UNI -- pro Univerzitní institut
\nastavtyp{DP}
% BP -- bakalářská práce
% DP -- diplomová práce
% SP -- seminární práce
\nastavrok{2023}
% zadejte rok místo "xxxx"
\nastavjazyk{EN}
% CZ -- práce bude v českém jazyce
% EN -- práce bude v anglickém jazyce
% Lze přidat vertikalni odsazeni nad (prvni parametr) a pod (druhy parametr)
% obrázky, tabulky i rovnice/soustavy rovnic
\nastavmezerukolemobrazku{0mm}{0mm}
\nastavmezerukolemtabulek{0mm}{0mm}
\nastavmezerukolemrovnic{0mm}{0mm}
\nastavautora{Adam Mirre}
\nastavnazevcz{Nástroj pro monitoring kompromitace hesel}
\nastavnazeven{Password Compromise Monitoring Tool} % Jen u anglicky psané práce
\nastavabstraktcz{}
\nastavabstrakten{}
\nastavklicovaslovacz{Hesla, Monitoring kompromitace, Bezpečnost webů, Informační bezpečnost}
\nastavklicovaslovaen{Passwords, Compromise monitoring, Web security, Information security}
% Následující příkaz nastaví standard PDF/A-1b
\aplikujpdfa
% =========================================================================== %
\begin{document}
\titulnistrana
\zadani
\prohlaseni
\abstraktaklicovaslova
% =========================================================================== %
\clearpage
\thispagestyle{empty}
% Zde je místo pro případné poděkování, motto, úryvky knih, básní atp.
% =========================================================================== %
\obsah % Obsah je generován automaticky
% =========================================================================== %
\OdsazovaniOdstavcuStart % Nastaví odsazování odstavců dle zvoleného jazyka
% master's thesis text
\input{tex/text.tex}
\OdsazovaniOdstavcuStop
% =========================================================================== %
% references
\seznamlitbib
% =========================================================================== %
% list of abbreviations
\input{tex/abbreviations.tex}
% =========================================================================== %
% list of figures
\seznamobr
% =========================================================================== %
% list of tables
\seznamtab
% =========================================================================== %
% list of appendices
\input{tex/appendices.tex}
% =========================================================================== %
\end{document}
% =========================================================================== %