From 0f14d2f9e4394ac5ca017b5ddba488edd2230291 Mon Sep 17 00:00:00 2001
From: witiko <witiko@gmail.com>
Date: Sat, 11 Apr 2015 00:17:58 +0200
Subject: [PATCH] Partial implementation of the Faculty of Science style.

The support for injecting the thesis assignment PDF via the
`assignment=path` option of `\thesissetup` was added.

One of the larger design decisions in this commit is the fact
that each locale string stored within a `\macro` macro needs to
have a `\macroEn` counterpart defined. Such a solution was much
easier to implement and document than special-casing and
documenting each string, whose English version was needed across
locales. The implementation comprises `base.def` files containing
the English definitions. These definitions are then automatically
imported by the locale file inheritance scheme.

Several new macros were added to allow for multi-lingual blocks:

 * `\thesis@authorEn`, `\thesis@advisor` -- They gets redefined
   via the `author` and `advisor` `\thesissetup` keys like their
   locale-agnostic counterparts, but the initial values are
   `\thesis@placeholders@authorEn` and
   `\thesis@placeholders@advisorEn` rather than
   `\thesis@placeholders@author` and
   `\thesis@placeholders@advisor`.
 * `\thesis@field` -- The field of study, required by the sci style
 * `\thesis@departmentEn`, `\thesis@programmeEn`, `\thesis@fieldEn`
   `\thesis@titleEn`, `\thesis@TeXtitleEn` -- The English versions
   of their locale-agnostic counterparts
 * `\thesis@abstractEn`, `\thesis@keywordsEn` -- These no longer
   default to `\undefined`, but instead use the fresh-defined
   `\thesis@placeholders@abstractEn` and
   `\thesis@placeholders@keywordsEn` locale macros.
 * `\thesis@date`, `\thesis@year`, `\thesis@month`, `\thesis@day`,
   `\thesis@season`, `\thesis@academicYear`, `\thesis@semester` --
   These are all parsed out of a single value assigned to the
   `date` key via `\thesissetup`.
---
 Makefile           |   4 +-
 fithesis.dtx       | 230 +++++++++++++++++++++++++++-----
 locale/Makefile    |   4 +-
 locale/base.dtx    |  22 ----
 locale/base.ins    |   3 -
 locale/czech.dtx   |  62 ++++++---
 locale/english.dtx | 320 +++++++++++++++++++++++++++++++++++++--------
 locale/english.ins |  14 +-
 locale/slovak.dtx  |  62 ++++++---
 style/mu/Makefile  |   2 +-
 style/mu/base.dtx  |  95 ++++++++------
 style/mu/fi.dtx    |   8 +-
 style/mu/sci.dtx   | 175 +++++++++++++++++++++----
 style/mu/sci.ins   |   3 +-
 14 files changed, 780 insertions(+), 224 deletions(-)
 delete mode 100644 locale/base.dtx
 delete mode 100644 locale/base.ins

diff --git a/Makefile b/Makefile
index 11616b7..805fcb5 100644
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,7 @@ SUBMAKEFILES=logo/mu logo/mu/color locale style style/mu
 CLASSFILES=fithesis.cls fithesis[23].cls
 STYLEFILES=style/*.sty style/*/*.sty style/*/*.clo
 LOGOFILES=logo/*/*.eps logo/*/color/*.eps logo/*/*.pdf logo/*/color/*.pdf
-LOCALEFILES=locale/*.tex locale/*/*.tex locale/*/*/*.tex
+LOCALEFILES=locale/*.def locale/*/*.def locale/*/*/*.def
 DTXFILES=*.dtx locale/*.dtx style/*.dtx style/*/*.dtx
 RESOURCES=$(STYLEFILES) $(LOGOFILES) $(LOCALEFILES)
 AUXFILES=example.aux example.log example.out example.toc example.lot example.lof example.bib fithesis.aux fithesis.log fithesis.toc fithesis.ind fithesis.idx fithesis.out fithesis.ilg fithesis.gls fithesis.glo fithesis.hd
@@ -37,7 +37,7 @@ fithesis.pdf: $(DTXFILES)
 	pdflatex $<
 
 # This target typesets the example.
-example.pdf: example.tex fithesis3.cls
+example.pdf: example.tex fithesis3.cls $(RESOURCES)
 	pdflatex $<
 	pdflatex $<
 
diff --git a/fithesis.dtx b/fithesis.dtx
index 893cc1d..05638d0 100644
--- a/fithesis.dtx
+++ b/fithesis.dtx
@@ -300,18 +300,21 @@
   \fi}
 %    \end{macrocode}
 % \end{macro}
-% \begin{macro}{\thesis@author}
+% \begin{macro}{\thesis@author}\begin{macro}{\thesis@authorEn}
 % \subsubsection{The \texttt{author} key}
 % The \marg{\texttt{author}=name} pair sets the author's full
 % name to \textit{name}. The \textit{name} is stored within the
-% private |\thesis@author|
-% macro, whose implicit value is |\thesis@placeholders@author|.
+% private |\thesis@author| and |\thesis@authorEn| macros, whose
+% implicit value is |\thesis@placeholders@author| and
+% |\thesis@placeholders@authorEn|, respectively.
 %    \begin{macrocode}
 \def\thesis@author{\thesis@placeholders@author}
