804 lines
23 KiB
TeX
804 lines
23 KiB
TeX
%%% KI PřF UP v Olomouci Base Style
|
|
%%% Copyright (C) 2012 Martin Rotter, <rotter.martinos@gmail.com>
|
|
%%% Copyright (C) 2014 Jan Outrata, <jan.outrata@upol.cz>
|
|
|
|
\NeedsTeXFormat{LaTeX2e}
|
|
\ProvidesPackage{kibase}[2012/09/09 KI PrF UP v Olomouci Base Style]
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%% Parametry.
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
\RequirePackage{kvoptions}
|
|
|
|
\SetupKeyvalOptions{
|
|
family=kib,
|
|
prefix=kib@
|
|
}
|
|
|
|
%% [init]{name}[default]
|
|
%% tisková verze (nebarevné logo UP a odkazy, odkazy s uvedením adresy,
|
|
%% ne odkaz do rejstříku)
|
|
\DeclareStringOption[false]{printversion}[true]
|
|
%% seznamy (obrázků, tabulek, zdrojových kódů a vět) pod sebou, jinak
|
|
%% na samostatných stranách
|
|
\DeclareStringOption[true]{joinlists}[true]
|
|
%% seznam obrázků
|
|
\DeclareStringOption[true]{figures}[true]
|
|
%% seznam tabulek
|
|
\DeclareStringOption[true]{tables}[true]
|
|
%% seznam vět
|
|
\DeclareStringOption[false]{theorems}[true]
|
|
%% seznam zdrojových kódů
|
|
\DeclareStringOption[false]{sourcecodes}[true]
|
|
%% bibliografie v BibLaTeXu, jinak v prostředí thebibliography
|
|
\DeclareStringOption[false]{biblatex}[true]
|
|
%% jazyk dokumentu: czech, english, slovak
|
|
\DeclareStringOption[czech]{language}[czech]
|
|
%% podpora seznamu zkratek
|
|
\DeclareStringOption[false]{glossaries}[true]
|
|
%% podpora rejstříku
|
|
\DeclareStringOption[false]{index}[true]
|
|
%% font dokumentu: sans, jinak serif
|
|
\DeclareStringOption[serif]{font}[serif]
|
|
%% logo UP: white, black, blue
|
|
\DeclareStringOption[white]{logo}[white]
|
|
%% kódování zdrojového textu dokumentu
|
|
\DeclareStringOption[utf8]{encoding}[utf8]
|
|
%% kódování bibliografie v BibLaTeXu
|
|
\DeclareStringOption[utf8]{bibencoding}[utf8]
|
|
%% styl číslování položek bibliografie v BibLaTeXu: iso, iso-numeric,
|
|
%% iso-authoryear
|
|
\DeclareStringOption[iso-numeric]{bibstyle}[iso-numeric]
|
|
|
|
%% Nerozpoznaný parametr hodí chybu.
|
|
\DeclareDefaultOption{\PackageWarningNoLine{kibase}{[kibase] Option '\CurrentOption' was not recognized}}
|
|
|
|
\ProcessKeyvalOptions*
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%% Balíky.
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
%% Kódování zdrojového textu dokumentu.
|
|
\RequirePackage[\kib@encoding]{inputenc}
|
|
|
|
%% Jazyky.
|
|
\RequirePackage[czech,english,\kib@language]{babel}
|
|
|
|
% Barvy.
|
|
\RequirePackage[usenames,dvipsnames,table]{xcolor}
|
|
|
|
%% Klikací odkazy v PDF.
|
|
\RequirePackage[unicode,breaklinks=true]{hyperref}
|
|
%% PDF záložky.
|
|
\RequirePackage[open,atend]{bookmark}
|
|
|
|
%% Zdrojové kódy.
|
|
\RequirePackage[savemem]{listings}
|
|
|
|
%% Podmíněný kód.
|
|
\RequirePackage{ifpdf}
|
|
\RequirePackage{ifthen}
|
|
|
|
%% Seznam zkratek.
|
|
\ifthenelse{\equal{\kib@glossaries}{true}}{
|
|
%% glossaries definuje \printindex (definovany take makeidx) i kdyz
|
|
%% by NEMEL bez parametru index!
|
|
\RequirePackage{savesym}
|
|
\savesymbol{printindex}
|
|
\RequirePackage[acronym,nonumberlist,sanitize=none]{glossaries}
|
|
\restoresymbol{GLS}{printindex}
|
|
}{
|
|
\relax
|
|
}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%% Barvy.
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
\definecolor{darkgray}{RGB}{60,60,60}
|
|
\definecolor{halfgray}{gray}{0.55}
|
|
\definecolor{lightergray}{gray}{0.99}
|
|
\definecolor{webgreen}{rgb}{0,.5,0}
|
|
\definecolor{webbrown}{rgb}{.6,0,0}
|
|
\definecolor{ultragreen}{RGB}{40,180,10}
|
|
\definecolor{darkblue}{rgb}{0.2, 0.3, 0.6}
|
|
\definecolor{upblue}{RGB}{0, 134, 217}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%% Dynamické texty.
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
\newcommand{\kitextdeptcz}{Katedra informatiky}
|
|
\newcommand{\kitextfacultycz}{P\v r\'irodov\v edeck\'a fakulta}
|
|
\newcommand{\kitextunivcz}{Univerzita Palack\'eho v~Olomouci}
|
|
|
|
\newcommand{\kitextdepten}{Department of Computer Science}
|
|
\newcommand{\kitextfacultyen}{Faculty of Science}
|
|
\newcommand{\kitextuniven}{Palack\'{y} University Olomouc}
|
|
|
|
%% Čestina.
|
|
\ifthenelse{\equal{\kib@language}{czech}}{
|
|
\newcommand{\kitextdept}{\kitextdeptcz}
|
|
\newcommand{\kitextfaculty}{\kitextfacultycz}
|
|
\newcommand{\kitextuniv}{\kitextunivcz}
|
|
\def\@texttitle{Tituln\'{i} strana}
|
|
|
|
\renewcommand{\lstlistlistingname}{Seznam zdrojov\'ych k\'od\r{u}}
|
|
\renewcommand{\lstlistingname}{Zdrojov\'y k\'od}
|
|
\newcommand{\listtheoremname}{Seznam v\v et}
|
|
|
|
\def\@textdefinition{Definice}
|
|
\def\@textlemma{Lemma}
|
|
\def\@textconsequence{D\r{u}sledek}
|
|
\def\@textremark{Pozn\'{a}mka}
|
|
\def\@texttheorem{V\v{e}ta}
|
|
\def\@textproof{D\r{u}kaz}
|
|
\def\@textexample{P\v{r}\'{i}klad}
|
|
|
|
\ifthenelse{\equal{\kib@glossaries}{true}}{
|
|
\def\@textindex{Rejst\v{r}\'{i}k}
|
|
\renewcommand{\acronymname}{Seznam zkratek}
|
|
}{
|
|
\relax
|
|
}
|
|
|
|
\newcommand{\buno}{bez \'{u}jmy na obecnosti}
|
|
\newcommand{\Buno}{Bez \'{u}jmy na obecnosti}
|
|
}{
|
|
\relax
|
|
}
|
|
|
|
%% Angličtina.
|
|
\ifthenelse{\equal{\kib@language}{english}}{
|
|
\newcommand{\kitextdept}{\kitextdepten}
|
|
\newcommand{\kitextfaculty}{\kitextfacultyen}
|
|
\newcommand{\kitextuniv}{\kitextuniven}
|
|
\def\@texttitle{Title page}
|
|
|
|
\renewcommand{\lstlistlistingname}{List of source codes}
|
|
\renewcommand{\lstlistingname}{Source code}
|
|
\newcommand{\listtheoremname}{List of theorems}
|
|
|
|
\def\@textdefinition{Definition}
|
|
\def\@textlemma{Lemma}
|
|
\def\@textconsequence{Corollary}
|
|
\def\@textremark{Remark}
|
|
\def\@texttheorem{Theorem}
|
|
\def\@textproof{Proof}
|
|
\def\@textexample{Example}
|
|
|
|
\ifthenelse{\equal{\kib@glossaries}{true}}{
|
|
\def\@textindex{Index}
|
|
\renewcommand{\acronymname}{List of abbreviations}
|
|
}{
|
|
\relax
|
|
}
|
|
|
|
\newcommand{\buno}{without loss of generality}
|
|
\newcommand{\Buno}{Without loss of generality}
|
|
}{
|
|
\relax
|
|
}
|
|
|
|
%% Slovenština.
|
|
\ifthenelse{\equal{\kib@language}{slovak}}{
|
|
\newcommand{\kitextdept}{\kitextdeptcz}
|
|
\newcommand{\kitextfaculty}{\kitextfacultycz}
|
|
\newcommand{\kitextuniv}{\kitextunivcz}
|
|
\def\@texttitle{Tituln\'{a} strana}
|
|
|
|
\renewcommand{\lstlistlistingname}{Zoznam zdrojov\'ych k\'odov}
|
|
\renewcommand{\lstlistingname}{Zdrojov\'y k\'od}
|
|
\newcommand{\listtheoremname}{Zoznam viet}
|
|
|
|
\def\@textdefinition{Defin\'icia}
|
|
\def\@textlemma{Lemma}
|
|
\def\@textconsequence{D\^osledok}
|
|
\def\@textremark{Pozn\'{a}mka}
|
|
\def\@texttheorem{Veta}
|
|
\def\@textproof{D\^okaz}
|
|
\def\@textexample{Pr\'{i}klad}
|
|
|
|
\ifthenelse{\equal{\kib@glossaries}{true}}{
|
|
\def\@textindex{Register}
|
|
\renewcommand{\acronymname}{Zoznam skratiek}
|
|
}{
|
|
\relax
|
|
}
|
|
|
|
\newcommand{\buno}{bez ujmy na všeobecnosti}
|
|
\newcommand{\Buno}{Bez ujmy na všeobecnosti}
|
|
}{
|
|
\relax
|
|
}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%% Logo.
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
\ifthenelse{\equal{\kib@logo}{black}}{
|
|
\def\@logofile{graphics/UP_znak_cerna}
|
|
}{
|
|
\ifthenelse{\equal{\kib@logo}{blue}}{
|
|
\def\@logofile{graphics/UP_znak}
|
|
}{
|
|
\ifthenelse{\equal{\kib@printversion}{true}}{
|
|
\def\@logofile{graphics/UP_znak_outline}
|
|
}{
|
|
\def\@logofile{graphics/UP_znak}
|
|
}
|
|
}
|
|
}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%% Písmo - patkové Latin Modern a bezpatkové Iwona Light.
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
\ifthenelse{\equal{\kib@font}{sans}}{
|
|
\RequirePackage[light,math]{iwona}
|
|
}{
|
|
\RequirePackage{lmodern}
|
|
}
|
|
\RequirePackage[T1]{fontenc}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%% Obrázky.
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
\ifthenelse{\boolean{pdf}}{
|
|
\RequirePackage[pdftex]{graphicx}
|
|
}{
|
|
\RequirePackage{graphicx}
|
|
}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%% České (a slovenské) uvozovky pro balík csquotes.
|
|
%% použití: \enquote{citoslovce}
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
\RequirePackage[autostyle=try]{csquotes}
|
|
|
|
\DeclareQuoteStyle{czech}
|
|
{\quotedblbase}
|
|
{\textquotedblleft}
|
|
{\textquoteleft}
|
|
{\textquoteright}
|
|
|
|
\DeclareQuoteAlias{czech}{slovak}
|
|
|
|
%% Redeklarace makra \uv, aby používalo csquotes.
|
|
%% Makro \uv bude tisknout typ uvozovek v závislosti na jazyku prostředí.
|
|
\renewcommand{\uv}[1]{\enquote{#1}}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%% Hypertextové odkazy a záložky.
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
%% Nastaví PDF záložky na kořen -- způsobí vrácení PDF záložek na
|
|
%% kořen, používat zejména pokud dokument obsahuje \part
|
|
%\newcommand{\kiendofmainmatter}{
|
|
% \bookmarksetup{startatroot}
|
|
%}
|
|
|
|
%% Potlačení klikacích odkazů.
|
|
\newcommand*{\nohref}[1]{\begin{NoHyper}#1\end{NoHyper}}
|
|
|
|
%% Barevné odkazy.
|
|
\ifthenelse{\equal{\kib@printversion}{true}}{
|
|
\hypersetup{
|
|
colorlinks=false
|
|
}
|
|
}{
|
|
\hypersetup{
|
|
colorlinks=true
|
|
}
|
|
}
|
|
|
|
%% Nastavení odkazů a záložek.
|
|
\hypersetup{
|
|
linktocpage=true, pdfstartpage=1, pageanchor=true,
|
|
pdfstartview=FitV, breaklinks=true, pdfpagemode=UseNone,
|
|
plainpages=false, bookmarksnumbered,
|
|
hypertexnames=true, pdfhighlight=/O,
|
|
urlcolor=upblue, linkcolor=upblue,
|
|
citecolor=upblue
|
|
}
|
|
|
|
\let\orghref=\href
|
|
\let\orgurl=\url
|
|
|
|
%% Zalomitelné \url.
|
|
%% \renewcommand{\url}[1]{\orghref{#1}{#1}}
|
|
|
|
\ifthenelse{\equal{\kib@printversion}{true}}{
|
|
%% Odkazy s uvedením adresy v tiskové verzi dokumentu.
|
|
\renewcommand{\href}[2]{#2 (\orghref{#1}{#1})}
|
|
\newcommand{\mail}[2]{#2 (\orghref{mailto:#1}{#1})}
|
|
}{
|
|
%% Makro pro mail.
|
|
\newcommand{\mail}[2]{\href{mailto:#1}{#2}}
|
|
}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%% Zkratky a seznam zkratek.
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
\ifthenelse{\equal{\kib@glossaries}{true}}{
|
|
%% Zapnutí generování zkratek.
|
|
\makeglossaries
|
|
|
|
%% Zkratky tučně a bez interpunkce za zkratkou.
|
|
\renewcommand{\glsnamefont}[1]{\textbf{#1}}
|
|
\renewcommand{\glspostdescription}{}
|
|
|
|
\let\orgprintglossary=\printglossary
|
|
|
|
%% Tisk seznamu zkratek od nové strany + záznam do obsahu.
|
|
\renewcommand{\printglossary}{
|
|
\clearpage
|
|
\phantomsection
|
|
\addcontentsline{toc}{section}{\acronymname}
|
|
\orgprintglossary[type=\acronymtype]
|
|
}
|
|
}{
|
|
\renewcommand{\printglossary}{
|
|
\relax
|
|
}
|
|
}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%% Rejstřík
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
\ifthenelse{\equal{\kib@index}{true}}{
|
|
\RequirePackage{makeidx}
|
|
%% Sazba do sloupců.
|
|
\RequirePackage{multicol}
|
|
|
|
%% Zapne rejstříkování.
|
|
\makeindex
|
|
|
|
%\let\orgtheindex=\theindex
|
|
%\let\orgendtheindex=\endtheindex
|
|
|
|
%% Dva sloupce rejstříku.
|
|
\newcommand{\indexcolumns}{2}
|
|
|
|
%% Předefinování prostředí pro sazbu rejstříku (podle starého stylu).
|
|
\renewenvironment{theindex}{
|
|
\newpage
|
|
\bgroup
|
|
\section*{\@textindex\@mkboth{\@textindex}{\@textindex}}
|
|
\addcontentsline{toc}{section}{\@textindex}
|
|
\def\item{\par}
|
|
\def\subitem{\par---\kern1ex}
|
|
\def\subsubitem{\par---\kern1ex---\kern1ex}
|
|
\def\indexspace{\smallskip}
|
|
\setlength{\parindent}{-2em}
|
|
\setlength{\leftskip}{2em}
|
|
\begin{multicols*}{\indexcolumns}
|
|
} {
|
|
\end{multicols*}
|
|
\egroup
|
|
}
|
|
|
|
\let\orgprintindex=\printindex
|
|
|
|
%% Tisk rejstříku od nové strany.
|
|
\renewcommand{\printindex}{
|
|
\clearpage
|
|
\phantomsection
|
|
\orgprintindex
|
|
}
|
|
|
|
\ifthenelse{\equal{\kib@printversion}{true}}{
|
|
\relax
|
|
}{
|
|
%% Redefinice \index s odkazem do rejstříku.
|
|
%% Odkaz nefunguje pro \index{výraz|makro}, resp. \index{výraz|(makro}.
|
|
\newcounter{indexno}
|
|
\let\orgindex=\index
|
|
\renewcommand{\index}[1]{\stepcounter{indexno}\hyperlink{\arabic{indexno}ind.ind}{$^{\lbrace\arabic{indexno}\rbrace}$}\orgindex{#1|hypertarget{\arabic{indexno}ind.ind}}}
|
|
}
|
|
}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%% Bibliografie
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
%% BibLaTeX.
|
|
\ifthenelse{\equal{\kib@biblatex}{true}}{
|
|
%% Volba backendu.
|
|
\newcommand{\kibibliobackend}{biber}
|
|
|
|
%% Načtení BibLaTeXu.
|
|
%% Čestina.
|
|
\ifthenelse{\equal{\kib@language}{czech}}{
|
|
\RequirePackage[
|
|
natbib=true,
|
|
backend=\kibibliobackend,
|
|
sortcites=true,
|
|
style=\kib@bibstyle,
|
|
babel=other,
|
|
sortlocale=cs_CZ,
|
|
bibencoding=\kib@bibencoding
|
|
]{biblatex}
|
|
}{
|
|
\relax
|
|
}
|
|
%% Angličtina.
|
|
\ifthenelse{\equal{\kib@language}{english}}{
|
|
\RequirePackage[
|
|
natbib=true,
|
|
backend=\kibibliobackend,
|
|
sortcites=true,
|
|
style=\kib@bibstyle,
|
|
babel=other,
|
|
sortlocale=en_GB,
|
|
bibencoding=\kib@bibencoding,
|
|
spacecolon=false
|
|
]{biblatex}
|
|
}{
|
|
\relax
|
|
}
|
|
%% Slovenština.
|
|
\ifthenelse{\equal{\kib@language}{slovak}}{
|
|
\RequirePackage[
|
|
natbib=true,
|
|
backend=\kibibliobackend,
|
|
sortcites=true,
|
|
style=\kib@bibstyle,
|
|
babel=other,
|
|
sortlocale=sk_SK,
|
|
bibencoding=\kib@bibencoding
|
|
]{biblatex}
|
|
}{
|
|
\relax
|
|
}
|
|
|
|
%% První řádek záznamu nechceme předsazovat.
|
|
\setlength{\bibhang}{0pt}
|
|
|
|
%% Přeformátovat číslo záznamu.
|
|
\ifthenelse{\equal{\kib@bibstyle}{iso-numeric}}{
|
|
\renewcommand\MethodFormat{\printtext[labelnumberwidth]{\mkbibbrackets{\printfield{prefixnumber}\printfield{labelnumber}}}}
|
|
} {
|
|
\relax
|
|
}
|
|
|
|
\let\orgprintbibliography=\printbibliography
|
|
|
|
%% Tisk bibliografie od nové strany + záznam do obsahu.
|
|
\renewcommand{\printbibliography}{
|
|
\clearpage
|
|
\phantomsection
|
|
\addcontentsline{toc}{section}{\refname}
|
|
\orgprintbibliography
|
|
}
|
|
|
|
%% Umlčení TeXu v případě "drobných" přetečení textu, která se v
|
|
%% bibliografii dějí běžně.
|
|
\setcounter{biburlnumpenalty}{9000}
|
|
\setcounter{biburlucpenalty}{9000}
|
|
\setcounter{biburllcpenalty}{9000}
|
|
}{
|
|
\relax
|
|
}
|
|
|
|
%% Redefinice prostředí thebibliography (podle starého stylu).
|
|
\renewenvironment{thebibliography}[1]{
|
|
\clearpage
|
|
\section*{\bibname
|
|
\@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}}
|
|
\addcontentsline{toc}{section}{\bibname}
|
|
\list{\@biblabel{\@arabic\c@enumiv}}
|
|
{\settowidth\labelwidth{\@biblabel{#1}}
|
|
%% bez odsazeni (jako v BibLaTeXu)
|
|
\leftmargin0pt%\labelwidth
|
|
% \advance\leftmargin\labelsep
|
|
\@openbib@code
|
|
\usecounter{enumiv}
|
|
\let\p@enumiv\@empty
|
|
\renewcommand\theenumiv{\@arabic\c@enumiv}}
|
|
\sloppy
|
|
\clubpenalty4000
|
|
\@clubpenalty \clubpenalty
|
|
\widowpenalty4000
|
|
\sfcode`\.\@m
|
|
} {
|
|
\def\@noitemerr
|
|
{\@latex@warning{Empty `thebibliography' environment}}
|
|
\endlist
|
|
}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%% Obsah.
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
\let\orgappendix=\appendix
|
|
|
|
%% Přílohy od nové strany.
|
|
\renewcommand{\appendix}{
|
|
\clearpage
|
|
\orgappendix
|
|
}
|
|
|
|
%% Definice \subsubsubsection
|
|
\setcounter{tocdepth}{5}
|
|
\setcounter{secnumdepth}{5}
|
|
\newcommand{\subsubsubsection}{\@startsection{paragraph}{4}{0ex}
|
|
{-3.25ex plus -1ex minus -0.2ex}
|
|
{1.5ex plus 0.2ex}%
|
|
{\normalfont\normalsize\bfseries}}
|
|
|
|
\let\orgtableofcontents=\tableofcontents
|
|
|
|
%% Přidání záznamu do PDF záložek.
|
|
\renewcommand{\tableofcontents}{
|
|
\cleardoublepage
|
|
\hypertarget{ki:toc}{}
|
|
\bookmark[
|
|
rellevel=1,
|
|
keeplevel,
|
|
dest=ki:toc
|
|
]{\contentsname}
|
|
\orgtableofcontents
|
|
}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%% Zdrojové kódy.
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
%% Typewriter font, který umí i bold.
|
|
\renewcommand{\ttdefault}{pcr}
|
|
|
|
%% Modifikace originálních maker, aby respektovala jiný obsah.
|
|
\lst@UserCommand\lstlistoflistings{\bgroup
|
|
\let\contentsname\lstlistlistingname
|
|
\let\lst@temp\@starttoc \def\@starttoc##1{\lst@temp{lol}}
|
|
\orgtableofcontents \egroup}
|
|
|
|
%% Definice základního stylu sazby zdroj. kódů.
|
|
\lstdefinestyle{kibasestyle}{
|
|
breaklines=true,
|
|
flexiblecolumns=true,
|
|
basicstyle=\footnotesize\ttfamily,
|
|
keywordstyle=\bfseries,
|
|
commentstyle=\color{gray},
|
|
stringstyle=\color{black},
|
|
numberbychapter=false,
|
|
escapeinside={£*}{*£},
|
|
firstnumber=1,
|
|
numbers=left,
|
|
captionpos=b,
|
|
numbersep=10pt,
|
|
inputencoding=\kib@encoding,
|
|
numberstyle=\scriptsize\ttfamily,
|
|
stepnumber=1,
|
|
showstringspaces=false,
|
|
tabsize=2,
|
|
extendedchars=true,
|
|
literate=
|
|
{á}{{\'a}}1
|
|
{í}{{\'i}}1
|
|
{é}{{\'e}}1
|
|
{ý}{{\'y}}1
|
|
{ú}{{\'u}}1
|
|
{ó}{{\'o}}1
|
|
{ě}{{\v{e}}}1
|
|
{š}{{\v{s}}}1
|
|
{č}{{\v{c}}}1
|
|
{ř}{{\v{r}}}1
|
|
{ž}{{\v{z}}}1
|
|
{ď}{{\v{d}}}1
|
|
{ť}{{\v{t}}}1
|
|
{ň}{{\v{n}}}1
|
|
{ů}{{\r{u}}}1
|
|
{ô}{{\^o}}1
|
|
{Á}{{\'A}}1
|
|
{Í}{{\'I}}1
|
|
{É}{{\'E}}1
|
|
{Ý}{{\'Y}}1
|
|
{Ú}{{\'U}}1
|
|
{Ó}{{\'O}}1
|
|
{Ě}{{\v{E}}}1
|
|
{Š}{{\v{S}}}1
|
|
{Č}{{\v{C}}}1
|
|
{Ř}{{\v{R}}}1
|
|
{Ž}{{\v{Z}}}1
|
|
{Ď}{{\v{D}}}1
|
|
{Ť}{{\v{T}}}1
|
|
{Ň}{{\v{N}}}1
|
|
{Ů}{{\r{U}}}1
|
|
{Ô}{{\^o}}1
|
|
}
|
|
|
|
%% Definice dodatečných jazyků.
|
|
\lstdefinelanguage{TutorialD}{morekeywords={tuple,matching,insert,divide,by,per,tclose,from,summarize,count,all,but,as,base,rename,prefix,extend,add,compose,union,minus,intersect,update,writeln,init,type,possrep,constraint,and,or,relation,where,base,drop},
|
|
sensitive=false,
|
|
morecomment=[s][commentstyle]{/*}{*/},
|
|
morestring=[b][stringstyle]{"},
|
|
}
|
|
|
|
\lstdefinelanguage{text}{
|
|
morekeywords={},
|
|
sensitive=false,
|
|
}
|
|
|
|
\lstdefinelanguage{CSS}{
|
|
morekeywords={accelerator,azimuth,background,background-attachment,background-color,background-image,background-position,background-position-x,background-position-y,background-repeat,behavior,border,border-bottom,border-bottom-color,border-bottom-style,border-bottom-width,border-collapse,border-color,border-left,border-left-color,border-left-style,border-left-width,border-right,border-right-color,border-right-style,border-right-width,border-spacing,border-style,border-top,border-top-color,border-top-style,border-top-width,border-width,bottom,caption-side,clear,clip,color,content,counter-increment,counter-reset,cue,cue-after,cue-before,cursor,direction,display,elevation,empty-cells,filter,float,font,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,height,ime-mode,include-source,layer-background-color,layer-background-image,layout-flow,layout-grid,layout-grid-char,layout-grid-char-spacing,layout-grid-line,layout-grid-mode,layout-grid-type,left,letter-spacing,line-break,line-height,list-style,list-style-image,list-style-position,list-style-type,margin,margin-bottom,margin-left,margin-right,margin-top,marker-offset,marks,max-height,max-width,min-height,min-width,-moz-binding,-moz-border-radius,-moz-border-radius-topleft,-moz-border-radius-topright,-moz-border-radius-bottomright,-moz-border-radius-bottomleft,-moz-border-top-colors,-moz-border-right-colors,-moz-border-bottom-colors,-moz-border-left-colors,-moz-opacity,-moz-outline,-moz-outline-color,-moz-outline-style,-moz-outline-width,-moz-user-focus,-moz-user-input,-moz-user-modify,-moz-user-select,orphans,outline,outline-color,outline-style,outline-width,overflow,overflow-X,overflow-Y,padding,padding-bottom,padding-left,padding-right,padding-top,page,page-break-after,page-break-before,page-break-inside,pause,pause-after,pause-before,pitch,pitch-range,play-during,position,quotes,-replace,richness,right,ruby-align,ruby-overhang,ruby-position,-set-link-source,size,speak,speak-header,speak-numeral,speak-punctuation,speech-rate,stress,scrollbar-arrow-color,scrollbar-base-color,scrollbar-dark-shadow-color,scrollbar-face-color,scrollbar-highlight-color,scrollbar-shadow-color,scrollbar-3d-light-color,scrollbar-track-color,table-layout,text-align,text-align-last,text-decoration,text-indent,text-justify,text-overflow,text-shadow,text-transform,text-autospace,text-kashida-space,text-underline-position,top,unicode-bidi,-use-link-source,vertical-align,visibility,voice-family,volume,white-space,widows,width,word-break,word-spacing,word-wrap,writing-mode,z-index,zoom,},
|
|
sensitive=false,
|
|
morecomment=[s][commentstyle]{/*}{*/},
|
|
}
|
|
|
|
\lstdefinelanguage{csharp}{
|
|
morekeywords={int,ref,static,fixed,unsafe,public,private,protected,return,for,if,void},
|
|
sensitive=false,
|
|
morecomment=[s][commentstyle]{/*}{*/},
|
|
morecomment=[l][commentstyle]{//},
|
|
morestring=[b][stringstyle]{"},
|
|
}
|
|
|
|
\lstdefinelanguage{cpp}{
|
|
morekeywords={int,enum,struct,static,bool,return,for,if,void,ifndef,define,endif,class,constexpr,new,const,auto,double,public,private,protected,signals,slots},
|
|
sensitive=false,
|
|
morecomment=[s][commentstyle]{/*}{*/},
|
|
morecomment=[l][commentstyle]{//},
|
|
morestring=[b][stringstyle]{"},
|
|
}
|
|
|
|
\lstdefinelanguage{JavaScript}{
|
|
keywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break},
|
|
ndkeywords={class, export, boolean, throw, implements, import, this},
|
|
sensitive=false,
|
|
morecomment=[l][commentstyle]{//},
|
|
morecomment=[s][commentstyle]{/*}{*/},
|
|
morestring=[b][stringstyle]{'},
|
|
morestring=[b][stringstyle]{"}
|
|
}
|
|
|
|
\newcommand{\csharp}{C\kern-.03em\raise.38ex\hbox{\scriptsize{\#}}}
|
|
\newcommand{\cpp}{C\kern-.05em\raise.38ex\hbox{\scriptsize{++}}}
|
|
\newcommand{\keyword}[1]{{\ttfamily\color{darkgray}{#1}}}
|
|
|
|
%% Načtení jazyků.
|
|
\lstloadlanguages{[ANSI]C,[LaTeX]TeX,PHP,HTML,Lisp,SQL,TeX,Python,Java,TutorialD,text,csharp,cpp,JavaScript,CSS}
|
|
|
|
%% Definice makra a prostředí pro sazbu zdroj. kódů.
|
|
\newcommand{\kiinlinecode}[3]{\lstinline[style=kibasestyle,alsoletter={\{\}\\},language=#1]#2#3#2\ignorespacesafterend}
|
|
|
|
\lstnewenvironment{kicode}[3]{
|
|
\lstset{language=#1,alsoletter={\{\}\\},float=ht,style=kibasestyle,firstnumber=1,caption={#3},label={#2},aboveskip=10px,belowskip=15px}
|
|
}{}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%% Teorémy.
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
%% Stylování teorémů.
|
|
\RequirePackage{amsmath}
|
|
\RequirePackage{amsthm}
|
|
\RequirePackage{thmtools}
|
|
|
|
%% Definice základných stylů.
|
|
\declaretheoremstyle[
|
|
headfont=\normalfont\bfseries,
|
|
notefont=\normalfont\bfseries,
|
|
bodyfont=\itshape,
|
|
spaceabove=\baselineskip,
|
|
spacebelow=\baselineskip,
|
|
headpunct=\\\indent
|
|
]{kithmstyle}
|
|
|
|
\declaretheoremstyle[
|
|
notefont=\bfseries,
|
|
spaceabove=\baselineskip,
|
|
spacebelow=\baselineskip,
|
|
headpunct=\\\indent
|
|
]{kidefstyle}
|
|
|
|
\declaretheoremstyle[
|
|
headfont=\normalfont\scshape,
|
|
notefont=\normalfont\scshape,
|
|
spaceabove=\baselineskip,
|
|
spacebelow=\baselineskip,
|
|
headpunct=\\\indent
|
|
]{kiremexstyle}
|
|
|
|
\declaretheoremstyle[
|
|
headfont=\normalfont\itshape,
|
|
notefont=\normalfont\itshape,
|
|
spaceabove=\baselineskip,
|
|
spacebelow=\baselineskip,
|
|
qed=\qedsymbol,
|
|
headpunct=\\\indent
|
|
]{kiproofstyle}
|
|
|
|
%% Zakázání starého prostředí pro sazbu důkazů.
|
|
\let\proof\@undefined
|
|
|
|
%% Definice prostředí pro sazbu teorémů.
|
|
\declaretheorem[style=kidefstyle,numbered=yes,name=\@textdefinition]{definition}
|
|
\declaretheorem[sibling=definition,style=kithmstyle,numbered=yes,name=\@textlemma]{lemma}
|
|
\declaretheorem[sibling=definition,style=kithmstyle,numbered=yes,name=\@textconsequence]{consequence}
|
|
\declaretheorem[sibling=definition,style=kiremexstyle,numbered=yes,name=\@textremark]{remark}
|
|
\declaretheorem[sibling=definition,style=kiremexstyle,numbered=yes,name=\@textexample]{example}
|
|
\declaretheorem[sibling=definition,style=kithmstyle,numbered=yes,name=\@texttheorem]{theorem}
|
|
\declaretheorem[style=kiproofstyle,numbered=no,name=\@textproof]{proof}
|
|
|
|
\let\orglistoftheorems=\listoftheorems
|
|
|
|
%% Seznam teorémů.
|
|
\renewcommand{\listoftheorems}{
|
|
\orglistoftheorems[ignoreall,show={definition,consequence,lemma,remark,theorem,proof,example}]
|
|
}
|
|
|
|
%% Čítání rovnic na základě sekcí.
|
|
%\counterwithin{equation}{section}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%% Sazba seznamů.
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
\newcommand{\@printlists}{
|
|
\cleardoublepage
|
|
\ifthenelse{\equal{\kib@figures}{true}}{
|
|
\listoffigures
|
|
\ifthenelse{\equal{\kib@joinlists}{true}}{
|
|
\relax
|
|
}{
|
|
\clearpage
|
|
}
|
|
}{
|
|
\relax
|
|
}
|
|
|
|
\ifthenelse{\equal{\kib@tables}{true}}{
|
|
\listoftables
|
|
\ifthenelse{\equal{\kib@joinlists}{true}}{
|
|
\relax
|
|
}{
|
|
\clearpage
|
|
}
|
|
}{
|
|
\relax
|
|
}
|
|
|
|
\ifthenelse{\equal{\kib@theorems}{true}}{
|
|
\listoftheorems
|
|
\ifthenelse{\equal{\kib@joinlists}{true}}{
|
|
\relax
|
|
}{
|
|
\clearpage
|
|
}
|
|
}{
|
|
\relax
|
|
}
|
|
|
|
\ifthenelse{\equal{\kib@sourcecodes}{true}}{
|
|
\lstlistoflistings
|
|
\ifthenelse{\equal{\kib@joinlists}{true}}{
|
|
\relax
|
|
}{
|
|
\clearpage
|
|
}
|
|
}{
|
|
\relax
|
|
}
|
|
\cleardoublepage
|
|
}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%% Další.
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
%% Sloupce pro tabulky s uživatelsky stanovenou šířkou a zarovnáním
|
|
%% textu na danou stranu.
|
|
%% Použití: \begin{tabular}{| c | L{3cm} | C{3cm} | R{3cm} |}
|
|
\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}p{#1}}
|
|
\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}p{#1}}
|
|
|
|
\endinput
|