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