+\def\thesis@authorEn{\thesis@placeholders@authorEn}
 \define@key{thesis}{author}{%
-  \def\thesis@author{#1}}
+  \def\thesis@author{#1}%
+  \def\thesis@authorEn{#1}}
 %    \end{macrocode}
-% \end{macro}
+% \end{macro}\end{macro}
 % \begin{macro}{\thesis@type}
 % \subsubsection{The \texttt{type} key}
 % The \marg{\texttt{type}=type} pair sets the type of the thesis
@@ -398,6 +401,19 @@
   \def\thesis@department{#1}}
 %    \end{macrocode}
 % \end{macro}
+% \begin{macro}{\thesis@departmentEn}
+% \subsubsection{The \texttt{departmentEn} key}
+% The \marg{\texttt{departmentEn}=name} pair sets the English
+% name of the department, at which the thesis is being written, to
+% \textit{name}. The \textit{name} is stored within the private
+% |\thesis@departmentEn| macro, whose implicit value is
+% |\thesis@placeholders@departmentEn|.
+%    \begin{macrocode}
+\def\thesis@departmentEn{\thesis@placeholders@departmentEn}
+\define@key{thesis}{departmentEn}{%
+  \def\thesis@departmentEn{#1}}
+%    \end{macrocode}
+% \end{macro}
 % \begin{macro}{\thesis@programme}
 % \subsubsection{The \texttt{programme} key}
 % The \marg{\texttt{programme}=name} pair sets the name of the
@@ -410,6 +426,43 @@
   \def\thesis@programme{#1}}
 %    \end{macrocode}
 % \end{macro}
+% \begin{macro}{\thesis@programmeEn}
+% \subsubsection{The \texttt{programmeEn} key}
+% The \marg{\texttt{programmeEn}=name} pair sets the English name
+% of the author's study programme to \textit{name}. The
+% \textit{name} is stored within the private |\thesis@programmeEn|
+% macro, whose implicit value is
+% |\thesis@placeholders@programmeEn|.
+%    \begin{macrocode}
+\def\thesis@programmeEn{\thesis@placeholders@programmeEn}
+\define@key{thesis}{programmeEn}{%
+  \def\thesis@programmeEn{#1}}
+%    \end{macrocode}
+% \end{macro}
+% \begin{macro}{\thesis@field}
+% \subsubsection{The \texttt{field} key}
+% The \marg{\texttt{field}=name} pair sets the name of the
+% author's field of stufy to \textit{name}. The \textit{name}
+% is stored within the private |\thesis@field| macro, whose
+% implicit value is |\thesis@placeholders@field|.
+%    \begin{macrocode}
+\def\thesis@field{\thesis@placeholders@field}
+\define@key{thesis}{field}{%
+  \def\thesis@field{#1}}
+%    \end{macrocode}
+% \end{macro}
+% \begin{macro}{\thesis@fieldEn}
+% \subsubsection{The \texttt{fieldEn} key}
+% The \marg{\texttt{fieldEn}=name} pair sets the English name of
+% the author's field of stufy to \textit{name}. The \textit{name}
+% is stored within the private |\thesis@fieldEn| macro, whose
+% implicit value is |\thesis@placeholders@fieldEn|.
+%    \begin{macrocode}
+\def\thesis@fieldEn{\thesis@placeholders@fieldEn}
+\define@key{thesis}{fieldEn}{%
+  \def\thesis@fieldEn{#1}}
+%    \end{macrocode}
+% \end{macro}
 % \begin{macro}{\thesis@logo}
 % \subsubsection{The \texttt{logo} key}
 % The \marg{\texttt{logo}=filename} pair sets the filename of the
@@ -498,18 +551,67 @@
   \fi}
 %    \end{macrocode}
 % \end{macro}
-% \begin{macro}{\thesis@year}
-% \subsubsection{The \texttt{year} key}
-% The \marg{\texttt{year}=year} pair sets the year of the thesis
-% defence to \textit{year}. The \textit{year} is stored witin the
-% private |\thesis@year| macro, whose implicit value is
-% |\the\year|.
+% \subsubsection{The \texttt{date} key}
+% The \marg{\texttt{date}=date} pair sets the date of the thesis
+% defence to \textit{date}, where \textit{date} is a string
+% in the \texttt{YYYY/MM/DD} format, where \texttt{YYYY} stands
+% for full year, \texttt{MM} stands for month and \texttt{DD}
+% stands for day. The \textit{date} is parsed and stored using
+% the \DescribeMacro{\thesis@parseDate}|\thesis@parseDate| private
+% macro within the following private macros:
+% \begin{itemize}
+%   \item\DescribeMacro{\thesis@date}|\thesis@date| -- The whole
+%     date
+%   \item\DescribeMacro{\thesis@year}|\thesis@year| -- The year
+%   \item\DescribeMacro{\thesis@month}|\thesis@month| -- The month
+%   \item\DescribeMacro{\thesis@day}|\thesis@day| -- The day of
+%     month
+%   \item\DescribeMacro{\thesis@season}|\thesis@season| -- Expands
+%     to either:
+%     \begin{itemize}
+%       \item|\thesis@winter| if \texttt{MM} $<7$.
+%       \item|\thesis@summer| if \texttt{MM} $\geq7$.
+%     \end{itemize}
+%   \item\DescribeMacro{\thesis@academicYear}|\thesis@academicYear|
+%     -- The academic year of the given semester:
+%     \begin{itemize}
+%       \item\texttt{YYYY/YYYY}$+1$ in case of a summer semester
+%       \item\texttt{YYYY}$-1$\texttt{/YYYY} in case of a winter
+%            semester
+%     \end{itemize}
+% \end{itemize}
+% To set up the default values, the |\thesis@parseDate| macro is
+% called with the fully expanded |\the\year/\the\month/\the\day|
+% string.
 %    \begin{macrocode}
-\def\thesis@year{\the\year}
-\define@key{thesis}{year}{%
-  \def\thesis@year{#1}}
+\def\thesis@parseDate#1/#2/#3|{{
+  % Basic info
+  \gdef\thesis@date{#1/#2/#3}%
+  \gdef\thesis@year{#1}%
+  \gdef\thesis@month{#2}%
+  \gdef\thesis@day{#3}%
+  
+  % Season and academic year
+  \newcount\@year \expandafter\@year \thesis@year \relax%
+  \newcount\@month\expandafter\@month\thesis@month\relax%
+  \ifnum\@month<7%
+    \gdef\thesis@season{\thesis@winter}%
+    \advance\@year-1\edef\@yearA{\the\@year}%
+    \advance\@year 1\edef\@yearB{\the\@year}%
+  \else
+    \gdef\thesis@season{\thesis@summer}%
+                    \edef\@yearA{\the\@year}%
+    \advance\@year 1\edef\@yearB{\the\@year}%
+  \fi
+  \global\edef\thesis@academicYear{\@yearA/\@yearB}}}
+
+\edef\thesis@date{\the\year/\the\month/\the\day}
+\expandafter\thesis@parseDate\thesis@date|
+
+\define@key{thesis}{date}{{%
+  \edef\@date{#1}%
+  \expandafter\thesis@parseDate\@date|}}
 %    \end{macrocode}
-% \end{macro}
 % \begin{macro}{\thesis@place}
 % \subsubsection{The \texttt{place} key}
 % The \marg{\texttt{place}=place} pair sets the location of the
@@ -555,13 +657,27 @@
 % The \marg{\texttt{titleEn}=title} pair sets the English title of
 % the thesis to \textit{title}. The \textit{title} is stored within
 % the private |\thesis@titleEn| macro, whose implicit value is
-% |\undefined|.
+% |\thesis@placeholders@|\discretionary{}{}{}|titleEn|.
 %    \begin{macrocode}
-\let\thesis@titleEn\undefined
-\define@key{thesis}{titleen}{%
+\def\thesis@titleEn{\thesis@placeholders@titleEn}
+\define@key{thesis}{titleEn}{%
   \def\thesis@titleEn{#1}}
 %    \end{macrocode}
 % \end{macro}
+% \begin{macro}{\thesis@TeXtitleEn}
+% \subsubsection{The \texttt{TeXtitleEn} key}
+% The \marg{\texttt{TeXtitleEn}=title} pair sets the English \TeX\ 
+% title of the thesis to \textit{title}. The \textit{title} is
+% used, when typesetting the title, whereas |\thesis@titleEn| is a
+% plain textA. The \textit{title} is stored within the private
+% |\thesis@TeXtitleEn| macro, whose implicit value is
+% |\thesis@titleEn|.
+%    \begin{macrocode}
+\def\thesis@TeXtitleEn{\thesis@titleEn}
+\define@key{thesis}{TeXtitleEn}{%
+  \def\thesis@TeXtitleEn{#1}}
+%    \end{macrocode}
+% \end{macro}
 % \begin{macro}{\thesis@keywords}
 % \subsubsection{The \texttt{keywords} key}
 % The \marg{\texttt{keywords}=list} pair sets the keywords of the
@@ -579,9 +695,9 @@
 % The \marg{\texttt{keywordsEn}=list} pair sets the English
 % keywords of the thesis to the comma-delimited \textit{list}. The
 % \textit{list} is stored within the private |\thesis@keywordsEn|
-% macro, whose implicit value is |\undefined|.
+% macro, whose implicit value is |\thesis@placeholders@keywordsEn|.
 %    \begin{macrocode}
-\let\thesis@keywordsEn\undefined
+\def\thesis@keywordsEn{\thesis@placeholders@keywordsEn}
 \define@key{thesis}{keywordsEn}{%
   \def\thesis@keywordsEn{#1}}
 %    \end{macrocode}
@@ -603,25 +719,28 @@
 % The \marg{\texttt{abstractEn}=text} pair sets the English
 % abstract of the thesis to \textit{text}. The \textit{text}
 % is stored within the private |\thesis@abstractEn| macro,
-% whose implicit value is |\undefined|.
+% whose implicit value is |\thesis@placeholders@abstractEn|.
 %    \begin{macrocode}
-\let\thesis@abstractEn\undefined
+\def\thesis@abstractEn{\thesis@placeholders@abstractEn}
 \define@key{thesis}{abstractEn}{%
   \def\thesis@abstractEn{#1}}
 %    \end{macrocode}
 % \end{macro}
-% \begin{macro}{\thesis@advisor}
+% \begin{macro}{\thesis@advisor}\begin{macro}{\thesis@advisorEn}
 % \subsubsection{The \texttt{advisor} key}
 % The \marg{\texttt{advisor}=name} pair sets the thesis advisor's
 % full name to \textit{name}. The \textit{name} is stored within
-% the private |\thesis@advisor| macro, whose implicit value is
-% |\thesis@placeholders@advisor|.
+% the private |\thesis@advisor| and |\thesis@advisorEn| macro,
+% whose implicit values are |\thesis@placeholders@advisor| and
+% |\thesis@placeholders@advisorEn|, respectively.
 %    \begin{macrocode}
 \def\thesis@advisor{\thesis@placeholders@advisor}
+\def\thesis@advisorEn{\thesis@placeholders@advisorEn}
 \define@key{thesis}{advisor}{%
-  \def\thesis@advisor{#1}}
+  \def\thesis@advisor{#1}%
+  \def\thesis@advisorEn{#1}}
 %    \end{macrocode}
-% \end{macro}
+% \end{macro}\end{macro}
 % \begin{macro}{\thesis@thanks}
 % \subsubsection{The \texttt{thanks} key}
 % The \marg{\texttt{thanks}=text} pair sets the acknowledgement
@@ -634,6 +753,20 @@
   \long\def\thesis@thanks{#1}}
 %    \end{macrocode}
 % \end{macro}
+% \begin{macro}{\thesis@assignmentPDF}
+% \subsubsection{The \texttt{assignment} key}
+% The \marg{\texttt{assignment}=path} pair sets the path to the pdf
+% file containing the thesis assignment to \textit{path}. If the
+% \textit{path} points to an existing file, it is stored within the
+% private |\thesis@assignmentPDF| macro, whose implicit value is
+% |\undefined|. When defined, the PDF file is injected into the
+% resulting document instead of the placeholder
+% |\thesis@assignment| string.
+%    \begin{macrocode}
+\define@key{thesis}{assignment}{%
+  \thesis@exists{#1}{\def\thesis@assignmentPDF{#1}}}
+%    \end{macrocode}
+% \end{macro}
 % \begin{macro}{\ifthesis@auto}
 % \subsubsection{The \texttt{autoLayout} key}
 % The \marg{\texttt{autoLayout}=bool} pair either enables,
@@ -687,8 +820,11 @@
 % input in sequence, provided they exist:\begin{enumerate}
 %   \item|\thesis@localepath base.def|
 %   \item|\thesis@localepath\thesis@locale.def|
+%   \item|\thesis@localepath\thesis@university/base.def|
 %   \item|\thesis@localepath\thesis@university/\thesis@locale.def|
 %   \item|\thesis@localepath\thesis@university/\thesis@faculty/|^^A
+%     |base.def|
+%   \item|\thesis@localepath\thesis@university/\thesis@faculty/|^^A
 %     |\thesis@locale.def|
 % \end{enumerate}If inheritance is disabled for locale files,
 % then only the |\thesis@localepath|\discretionary{}{}{}^^A
@@ -699,8 +835,12 @@
       \fi
       \thesis@input{\thesis@localepath\thesis@locale.def}%
       \ifthesis@locale@inheritance
+        \thesis@input{\thesis@localepath\thesis@university/%
+          base.def}% 
         \thesis@input{\thesis@localepath\thesis@university/%
           \thesis@locale.def}% 
+        \thesis@input{\thesis@localepath\thesis@university/%
+          \thesis@faculty/base.def}%
         \thesis@input{\thesis@localepath\thesis@university/%
           \thesis@faculty/\thesis@locale.def}%
       \fi
@@ -772,11 +912,15 @@
 % Lastly, a \BibTeX\ file named |\jobname.bib| containing the
 % bibliographical entry for the thesis is scheduled to be
 % generated at the end of the document in the working directory
-% using the |\thesis@bibgen| macro. The document needs to be
-% typeset at least twice for the style files to be able to use the
-% file.
+% using the |\thesis@bibgen| macro and the
+% \DescribeMacro{\thesis@pages}|\thesis@pages| private macro
+% definition containing the length of the document is scheduled to
+% be included in the auxiliary file.
 %    \begin{macrocode}
       \AtEndDocument{%
+        % Define \thesis@pages for the next run
+        \write\@auxout{\noexpand\gdef\noexpand%
+          \thesis@pages{\thepage}}
         % Generate the BibTeX file
         \newoutputstream{bib}%
         \openoutputfile{\jobname.bib}{bib}%
@@ -868,6 +1012,13 @@
   \edef\thesis@expanded{\csname thesis@#1\endcsname}%
   \expandafter\uppercase\expandafter{\thesis@expanded}}
 %    \end{macrocode}
+% The \DescribeMacro{\thesis@pages}|\thesis@pages| macro is defined
+% at the beginning of the second \LaTeX\ run as a part of the main
+% routine (see section \ref{sec:thesis@load}). During the first
+% run, the macro expands to \texttt{??}.
+%    \begin{macrocode}
+\ifx\thesis@pages\undefined\def\thesis@pages{??}\fi
+%    \end{macrocode}
 % \iffalse
 %</class>
 % ^^A Old fithesis classes
@@ -968,11 +1119,26 @@
 %   \item\DescribeMacro{\thesis@typeName}
 %                      |\thesis@typeName| -- The name of the
 %                      thesis type
+%   \item\DescribeMacro{\thesis@assignment}
+%                      |\thesis@assignment| -- Instructions to
+%                      replace the current page with the official
+%                      thesis assignment
+%   \item\DescribeMacro{\thesis@winter}
+%                      |\thesis@winter| -- The name of the winter
+%                      semester
+%   \item\DescribeMacro{\thesis@summer}
+%                      |\thesis@summer| -- The name of the summer
+%                      semester
+%   \item\DescribeMacro{\thesis@semester}
+%                      |\thesis@semester| -- The full name of the
+%                      current semester
 % \end{itemize}
+% English versions of these macros must also be defined with the
+% \texttt{En} suffix. It's preferrable for these to be defined in
+% \texttt{base.def} files, which are automatically loaded, if
+% inheritance is enabled for locale files.
 %
 % \def\file#1{\paragraph{The \texttt{#1} file}}
-% \subsubsection{The base locale file}
-% \input{locale/base.dtx}
 % \subsubsection{English locale files}
 % \input{locale/english.dtx}
 % \subsubsection{Czech locale files}
diff --git a/locale/Makefile b/locale/Makefile
index 8b4d0db..e07bc73 100644
--- a/locale/Makefile
+++ b/locale/Makefile
@@ -1,6 +1,6 @@
-LOGS=czech.log slovak.log english.log base.log
+LOGS=czech.log slovak.log english.log
 DIRECTORIES=mu/law mu/fsps mu/fss mu/econ mu/med mu/fi mu/phil mu/ped mu/sci mu
-OUTPUT=base.def czech.def slovak.def english.def mu/czech.def mu/law/czech.def mu/law/slovak.def mu/law/english.def mu/fsps/czech.def mu/fsps/slovak.def mu/fsps/english.def mu/slovak.def mu/english.def mu/fss/czech.def mu/fss/slovak.def mu/fss/english.def mu/econ/czech.def mu/econ/slovak.def mu/econ/english.def mu/med/czech.def mu/med/slovak.def mu/med/english.def mu/fi/czech.def mu/fi/slovak.def mu/fi/english.def mu/phil/czech.def mu/phil/slovak.def mu/phil/english.def mu/ped/czech.def mu/ped/slovak.def mu/ped/english.def mu/sci/czech.def mu/sci/slovak.def mu/sci/english.def
+OUTPUT=base.def czech.def mu/base.def mu/law/base.def mu/law/czech.def mu/law/slovak.def mu/law/english.def mu/czech.def mu/fsps/base.def mu/fsps/czech.def mu/fsps/slovak.def mu/fsps/english.def mu/fss/base.def mu/fss/czech.def mu/fss/slovak.def mu/fss/english.def mu/econ/base.def mu/econ/czech.def mu/econ/slovak.def mu/econ/english.def mu/med/base.def mu/med/czech.def mu/med/slovak.def mu/med/english.def mu/fi/base.def mu/fi/czech.def mu/fi/slovak.def mu/fi/english.def mu/phil/base.def mu/phil/czech.def mu/phil/slovak.def mu/phil/english.def mu/slovak.def mu/ped/base.def mu/ped/czech.def mu/ped/slovak.def mu/ped/english.def mu/english.def mu/sci/base.def mu/sci/czech.def mu/sci/slovak.def mu/sci/english.def slovak.def english.def
 
 .PHONY: explode implode all
 all:
diff --git a/locale/base.dtx b/locale/base.dtx
deleted file mode 100644
index c47e67f..0000000
--- a/locale/base.dtx
+++ /dev/null
@@ -1,22 +0,0 @@
-% \file{locale/base.def}
-% If inheritance is enabled for locale files, then this file is
-% always the first locale file to be loaded, regardless of the
-% value of the |\thesis@locale| macro. The file loads the English
-% locale strings as a fallback for any potentially missing strings
-% in the subsequently loaded locale files and defines the following
-% two additional private macros to be used in the style files:
-% \begin{itemize}
-%   \item\DescribeMacro{\thesis@abstractEnTitle}
-%                      |\thesis@abstractEnTitle| -- The title of the
-%                      abstract section in English
-%   \item\DescribeMacro{\thesis@keywordsEnTitle}
-%                      |\thesis@keywordsEnTitle| -- The title of the
-%                      keywords section in English
-% \end{itemize}
-%    \begin{macrocode}
-\ProvidesFile{base.def}[2015/04/08]
-% A symbolic link to the English locale
-\input{\thesis@localepath english.def}
-\let\thesis@abstractEnTitle=\thesis@abstractTitle
-\let\thesis@keywordsEnTitle=\thesis@keywordsTitle
-%    \end{macrocode}
diff --git a/locale/base.ins b/locale/base.ins
deleted file mode 100644
index 5b512ab..0000000
--- a/locale/base.ins
+++ /dev/null
@@ -1,3 +0,0 @@
-\input ../docstrip.cfg
-\generate{\file{base.def}{\from{base.dtx}{}}}
-\endbatchfile
diff --git a/locale/czech.dtx b/locale/czech.dtx
index f265733..b0c928a 100644
--- a/locale/czech.dtx
+++ b/locale/czech.dtx
@@ -8,7 +8,10 @@
 % \end{macro}\iffalse
 %<*base>
 % \fi\begin{macrocode}
-\ProvidesFile{czech.def}[2015/04/08]
+\ProvidesFile{fithesis3/locale/czech.def}[2015/04/08]
+
+% Symbolický odkaz na anglický překlad
+\input{\thesis@localepath english.def}
 
 % Pomocná makra
 \def\thesis@gender@koncovka{%
@@ -24,8 +27,9 @@
 \def\thesis@placeholders@advisor{Jméno vedoucího}
 \def\thesis@placeholders@department{Název katedry}
 \def\thesis@placeholders@programme{Název studijního programu}
+\def\thesis@placeholders@field{Název studijního oboru}
 \def\thesis@placeholders@thanks{Text poděkování ...}
-\def\thesis@placeholders@assignment{MĂ­sto tohoto listu vloĹľte kopii
+\def\thesis@assignment{MĂ­sto tohoto listu vloĹľte kopii
   oficiálního podepsaného zadání práce.}
 \def\thesis@declaration{Text prohlášení ...}
 
@@ -35,6 +39,8 @@
 \def\thesis@keywordsTitle{Klíčová slova}
 \def\thesis@thanksTitle{Poděkování}
 \def\thesis@declarationTitle{Prohlášení}
+\def\thesis@winter{Jaro}
+\def\thesis@summer{Podzim}
 \def\thesis@typeName{%
   \ifx\thesis@type\thesis@bachelors%
     Bakalářská práce%
@@ -57,7 +63,7 @@
 % \iffalse
 %<*mu>
 % \fi\begin{macrocode}
-\ProvidesFile{czech.def}[2015/04/08]
+\ProvidesFile{fithesis3/locale/mu/czech.def}[2015/04/08]
 \def\thesis@universityName{Masarykova Univerzita}
 \def\thesis@declaration{%
   Prohlašuji, že tato \thesis@lower{typeName} je mým původním
@@ -75,7 +81,7 @@
 % \iffalse
 %<*mu/law>
 % \fi\begin{macrocode}
-\ProvidesFile{czech.def}[2015/04/08]
+\ProvidesFile{fithesis3/locale/mu/law/czech.def}[2015/04/08]
 \def\thesis@facultyName{Právnická fakulta}
 %    \end{macrocode}\iffalse
 %</mu/law>
@@ -86,7 +92,7 @@
 % \iffalse
 %<*mu/fsps>
 % \fi\begin{macrocode}
-\ProvidesFile{czech.def}[2015/04/08]
+\ProvidesFile{fithesis3/locale/mu/fsps/czech.def}[2015/04/08]
 \def\thesis@facultyName{Fakulta sportovnĂ­ch studiĂ­}
 %    \end{macrocode}\iffalse
 %</mu/fsps>
@@ -97,7 +103,7 @@
 % \iffalse
 %<*mu/fss>
 % \fi\begin{macrocode}
-\ProvidesFile{czech.def}[2015/04/08]
+\ProvidesFile{fithesis3/locale/mu/fss/czech.def}[2015/04/08]
 \def\thesis@facultyName{Fakulta sociálních studií}
 %    \end{macrocode}\iffalse
 %</mu/fss>
@@ -109,7 +115,7 @@
 % \iffalse
 %<*mu/econ>
 % \fi\begin{macrocode}
-\ProvidesFile{czech.def}[2015/04/08]
+\ProvidesFile{fithesis3/locale/mu/econ/czech.def}[2015/04/08]
 \def\thesis@facultyName{Ekonomicko-správní fakulta}
 %    \end{macrocode}\iffalse
 %</mu/econ>
@@ -121,7 +127,7 @@
 % \iffalse
 %<*mu/med>
 % \fi\begin{macrocode}
-\ProvidesFile{czech.def}[2015/04/08]
+\ProvidesFile{fithesis3/locale/mu/med/czech.def}[2015/04/08]
 \def\thesis@facultyName{Lékařská fakulta}
 %    \end{macrocode}\iffalse
 %</mu/med>
@@ -130,15 +136,15 @@
 % Informatics at the Masaryk University in Brno.
 % It replaces the |\thesis@facultyName| placeholder with the
 % correct value and updates the |\thesis@placeholders@assignment|
-% to reflect the requirements specific to the faculty.
+% in accordance with the requirements of the faculty.
 % \iffalse
 %<*mu/fi>
 % \fi\begin{macrocode}
-\ProvidesFile{czech.def}[2015/04/08]
+\ProvidesFile{fithesis3/locale/mu/fi/czech.def}[2015/04/08]
 \def\thesis@facultyName{Fakulta informatiky}
-\def\thesis@placeholders@assignment{MĂ­sto tohoto listu vloĹľte kopie
-  oficiálního podepsaného zadání práce a prohlášení autora školního
-  dĂ­la.}
+\def\thesis@placeholders@assignment{MĂ­sto tohoto listu vloĹľte
+  kopie oficiálního podepsaného zadání práce a prohlášení
+  autora školního díla.}
 %    \end{macrocode}\iffalse
 %</mu/fi>
 % \fi\file{locale/mu/phil/czech.def}
@@ -149,7 +155,7 @@
 % \iffalse
 %<*mu/phil>
 % \fi\begin{macrocode}
-\ProvidesFile{czech.def}[2015/04/08]
+\ProvidesFile{fithesis3/locale/mu/phil/czech.def}[2015/04/08]
 \def\thesis@facultyName{Filozofická fakulta}
 %    \end{macrocode}\iffalse
 %</mu/phil>
@@ -161,20 +167,40 @@
 % \iffalse
 %<*mu/ped>
 % \fi\begin{macrocode}
-\ProvidesFile{czech.def}[2015/04/08]
+\ProvidesFile{fithesis3/locale/mu/ped/czech.def}[2015/04/08]
 \def\thesis@facultyName{Pedagogická fakulta}
 %    \end{macrocode}\iffalse
 %</mu/ped>
 % \fi\file{locale/mu/sci/czech.def}
 % This is the Czech locale file specific to the Faculty of
 % Science at the Masaryk University in Brno.
-% It replaces the |\thesis@facultyName| placeholder with the
-% correct value.
+% It defines the private macros required by the
+% |\thesis@blocks@bibEntry| block defined within the
+% \texttt{style/mu/sci.sty} style file.
+% It also replaces the |\thesis@facultyName| placeholder with the
+% correct value and redefines the |\thesis@abstractTitle| macro in
+% accordance with the formal requirements of the faculty.
 % \iffalse
 %<*mu/sci>
 % \fi\begin{macrocode}
-\ProvidesFile{czech.def}[2015/04/08]
+\ProvidesFile{fithesis3/locale/mu/sci/czech.def}[2015/04/10]
+
+% Zástupné texty
 \def\thesis@facultyName{Přírodovědecká fakulta}
+
+% OstatnĂ­
+\def\thesis@abstractTitle{Abstrakt}
+
+% Bibliografický záznam
+\def\thesis@bibTitle{Bibliografický záznam}
+\def\thesis@bib@author{Autor}
+\def\thesis@bib@title{Název práce}
+\def\thesis@bib@programme{StudijnĂ­ program}
+\def\thesis@bib@field{StudijnĂ­ obor}
+\def\thesis@bib@advisor{\thesis@advisorTitle}
+\def\thesis@bib@academicYear{AkademickĂ˝ rok}
+\def\thesis@bib@pages{PoÄŤet stran}
+\def\thesis@bib@keywords{\thesis@keywordsTitle}
 %    \end{macrocode}\iffalse
 %</mu/sci>
 % \fi
diff --git a/locale/english.dtx b/locale/english.dtx
index 3fe2899..77f503d 100644
--- a/locale/english.dtx
+++ b/locale/english.dtx
@@ -1,33 +1,39 @@
-% \file{locale/english.def}
-% This is the base file of the English locale. It defines all the
-% private macros mandated by the locale file interface.
+% \file{locale/base.def}
+% This is the base file of the English locale to be shared with
+% non-English locale files. It contains definitions of English
+% versions of all strings as mandated by the locale file interface.
+%
 % \iffalse
-%<*base>
+%<*base-shared>
 % \fi\begin{macrocode}
-\ProvidesFile{english.def}[2015/04/08]
+\ProvidesFile{fithesis3/locale/base.def}[2015/04/10]
 
 % Placeholders
-\def\thesis@placeholders@title{Thesis Title}
-\def\thesis@placeholders@keywords{keyword1, keyword2, ...}
-\def\thesis@placeholders@abstract{Abstract text}
-\def\thesis@placeholders@author{Author's name}
-\def\thesis@universityName{University name}
-\def\thesis@facultyName{Faculty name}
-\def\thesis@placeholders@advisor{Advisor's name}
-\def\thesis@placeholders@department{Department name}
-\def\thesis@placeholders@programme{Study programme name}
-\def\thesis@placeholders@thanks{Acknowledgement text ...}
-\def\thesis@placeholders@assignment{Replace this page with a copy
+\def\thesis@placeholders@titleEn{Thesis Title}
+\def\thesis@placeholders@keywordsEn{keyword1, keyword2, ...}
+\def\thesis@placeholders@abstractEn{Abstract text}
+\def\thesis@placeholders@authorEn{Author's name}
+\def\thesis@placeholders@universityNameEn{University name}
+\def\thesis@facultyNameEn{Faculty name}
+\def\thesis@placeholders@advisorEn{Advisor's name}
+\def\thesis@placeholders@departmentEn{Department name}
+\def\thesis@placeholders@programmeEn{Study programme name}
+\def\thesis@placeholders@fieldEn{The field of study}
+\def\thesis@placeholders@thanksEn{Acknowledgement text ...}
+\def\thesis@assignmentEn{Replace this page with a copy
   of the official signed thesis assignment.}
-\def\thesis@declaration{Declaration text ...}
+\def\thesis@declarationEn{Declaration text ...}
 
 % Miscellaneous
-\def\thesis@advisorTitle{Advisor}
-\def\thesis@abstractTitle{Abstract}
-\def\thesis@keywordsTitle{Keywords}
-\def\thesis@thanksTitle{Acknowledgement}
-\def\thesis@declarationTitle{Declaration}
-\def\thesis@typeName{%
+\def\thesis@advisorTitleEn{Advisor}
+\def\thesis@abstractTitleEn{Abstract}
+\def\thesis@keywordsTitleEn{Keywords}
+\def\thesis@thanksTitleEn{Acknowledgement}
+\def\thesis@declarationTitleEn{Declaration}
+\def\thesis@winterEn{Winter}
+\def\thesis@summerEn{Summer}
+\def\thesis@semesterEn{\thesis@season\ \thesis@year}
+\def\thesis@typeNameEn{%
   \ifx\thesis@type\thesis@bachelors%
     Bachelor's Thesis%
   \else\ifx\thesis@type\thesis@masters%
@@ -40,24 +46,85 @@
     Unknown thesis type%
   \fi\fi\fi\fi}
 %    \end{macrocode}\iffalse
+%</base-shared>
+% \fi\file{locale/english.def}
+% This is the base file of the English locale. It defines thr rest
+% of the private macros mandated by the locale file interface. 
+% \iffalse
+%<*base>
+% \fi\begin{macrocode}
+\ProvidesFile{fithesis3/locale/english.def}[2015/04/10]
+
+% Placeholders
+\let\thesis@placeholders@title=\thesis@placeholders@titleEn
+\let\thesis@placeholders@keywords=\thesis@placeholders@keywordsEn
+\let\thesis@placeholders@abstract=\thesis@placeholders@abstractEn
+\let\thesis@placeholders@author=\thesis@placeholders@authorEn
+\let\thesis@universityName=\thesis@placeholders@universityNameEn
+\let\thesis@facultyName=\thesis@facultyNameEn
+\let\thesis@placeholders@advisor=\thesis@placeholders@advisorEn
+\let\thesis@placeholders@department=\thesis@placeholders@departmentEn
+\let\thesis@placeholders@programme=\thesis@placeholders@programmeEn
+\let\thesis@placeholders@field=\thesis@placeholders@fieldEn
+\let\thesis@placeholders@thanks=\thesis@placeholders@thanksEn
+\let\thesis@assignment=\thesis@assignmentEn
+\let\thesis@declaration=\thesis@declarationEn
+
+% Miscellaneous
+\let\thesis@advisorTitle=\thesis@advisorTitleEn
+\let\thesis@abstractTitle=\thesis@abstractEnTitle
+\let\thesis@keywordsTitle=\thesis@keywordsEnTitle
+\let\thesis@thanksTitle=\thesis@thanksTitleEn
+\let\thesis@declarationTitle=\thesis@declarationTitleEn
+\let\thesis@winter=\thesis@winterEn
+\let\thesis@summer=\thesis@summerEn
+\let\thesis@semester=\thesis@semesterEn
+\let\thesis@typeName=\thesis@typeNameEn
+%    \end{macrocode}\iffalse
 %</base>
-% \fi\file{locale/mu/english.def}
+% \fi\file{locale/mu/base.def}
 % This is the English locale file specific to the Masaryk
-% University in Brno. It replaces the |\thesis@universityName|
-% placeholder with the correct value and defines the declaration
-% text.
+% University in Brno containing strings to be shared with
+% non-English locale files. It replaces the
+% |\thesis@universityNameEn| placeholder with the correct
+% value and defines the |\thesis@declarationEn| macro.
 % \iffalse
-%<*mu>
+%<*mu-shared>
 % \fi\begin{macrocode}
-\ProvidesFile{english.def}[2015/04/08]
-\def\thesis@universityName{Masaryk University}
-\def\thesis@declaration{%
+\ProvidesFile{fithesis3/locale/mu/base.def}[2015/04/08]
+\def\thesis@universityNameEn{Masaryk University}
+\def\thesis@declarationEn{%
   Hereby I declare that this paper is my original authorial work, 
   which I have worked out by my own. All sources, references and
   literature used or excerpted during elaboration of this work are
   properly cited and listed in complete reference to the due source.}
 %    \end{macrocode}\iffalse
+%</mu-shared>
+% \fi\file{locale/mu/english.def}
+% This is the English locale file specific to the Masaryk
+% University in Brno. It replaces the
+% |\thesis@universityName| placeholder with the correct
+% value and defines the |\thesis@declaration| macro.
+% \iffalse
+%<*mu>
+% \fi\begin{macrocode}
+\ProvidesFile{fithesis3/locale/mu/english.def}[2015/04/10]
+\let\thesis@universityName=\thesis@universityNameEn
+\let\thesis@declaration=\thesis@declarationEn
+%    \end{macrocode}\iffalse
 %</mu>
+% \fi\file{locale/mu/law/base.def}
+% This is the English locale file specific to the Faculty of Law at
+% the Masaryk University in Brno containing strings to be shared
+% with non-English locale files. It replaces the
+% |\thesis@facultyNameEn| placeholder with the correct value.
+% \iffalse
+%<*mu/law-shared>
+% \fi\begin{macrocode}
+\ProvidesFile{fithesis3/locale/mu/law/base.def}[2015/04/10]
+\def\thesis@facultyNameEn{Faculty of Law}
+%    \end{macrocode}\iffalse
+%</mu/law-shared>
 % \fi\file{locale/mu/law/english.def}
 % This is the English locale file specific to the Faculty of Law at
 % the Masaryk University in Brno. It replaces the
@@ -65,10 +132,22 @@
 % \iffalse
 %<*mu/law>
 % \fi\begin{macrocode}
-\ProvidesFile{english.def}[2015/04/08]
-\def\thesis@facultyName{Faculty of Law}
+\ProvidesFile{fithesis3/locale/mu/law/english.def}[2015/04/10]
+\let\thesis@facultyName=\thesis@facultyNameEn
 %    \end{macrocode}\iffalse
 %</mu/law>
+% \fi\file{locale/mu/fsps/base.def}
+% This is the English locale file specific to the Faculty of Sports
+% at the Masaryk University in Brno containing strings to be shared
+% with non-English locale files. It replaces the
+% |\thesis@facultyNameEn| placeholder with the correct value.
+% \iffalse
+%<*mu/fsps-shared>
+% \fi\begin{macrocode}
+\ProvidesFile{fithesis3/locale/mu/fsps/base.def}[2015/04/10]
+\def\thesis@facultyNameEn{Faculty of Sports Studies}
+%    \end{macrocode}\iffalse
+%</mu/fsps-shared>
 % \fi\file{locale/mu/fsps/english.def}
 % This is the English locale file specific to the Faculty of Sports
 % Studies at the Masaryk University in Brno. It replaces the
@@ -76,10 +155,22 @@
 % \iffalse
 %<*mu/fsps>
 % \fi\begin{macrocode}
-\ProvidesFile{english.def}[2015/04/08]
-\def\thesis@facultyName{Faculty of Sports Studies}
+\ProvidesFile{fithesis3/locale/mu/fsps/english.def}[2015/04/10]
+\let\thesis@facultyName=\thesis@facultyNameEn
 %    \end{macrocode}\iffalse
 %</mu/fsps>
+% \fi\file{locale/mu/fss/base.def}
+% This is the English locale file specific to the Faculty of Social
+% Studies at the Masaryk University in Brno containing strings to
+% be shared with non-English locale files. It replaces the
+% |\thesis@facultyNameEn| placeholder with the correct value.
+% \iffalse
+%<*mu/fss-shared>
+% \fi\begin{macrocode}
+\ProvidesFile{fithesis3/locale/mu/fss/base.def}[2015/04/10]
+\def\thesis@facultyNameEn{Faculty of Social Studies}
+%    \end{macrocode}\iffalse
+%</mu/fss-shared>
 % \fi\file{locale/mu/fss/english.def}
 % This is the English locale file specific to the Faculty of Social
 % Studies at the Masaryk University in Brno. It replaces the
@@ -87,10 +178,23 @@
 % \iffalse
 %<*mu/fss>
 % \fi\begin{macrocode}
-\ProvidesFile{english.def}[2015/04/08]
-\def\thesis@facultyName{Faculty of Social Studies}
+\ProvidesFile{fithesis3/locale/mu/fss/english.def}[2015/04/08]
+\let\thesis@facultyName=\thesis@facultyNameEn
 %    \end{macrocode}\iffalse
 %</mu/fss>
+% \fi\file{locale/mu/econ/base.def}
+% This is the English locale file specific to the Faculty of
+% Economics and Administration at the Masaryk University in Brno
+% containing strings to be shared with non-English locale files.
+% It replaces the |\thesis@facultyNameEn| placeholder with the
+% correct value.
+% \iffalse
+%<*mu/econ-shared>
+% \fi\begin{macrocode}
+\ProvidesFile{fithesis3/locale/mu/econ/base.def}[2015/04/10]
+\def\thesis@facultyNameEn{Faculty of Economics and Administration}
+%    \end{macrocode}\iffalse
+%</mu/econ-shared>
 % \fi\file{locale/mu/econ/english.def}
 % This is the English locale file specific to the Faculty of
 % Economics and Administration at the Masaryk University in Brno.
@@ -99,10 +203,23 @@
 % \iffalse
 %<*mu/econ>
 % \fi\begin{macrocode}
-\ProvidesFile{english.def}[2015/04/08]
-\def\thesis@facultyName{Faculty of Economics and Administration}
+\ProvidesFile{fithesis3/locale/mu/econ/english.def}[2015/04/10]
+\let\thesis@facultyName=\thesis@facultyNameEn
 %    \end{macrocode}\iffalse
 %</mu/econ>
+% \fi\file{locale/mu/med/base.def}
+% This is the English locale file specific to the Faculty of
+% Medicine at the Masaryk University in Brno containing strings
+% to be shared with non-English locale files.
+% It replaces the |\thesis@facultyNameEn| placeholder with the
+% correct value.
+% \iffalse
+%<*mu/med-shared>
+% \fi\begin{macrocode}
+\ProvidesFile{fithesis3/locale/mu/med/base.def}[2015/04/10]
+\def\thesis@facultyNameEn{Faculty of Medicine}
+%    \end{macrocode}\iffalse
+%</mu/med-shared>
 % \fi\file{locale/mu/med/english.def}
 % This is the English locale file specific to the Faculty of
 % Medicine at the Masaryk University in Brno.
@@ -111,26 +228,54 @@
 % \iffalse
 %<*mu/med>
 % \fi\begin{macrocode}
-\ProvidesFile{english.def}[2015/04/08]
-\def\thesis@facultyName{Faculty of Medicine}
+\ProvidesFile{fithesis3/locale/mu/med/english.def}[2015/04/10]
+\let\thesis@facultyName=\thesis@facultyNameEn
 %    \end{macrocode}\iffalse
 %</mu/med>
+% \fi\file{locale/mu/fi/base.def}
+% This is the English locale file specific to the Faculty of
+% Informatics at the Masaryk University in Brno containing strings
+% to be shared with non-English locale files.
+% It replaces the |\thesis@facultyNameEn| placeholder with the
+% correct value and updates the |\thesis@placeholders@assignmentEn|
+% in accordance with the requirements of the faculty.
+% \iffalse
+%<*mu/fi-shared>
+% \fi\begin{macrocode}
+\ProvidesFile{fithesis3/locale/mu/fi/base.def}[2015/04/10]
+\def\thesis@facultyNameEn{Faculty of Informatics}
+\def\thesis@assignmentEn{Replace this page with a copy
+  of the official signed thesis assignment and the copy of the
+  Statement of an Author.}
+%    \end{macrocode}\iffalse
+%</mu/fi-shared>
 % \fi\file{locale/mu/fi/english.def}
 % This is the English locale file specific to the Faculty of
 % Informatics at the Masaryk University in Brno.
 % It replaces the |\thesis@facultyName| placeholder with the
 % correct value and updates the |\thesis@placeholders@assignment|
-% to reflect the requirements specific to the faculty.
+% in accordance with the requirements of the faculty.
 % \iffalse
 %<*mu/fi>
 % \fi\begin{macrocode}
-\ProvidesFile{english.def}[2015/04/08]
-\def\thesis@facultyName{Faculty of Informatics}
-\def\thesis@placeholders@assignment{Replace this page with a copy
-  of the official signed thesis assignment and the copy of the
-  Statement of an Author.}
+\ProvidesFile{fithesis3/locale/mu/fi/english.def}[2015/04/10]
+\let\thesis@facultyName=\thesis@facultyNameEn
+\let\thesis@assignment=\thesis@assignmentEn
 %    \end{macrocode}\iffalse
 %</mu/fi>
+% \fi\file{locale/mu/phil/base.def}
+% This is the English locale file specific to the Faculty of
+% Arts at the Masaryk University in Brno containing strings
+% to be shared with non-English locale files.
+% It replaces the |\thesis@facultyNameEn| placeholder with the
+% correct value.
+% \iffalse
+%<*mu/phil-shared>
+% \fi\begin{macrocode}
+\ProvidesFile{fithesis3/locale/mu/phil/base.def}[2015/04/10]
+\def\thesis@facultyNameEn{Faculty of Arts}
+%    \end{macrocode}\iffalse
+%</mu/phil-shared>
 % \fi\file{locale/mu/phil/english.def}
 % This is the English locale file specific to the Faculty of
 % Arts at the Masaryk University in Brno.
@@ -139,10 +284,23 @@
 % \iffalse
 %<*mu/phil>
 % \fi\begin{macrocode}
-\ProvidesFile{english.def}[2015/04/08]
-\def\thesis@facultyName{Faculty of Arts}
+\ProvidesFile{fithesis3/locale/mu/phil/english.def}[2015/04/10]
+\let\thesis@facultyName=\thesis@facultyNameEn
 %    \end{macrocode}\iffalse
 %</mu/phil>
+% \fi\file{locale/mu/ped/base.def}
+% This is the English locale file specific to the Faculty of
+% Education at the Masaryk University in Brno containing strings
+% to be shared with non-English locale files.
+% It replaces the |\thesis@facultyNameEn| placeholder with the
+% correct value.
+% \iffalse
+%<*mu/ped-shared>
+% \fi\begin{macrocode}
+\ProvidesFile{fithesis3/locale/mu/ped/english.def}[2015/04/10]
+\def\thesis@facultyNameEn{Faculty of Education}
+%    \end{macrocode}\iffalse
+%</mu/ped-shared>
 % \fi\file{locale/mu/ped/english.def}
 % This is the English locale file specific to the Faculty of
 % Education at the Masaryk University in Brno.
@@ -151,20 +309,72 @@
 % \iffalse
 %<*mu/ped>
 % \fi\begin{macrocode}
-\ProvidesFile{english.def}[2015/04/08]
-\def\thesis@facultyName{Faculty of Education}
+\ProvidesFile{fithesis3/locale/mu/ped/english.def}[2015/04/10]
+\let\thesis@facultyName=\thesis@facultyNameEn
 %    \end{macrocode}\iffalse
 %</mu/ped>
+% \fi\file{locale/mu/sci/base.def}
+% This is the English locale file specific to the Faculty of
+% Science at the Masaryk University in Brno containing strings to
+% be shared with non-English locale files.
+% It defines the private macros required by the
+% |\thesis@blocks@bibEntryEn| block defined within the
+% \texttt{style/mu/sci.sty} style file.
+% It also replaces the |\thesis@facultyNameEn| placeholder with the
+% correct value and redefines the |\thesis@advisorTitleEn| macro in
+% accordance with the formal requirements of the faculty.
+% \iffalse
+%<*mu/sci-shared>
+% \fi\begin{macrocode}
+\ProvidesFile{fithesis3/locale/mu/sci/base.def}[2015/04/10]
+
+% Bibliographic entry
+\def\thesis@bibTitleEn{Bibliographic entry}
+\def\thesis@bib@authorEn{Author}
+\def\thesis@bib@titleEn{Title of Thesis}
+\def\thesis@bib@programmeEn{Degree Programme}
+\def\thesis@bib@fieldEn{Field of Study}
+\def\thesis@bib@advisorEn{Supervisor}
+\def\thesis@bib@academicYearEn{Academic Year}
+\def\thesis@bib@pagesEn{Number of Pages}
+\let\thesis@bib@keywordsEn=\thesis@keywordsEnTitle
+
+% Placeholders
+\def\thesis@facultyNameEn{Faculty of Science}
+
+% Miscellaneous
+\let\thesis@advisorTitleEn=\thesis@bib@advisorEn
+%    \end{macrocode}\iffalse
+%</mu/sci-shared>
 % \fi\file{locale/mu/sci/english.def}
 % This is the English locale file specific to the Faculty of
 % Science at the Masaryk University in Brno.
-% It replaces the |\thesis@facultyName| placeholder with the
-% correct value.
+% It defines the private macros required by the
+% |\thesis@blocks@bibEntry| block defined within the
+% \texttt{style/mu/sci.sty} style file.
+% It also replaces the |\thesis@facultyName| placeholder with the
+% correct value and redefines the |\thesis@advisorTitle| macro in
+% accordance with the formal requirements of the faculty.
 % \iffalse
 %<*mu/sci>
 % \fi\begin{macrocode}
-\ProvidesFile{english.def}[2015/04/08]
-\def\thesis@facultyName{Faculty of Science}
+\ProvidesFile{fithesis3/locale/mu/sci/english.def}[2015/04/10]
+
+% Bibliographic entry
+\let\thesis@bib@author=\thesis@bib@authorEn
+\let\thesis@bib@title=\thesis@bib@titleEn
+\let\thesis@bib@programme=\thesis@bib@programmeEn
+\let\thesis@bib@field=\thesis@bib@fieldEn
+\let\thesis@bib@advisor=\thesis@bib@advisorEn
+\let\thesis@bib@academicYear=\thesis@bib@academicYearEn
+\let\thesis@bib@pages=\thesis@bib@pagesEn
+\let\thesis@bib@keywords=\thesis@bib@keywordsEn
+
+% Placeholders
+\let\thesis@facultyName=\thesis@facultyNameEn
+
+% Miscellaneous
+\let\thesis@advisorTitle=\thesis@advisorTitleEn
 %    \end{macrocode}\iffalse
 %</mu/sci>
 % \fi
diff --git a/locale/english.ins b/locale/english.ins
index 8066e9d..a1c2915 100644
--- a/locale/english.ins
+++ b/locale/english.ins
@@ -9,5 +9,17 @@
           \file{mu/fi/english.def}{\from{english.dtx}{mu/fi}}
           \file{mu/phil/english.def}{\from{english.dtx}{mu/phil}}
           \file{mu/ped/english.def}{\from{english.dtx}{mu/ped}}
-          \file{mu/sci/english.def}{\from{english.dtx}{mu/sci}}}
+          \file{mu/sci/english.def}{\from{english.dtx}{mu/sci}}
+          \file{base.def}{\from{english.dtx}{base-shared}}
+          \file{mu/base.def}{\from{english.dtx}{mu-shared}}
+          % Base files
+          \file{mu/law/base.def}{\from{english.dtx}{mu/law-shared}}
+          \file{mu/fsps/base.def}{\from{english.dtx}{mu/fsps-shared}}
+          \file{mu/fss/base.def}{\from{english.dtx}{mu/fss-shared}}
+          \file{mu/econ/base.def}{\from{english.dtx}{mu/econ-shared}}
+          \file{mu/med/base.def}{\from{english.dtx}{mu/med-shared}}
+          \file{mu/fi/base.def}{\from{english.dtx}{mu/fi-shared}}
+          \file{mu/phil/base.def}{\from{english.dtx}{mu/phil-shared}}
+          \file{mu/ped/base.def}{\from{english.dtx}{mu/ped-shared}}
+          \file{mu/sci/base.def}{\from{english.dtx}{mu/sci-shared}}}
 \endbatchfile
diff --git a/locale/slovak.dtx b/locale/slovak.dtx
index 263ee0b..7f8e2bc 100644
--- a/locale/slovak.dtx
+++ b/locale/slovak.dtx
@@ -10,7 +10,7 @@
 % \end{macro}\iffalse
 %<*base>
 % \fi\begin{macrocode}
-\ProvidesFile{slovak.def}[2015/04/08]
+\ProvidesFile{fithesis3/locale/slovak.def}[2015/04/08]
 
 % SymbolickĂ˝ odkaz na ÄŤeskĂ˝ preklad
 \input{\thesis@localepath czech.def}
@@ -26,12 +26,13 @@
 \def\thesis@placeholders@author{Meno autora}
 \def\thesis@universityName{Názov univerzity}
 \def\thesis@facultyName{Názov fakulty}
-\def\thesis@placeholders@advisor{Meno vedoucĂ­ho}
+\def\thesis@placeholders@advisor{Meno vedĂşceho}
 \def\thesis@placeholders@department{Názov katedry}
 \def\thesis@placeholders@programme{Názov študijného programu}
+\def\thesis@placeholders@field{Název študijného odboru}
 \def\thesis@placeholders@thanks{Text poÄŹakovanie ...}
-\def\thesis@placeholders@assignment{Namiesto tejto stránky vložte
-  kópiu oficiálneho podpísaného zadania práce.}
+\def\thesis@assignment{Namiesto tejto stránky vložte kópiu
+  oficiálneho podpísaného zadania práce.}
 \def\thesis@declaration{Text prehlásenie ...}
 
 % RĂ´zne
@@ -40,6 +41,8 @@
 \def\thesis@keywordsTitle{Kľúčové slová}
 \def\thesis@thanksTitle{PoÄŹakovanie}
 \def\thesis@declarationTitle{Prehlásenie}
+\def\thesis@winter{Jar}
+\def\thesis@summer{Jeseň}
 \def\thesis@typeName{%
   \ifx\thesis@type\thesis@bachelors%
     Bakalárska práca%
@@ -62,7 +65,7 @@
 % \iffalse
 %<*mu>
 % \fi\begin{macrocode}
-\ProvidesFile{slovak.def}[2015/04/08]
+\ProvidesFile{fithesis3/locale/mu/slovak.def}[2015/04/08]
 
 % SymbolickĂ˝ odkaz na ÄŤeskĂ˝ preklad
 \input{\thesis@localepath mu/czech.def}
@@ -84,7 +87,7 @@
 % \iffalse
 %<*mu/law>
 % \fi\begin{macrocode}
-\ProvidesFile{slovak.def}[2015/04/08]
+\ProvidesFile{fithesis3/locale/mu/law/slovak.def}[2015/04/08]
 
 % SymbolickĂ˝ odkaz na ÄŤeskĂ˝ preklad
 \input{\thesis@localepath mu/law/czech.def}
@@ -97,7 +100,7 @@
 % \iffalse
 %<*mu/fsps>
 % \fi\begin{macrocode}
-\ProvidesFile{slovak.def}[2015/04/08]
+\ProvidesFile{fithesis3/locale/mu/fsps/slovak.def}[2015/04/08]
 \def\thesis@facultyName{Fakulta športových štúdií}
 %    \end{macrocode}\iffalse
 %</mu/fsps>
@@ -108,7 +111,7 @@
 % \iffalse
 %<*mu/fss>
 % \fi\begin{macrocode}
-\ProvidesFile{slovak.def}[2015/04/08]
+\ProvidesFile{fithesis3/locale/mu/fss/slovak.def}[2015/04/08]
 \def\thesis@facultyName{Fakulta sociálnych štúdií}
 %    \end{macrocode}\iffalse
 %</mu/fss>
@@ -120,7 +123,7 @@
 % \iffalse
 %<*mu/econ>
 % \fi\begin{macrocode}
-\ProvidesFile{slovak.def}[2015/04/08]
+\ProvidesFile{fithesis3/locale/mu/econ/slovak.def}[2015/04/08]
 \def\thesis@facultyName{Ekonomicko-správna fakulta}
 %    \end{macrocode}\iffalse
 %</mu/econ>
@@ -132,7 +135,7 @@
 % \iffalse
 %<*mu/med>
 % \fi\begin{macrocode}
-\ProvidesFile{slovak.def}[2015/04/08]
+\ProvidesFile{fithesis3/locale/mu/med/slovak.def}[2015/04/08]
 \def\thesis@facultyName{Lekárska fakulta}
 %    \end{macrocode}\iffalse
 %</mu/med>
@@ -142,17 +145,17 @@
 % inherits the value of the |\thesis@facultyName| private macro
 % from the respective Czech locale file.
 % It also updates the |\thesis@placeholders@assignment|
-% to reflect the requirements specific to the faculty.
+% in accordance with the requirements of the faculty.
 % \iffalse
 %<*mu/fi>
 % \fi\begin{macrocode}
-\ProvidesFile{slovak.def}[2015/04/08]
+\ProvidesFile{fithesis3/locale/mu/fi/slovak.def}[2015/04/08]
 
 % SymbolickĂ˝ odkaz na ÄŤeskĂ˝ preklad
 \input{\thesis@localepath mu/fi/czech.def}
 
-\def\thesis@placeholders@assignment{Namiesto tejto stránky vložte
-  kópiu oficiálneho podpísaného zadania práce a prehlásenie autora
+\def\thesis@assignment{Namiesto tejto stránky vložte kópiu
+  oficiálneho podpísaného zadania práce a prehlásenie autora
   školského diela.}
 %    \end{macrocode}\iffalse
 %</mu/fi>
@@ -164,7 +167,7 @@
 % \iffalse
 %<*mu/phil>
 % \fi\begin{macrocode}
-\ProvidesFile{slovak.def}[2015/04/08]
+\ProvidesFile{fithesis3/locale/mu/phil/slovak.def}[2015/04/08]
 
 % SymbolickĂ˝ odkaz na ÄŤeskĂ˝ preklad
 \input{\thesis@localepath mu/phil/czech.def}
@@ -178,7 +181,7 @@
 % \iffalse
 %<*mu/ped>
 % \fi\begin{macrocode}
-\ProvidesFile{slovak.def}[2015/04/08]
+\ProvidesFile{fithesis3/locale/mu/ped/slovak.def}[2015/04/10]
 
 % SymbolickĂ˝ odkaz na ÄŤeskĂ˝ preklad
 \input{\thesis@localepath mu/ped/czech.def}
@@ -187,13 +190,34 @@
 % \fi\file{locale/mu/sci/slovak.def}
 % This is the Slovak locale file specific to the Faculty of
 % Science at the Masaryk University in Brno.
-% It replaces the |\thesis@facultyName| placeholder with the
-% correct value.
+% It defines the private macros required by the
+% |\thesis@blocks@bibEntry| block defined within the
+% \texttt{style/mu/sci.sty} style file.
+% It also replaces the |\thesis@facultyName| placeholder with the
+% correct value. The redefinition of the |\thesis@abstractTitle|
+% macro is inherited from the respective Czech locale file in
+% accordance with the formal requirements of the faculty. The
+% |\thesis@bib@academicYear| macro is likewise inherited from the
+% respective Czech locale file.
 % \iffalse
 %<*mu/sci>
 % \fi\begin{macrocode}
-\ProvidesFile{slovak.def}[2015/04/08]
+\ProvidesFile{fithesis3/locale/mu/sci/slovak.def}[2015/04/08]
+
+%% SymbolickĂ˝ odkaz na ÄŤeskĂ˝ preklad
+\input{\thesis@localepath mu/sci/czech.def}
+
+% Zástupné texty
 \def\thesis@facultyName{Prírodovedecká fakulta}
+
+% Bibliografický záznam
+\def\thesis@bib@author{Autor}
+\def\thesis@bib@title{Názov práce}
+\def\thesis@bib@programme{Ĺ tudijnĂ˝ program}
+\def\thesis@bib@field{Ĺ tudijnĂ˝ odbor}
+\def\thesis@bib@advisor{\thesis@advisorTitle}
+\def\thesis@bib@pages{Počet strán}
+\def\thesis@bib@keywords{\thesis@keywordsTitle}
 %    \end{macrocode}\iffalse
 %</mu/sci>
 % \fi
diff --git a/style/mu/Makefile b/style/mu/Makefile
index 8c76471..8d12c08 100644
--- a/style/mu/Makefile
+++ b/style/mu/Makefile
@@ -1,5 +1,5 @@
 LOGS=base.log fi.log sci.log
-OUTPUT=base.sty fit1[012].clo fi.sty sci.sty sci.bbx
+OUTPUT=base.sty fit1[012].clo fi.sty sci.sty
 
 .PHONY: explode implode all
 all: explode
diff --git a/style/mu/base.dtx b/style/mu/base.dtx
index ba91886..4188f0c 100644
--- a/style/mu/base.dtx
+++ b/style/mu/base.dtx
@@ -88,6 +88,9 @@
 %     the text of the document.
 %   \item\textsf{graphix} -- Adds support for the inclusion of
 %     graphics files.
+%   \item\textsf{pdfpages} -- Adds support for the injection of PDF
+%     documents into the resulting document, namely the thesis
+%     assignment.
 % \end{itemize}
 % In addition to that, the \textsf{hyperref} package is configured
 % to support both roman and arabic page numbering in one document.
@@ -96,6 +99,7 @@
 \RequirePackage[T1]{fontenc}
 \RequirePackage[sc]{mathpazo}
 \RequirePackage{graphicx}
+\RequirePackage{pdfpages}
 \hypersetup{
   plainpages=false,          % Multiple page numbering support
   pdfpagelabels              % Generate pdf page labels
@@ -135,6 +139,7 @@
 % cover.
 % \end{macro}\begin{macrocode}
 \def\thesis@blocks@cover{%
+  \thesis@blocks@clear
   \ifthesis@cover\else
     \ifthesis@twoside\@twosidefalse\fi % Temporarily disable twoside
     \begin{alwayssingle}
@@ -153,6 +158,7 @@
       \end{center}
     \end{alwayssingle}
     \ifthesis@twoside\@twosidetrue\fi % Re-enable twoside
+    \thesis@blocks@clear
   \fi}
 %    \end{macrocode}
 % \begin{macro}{\thesis@blocks@titlePage}
@@ -179,7 +185,8 @@
     \par\vfill
     {\large\thesis@place, \thesis@year}
     \end{center}
-  \end{alwayssingle}}
+  \end{alwayssingle}
+  \thesis@blocks@clear}
 %    \end{macrocode}
 % \begin{macro}{\thesis@blocks@tables}
 % The |\thesis@blocks@tables| private macro typesets the table of
@@ -187,10 +194,11 @@
 % |\listoffigures|.
 % \end{macro}\begin{macrocode}
 \def\thesis@blocks@tables{%
+  \thesis@blocks@clear%
   \tableofcontents%
   \thesis@blocks@lot%
   \thesis@blocks@lof%
-  \newpage%
+  \thesis@blocks@clear%
 }
 %    \end{macrocode}
 % \begin{macro}{\thesis@blocks@declaration}
@@ -198,93 +206,100 @@
 % declaration text.
 % \end{macro}\begin{macrocode}
 \def\thesis@blocks@declaration{%
-    \begin{alwayssingle}%
-      \chapter*{\thesis@declarationTitle}%
-      \thesis@declaration%
-      \vskip 2cm%
-      \hfill\thesis@author%
-      \par\vfill%
-      \textbf{\thesis@advisorTitle:} \thesis@advisor%
-      \par\vfil%
-      \newpage%
-    \end{alwayssingle}}
+  \thesis@blocks@clear%
+  \begin{alwayssingle}%
+    \chapter*{\thesis@declarationTitle}%
+    \thesis@declaration%
+    \vskip 2cm%
+    \hfill\thesis@author%
+    \par\vfill%
+    \textbf{\thesis@advisorTitle:} \thesis@advisor%
+    \par\vfil%
+  \end{alwayssingle}
+  \thesis@blocks@clear}
 %    \end{macrocode}
 % \begin{macro}{\thesis@blocks@thanks}
 % The |\thesis@blocks@thanks| private macro typesets the
 % acknowledgement.
 % \end{macro}\begin{macrocode}
 \def\thesis@blocks@thanks{%
+  \thesis@blocks@clear%
   \begin{alwayssingle}%
     \chapter*{\thesis@thanksTitle}%
     \thesis@thanks%
     \par\vfill%
   \end{alwayssingle}%
-  \newpage}
+  \thesis@blocks@clear}
 %    \end{macrocode}
 % \begin{macro}{\thesis@blocks@abstract}
 % The |\thesis@blocks@abstract| private macro typesets the
 % abstract.
 % \end{macro}\begin{macrocode}
 \def\thesis@blocks@abstract{%
+  \thesis@blocks@clear%
   \begin{alwayssingle}%
     \chapter*{\thesis@abstractTitle}%
     \thesis@abstract%
     \par\vfil\null%
   \end{alwayssingle}%
-  \newpage}
+  \thesis@blocks@clear}
 %    \end{macrocode}
 % \begin{macro}{\thesis@blocks@abstractEn}
 % The |\thesis@blocks@abstractEn| private macro typesets the
 % abstract in English.
 % \end{macro}\begin{macrocode}
 \def\thesis@blocks@abstractEn{%
-  \ifx\thesis@abstractEn\undefined\else%
-    \begin{alwayssingle}%
-      \chapter*{\thesis@abstractTitle}%
-      \thesis@abstractEn%
-      \par\vfil\null%
-    \end{alwayssingle}%
-    \newpage%
-  \fi}
+  \thesis@blocks@clear%
+  \begin{alwayssingle}%
+    \chapter*{\thesis@abstractTitleEn}%
+    \thesis@abstractEn%
+    \par\vfil\null%
+  \end{alwayssingle}%
+  \thesis@blocks@clear}
 %    \end{macrocode}
 % \begin{macro}{\thesis@blocks@keywords}
 % The |\thesis@blocks@keywords| private macro typesets the
 % abstract in English.
 % \end{macro}\begin{macrocode}
 \def\thesis@blocks@keywords{%
+  \thesis@blocks@clear%
   \begin{alwayssingle}%
     \chapter*{\thesis@keywordsTitle}%
     \thesis@keywords%
     \par\vfill%
   \end{alwayssingle}%
-  \newpage}
+  \thesis@blocks@clear}
 %    \end{macrocode}
 % \begin{macro}{\thesis@blocks@keywordsEn}
 % The |\thesis@blocks@keywordsEn| private macro typesets the
 % abstract in English.
 % \end{macro}\begin{macrocode}
 \def\thesis@blocks@keywordsEn{%
-  \ifx\thesis@keywordsEn\undefined\else%
-    \begin{alwayssingle}%
-      \chapter*{\thesis@keywordsTitle}%
-      \thesis@keywords%
-      \par\vfill%
-    \end{alwayssingle}%
-    \newpage%
-  \fi}
+  \thesis@blocks@clear%
+  \begin{alwayssingle}%
+    \chapter*{\thesis@keywordsTitleEn}%
+    \thesis@keywords%
+    \par\vfill%
+  \end{alwayssingle}%
+  \thesis@blocks@clear}
 %    \end{macrocode}
 % \begin{macro}{\thesis@blocks@assignment}
-% The |\thesis@blocks@assignment| private macro typesets a blank
-% page to be replaced with the official thesis assignment.
+% The |\thesis@blocks@assignment| private macro either typesets a
+% blank page to be replaced with the official thesis assignment or
+% injects the file located at the |\thesis@assignmentPDF| path, if
+% defined.
 % \end{macro}\begin{macrocode}
 \def\thesis@blocks@assignment{%
-  \thesis@blocks@clear
-  \begin{alwayssingle}%
-    \thispagestyle{empty}
-    \addtocounter{page}{-\ifthesis@twoside2\else1\fi}
-    \noindent\textit{\thesis@placeholders@assignment}%
-  \end{alwayssingle}%
-  \newpage}
+  \thesis@blocks@clear%
+  \ifx\thesis@assignmentPDF\undefined%
+    \begin{alwayssingle}%
+      \thispagestyle{empty}
+      \addtocounter{page}{-\ifthesis@twoside2\else1\fi}
+      \noindent\textit{\thesis@assignment}%
+    \end{alwayssingle}%
+  \else%
+    \includepdf[pages=-]{\thesis@assignmentPDF}%
+  \fi\thesis@blocks@clear}
 %    \end{macrocode}
 % The file defines several blocks to be used in the redefinitions
 % of the |\thesis@preamble| and |\thesis@postable| private macros
diff --git a/style/mu/fi.dtx b/style/mu/fi.dtx
index eda5d3e..d18ed82 100644
--- a/style/mu/fi.dtx
+++ b/style/mu/fi.dtx
@@ -8,10 +8,10 @@
 \NeedsTeXFormat{LaTeX2e}
 %    \end{macrocode}
 % The style file defines the autolayout preamble as the cover and
-% the title page followed by the declaration, acknowledgement,
-% abstract, keywords and tables of contents, tables and figures as
-% a part of the front matter. All of the blocks are defined in the
-% \texttt{style/mu/base.tex} file.
+% the title page followed by the assignment, declaration,
+% acknowledgement, abstract, keywords, table of contents and list
+% of tables and figures as a part of the front matter. All of the
+% blocks are defined in the \texttt{style/mu/base.tex} file.
 %    \begin{macrocode}
 \def\thesis@preamble{%
   \thesis@blocks@cover%
diff --git a/style/mu/sci.dtx b/style/mu/sci.dtx
index d3e08d3..cdad4d5 100644
--- a/style/mu/sci.dtx
+++ b/style/mu/sci.dtx
@@ -1,6 +1,4 @@
-% \iffalse
-%<*base>
-% \fi\file{style/mu/sci.sty}
+% \file{style/mu/sci.sty}
 % This is the style file for the theses written at the Faculty of
 % Science at the Masaryk University in Brno. It has been
 % prepared in accordance with the formal requirements published at
@@ -10,35 +8,166 @@
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage{fithesis3/style/mu/sci}[2015/04/09]
 %    \end{macrocode}
-% Yet to be documented.
+% \begin{macro}{\thesis@blocks@bibEntry}
+% The |\thesis@blocks@bibEntry| private macro typesets a
+% bibliographical entry. Along with the macros required by the
+% locale file interface, the locale files need to define the
+% following private macros:
+% \begin{itemize}
+%   \item\DescribeMacro{\thesis@bibTitle}|\thesis@bibTitle| --
+%     The title of the |\thesis@blocks@bibtry| block
+%   \item\DescribeMacro{\thesis@bib@author}|\thesis@bib@author|
+%     -- The label of the author name entry
+%   \item\DescribeMacro{\thesis@bib@title}|\thesis@bib@title|
+%     -- The label of the title name entry
+%   \item\DescribeMacro{\thesis@bib@programme}
+%     |\thesis@bib@programme| -- The label of the programme name
+%     entry
+%   \item\DescribeMacro{\thesis@bib@field}|\thesis@bib@field|
+%     -- The label of the field name entry
+%   \item\DescribeMacro{\thesis@bib@advisor}
+%     |\thesis@bib@advisor| -- The label of the advisor name
+%     entry
+%   \item\DescribeMacro{\thesis@bib@academicYear}
+%     |\thesis@bib@academicYear| -- The label of the academic
+%     year entry
+%   \item\DescribeMacro{\thesis@bib@pages}
+%     |\thesis@bib@pages| -- The label of the number of pages
+%     entry
+%   \item\DescribeMacro{\thesis@bib@keywords}
+%     |\thesis@bib@keywords| -- The label of the keywords entry
+% \end{itemize}
+%    \begin{macrocode}
+\def\thesis@blocks@bibEntry{%
+  \thesis@blocks@clear
+  \begin{alwayssingle}
+    \chapter*{\thesis@bibTitle}
+    {\renewcommand{\arraystretch}{2}
+    \begin{tabular}{ll}
+      \textbf{\thesis@bib@author:} & \vtop{%
+        \hbox{\strut\thesis@author}%
+        \hbox{\strut\thesis@facultyName, \thesis@universityName}%
+        \hbox{\strut\thesis@department}} \\
+      \textbf{\thesis@bib@title:}
+        & \thesis@title \\
+      \textbf{\thesis@bib@programme:}
+        & \thesis@programme \\
+      \textbf{\thesis@bib@field:}
+        & \thesis@field \\
+      \textbf{\thesis@bib@advisor:}
+        & \thesis@advisor \\
+      \textbf{\thesis@bib@academicYear:}
+        & \thesis@academicYear \\
+      \textbf{\thesis@bib@pages:}
+        & \thesis@pages \\
+      \textbf{\thesis@bib@keywords:}
+        & \thesis@keywords \\
+    \end{tabular}}
+  \end{alwayssingle}
+  \thesis@blocks@clear}
+%    \end{macrocode}
+% \end{macro}
+% \begin{macro}{\thesis@blocks@bibEntryEn}
+% The |\thesis@blocks@bibEntryEn| private macro typesets a
+% bibliographical entry in English. Along with the macros
+% required by the locale file interface, the locale files
+% need to define the following private macros:
+% \begin{itemize}
+%   \item\DescribeMacro{\thesis@bibTitleEn}|\thesis@bibTitleEn| --
+%     The title of the |\thesis@blocks@bibEntryEn| block
+%   \item\DescribeMacro{\thesis@bib@authorEn}|\thesis@bib@authorEn|
+%     -- The label of the author name entry
+%   \item\DescribeMacro{\thesis@bib@titleEn}|\thesis@bib@titleEn|
+%     -- The label of the title name entry
+%   \item\DescribeMacro{\thesis@bib@programmeEn}
+%     |\thesis@bib@programmeEn| -- The label of the programme name
+%     entry
+%   \item\DescribeMacro{\thesis@bib@fieldEn}|\thesis@bib@fieldEn|
+%     -- The label of the field name entry
+%   \item\DescribeMacro{\thesis@bib@advisorEn}
+%     |\thesis@bib@advisorEn| -- The label of the advisor name
+%     entry
+%   \item\DescribeMacro{\thesis@bib@academicYearEn}
+%     |\thesis@bib@academicYearEn| -- The label of the academic
+%     year entry
+%   \item\DescribeMacro{\thesis@bib@pagesEn}
+%     |\thesis@bib@pagesEn| -- The label of the number of pages
+%     entry
+%   \item\DescribeMacro{\thesis@bib@keywordsEn}
+%     |\thesis@bib@keywordsEn| -- The label of the keywords entry
+% \end{itemize}
+% \begin{itemize}
+%   \item\DescribeMacro{\thesis@bibTitle}|\thesis@bibTitle| --
+%     The title of the |\thesis@blocks@bibtry| block
+%   \item\DescribeMacro{\thesis@bib@author}|\thesis@bib@author|
+%     -- The label of the author name entry
+%   \item\DescribeMacro{\thesis@bib@title}|\thesis@bib@title|
+%     -- The label of the title name entry
+%   \item\DescribeMacro{\thesis@bib@programme}
+%     |\thesis@bib@programme| -- The label of the programme name
+%     entry
+%   \item\DescribeMacro{\thesis@bib@field}|\thesis@bib@field|
+%     -- The label of the field name entry
+%   \item\DescribeMacro{\thesis@bib@advisor}
+%     |\thesis@bib@advisor| -- The label of the advisor name
+%     entry
+%   \item\DescribeMacro{\thesis@bib@academicYear}
+%     |\thesis@bib@academicYear| -- The label of the academic
+%     year entry
+%   \item\DescribeMacro{\thesis@bib@pages}
+%     |\thesis@bib@pages| -- The label of the number of pages
+%     entry
+%   \item\DescribeMacro{\thesis@bib@keywords}
+%     |\thesis@bib@keywords| -- The label of the keywords entry
+% \end{itemize}
+%    \begin{macrocode}
+\def\thesis@blocks@bibEntryEn{%
+  \thesis@blocks@clear
+  \begin{alwayssingle}
+    \chapter*{\thesis@bibTitleEn}
+    {\renewcommand{\arraystretch}{2}
+    \begin{tabular}{ll}
+      \textbf{\thesis@bib@authorEn:} & \vtop{%
+        \hbox{\strut\thesis@authorEn}%
+        \hbox{\strut\thesis@facultyNameEn, \thesis@universityNameEn}%
+        \hbox{\strut\thesis@departmentEn}} \\
+      \textbf{\thesis@bib@titleEn:}
+        & \thesis@titleEn \\
+      \textbf{\thesis@bib@programmeEn:}
+        & \thesis@programmeEn \\
+      \textbf{\thesis@bib@fieldEn:}
+        & \thesis@fieldEn \\
+      \textbf{\thesis@bib@advisorEn:}
+        & \thesis@advisorEn \\
+      \textbf{\thesis@bib@academicYearEn:}
+        & \thesis@academicYear \\
+      \textbf{\thesis@bib@pagesEn:}
+        & \thesis@pages \\
+      \textbf{\thesis@bib@keywords:}
+        & \thesis@keywordsEn \\
+    \end{tabular}}
+  \end{alwayssingle}
+  \thesis@blocks@clear}
+%    \end{macrocode}
+% \end{macro}
+% The style file defines the autolayout preamble as the cover and
+% the title page followed by the bibliographic entry, the abstract
+% assignment, acknowledgement, table of contents and list of tables
+% and figures as a part of the front matter. All of the blocks 
+% beside |\thesis@blocks@bibEntry| and |\thesis@blocks@bibEntryEn|
+% are defined in the \texttt{style/mu/base.tex} file.
 %    \begin{macrocode}
 \def\thesis@preamble{%
   \thesis@blocks@cover%
   \thesis@blocks@titlePage%
   \thesis@blocks@frontMatter%
-    %\thesis@blocks@bibEntry   % TODO
-    %\thesis@blocks@bibEntryEn % TODO
+    \thesis@blocks@bibEntry%
+    \thesis@blocks@bibEntryEn%
     \thesis@blocks@abstract%
     \thesis@blocks@abstractEn%
     \thesis@blocks@assignment%
     \thesis@blocks@thanks%
     \thesis@blocks@declaration%
     \thesis@blocks@tables%
-  \thesis@blocks@mainMatter%
-}
-%    \end{macrocode}
-% \iffalse
-%</base>
-%<*bbx>
-% \fi\file{style/mu/sci.bbx}
-% This style file defines the \textsc{Bib}\LaTeX\ style file used
-% to typeset the |\thesis@blocks@bibEntry| and
-% |\thesis@blocks@bibEntryEn| blocks based on the data from the
-% \texttt{\jobname.bib} file generated as a part of the main
-% routine (see section \ref{sec:thesis@load}).
-%    \begin{macrocode}
-\ProvidesFile{sci.bbx}[2015/04/10]
+  \thesis@blocks@mainMatter}
 %    \end{macrocode}
-% \iffalse
-%</bbx>
-% \fi
diff --git a/style/mu/sci.ins b/style/mu/sci.ins
index 912e8e7..65f5c98 100644
--- a/style/mu/sci.ins
+++ b/style/mu/sci.ins
@@ -1,4 +1,3 @@
 \input ../../docstrip.cfg
-\generate{\file{sci.sty}{\from{sci.dtx}{base}}
-          \file{sci.bbx}{\from{sci.dtx}{bbx}}}
+\generate{\file{sci.sty}{\from{sci.dtx}{}}}
 \endbatchfile
-- 
GitLab