almos done
[librarian.git] / librarian / pdf / wl.cls
1 % -*- coding: utf-8 -*-
2 \NeedsTeXFormat{LaTeX2e}
3 \ProvidesClass{wl}[2011/11/28 wolnelektury.pl book style]
4
5 % PDF customizations
6 %
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
14
15 \RequirePackage{setspace}
16 \RequirePackage{type1cm}
17 \RequirePackage{amssymb}
18 \RequirePackage{amsmath}
19 \DeclareOption{13pt}{%
20 \AtEndOfClass{%
21 % font size definitions, similar to ones in /usr/share/texmf-texlive/tex/latex/base/
22 \renewcommand\normalsize{%
23    \@setfontsize\normalsize{13pt}{14.5pt}%
24    \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@
25    \abovedisplayshortskip \z@ \@plus3\p@
26    \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
27    \belowdisplayskip \abovedisplayskip
28    \let\@listi\@listI}\normalsize%
29 \renewcommand\footnotesize{%
30    \@setfontsize\footnotesize\@xpt\@xiipt
31    \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
32    \abovedisplayshortskip \z@ \@plus3\p@
33    \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
34    \def\@listi{\leftmargin\leftmargini
35                \topsep 6\p@ \@plus2\p@ \@minus2\p@
36                \parsep 3\p@ \@plus2\p@ \@minus\p@
37                \itemsep \parsep}%
38    \belowdisplayskip \abovedisplayskip
39 }%
40 }%
41 }
42
43 %% \DeclareOption{14pt}{\renewcommand{\normalsize}{\AtEndOfClass{\fontsize{14}{17}\selectfont}}}
44
45 \DeclareOption{defaultleading}{}
46 \DeclareOption{doubleleading}{\AtBeginDocument{\doublespacing}}%\setlength{\leading}{1em plus 0.5ex minus 0.2ex}}
47 \DeclareOption{onehalfleading}{\AtBeginDocument{\onehalfspacing}}%\setlength{\leading}{1em plus 0.5ex minus 0.2ex}}
48
49 %% 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.
50 \DeclareOption{a5paper}{%
51       \setlength{\paperheight}{210mm}%
52       \setlength{\paperwidth}{148mm}}
53
54
55 \newif\ifshowfootnotes \showfootnotestrue
56 \DeclareOption{nofootnotes}{\showfootnotesfalse}
57
58 \newif\ifshowthemes \showthemestrue
59 \DeclareOption{nothemes}{\showthemesfalse}
60
61 \newif\ifenablewlfont \enablewlfonttrue
62 \DeclareOption{nowlfont}{\enablewlfontfalse}
63
64 \DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}}
65 \ProcessOptions\relax
66 \LoadClass[a4paper]{book}
67
68
69 \usepackage{trace}
70 \usepackage{caption}
71 \usepackage{tabularx}
72 \usepackage[MeX]{polski}
73 \usepackage{icomma}
74 \usepackage[xetex]{graphicx}
75 \usepackage{fontspec}
76 \usepackage{xunicode}
77 \usepackage{xltxtra}
78
79
80 \usepackage[overload]{textcase}
81 \usepackage{scalefnt}
82 \usepackage[colorlinks=true,linkcolor=black,setpagesize=false,urlcolor=black,xetex]{hyperref}
83
84 \ifenablewlfont
85 \setmainfont [
86 %ExternalLocation,
87 UprightFont = JunicodeWL-Regular,
88 ItalicFont = JunicodeWL-Italic,
89 BoldFont = JunicodeWL-Regular,
90 BoldItalicFont = JunicodeWL-Italic,
91 SmallCapsFont = JunicodeWL-Regular,
92 SmallCapsFeatures = {Letters={SmallCaps,UppercaseSmallCaps}},
93 Numbers=OldStyle,
94 Scale=1.04,
95 LetterSpace=-1.0
96 ] {JunicodeWL}
97
98 \newfontfamily\alien[
99 SmallCapsFeatures = {Letters={SmallCaps,UppercaseSmallCaps}},
100 Numbers=OldStyle,
101 Scale=0.85,
102 LetterSpace=-1.0
103 ] {DejaVu Serif}
104
105
106 \defaultfontfeatures{
107 SizeFeatures={
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 }
111 }
112 }
113
114 \renewcommand{\textsc}[1]{%
115 {\addfontfeature{
116 SizeFeatures={
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 }
120 },
121 Letters={SmallCaps,UppercaseSmallCaps}
122 }
123 #1}
124 }
125 \fi% enablewlfont
126
127 %{\Itshape JunicodeWL-Italic.ttf }
128 %{\bfseries Junicode-Bold.ttf }
129 %{\bfseries\itshape Junicode-BoldItalic.ttf }
130
131 \pagestyle{plain}
132 \usepackage{fancyhdr}
133
134 \makeatletter
135
136 % bottom figure below footnotes
137 \usepackage{fnpos}
138 \makeFNabove
139
140 \usepackage{color}
141 \definecolor{theme}{gray}{.3}
142
143 \setlength{\marginparsep}{2em}
144 \setlength{\marginparwidth}{8.5em}
145 \setlength{\oddsidemargin}{36mm}
146 \setlength{\evensidemargin}{0pt}
147 \setlength{\voffset}{0pt}
148 \setlength{\topmargin}{0pt}
149 \setlength{\headheight}{0pt}
150 \setlength{\headsep}{0pt}
151 \setlength{\textheight}{24cm}
152
153 \pagestyle{fancy}
154 \fancyhf{}
155 \renewcommand{\headrulewidth}{0pt}
156 \renewcommand{\footrulewidth}{0pt}
157
158 %\lfoot{{\footnotesize \textsc{\@author} \emph{\@title}}}
159 \cfoot{}
160 %\rfoot{{\footnotesize \thepage}}
161 \fancyfoot[LO,RE]{{\footnotesize \textsc{\@author} \emph{\@title}}}
162 \fancyfoot[LE,RO]{{\footnotesize \thepage}}
163
164 \clubpenalty=100000
165 \widowpenalty=100000
166
167
168 % see http://osdir.com/ml/tex.xetex/2005-10/msg00003.html
169 \newsavebox{\ximagebox}\newlength{\ximageheight}
170 \newsavebox{\xglyphbox}\newlength{\xglyphheight}
171 \newcommand{\xbox}[1]
172 {\savebox{\ximagebox}{#1}\settoheight{\ximageheight}{\usebox {\ximagebox}}%
173 \savebox{\xglyphbox}{\char32}\settoheight{\xglyphheight}{\usebox {\xglyphbox}}%
174 \raisebox{\ximageheight}[0pt][0pt]{%\raisebox{-\xglyphheight}[0pt] [0pt]{%
175 \makebox[0pt][l]{\usebox{\xglyphbox}}}%}%
176 \usebox{\ximagebox}%
177 \raisebox{0pt}[0pt][0pt]{\makebox[0pt][r]{\usebox{\xglyphbox}}}}
178
179 \newcommand{\makecover}[2]{
180
181
182         %\pdfpagewidth=#1
183         %\pdfpageheight=#2
184
185         \thispagestyle{empty}
186         \newlength{\PictHOffset}
187         \newlength{\PictVOffset}
188         \setlength{\PictHOffset}{1in}
189         \addtolength{\PictHOffset}{\hoffset}
190         \addtolength{\PictHOffset}{\oddsidemargin}
191
192         \setlength{\PictVOffset}{1in}
193         \addtolength{\PictVOffset}{\voffset}
194         \addtolength{\PictVOffset}{\topmargin}
195         \addtolength{\PictVOffset}{\headheight}
196         \addtolength{\PictVOffset}{\headsep}
197         \addtolength{\PictVOffset}{\topskip}
198
199         \addtolength{\PictVOffset}{-#2}
200
201         \noindent\hspace*{-\PictHOffset}%
202         \raisebox{\PictVOffset}[0pt][0pt]{\makebox[0pt][l]{%
203             \includegraphics[height=#2,width=#1]{cover.jpg}}}
204         %\clearpage
205         \vspace{#2}
206
207         \hspace{-36mm}\parbox{16cm}{
208         {\addfontfeature{LetterSpace=-4.0}\emph{\scalefont{4}%
209             \noindent Philippe Aigrain
210         }}
211
212         \vspace{2em}
213         {\addfontfeature{LetterSpace=-4.0}{\scalefont{6}%
214             Dzielenie się
215         }}
216
217
218         \vspace{8em}
219
220 %\emph{\thankyou}\\
221 %\indent\emph{You made this book possible.}
222         }
223
224
225         %\setlength{\pdfpagewidth}{210mm}
226         %\setlength{\pdfpageheight}{297mm}
227 }
228
229
230 \renewcommand{\maketitle}{
231     {
232     \thispagestyle{empty}
233     \footnotesize
234     \color{theme}
235
236     \noindent \begin{minipage}[t]{.35\textwidth}\vspace{0pt}
237         \href{http://www.wolnelektury.pl}{\xbox{\includegraphics[width=\textwidth]{wl-logo.png}}}
238     \end{minipage}
239     \begin{minipage}[t]{.65\textwidth}\vspace{0pt}
240
241     \ifflaglessadvertising
242     \else
243         \href{\bookurl}{Ta lektura}, podobnie jak tysiące innych, jest dostępna on-line na stronie
244         \href{http://www.wolnelektury.pl/}{wolnelektury.pl}.
245         \vspace{.5em}
246     \fi
247
248     Utwór opracowany został w ramach projektu \href{http://www.wolnelektury.pl/}{Wolne Lektury}
249     przez \href{http://nowoczesnapolska.org.pl}{fundację Nowoczesna Polska}.
250
251     \end{minipage}
252     \noindent \rule{\linewidth}{0.4pt}
253
254     \vspace{.6em}
255     \color{black}
256     
257     }
258 }
259
260 \usepackage{printlen}
261
262 \newcommand{\editorialsection}{
263 \clearpage
264
265 %\set\textwidth=450pt
266 %\printlength\textwidth
267
268
269 %% {\scalefont{1.5}Drogi czytelniku!}
270
271
272
273 %% \vspace{1em}
274
275 %% \vspace{1em}
276 %% Zespół Fundacji Nowoczesna Polska
277
278 \vspace{4em}
279 \includegraphics[scale=.2]{logo.eps}
280 \vspace{1em}
281
282 \href{http://nowoczesnapolska.org.pl/}{http://nowoczesnapolska.org.pl/}
283
284 %\vspace{4em}
285 %\box{\tableofcontents}
286
287   \begin{figure}[b!]
288   {
289     \footnotesize
290     \color{theme}
291     \noindent \rule{\linewidth}{0.4pt}
292
293     \rightsinfo
294     \vspace{.6em}
295
296     %Źródło: \href{\bookurl}{\bookurl}
297
298     %\vspace{.6em}
299     %\sourceinfo
300
301     %\description
302     %\vspace{.6em}
303
304     Opublikowano przez \href{http://nowoczesnapolska.org.pl}{Fundację Nowoczesna Polska}, 2012.
305
306     \editors
307
308     %\vspace{.6em}
309     \coverby
310     
311     \color{black}
312     \clearpage
313   }
314   \end{figure}
315 }
316
317
318 \newcommand{\typosubsubsection}[1]{%
319 {\textsc{#1}}
320 }
321
322 \newcommand{\typosubsection}[1]{%
323 {\addfontfeature{
324 SizeFeatures={
325   {Size={-10}, Scale=1.2, FakeStretch=1.00, LetterSpace=8.0 },
326   {Size={10.5-12}, Scale=1.2, FakeStretch=1.00, LetterSpace=8.0 },
327   {Size={12-}, FakeStretch=1.0, LetterSpace=8.0 }
328 },
329 Letters={Uppercase}
330 }
331 \MakeUppercase{#1}}
332 }
333
334 \newcommand{\typosection}[1]{%
335 {\addfontfeature{FakeStretch=0.96, LetterSpace=-4.0}\emph{\scalefont{2}#1}}
336 %{\addfontfeature{Scale=2.0, FakeStretch=0.98, LetterSpace=-2.0}\emph{#1}}
337 }
338
339 \newcommand{\tytul}[1]{%
340 #1%
341 %\vspace{1em}%
342 }
343
344 \newcommand{\autorpodutworu}[1]{%
345 \section*{\typosection{#1}}%
346 }
347
348 \newcommand{\nazwapodutworu}[1]{%
349 \section*{\typosection{#1}}%
350 }
351
352 \newcommand{\autorutworu}[1]{%
353 \addcontentsline{toc}{part}{???}
354 \subsection*{\typosubsection{#1}}%
355 }
356
357 \newcommand{\dzielonadrzedne}[1]{%
358 \subsection*{\typosubsubsection{#1}}%
359 }
360
361 \newcommand{\nazwautworu}[1]{%
362 \section*{\typosection{#1}}%
363 }
364
365 \newcommand{\podtytul}[1]{%
366 \subsection*{\typosubsubsection{#1}}%
367 }
368
369 \newcommand{\podtytulpodutworu}[1]{%
370 \subsection*{\typosubsubsection{#1}}%
371 }
372
373 \newcommand{\translator}[1]{%
374 \subsection*{\typosubsubsection{tłum. #1}}%
375 }
376
377 \newcommand{\powiesc}[1]{#1}
378 \newcommand{\opowiadanie}[1]{#1}
379 \newcommand{\lirykal}[1]{#1}
380 \newcommand{\lirykalp}[1]{#1}
381 \newcommand{\dramatwierszowanyl}[1]{#1}
382 \newcommand{\dramatwierszowanylp}[1]{#1}
383 \newcommand{\dramatwspolczesny}[1]{#1}
384
385 \newcommand{\nota}[1]{%
386 \begin{quotation}%
387 #1%
388 \end{quotation}%
389 }
390
391 \newcommand{\dedykacja}[1]{%
392 \begin{em}%
393 \begin{flushright}%
394 #1%
395 \end{flushright}%
396 \end{em}%
397 }
398
399 \newcommand{\dlugicytat}[1]{%
400 \begin{quotation}%
401 #1%
402 \end{quotation}%
403 }
404
405 \newcommand{\poezjacyt}[1]{%
406 \begin{verse}%
407 #1%
408 \end{verse}%
409 }
410 \newcommand{\motto}[1]{%
411 \begin{em}%
412 #1%
413 \end{em}%
414 }
415 \newcommand{\listaosob}[2]{%
416 \par{#1}%
417 \begin{itemize}%
418 #2%
419 \end{itemize}%
420 }
421
422 \newcommand{\nagloweklisty}[1]{%
423 \typosubsubsection{#1}%
424 }
425
426 \newcommand{\listaosoba}[1]{%
427 \item{#1}%
428 }
429
430 \newcommand{\kwestia}[1]{%
431 \par{#1}%
432 }
433
434 \newcommand{\naglowekakt}[1]{%
435 \pagebreak
436 \subsection*{\typosubsection{#1}}%
437 }
438 \newcommand{\naglowekczesc}[1]{%
439 %\pagebreak
440 \subsection*{\typosubsection{#1}}%
441 }
442 \newcommand{\naglowekrozdzial}[1]{%
443 \subsection*{\typosubsection{#1}}%
444 }
445
446 \newcommand{\naglowekscena}[1]{%
447 \subsubsection*{\typosubsubsection{#1}}%
448 }
449 \newcommand{\naglowekpodrozdzial}[1]{%
450 \subsubsection*{\typosubsubsection{#1}}%
451 }
452
453 \newcommand{\naglowekosoba}[1]{%
454 \par{\textsc{#1}}\nopagebreak%
455 }
456 \newcommand{\srodtytul}[1]{%
457 \vskip 1em \par{\large \it \noindent #1}\vskip .5em\nopagebreak%
458 }
459
460 \newcommand{\miejsceczas}[1]{%
461 \par{\emph{#1}}%
462 }
463 \newcommand{\didaskalia}[1]{%
464 \par{\emph{#1}}%
465 }
466
467 \newcommand{\akap}[1]{%
468 \par{#1}%
469 }
470 \newcommand{\akapdialog}[1]{%
471 \par{#1}%
472 }
473 \newcommand{\akapcd}[1]{%
474 \par{#1}%
475 }
476
477 \newcommand{\mottopodpis}[1]{%
478 \begin{em}%
479 \begin{flushright}%
480 #1%
481 \end{flushright}%
482 \end{em}%
483 }
484
485 \newcommand{\strofa}[1]{%
486 \par{\noindent{\ignorespaces#1\vspace{1em}}}%
487 }
488
489 \newcommand{\wers}[1]{#1}
490
491 \newcommand{\wersakap}[1]{%
492 \hspace*{1em}#1%
493 }
494 \newcommand{\werscd}[1]{%
495 \hspace*{8em}#1%
496 }
497 \newcommand{\werswciety}[2][1em]{%
498 \hspace*{#1}#2%
499 }
500
501 \ifshowfootnotes
502   \newcommand{\pa}[1]{\NoCaseChange{\footnote{#1 [przypis autorski]}}}
503   \newcommand{\pe}[1]{\NoCaseChange{\footnote{#1}}}
504   \newcommand{\pr}[1]{\NoCaseChange{\footnote{#1}}}
505   \newcommand{\pt}[1]{\NoCaseChange{\footnote{#1}}}
506 \else
507   \newcommand{\pa}[1]{}
508   \newcommand{\pe}[1]{}
509   \newcommand{\pr}[1]{}
510   \newcommand{\pt}[1]{}
511 \fi
512
513 \newcommand{\mat}[1]{$#1$}
514
515 \newcommand{\didasktekst}[1]{%
516 \emph{#1}%
517 }
518 \newcommand{\slowoobce}[1]{%
519 \emph{#1}%
520 }
521 \newcommand{\tytuldziela}[1]{%
522 \emph{#1}%
523 }
524 \newcommand{\wyroznienie}[1]{%
525 \emph{#1}%
526 }
527
528 \newcommand{\osoba}[1]{%
529 #1%
530 }
531
532 \newcommand{\sekcjaswiatlo}{%
533 \vspace{30pt}%
534 }
535
536 \newcommand{\sekcjaasterysk}{%
537 \vspace{10pt}%
538 \begin{center}%
539 \par{*}%
540 \end{center}%
541 \noindent%
542 }
543
544 \newcommand{\separatorlinia}{%
545 \vspace{10pt}%
546 \hrule{}%
547 \vspace{10pt}%
548 }
549
550 \newcommand{\motyw}[2][0]{%
551 \ifshowthemes
552 \mbox{}%
553 \marginpar{%
554 \vspace{-8pt}%
555 \vspace{-#1\baselineskip}%
556 \raggedright{\hspace{0pt}%
557 \footnotesize{\color{theme}{#2}}}%
558 \vspace{\baselineskip}%
559 }%
560 \fi
561 }
562
563 \newcommand{\ilustr}[2]{
564
565 \vspace{1em}%
566 \begin{center}%
567 \par{\includegraphics[width=\textwidth]{#1}\\#2}%
568 \end{center}%
569 \vspace{1em}%
570 }