% syllabus.sty
%
% (copyleft) 2012 by Jan Jełowicki
% http://karnet.up.wroc.pl/~jasj
% jasj@karnet.up.wroc.pl
%
%% generator dokumentacji kursów dydaktycznych
%% zgodnej z wzorcami przyjętymi na Uniwersytecie Przyrodniczym we Wrocławiu
%% z wytycznymi do KRK włącznie
%% wersja 0.045, maj 2012
%%
%% Użycie: jako styl dokumentu \LaTeX-a. 
%% Zarys przykładu:
%%% \documentclass{article}
%%% \usepackage[english,polish]{syllabus}
%%% \begin{document}
%%% \begin{person}
%%% \Imie{Jan}
%%% \Nazwisko{Kowalski}
%%% itd., itd.
%%% \begin{course}
%%% \Przedmiot{To i owo}
%%% itd., itd.
%%%
%%% \begin{SyllabusShort}{polish}
%%% \end{SyllabusShort}
%%% \begin{SyllabusShort}{english}
%%% \end{SyllabusShort}
%%%
%%% \end{course}
%%% \end{person}
%%% \end{document}
%%
%% Obszerniejszą dokumentację dostarczę w razie zainteresowania.
%%
\ProvidesPackage{syllabus}[2012/06/12 v.0.045]
%
\RequirePackage[english,polish]{babel}
\RequirePackage{polski}

% detect XeLaTeX / LaTeX
\expandafter\ifx\csname XeTeXversion\endcsname\relax
\RequirePackage[utf8]{inputenc}
\RequirePackage{tgheros}	% Tex-Gyre Heros
\RequirePackage{tgtermes}	% Tex-Gyre Termes
\RequirePackage[QX]{fontenc}
\edef\@@defaultoption{latex}
\else
\RequirePackage[EU1]{fontenc}
\RequirePackage{xltxtra}
\RequirePackage{xunicode}
\RequirePackage{fontspec}
\edef\@@defaultoption{xelatex}
\fi

\DeclareOption{xelatex}{%
\defaultfontfeatures{Mapping=tex-text}
%\setmainfont{TeX Gyre Termes}	% Times
%\setsansfont{TeX Gyre Heros}	% Helvetica
%\setmonofont{TeX Gyre Cursor}	% Courier
}

\DeclareOption{latex}{%
\renewcommand{\ttdefault}{qcr} % Tex-Gyre Cursor
}

