pdf: headers, table of contents
[librarian.git] / librarian / pdf / wl.cls
index 989ace8..153f1a6 100644 (file)
@@ -12,6 +12,7 @@
 % a4paper,... - paper size as required by LaTeX
 % nowlfont - don't use customized WL font
 
+\RequirePackage{fixltx2e}
 \RequirePackage{setspace}
 \RequirePackage{type1cm}
 \DeclareOption{13pt}{%
@@ -59,6 +60,9 @@
 \newif\ifenablewlfont \enablewlfonttrue
 \DeclareOption{nowlfont}{\enablewlfontfalse}
 
+\newif\ifshowtoc \showtoctrue
+\DeclareOption{notoc}{\showtocfalse}
+
 \DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}}
 \ProcessOptions\relax
 \LoadClass[a4paper,oneside]{book}
@@ -259,6 +263,8 @@ Letters={SmallCaps,UppercaseSmallCaps}
     \vspace{.6em}
     \sourceinfo
 
+    \publisherinfo
+
     \description
     \vspace{.6em}
 
@@ -274,6 +280,11 @@ Letters={SmallCaps,UppercaseSmallCaps}
         \coverby
     \fi
 
+    \ifdefined\isbn
+        \vspace{.6em}
+        \isbn
+    \fi
+
     \vspace{.6em}
     \emph{Wesprzyj Wolne Lektury!}
 
@@ -324,24 +335,42 @@ Letters={Uppercase}
 }
 
 
