1 % -*- coding: utf-8 -*-
2 \NeedsTeXFormat{LaTeX2e}
3 \ProvidesClass{wl}[2011/11/28 wolnelektury.pl book style]
7 % nofootnotes - disable generation of footnotes
8 % nothemes - disable generation of themes
9 % defaultleading - default leading
10 % onehalfleading - leading of 1.5 (interlinia)
11 % doubleleading - double leading (interlinia)
12 % a4paper,... - paper size as required by LaTeX
13 % nowlfont - don't use customized WL font
15 \RequirePackage{setspace}
16 \RequirePackage{type1cm}
17 \DeclareOption{13pt}{%
19 % font size definitions, similar to ones in /usr/share/texmf-texlive/tex/latex/base/
20 \renewcommand\normalsize{%
21 \@setfontsize\normalsize{13pt}{14.5pt}%
22 \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@
23 \abovedisplayshortskip \z@ \@plus3\p@
24 \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
25 \belowdisplayskip \abovedisplayskip
26 \let\@listi\@listI}\normalsize%
27 \renewcommand\footnotesize{%
28 \@setfontsize\footnotesize\@xpt\@xiipt
29 \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
30 \abovedisplayshortskip \z@ \@plus3\p@
31 \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
32 \def\@listi{\leftmargin\leftmargini
33 \topsep 6\p@ \@plus2\p@ \@minus2\p@
34 \parsep 3\p@ \@plus2\p@ \@minus\p@
36 \belowdisplayskip \abovedisplayskip
41 %% \DeclareOption{14pt}{\renewcommand{\normalsize}{\AtEndOfClass{\fontsize{14}{17}\selectfont}}}
43 \DeclareOption{defaultleading}{}
44 \DeclareOption{doubleleading}{\AtBeginDocument{\doublespacing}}%\setlength{\leading}{1em plus 0.5ex minus 0.2ex}}
45 \DeclareOption{onehalfleading}{\AtBeginDocument{\onehalfspacing}}%\setlength{\leading}{1em plus 0.5ex minus 0.2ex}}
47 %% This does not really work, since dvipdfm(x) will use it's configuration in /etc/texmf/dvipdfm(x) and force a global paper size setting.
48 \DeclareOption{a5paper}{%
49 \setlength{\paperheight}{210mm}%
50 \setlength{\paperwidth}{148mm}}
53 \newif\ifshowfootnotes \showfootnotestrue
54 \DeclareOption{nofootnotes}{\showfootnotesfalse}
56 \newif\ifshowthemes \showthemestrue
57 \DeclareOption{nothemes}{\showthemesfalse}
59 \newif\ifenablewlfont \enablewlfonttrue
60 \DeclareOption{nowlfont}{\enablewlfontfalse}
62 \DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}}
64 \LoadClass[a4paper,oneside]{book}
69 \usepackage[MeX]{polski}
71 \usepackage[xetex]{graphicx}
76 \usepackage{longtable}
78 \usepackage{unicode-math}
79 \setmathfont{Latin Modern Math}
81 \usepackage[overload]{textcase}
83 \usepackage[colorlinks=true,linkcolor=black,setpagesize=false,urlcolor=black,xetex]{hyperref}
86 SmallCapsFeatures = {Letters={SmallCaps,UppercaseSmallCaps}},
95 UprightFont = JunicodeWL-Regular,
96 ItalicFont = JunicodeWL-Italic,
97 BoldFont = JunicodeWL-Regular,
98 BoldItalicFont = JunicodeWL-Italic,
99 SmallCapsFont = JunicodeWL-Regular,
100 SmallCapsFeatures = {Letters={SmallCaps,UppercaseSmallCaps}},
106 \defaultfontfeatures{
108 {Size={-10.5}, FakeStretch=1.02, LetterSpace=2.0 },
109 {Size={10.5-12}, FakeStretch=2.00, LetterSpace=0.0 },
110 {Size={12-}, FakeStretch=0.98, LetterSpace=-2.0 }
114 \renewcommand{\textsc}[1]{%
117 {Size={-10.5}, Scale=1.2, FakeStretch=1.02, LetterSpace=8.0 },
118 {Size={10.5-12}, Scale=1.2, FakeStretch=1.02, LetterSpace=8.0 },
119 {Size={12-}, FakeStretch=1.0, LetterSpace=8.0 }
121 Letters={SmallCaps,UppercaseSmallCaps}
127 %{\Itshape JunicodeWL-Italic.ttf }
128 %{\bfseries Junicode-Bold.ttf }
129 %{\bfseries\itshape Junicode-BoldItalic.ttf }
132 \usepackage{fancyhdr}
133 \usepackage{marginnote}
138 % bottom figure below footnotes
143 \definecolor{theme}{gray}{.3}
145 \setlength{\marginparsep}{2em}
146 \setlength{\marginparwidth}{8.5em}
147 \setlength{\oddsidemargin}{0pt}
148 \setlength{\voffset}{0pt}
149 \setlength{\topmargin}{0pt}
150 \setlength{\headheight}{0pt}
151 \setlength{\headsep}{0pt}
152 \setlength{\textheight}{24cm}
156 \renewcommand{\headrulewidth}{0pt}
157 \renewcommand{\footrulewidth}{0pt}
158 \lfoot{{\footnotesize \textsc{\@author} \emph{\@title}}}
160 \rfoot{{\footnotesize \thepage}}
166 % see http://osdir.com/ml/tex.xetex/2005-10/msg00003.html
167 \newsavebox{\ximagebox}\newlength{\ximageheight}
168 \newsavebox{\xglyphbox}\newlength{\xglyphheight}
169 \newcommand{\xbox}[1]
170 {\savebox{\ximagebox}{#1}\settoheight{\ximageheight}{\usebox {\ximagebox}}%
171 \savebox{\xglyphbox}{\char32}\settoheight{\xglyphheight}{\usebox {\xglyphbox}}%
172 \raisebox{\ximageheight}[0pt][0pt]{%\raisebox{-\xglyphheight}[0pt] [0pt]{%
173 \makebox[0pt][l]{\usebox{\xglyphbox}}}%}%
175 \raisebox{0pt}[0pt][0pt]{\makebox[0pt][r]{\usebox{\xglyphbox}}}}
177 \newcommand{\makecover}[2]{
181 \thispagestyle{empty}
182 \newlength{\PictHOffset}
183 \newlength{\PictVOffset}
184 \setlength{\PictHOffset}{1in}
185 \addtolength{\PictHOffset}{\hoffset}
186 \addtolength{\PictHOffset}{\oddsidemargin}
188 \setlength{\PictVOffset}{1in}
189 \addtolength{\PictVOffset}{\voffset}
190 \addtolength{\PictVOffset}{\topmargin}
191 \addtolength{\PictVOffset}{\headheight}
192 \addtolength{\PictVOffset}{\headsep}
193 \addtolength{\PictVOffset}{\topskip}
194 \addtolength{\PictVOffset}{-\pdfpageheight}
196 \noindent\hspace*{-\PictHOffset}%
197 \raisebox{\PictVOffset}[0pt][0pt]{\makebox[0pt][l]{%
198 \includegraphics[height=\pdfpageheight,width=\pdfpagewidth]{cover.png}}}
201 \setlength{\pdfpagewidth}{210mm}
202 \setlength{\pdfpageheight}{297mm}
206 \renewcommand{\maketitle}{
208 \thispagestyle{empty}
212 \noindent \begin{minipage}[t]{.35\textwidth}\vspace{0pt}
213 \href{http://www.wolnelektury.pl}{\xbox{\includegraphics[width=\textwidth]{wl-logo.png}}}
215 \begin{minipage}[t]{.65\textwidth}\vspace{0pt}
217 \ifflaglessadvertising
219 \href{\bookurl}{Ta lektura}, podobnie jak tysiące innych, jest dostępna on-line na stronie
220 \href{http://www.wolnelektury.pl/}{wolnelektury.pl}.
229 Utwór opracowany został w ramach projektu \href{http://www.wolnelektury.pl/}{Wolne Lektury}
230 przez \href{http://nowoczesnapolska.org.pl}{fundację Nowoczesna Polska}.
233 \noindent \rule{\linewidth}{0.4pt}
240 \newcommand{\editorialsection}{
245 \noindent \rule{\linewidth}{0.4pt}
257 Źródło: \href{\bookurl}{\bookurl}
285 \emph{Wesprzyj Wolne Lektury!}
287 Wolne Lektury to projekt fundacji Nowoczesna Polska – organizacji
288 pożytku publicznego działającej na rzecz wolności korzystania
291 Co roku do domeny publicznej przechodzi twórczość kolejnych autorów.
292 Dzięki Twojemu wsparciu będziemy je mogli udostępnić wszystkim bezpłatnie.
295 \emph{Jak możesz pomóc?}
297 Przekaż 1\% podatku na rozwój Wolnych Lektur:
298 Fundacja Nowoczesna Polska, KRS 0000070056.
300 Pomóż uwolnić konkretną książkę, wspierając
301 \href{http://www.wolnelektury.pl/wesprzyj/}{zbiórkę na stronie wolnelektury.pl}.
303 Przekaż darowiznę na konto:
304 \href{http://nowoczesnapolska.org.pl/pomoz-nam/wesprzyj-nas/}{szczegóły na stronie Fundacji}.
312 \newcommand{\typosubsubsection}[1]{%
316 \newcommand{\typosubsection}[1]{%
319 {Size={-10}, Scale=1.2, FakeStretch=1.00, LetterSpace=8.0 },
320 {Size={10.5-12}, Scale=1.2, FakeStretch=1.00, LetterSpace=8.0 },
321 {Size={12-}, FakeStretch=1.0, LetterSpace=8.0 }
328 \newcommand{\typosection}[1]{%
329 {\addfontfeature{FakeStretch=0.96, LetterSpace=-4.0}\emph{\scalefont{2}#1}}
330 %{\addfontfeature{Scale=2.0, FakeStretch=0.98, LetterSpace=-2.0}\emph{#1}}
334 \newcommand{\tytul}[1]{%
339 \newcommand{\nazwapodutworu}[1]{%
340 \section*{\typosection{#1}}%
343 \newcommand{\autorutworu}[1]{%
344 \subsection*{\typosubsection{#1}}%
347 \newcommand{\dzielonadrzedne}[1]{%
348 \subsection*{\typosubsubsection{#1}}%
351 \newcommand{\nazwautworu}[1]{%
352 \section*{\typosection{#1}}%
355 \newcommand{\podtytul}[1]{%
356 \subsection*{\typosubsubsection{#1}}%
359 \newcommand{\translator}[1]{%
360 \subsection*{\typosubsubsection{tłum. #1}}%
364 \newcommand{\powiesc}[1]{#1}
365 \newcommand{\opowiadanie}[1]{#1}
366 \newcommand{\lirykal}[1]{#1}
367 \newcommand{\lirykalp}[1]{#1}
368 \newcommand{\dramatwierszowanyl}[1]{#1}
369 \newcommand{\dramatwierszowanylp}[1]{#1}
370 \newcommand{\dramatwspolczesny}[1]{#1}
372 \newcommand{\nota}[1]{%
376 \newcommand{\dedykacja}[1]{%
384 \newlength{\fboxhsep}
385 \newlength{\fboxvsep}
387 \newlength{\fboxtoprule}
388 \newlength{\fboxbottomrule}
389 \newlength{\fboxleftrule}
390 \newlength{\fboxrightrule}
392 \setlength{\fboxhsep}{5\fboxsep}
393 \setlength{\fboxvsep}{20\fboxsep}
395 \setlength{\fboxtoprule}{\fboxrule}
396 \setlength{\fboxleftrule}{\fboxrule}
397 \setlength{\fboxrightrule}{\fboxrule}
398 \setlength{\fboxbottomrule}{\fboxrule}
402 \def\@frameb@xother#1{%
403 \@tempdima\fboxtoprule
404 \advance\@tempdima\fboxvsep
405 \advance\@tempdima\dp\@tempboxa
407 \lower\@tempdima\hbox{%
409 \hrule\@height\fboxtoprule
411 \vrule\@width\fboxleftrule
418 \vrule\@width\fboxrightrule}%
419 \hrule\@height\fboxbottomrule}%
425 \long\def\fboxother#1{%
427 \setbox\@tempboxa\hbox{%
429 \kern\fboxhsep{#1}\kern\fboxhsep
431 \@frameb@xother\relax}
433 \newcommand{\myfbox}[3]{%
435 \setlength{\fboxhsep}{#1}
436 \setlength{\fboxvsep}{#2}
442 \newcommand{\ramka}[1]{%
444 \noindent\myfbox{1em}{1em}{%
445 \parbox{\textwidth}{%
451 \newcommand{\dlugicytat}[1]{%
457 \newcommand{\poezjacyt}[1]{%
462 \newcommand{\motto}[1]{%
467 \newcommand{\listaosob}[2]{%
474 \newcommand{\nagloweklisty}[1]{%
475 \typosubsubsection{#1}%
478 \newcommand{\listaosoba}[1]{%
482 \newcommand{\kwestia}[1]{%
486 \newcommand{\naglowekakt}[1]{%
488 \subsection*{\typosubsection{#1}}%
490 \newcommand{\naglowekczesc}[1]{%
492 \subsection*{\typosubsection{#1}}%
494 \newcommand{\srodtytul}[1]{%
495 \subsection*{\typosubsection{#1}}%
498 \newcommand{\naglowekscena}[1]{%
499 \subsubsection*{\typosubsubsection{#1}}%
501 \newcommand{\naglowekrozdzial}[1]{%
502 \subsubsection*{\typosubsubsection{#1}}%
505 \newcommand{\naglowekosoba}[1]{%
506 \par{\textsc{#1}}\nopagebreak%
508 \newcommand{\naglowekpodrozdzial}[1]{%
509 \vspace{5ex}\par{#1}\nopagebreak%
512 \newcommand{\miejsceczas}[1]{%
515 \newcommand{\didaskalia}[1]{%
521 \definecolor{gray}{RGB}{200,200,200}
523 \newlength{\parnumwidth}
524 \setlength{\parnumwidth}{3em}
526 \leavevmode\refstepcounter{parnum}\reversemarginpar%
527 \marginnote{\textcolor{gray}{\small{\theparnum}}}%
530 \leavevmode\refstepcounter{parnum}\reversemarginpar%
531 \ifnum\intcalcMod{\value{parnum}}{5}=0%
532 \marginnote{\textcolor{gray}{\small{\theparnum}}}%
533 \fi\reversemarginpar}
537 \newcommand{\akap}[1]{%
540 \newcommand{\akapdialog}[1]{%
543 \newcommand{\akapcd}[1]{%
547 \newcommand{\mottopodpis}[1]{%
555 \newcommand{\strofa}[1]{%
556 \par{\noindent{\ignorespaces#1\vspace{1em}}}%
559 \newcommand{\wers}[1]{\Nw#1}
561 \newcommand{\wersakap}[1]{%
564 \newcommand{\werscd}[1]{%
567 \newcommand{\werswciety}[2][1em]{%
570 \newcommand{\wersdoprawej}[1]{%
571 \Nw\hspace*{\fill}#1%
575 \newcommand{\pa}[1]{\NoCaseChange{\footnote{#1 [przypis autorski]}}}
576 \newcommand{\pe}[1]{\NoCaseChange{\footnote{#1 [przypis edytorski]}}}
577 \newcommand{\pr}[1]{\NoCaseChange{\footnote{#1 [przypis redakcyjny]}}}
578 \newcommand{\pt}[1]{\NoCaseChange{\footnote{#1 [przypis tłumacza]}}}
580 \newcommand{\pa}[1]{}
581 \newcommand{\pe}[1]{}
582 \newcommand{\pr}[1]{}
583 \newcommand{\pt}[1]{}
586 \newcommand{\mat}[1]{$#1$}
588 \newcommand{\didasktekst}[1]{%
591 \newcommand{\slowoobce}[1]{%
594 \newcommand{\tytuldziela}[1]{%
597 \newcommand{\wyroznienie}[1]{%
600 \newcommand{\indeksdolny}[1]{%
603 \newcommand{\wiekszeodstepy}[1]{%
604 \spaceskip 3\fontdimen2\font plus 3\fontdimen3\font minus 3\fontdimen4\font \relax%
606 \spaceskip \fontdimen2\font plus \fontdimen3\font minus \fontdimen4\font \relax%
609 \newcommand{\osoba}[1]{%
613 \newcommand{\sekcjaswiatlo}{%
617 \newcommand{\sekcjaasterysk}{%
624 \newcommand{\separatorlinia}{%
630 \newcommand{\motyw}[2][0]{%
635 \vspace{-#1\baselineskip}%
636 \raggedright{\hspace{0pt}%
637 \footnotesize{\color{theme}{#2}}}%
638 \vspace{\baselineskip}%
643 \newcommand{\ilustr}[2]{%
645 \par{\noindent\includegraphics[width=\linewidth]{#1}}%