%% \addto mechanism taken from babel.def
\DeclareOption{english}{\def\@@Lang{english}
\addto{\@@english}{%
\def\@@DescKierunek{Major}
\def\@@DescTypStudiow{Type of studies}
\def\@@DescNazwa{Course title}
\def\@@DescKod{Course code}
\def\@@DescTypKursu{Type of the course}
\def\@@DescRodzaj{Type of the course}
\def\@@DescPoziom{Level of the course}
\def\@@DescRokSt{Year}
\def\@@DescSemSt{Semester}
\def\@@DescRokAkad{Academic year and semester}
\def\@@DescSemSt{Semester}
\def\@@DescECTS{ECTS}
\def\@@DescPostawy{Social competences}
\def\@@DescNazwisko{Name}
\def\@@DescNarodowosc{Nationality}
\def\@@DescPesel{PESEL}
\def\@@DescProw{Lecturer}
\def\@@DescCel{Objectives of the course}
\def\@@DescEfekty{Outcomes}
\def\@@DescTresci{Course contents}
\def\@@DescKompetencje{Competences}
\def\@@DescWymagania{Prerequisites}
\def\@@DescLit{Recommended literature}
\def\@@DescWiedza{Knowledge}
\def\@@DescUmiejetnosci{Skills}
\def\@@DescMetodyK{Methods}
\def\@@DescFormyK{Form}
\def\@@DescMetodyO{Assessment}
\def\@@DescJezyk{Language of instruction}
\def\@@DescWymiar{Number of hours}
\def\@@DescTematyW{Detailed subject of lectures}
\def\@@DescTematyC{Detailed subjects of laboratories}
\def\@@DescWeeks{weeks}
\def\@@DescHWPre{lectures: }
\def\@@DescHCPre{laboratories: }
\def\@@DescHWPost{~hours}
\def\@@DescHCPost{~hours}
\def\@Prowadzacy{\@Degree\ \@Imie\ \@Nazwisko; {\@Email}}
}}
%
\DeclareOption{polish}{\def\@@Lang{polish}
\addto{\@@polish}{%
\def\@@DescNazwa{Nazwa przedmiotu}
\def\@@DescKierunek{Kierunek}
\def\@@DescTypStudiow{Typ studiów}
\def\@@DescKod{Kod przedmiotu}
\def\@@DescTypKursu{Typ przedmiotu}
\def\@@DescRodzaj{Rodzaj kursu}
\def\@@DescPoziom{Poziom kursu}
\def\@@DescRokSt{Rok studiów}
\def\@@DescRokAkad{Rok akademicki, semestr}
\def\@@DescSemSt{Semestr}
\def\@@DescECTS{Punkty ECTS}
\def\@@DescNazwisko{Imię i nazwisko}
\def\@@DescNarodowosc{Narodowość}
\def\@@DescPesel{PESEL}
\def\@@DescProw{Prowadzący}
\def\@@DescCel{Cel przedmiotu}
\def\@@DescEfekty{Efekty kształcenia}
\def\@@DescTresci{Treści kształcenia}
\def\@@DescKompetencje{Kompetencje}
\def\@@DescPostawy{Kompetencje społeczne}
\def\@@DescWiedza{Wiedza}
\def\@@DescUmiejetnosci{Umiejętności}
\def\@@DescWymagania{Wymagania wstępne}
\def\@@DescLit{Literatura}
\def\@@DescMetodyK{Metody kształcenia}
\def\@@DescFormyK{Formy kształcenia}
\def\@@DescMetodyO{Metody oceny}
\def\@@DescJezyk{Język}
\def\@@DescWymiar{Wymiar godzinowy}
\def\@@DescTematyW{Szczegółowa tematyka wykładów}
\def\@@DescTematyC{Szczegółowa tematyka ćwiczeń}
\def\@@DescWeeks{tygodni}
\def\@@DescHWPre{}
\def\@@DescHCPre{}
\def\@@DescHWPost{~godz. wykładów}
\def\@@DescHCPost{~godz. ćwiczeń}
\def\@Prowadzacy{\@Stopien\ \@Imie\ \@Nazwisko; {\@Email}}
%
\def\@@DescTytulKartyA{Karta informacyjna do oferty kursu}
\def\@@DescTytulKartyB{realizowanego studiach pierwszego stopnia}
\def\@@DescTytulStopien{Tytuł/stopień}
\def\@@DescMZatrudnienia{Miejsce zatrudnienia}
\def\@@DescCzyPodstMZatrudnienia{Czy jest to podstawowe\newline miejsce zatrudnienia?}
\def\@@DescStosPracy{Rodzaj stosunku pracy}
\def\@@DescDataFormaStosPracy{Data i forma nawiązania\newline stosunku pracy}
\def\@@DescWyksztalcenie{Wykształcenie\newline(uczelnia,\newline dyscyplina naukowa)}
\def\@@DescSpecNauk{Specjalność naukowa}
\def\@@DescDoswiadczenie{Doświadczenie zawodowe}
\def\@@DescWyposazenie{Wyposażenie jednostki\newline organizacyjnej, w której\newline będą prowadzone zajęcia}
\def\@@DescPublikacje{Ważniejsze publikacje w recenzowanych czasopismach naukowych (podać 7 publikacji)}
\def\@@DescInneInf{Inne informacje uzasadniające prowadzenie kursu}
}}
%