+\DeclareRobustCommand\authortoctext[1]{%
+{\addvspace{10pt}\nopagebreak\leftskip0em\relax
+\rightskip \@tocrmarg\relax
+\noindent\itshape#1\par}}
+
+\newcommand\authortoc[1]{%
+  \gdef\chapterauthor{#1}%
+  \addtocontents{toc}{\authortoctext{#1}}}
+
+
 \newcommand{\tytul}[1]{%
 #1%
 \vspace{1em}%
 }
 
-\newcommand{\nazwapodutworu}[1]{%
+\newcommand{\nazwapodutworu}[2]{%
+\vspace{10ex}%
 \section*{\typosection{#1}}%
+\addcontentsline{toc}{section}{#2}%
 }
 
 \newcommand{\autorutworu}[1]{%
 \subsection*{\typosubsection{#1}}%
 }
 
+\newcommand{\autorpodutworu}[1]{%
+\subsection*{\typosubsection{#1}}%
+\authortoc{#1}%
+}
+
 \newcommand{\dzielonadrzedne}[1]{%
 \subsection*{\typosubsubsection{#1}}%
 }
 
 \newcommand{\nazwautworu}[1]{%
+\vspace{10ex}%
 \section*{\typosection{#1}}%
 }
 
@@ -363,7 +392,8 @@ Letters={Uppercase}
 \newcommand{\dramatwspolczesny}[1]{#1}
 
 \newcommand{\nota}[1]{%
-\par{#1}%
+\par{\raggedleft \emph{#1}}%
+\vspace{10ex}%
 }
 
 \newcommand{\dedykacja}[1]{%
@@ -374,6 +404,75 @@ Letters={Uppercase}
 \end{em}%
 }
 
+\newlength{\fboxhsep}
+\newlength{\fboxvsep}
+
+\newlength{\fboxtoprule}
+\newlength{\fboxbottomrule}
+\newlength{\fboxleftrule}
+\newlength{\fboxrightrule}
+
+\setlength{\fboxhsep}{5\fboxsep}
+\setlength{\fboxvsep}{20\fboxsep}
+
+\setlength{\fboxtoprule}{\fboxrule}
+\setlength{\fboxleftrule}{\fboxrule}
+\setlength{\fboxrightrule}{\fboxrule}
+\setlength{\fboxbottomrule}{\fboxrule}
+
+
+
+\def\@frameb@xother#1{%
+  \@tempdima\fboxtoprule
+  \advance\@tempdima\fboxvsep
+  \advance\@tempdima\dp\@tempboxa
+  \hbox{%
+    \lower\@tempdima\hbox{%
+      \vbox{%
+        \hrule\@height\fboxtoprule
+        \hbox{%
+          \vrule\@width\fboxleftrule
+          #1%
+          \vbox{%
+            \vskip\fboxvsep
+            \box\@tempboxa
+            \vskip\fboxvsep}%
+          #1%
+          \vrule\@width\fboxrightrule}%
+        \hrule\@height\fboxbottomrule}%
+    }%
+  }%
+}
+
+
+\long\def\fboxother#1{%
+  \leavevmode
+  \setbox\@tempboxa\hbox{%
+    \color@begingroup
+    \kern\fboxhsep{#1}\kern\fboxhsep
+    \color@endgroup}%
+  \@frameb@xother\relax}
+
+\newcommand{\myfbox}[3]{%
+  \begingroup
+  \setlength{\fboxhsep}{#1}
+  \setlength{\fboxvsep}{#2}
+  \fboxother{#3}
+
+  \endgroup
+}
+
+\newcommand{\ramka}[1]{%
+\par\vspace{1em}%
+\edef\myindent{\the\parindent}%
+\noindent\myfbox{1em}{1em}{%
+\parbox{\dimexpr \textwidth - 2\fboxhsep - 2\fboxrule\relax}{%
+\setlength{\parindent}{\myindent}%
+#1%
+}}%
+\vspace{1em}%
+}
+
 \newcommand{\dlugicytat}[1]{%
 \begin{quotation}%
 #1%
@@ -402,34 +501,43 @@ Letters={Uppercase}
 }
 
 \newcommand{\listaosoba}[1]{%
-\item{#1}%
+\item[]{#1}%
 }
 
 \newcommand{\kwestia}[1]{%
 \par{#1}%
 }
 
-\newcommand{\naglowekakt}[1]{%
+\newcommand{\naglowekakt}[2]{%
 \pagebreak
-\subsection*{\typosubsection{#1}}%
+\subsection*{\typosubsection{\huge #1}}%
+\addcontentsline{toc}{subsection}{#2}%
+\vspace{10ex}%
 }
-\newcommand{\naglowekczesc}[1]{%
+\newcommand{\naglowekczesc}[2]{%
 \pagebreak
-\subsection*{\typosubsection{#1}}%
+\subsection*{\typosubsection{\huge #1}}%
+\addcontentsline{toc}{subsection}{#2}%
+\vspace{10ex}%
 }
 \newcommand{\srodtytul}[1]{%
 \subsection*{\typosubsection{#1}}%
 }
 
-\newcommand{\naglowekscena}[1]{%
-\subsubsection*{\typosubsubsection{#1}}%
+\newcommand{\naglowekscena}[2]{%
+\subsubsection*{\typosubsubsection{\LARGE #1}}%
+\addcontentsline{toc}{subsubsection}{#2}%
+\vspace{5ex}%
 }
-\newcommand{\naglowekrozdzial}[1]{%
-\subsubsection*{\typosubsubsection{#1}}%
+\newcommand{\naglowekrozdzial}[2]{%
+\subsubsection*{\typosubsubsection{\LARGE #1}}%
+\addcontentsline{toc}{subsubsection}{#2}%
+\vspace{5ex}%
 }
 
 \newcommand{\naglowekosoba}[1]{%
-\par{\textsc{#1}}\nopagebreak%
+\medskip%
+\par{\textsc{\MakeLowercase{#1}}}\nopagebreak%
 }
 \newcommand{\naglowekpodrozdzial}[1]{%
 \vspace{5ex}\par{#1}\nopagebreak%
@@ -442,14 +550,32 @@ Letters={Uppercase}
 \par{\emph{#1}}%
 }
 
+\usepackage{intcalc}
+\usepackage{color}
+\definecolor{gray}{RGB}{200,200,200}
+%\newcounter{parnum}
+\newlength{\parnumwidth}
+\setlength{\parnumwidth}{3em}
+\newcommand{\N}{%
+  \leavevmode\refstepcounter{parnum}\reversemarginpar%
+  \marginnote{\textcolor{gray}{\small{\theparnum}}}%
+  \reversemarginpar}
+\newcommand{\Nw}{%
+  \leavevmode\refstepcounter{parnum}\reversemarginpar%
+  \ifnum\intcalcMod{\value{parnum}}{5}=0%
+  \marginnote{\textcolor{gray}{\small{\theparnum}}}%
+  \fi\reversemarginpar}
+\renewcommand{\N}{}
+\renewcommand{\Nw}{}
+
 \newcommand{\akap}[1]{%
-\par{#1}%
+\par{\N#1}%
 }
 \newcommand{\akapdialog}[1]{%
-\par{#1}%
+\par{\N#1}%
 }
 \newcommand{\akapcd}[1]{%
-\par{#1}%
+\par{\N#1}%
 }
 
 \newcommand{\mottopodpis}[1]{%
@@ -464,23 +590,26 @@ Letters={Uppercase}
 \par{\noindent{\ignorespaces#1\vspace{1em}}}%
 }
 
-\newcommand{\wers}[1]{#1}
+\newcommand{\wers}[1]{\Nw#1}
 
 \newcommand{\wersakap}[1]{%
-\hspace*{1em}#1%
+\Nw\hspace*{1em}#1%
 }
 \newcommand{\werscd}[1]{%
-\hspace*{8em}#1%
+\Nw\hspace*{8em}#1%
 }
 \newcommand{\werswciety}[2][1em]{%
-\hspace*{#1}#2%
+\Nw\hspace*{#1}#2%
+}
+\newcommand{\wersdoprawej}[1]{%
+\Nw\hspace*{\fill}#1%
 }
 
 \ifshowfootnotes
   \newcommand{\pa}[1]{\NoCaseChange{\footnote{#1 [przypis autorski]}}}
-  \newcommand{\pe}[1]{\NoCaseChange{\footnote{#1}}}
-  \newcommand{\pr}[1]{\NoCaseChange{\footnote{#1}}}
-  \newcommand{\pt}[1]{\NoCaseChange{\footnote{#1}}}
+  \newcommand{\pe}[1]{\NoCaseChange{\footnote{#1 [przypis edytorski]}}}
+  \newcommand{\pr}[1]{\NoCaseChange{\footnote{#1 [przypis redakcyjny]}}}
+  \newcommand{\pt}[1]{\NoCaseChange{\footnote{#1 [przypis tĹ‚umacza]}}}
 \else
   \newcommand{\pa}[1]{}
   \newcommand{\pe}[1]{}
@@ -502,9 +631,17 @@ Letters={Uppercase}
 \newcommand{\wyroznienie}[1]{%
 \emph{#1}%
 }
+\newcommand{\indeksdolny}[1]{%
+\textsubscript{#1}%
+}
+\newcommand{\wiekszeodstepy}[1]{%
+\spaceskip 3\fontdimen2\font plus 3\fontdimen3\font minus 3\fontdimen4\font \relax%
+#1%
+\spaceskip \fontdimen2\font plus \fontdimen3\font minus \fontdimen4\font \relax%
+}
 
 \newcommand{\osoba}[1]{%
-#1%
+{\scshape \MakeLowercase{#1}}%
 }
 
 \newcommand{\sekcjaswiatlo}{%