\def\@@twoitem#1#2{\originalitem\parbox[t]{8.5cm}{#1}\makebox[2cm]{#2}}
\def\@@Entry#1{\expandafter\def\csname #1\endcsname##1{\expandafter\def\csname @#1\endcsname{##1}}}
\def\@@ListEntry#1#2{\expandafter\def\csname #1\endcsname##1{\expandafter\def\csname @#1\endcsname{\begin{#2}##1\end{#2}}}}
\def\@@TwocolEntry#1{\expandafter\def\csname #1\endcsname##1{\expandafter\def\csname @#1\endcsname%
{\vspace*{-0.8em}\begin{itemize}\itemsep1ex\let\originalitem=\item\def\item{\@@twoitem}\def\labelitemi{\textbullet}##1\end{itemize}}}}

\def\Przedmiot#1{\def\@tytul{#1}\def\@Tytul{\textbf{\MakeUppercase{\@tytul}}}}

\newenvironment{@biblist}{%
\def\bibaut##1{\textsc{##1}}
\def\bibtit##1{\textit{##1}}
\begin{enumerate}\let\ITEM=\item\def\item{\ITEM[\textbullet]}}{\end{enumerate}}

\newenvironment*{form}{%
\clearpage
\long\def\entry##1##2{\textbf{##1:} ##2\mbox{}\\[\parskip]\nopagebreak\hspace*{-3pt}}
\parskip 1ex
\parsep 0pt
\parindent 0pt
\itemsep 0pt
\bigskipamount1ex
\def\@listi{\leftmargin\leftmargini
\topsep 0\p@%%% \@plus2\p@ \@minus2\p@
\parsep 0\p@%%% \@plus\p@ \@minus\p@
\itemsep \parsep}%
\def\labelitemi{\textbf{\textendash}}%
}{}


% Page layout (geometry)
\setlength\voffset{-1in}
\setlength\hoffset{-1in}
\setlength\topmargin{1in}
\setlength\oddsidemargin{1in}
\setlength\textheight{9.5in}
\setlength\textwidth{6.5in}
\setlength\footskip{0.0cm}
\setlength\headheight{0cm}
\setlength\headsep{0cm}

% Page style
\newcommand\ps@Standard{
  \renewcommand\@oddhead{}
  \renewcommand\@evenhead{}
  \renewcommand\@oddfoot{}
  \renewcommand\@evenfoot{}
  \renewcommand\thepage{\arabic{page}}
}


\newenvironment{SyllabusShort}[1]{\def\@Lang{#1}\begin{form}\selectlanguage{#1}}{
\csname @@\@Lang\endcsname
\entry{\@@DescNazwa}{\@Tytul\expandafter\ifx\csname @Wersja\endcsname\relax\else\ [wersja \@Wersja]\fi}
\entry{\@@DescKod}{}
\entry{\@@DescTypKursu}{\@TypKursu}
\entry{\@@DescPoziom}{\@Poziom}
\entry{\@@DescRokSt}{\@Rok}
\entry{\@@DescSemSt}{\@Semestr}
\entry{\@@DescECTS}{\@ECTS}
\entry{\@@DescProw}{\@Prowadzacy}
\entry{\@@DescCel}{\begin{itemize}
\item \textbf{\MakeLowercase{\@@DescEfekty}:} \@Efekty
\item \textbf{\MakeLowercase{\@@DescKompetencje}:} \@Kompetencje
\end{itemize}}
\entry{\@@DescWymagania}{\@Poprzedzajace}
\entry{\@@DescTresci}{\@Tresci}
\entry{\@@DescLit}{\@Literatura}
\entry{\@@DescMetodyK}{\@@DescHW{\@godzWyklady}, \@@DescHC{\@godzCwiczenia}}
\entry{\@@DescMetodyO}{\@Ocena}
\entry{\@@DescJezyk}{\@Jezyk}
\end{form}}

\newenvironment{SyllabusShortKRK}[1]{\def\@Lang{#1}\begin{form}\selectlanguage{#1}}{
\long\def\entry##1##2{\textrm{##1:} {\bfseries ##2}\mbox{}\\[\parskip]\nopagebreak\hspace*{-3pt}}
\csname @@\@Lang\endcsname
\entry{\@@DescKod}{}
\entry{\@@DescRokAkad}{\@RokAkad, \@SemestrAkad}
\entry{\@@DescNazwa}{\@Tytul\expandafter\ifx\csname @Wersja\endcsname\relax\else\ [wersja \@Wersja]\fi}
\entry{\@@DescKierunek}{\@Kierunek}
\entry{\@@DescTypStudiow}{\@Poziom\ (\@TypStudiow)}
\entry{\@@DescRodzaj}{\@TypKursu}
\entry{\@@DescSemSt}{\@Semestr}
\entry{\@@DescECTS}{\@ECTS}
\entry{\@@DescFormyK}{\@@DescHW{\@godzWyklady}, \@@DescHC{\@godzCwiczenia}}
\entry{\@@DescProw}{\@Prowadzacy}
\entry{\@@DescJezyk}{\@Jezyk}
\entry{\@@DescEfekty}{\def\item##1{\\[1ex]{\rm\textbullet~##1}\\}%\begin{itemize}
\item {{\@@DescWiedza}} \@EfektyWiedza
\item {{\@@DescUmiejetnosci}} \@EfektyUmiejetnosci
\item {{\@@DescPostawy}} \@EfektyPostawy
%\end{itemize}
}
\entry{\@@DescWymagania}{\@Poprzedzajace}
\entry{\@@DescTresci}{\@Tresci}
\entry{\@@DescLit}{\@Literatura}
\entry{\@@DescMetodyO}{\@Ocena}
\end{form}}


\newenvironment{SyllabusLong}[1]{\def\@Lang{#1}\begin{form}\selectlanguage{#1}}{
\csname @@\@Lang\endcsname
\entry{\@@DescNazwa}{\@Tytul\expandafter\ifx\csname @Wersja\endcsname\relax\else\ [wersja \@Wersja]\fi}
\entry{\@@DescKod}{}
\entry{\@@DescTypKursu}{\@TypKursu}
\entry{\@@DescProw}{\@Prowadzacy}
\entry{\@@DescSemSt}{\@Semestr}
\entry{\@@DescWymiar}{\@@DescHW{\@godzWyklady}, \@@DescHC{\@godzCwiczenia}}
\entry{\@@DescECTS}{\@ECTS}
\entry{\@@DescEfekty}{\@Efekty}
\entry{\@@DescWymagania}{\@Poprzedzajace}
\entry{\@@DescTresci}{\@Tresci}
\entry{\@@DescTematyW\ (\@Tygodnie~\@@DescWeeks)}{\@Wyklady}
\entry{\@@DescTematyC\ (\@Tygodnie~\@@DescWeeks)}{\@Cwiczenia}
\entry{\@@DescLit}{\@Literatura}
\end{form}}


\newenvironment{course}{%
\@@Entry{Wersja}
\@@Entry{ECTS}
\@@Entry{Efekty}
\@@Entry{Kompetencje}
\@@Entry{EfektyPostawy}
\@@Entry{EfektyWiedza}
\@@Entry{EfektyUmiejetnosci}
\@@Entry{TypKursu}
\@@Entry{Tresci}
\@@Entry{Poprzedzajace}
\@@Entry{Kierunek}
\@@Entry{TypStudiow}
\@@Entry{SemestrAkad}
\@@Entry{Semestr}
\@@Entry{Jezyk}
\@@Entry{Ocena}
\@@ListEntry{Literatura}{@biblist}
\@@ListEntry{Wyklady}{enumerate}
\@@ListEntry{Cwiczenia}{enumerate}
\def\@@DescHW##1{\@@DescHWPre##1\@@DescHWPost}
\def\@@DescHC##1{\@@DescHCPre##1\@@DescHCPost}
\def\Wymiar##1##2##3{\def\@godzWyklady{##1}\def\@godzCwiczenia{##2}\def\@Tygodnie{##3}}
\def\Roksem##1##2##3{\def\@Poziom{##1}\def\@Rok{##2}\def\@Semestr{##3}}
\def\RokAkad##1{\def\@RokAkad{##1}}
}{}


\newenvironment{person}{
\@@Entry{Email}
\@@Entry{Imie}
\@@Entry{Nazwisko}
\@@Entry{Narodowosc}
\@@Entry{Pesel}
\@@Entry{Miejscepracy}
\@@Entry{Czypodstawowe}
\@@Entry{Stosunekpracy}
\def\Stopien##1##2{\def\@Stopien{##1}\def\@Degree{##2}}
\@@TwocolEntry{Stanowiska}
\@@Entry{Specjalnosc}
\@@TwocolEntry{Wyksztalcenie}
\@@Entry{Doswiadczenie}
\@@Entry{Wyposazenie}
\@@ListEntry{Publikacje}{enumerate}
\@@Entry{Inne}
}{}


\newlength{\@@InfoC}\setlength{\@@InfoC}{15cm}
\newlength{\@@InfoW}\setlength{\@@InfoW}{11cm}

%% todo: i18n
\newenvironment{InfoCard}[1]{\def\@Lang{#1}\clearpage\selectlanguage{#1}}{%
\csname @@\@Lang\endcsname
\ifx\@Lang\@@Lang
\begin{minipage}{\textwidth}\begin{center}
\MakeUppercase{\@@DescTytulKartyA}\\\textbf{\@Tytul}\\\@@DescTytulKartyB 
\end{center}
\parskip 1ex
\parsep 0pt
\parindent 0pt
\itemsep 0pt
\bigskipamount1ex
\def\@listi{\leftmargin\leftmargini
\topsep 0\p@%%% \@plus2\p@ \@minus2\p@
\parsep 0\p@%%% \@plus\p@ \@minus\p@
\itemsep \parsep}%
\def\labelitemi{\textbf{\textendash}}%
\begin{tabular}{|p{4cm}|p{9cm}p{3cm}|}
\hline
\@@DescNazwisko & \multicolumn{2}{l|}{\@Imie\ \MakeUppercase{\@Nazwisko}}\\\hline
\@@DescNarodowosc & \multicolumn{2}{l|}{\@Narodowosc}\\\hline
\@@DescTytulStopien  & \multicolumn{2}{l|}{\@Stopien}\\\hline
\@@DescPesel & \multicolumn{2}{l|}{\@Pesel}\\\hline
\@@DescMZatrudnienia & \multicolumn{2}{p{\@@InfoW}|}{\@Miejscepracy}\\\hline
\@@DescCzyPodstMZatrudnienia & \multicolumn{2}{p{\@@InfoW}|}{\@Czypodstawowe}\\\hline
\@@DescStosPracy & \multicolumn{2}{p{\@@InfoW}|}{\@Stosunekpracy}\\\hline
\@@DescDataFormaStosPracy & \multicolumn{2}{p{\@@InfoW}|}{\@Stanowiska} \\\hline
\@@DescWyksztalcenie & \multicolumn{2}{p{\@@InfoW}|}{\@Wyksztalcenie}  \\\hline
\@@DescSpecNauk & \multicolumn{2}{p{\@@InfoW}|}{\@Specjalnosc}\\\hline
\@@DescDoswiadczenie & \multicolumn{2}{p{\@@InfoW}|}{\@Doswiadczenie}\\\hline
\@@DescWyposazenie & \multicolumn{2}{p{\@@InfoW}|}{\@Wyposazenie}\\\hline
\multicolumn{3}{|p{\@@InfoC}|}{{\@@DescPublikacje}{\@Publikacje}}\\\hline
\multicolumn{3}{|p{\@@InfoC}|}{{\@@DescInneInf\def\labelitemi{}\begin{itemize}\item\@Inne\end{itemize}}}\\\hline
\end{tabular}\end{minipage}
\else
??? 
\fi}

\ExecuteOptions{\@@defaultoption,polish}
\ProcessOptions
\pagestyle{Standard}
\setlength\tabcolsep{1mm}
\renewcommand\arraystretch{1.3}
\def\labelitemi{\textbf{\textendash}}
\raggedbottom
\parskip1ex
\endinput
