2 runs in creating pdf
[librarian.git] / librarian / pdf / wlpub.cls
index f2d3b36..b129cf9 100644 (file)
@@ -13,7 +13,6 @@
 % nowlfont - don't use customized WL font
 
 %\RequirePackage{geometry}
-
 \RequirePackage{setspace}
 \RequirePackage{type1cm}
 \RequirePackage{amssymb}
@@ -21,7 +20,8 @@
 \RequirePackage{paralist}
 \RequirePackage[normalem]{ulem}
 \RequirePackage{xifthen}
-
+\RequirePackage{environ} % environments with \BODY, for wyimek
+%\RequirePackage{indentfirst}
 %\DeclareOption{13pt}{%
 %\AtEndOfClass{%
 % font size definitions, similar to ones in /usr/share/texmf-texlive/tex/latex/base/
 \usepackage[MeX]{polski}
 \usepackage{icomma}
 \usepackage[xetex]{graphicx}
-\usepackage{fontspec}
+\usepackage[silent]{fontspec} % silent - no warnings, quiet - warn only to log
 \usepackage{xunicode}
 \usepackage{xltxtra}
-\usepackage{trimspaces}
+%\usepackage{trimspaces} % imported by something else?
 \usepackage{color}
 \usepackage[overload]{textcase}
 \usepackage{scalefnt}
-\usepackage[colorlinks=true,linkcolor=black,setpagesize=false,urlcolor=black,xetex]{hyperref}
+\usepackage[colorlinks=true,linkcolor=black,setpagesize=false,urlcolor=black,xetex,linktocpage]{hyperref}
+%\usepackage{hyperref}
 \usepackage{fancyhdr}
-\usepackage[explicit]{titlesec}
+\usepackage{endnotes}
 %\usepackage{fnpos}
 \usepackage{printlen}
 \usepackage{calc}
 \usepackage[stable]{footmisc}
 
+\usepackage{chngcntr}
+\counterwithout{footnote}{chapter}
+
+\usepackage[explicit]{titlesec}
+\usepackage{microtype}
+
+%% Wyimki - placing them on correct pages
+\usepackage{changepage}
+%\usepackage{fltpage}
+%\usepackage{float}
+
 \pagestyle{plain}
 % bottom figure below footnotes
 %\makeFNabove
 
+%%% Hyphenation opts:
+%\pretolerance=10000
+\tolerance=2600
+\emergencystretch=30pt
+
 
 %%%%%%%%%%%%%%%%%%%%%%% Paper size
 \setlength\baselineskip{7.14pt}
   \usepackage[%
     paperwidth=160mm,%
     paperheight=225mm,%
-    text={117mm,162mm},% 
-    top=30mm,% 
+    text={117mm,162mm},%
+    top=30mm,%
     headsep=8mm,%
     left=23mm,%
     right=30mm]{geometry}%
 \else
   \usepackage[%
-    top=\dimexpr14.5mm+\baselineskip-16pt\relax, % margin will be smaller to accomodate for bigger header (16pt) 
+    top=\dimexpr14.5mm+\baselineskip-16pt\relax, % margin will be smaller to accomodate for bigger header (16pt)
     headsep=3\baselineskip,
     headheight=16pt,
     bottom=26.3mm,%
@@ -158,13 +175,13 @@ Mapping=tex-text
 \setlength{\parindent}{3mm}
 \setlength{\parskip}{0mm}
 
-\renewcommand{\normalsize}{\fontsize{10.4}{14.28}\addfontfeature{LetterSpace=0.3}\selectfont}
-\renewcommand{\large}{\fontsize{14}{14.28}\addfontfeature{LetterSpace=0.3}\selectfont} % srodtytul
-\renewcommand{\small}{\fontsize{8}{14.28}\addfontfeature{LetterSpace=0.5}\selectfont} % paginy
-\renewcommand{\Large}{\fontsize{15}{21.42}\addfontfeature{LetterSpace=0.1}\selectfont} % tytuł rozdziału
-\renewcommand{\huge}{\fontsize{18}{21.6}\addfontfeature{LetterSpace=0.1}\selectfont} % wyimek
+\renewcommand{\normalsize}{\fontsize{10.4}{14.28}\addfontfeature{LetterSpace=3.0}\selectfont}
+\renewcommand{\large}{\fontsize{14}{14.28}\addfontfeature{LetterSpace=3.0,Letters=Uppercase}\selectfont} % srodtytul
+\renewcommand{\small}{\fontsize{8}{14.28}\addfontfeature{LetterSpace=5.0}\selectfont} % paginy
+\renewcommand{\Large}{\fontsize{15}{21.42}\addfontfeature{LetterSpace=0.0}\selectfont} % tytuł rozdziału
+\renewcommand{\huge}{\fontsize{18}{28.56}\addfontfeature{LetterSpace=1.0}\selectfont} % wyimek
 \renewcommand{\Huge}{\fontsize{24}{40}\selectfont} % cover
-\renewcommand{\footnotesize}{\fontsize{9}{10.74}\selectfont}
+\renewcommand{\footnotesize}{\addfontfeature{LetterSpace=1.0}\fontsize{9}{10.74}\selectfont}
 
 
 
@@ -182,8 +199,8 @@ Mapping=tex-text
 %%%%%%%%%% Nagłówek normalny
 \cfoot{}
 % this will go to \leftmark
-\renewcommand{\chaptermark}[1]{\markboth{\MakeUppercase{#1}}{}}
-\fancyhead[CE]{{\small\MakeUppercase{\@title}}}
+\renewcommand{\chaptermark}[1]{\markboth{\MakeTextUppercase{#1}}{}}
+\fancyhead[CE]{{\small\MakeTextUppercase{\@author, \@title}}}
 \fancyhead[CO]{{\small\leftmark}}
 \fancyhead[LE,RO]{{\small\intro\thepage}}
 %%%%%%%%%% Nagłówek pierwszej strony rozdziału
@@ -196,27 +213,31 @@ Mapping=tex-text
 
 %%%%%%%%%%%%%%%%%%%%%% Section title styles.
 %% Chapters
+
+% No chapter numbers in TOC
+\renewcommand{\thechapter}{}
+
 \titleformat{\chapter}[block]%
 {\Large\intro\addfontfeature{LetterSpace=0.5,Kerning={Uppercase}}}%
-{}{0pt}{\parbox{80mm}{\raggedright\MakeUppercase{#1}}}
+{}{0pt}{\parbox{80mm}{\raggedright#1}}
 \newlength{\chapterposcorrection}\newlength{\chapterspaceafter}
-\setlength{\chapterposcorrection}{-\headsep-2\baselineskip}
-\setlength{\chapterspaceafter}{14\baselineskip-14pt}%\f@size of large
+\setlength{\chapterposcorrection}{-\headsep-2\baselineskip-2.352mm} % 2.352 is a measured correction:
+\setlength{\chapterspaceafter}{14\baselineskip-14pt+2.352mm}%\f@size of large
 \titlespacing*{\chapter}{0pt}{\chapterposcorrection}{\chapterspaceafter}
 
 %% Sections
 \titleformat{\section}%
 {\addfontfeature{LetterSpace=0.3}\large}%
-{\thesection{}.}{.5em}{\MakeUppercase{#1}}
-
+{\thesection{}.}{.5em}{\MakeTextUppercase{#1}}
 \renewcommand{\thesection}{\Roman{section}}
+\titlespacing*{\section}{0pt}{\baselineskip}{0em}
 
-\titleformat{\subsection}[runin]%
+\titleformat{\subsection}[block]%
 {}%
-{\thesubsection{}.}{.5em}{\MakeUppercase{#1}.}[]
+{\thesubsection{}.}{.5em}{\MakeTextUppercase{#1}.}[]
 
 \renewcommand{\thesubsection}{\Alph{subsection}}
-\titlespacing*{\subsection}{0pt}{0pt}{.5em}
+\titlespacing*{\subsection}{0pt}{\baselineskip}{0em}
 
 \newcommand{\typosubsubsection}[1]{%
 {\textsc{#1}}
@@ -224,7 +245,7 @@ Mapping=tex-text
 
 %% XXX delete them
 \newcommand{\typosubsection}[1]{%
-{\MakeUppercase{#1}}
+{\MakeTextUppercase{#1}}
 }
 
 \newcommand{\typosection}[1]{%
@@ -235,7 +256,7 @@ Mapping=tex-text
 
 %%%%% Footnotes (works with footmisc) %%%%%%%%
 \newlength{\footnoteindent}\newlength{\footnoteprespace}
-\setlength{\footnoteindent}{6mm}%{3.5mm}
+\setlength{\footnoteindent}{8mm}%{3.5mm}
 \setlength{\footnoteprespace}{0em}
 \makeatletter
 
@@ -257,20 +278,92 @@ Mapping=tex-text
 %% %  \parindent 1em\noindent \hb@xt@ 1.8em{\hss \@makefnmark \enskip}#1
 %% }
 
+%%%%% Endnotes
+\newlength{\myendnoteprespace}\setlength{\myendnoteprespace}{.5em}
+\newlength{\myendnoteindent}\setlength{\myendnoteindent}{14mm+.5em}
+
+\renewcommand\theendnote{[\roman{endnote}]}
+\renewcommand\makeenmark{\hspace{\myendnoteprespace}\theenmark}
+\renewcommand{\notesname}{}
+\newcommand{\authornotes}{
+%  \newpage
+    \cleardoublepage
+    \chapter{Przypisy autora}
+    \setlength{\parindent}{0pt}
+    \def\enotesize{\normalsize}
+    \theendnotes
+}
+%% \newcommand{\@makeentext}[1]{%
+%% \noindent\theenmark\hspace{\footnoteindent}#1
+%% }
+
+%% \def\enoteformat{\rightskip\z@ \parindent=0em
+%%  \makebox[\myendnoteindent][l]{\makeenmark}} % 12.4mm - measured biggest endnote marker (in Moglen text [xxxviii])
+\def\enoteformat{\rightskip\z@ \setlength{\leftskip}{\myendnoteindent-\myendnoteprespace} \parindent=0em
+  \leavevmode\llap{\makebox[\myendnoteindent][l]{\makeenmark}}}
+
+
+% make public
 \def\trimspace#1{\trim@spaces{#1}}
 
 \makeatother
 
+%%%%%%%%%%%%%%%%%%%%%% Wyimki
+%% \floatstyle{plain}
+%% \newfloat{wyimekbox}{p}{wmk}
+%% \floatname{wyimekbox}{Wyimek}
 
-\clubpenalty=100000
-\widowpenalty=100000
+\NewEnviron{wyimek}{%
+  \checkoddpage
+  \ifoddpage
+    \PackageWarning{wlpub}{Wyimek on odd page, omitting it ( \BODY )}
+  \else
+    \begin{figure}[tp]
+      \begin{center}
+        \begin{minipage}[t][\textheight][c]{70mm}
+          \huge\it\BODY
+        \end{minipage}
+      \end{center}
+    \end{figure}
+  \fi
+  \BODY
+}
+
+%% wyimek that doesn't leave text in text flow
+%% TODO: reduce code duplication
+\NewEnviron{wyimekextra}{%
+  \checkoddpage
+  \ifoddpage
+    \PackageWarning{wlpub}{Wyimek on odd page, omitting it ( \BODY )}
+  \else
+    \begin{figure}[tp]
+      \begin{center}
+        \begin{minipage}[t][\textheight][c]{70mm}
+          \huge\it\BODY
+        \end{minipage}
+      \end{center}
+    \end{figure}
+  \fi
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\clubpenalty=700
+\widowpenalty=700
+\hyphenpenalty=3500
+\doublehyphendemerits=9000
+\finalhyphendemerits=6000
 
 
 % see http://osdir.com/ml/tex.xetex/2005-10/msg00003.html
 \newsavebox{\ximagebox}\newlength{\ximageheight}
 \newsavebox{\xglyphbox}\newlength{\xglyphheight}
 \newcommand{\xbox}[1]
-{\savebox{\ximagebox}{#1}\settoheight{\ximageheight}{\usebox {\ximagebox}}%
+{\savebox{\ximagebox}{#1}\settoheight{\ximageheight}{\usebox {\ximapgebox}}%
 \savebox{\xglyphbox}{\char32}\settoheight{\xglyphheight}{\usebox {\xglyphbox}}%
 \raisebox{\ximageheight}[0pt][0pt]{%\raisebox{-\xglyphheight}[0pt] [0pt]{%
 \makebox[0pt][l]{\usebox{\xglyphbox}}}%}%
@@ -279,8 +372,14 @@ Mapping=tex-text
 
 
 \newcommand{\makecover}{
-  %\pdfpagewidth=#1
-  %\pdfpageheight=#2
+  %% \paperwidth=297mm
+
+
+  %% \paperheight=210mm
+
+  \newgeometry{paperwidth=297mm,paperheight=210mm}
+  \pdfpageheight=210mm
+  \pdfpagewidth=297mm
 
   \thispagestyle{empty}
   \newlength{\PictHOffset}
@@ -300,13 +399,19 @@ Mapping=tex-text
 
   \noindent\hspace*{-\PictHOffset}%
   \raisebox{\PictVOffset}[0pt][0pt]{\makebox[0pt][l]{%
-      \includegraphics[height=\paperheight,width=\paperwidth]{cover.jpg}}}
+      \includegraphics[height=\pdfpageheight,width=\pdfpagewidth]{cover.pdf}}}
+
+  \restoregeometry
+  \pdfpageheight=210mm
+  \pdfpagewidth=148mm
 
   }
 
 \renewcommand{\maketitle}{
   %\vspace{\paperheight}
-  \newpage
+  \thispagestyle{empty}
+  \cleardoublepage
+  \setcounter{page}{1}
   \thispagestyle{empty}
   \begin{center}
   \intro
@@ -318,13 +423,13 @@ Mapping=tex-text
   \end{center}
 
   \vspace{\baselineskip}
-  
+
   \begin{center}
     \intro
     {
-      \huge \noindent 
+      \huge \noindent
       \theauthor
-      
+
     }
   \end{center}
                   %\emph{\thankyou}\\
@@ -334,17 +439,21 @@ Mapping=tex-text
   \begin{center}
     \includegraphics[scale=.2]{logo.eps}
   \end{center}
-  
+
 }
 
 
 \newcommand{\editorialsection}{
-  \newpage
+  \clearpage
   \thispagestyle{empty}
+  {
+    \setlength{\parindent}{0mm}
+    \small
   \input{editorial}
+  }
 }
 
-\renewcommand*\contentsname{Table of Contents}
+\renewcommand*\contentsname{Spis treści}
 \newcommand{\spistresci}{
 {
   \intro
@@ -402,13 +511,6 @@ Mapping=tex-text
 \newcommand{\dramatwierszowanylp}[1]{#1}
 \newcommand{\dramatwspolczesny}[1]{#1}
 
-\newcommand{\nota}[1]{%
-\begin{em}%
-\begin{flushleft}%
-\noindent #1%
-\end{flushleft}%
-\end{em}%
-}
 
 \newcommand{\dedykacja}[1]{%
 \begin{em}%
@@ -420,8 +522,9 @@ Mapping=tex-text
 
 \newcommand{\dlugicytat}[1]{%
 \begin{quotation}%
-#1%
+\noindent{}\ignorespaces#1%
 \end{quotation}%
+\hspace{\parindent}
 }
 
 \newcommand{\poezjacyt}[1]{%
@@ -472,11 +575,13 @@ Mapping=tex-text
 \newcommand{\theautorrozdzialu}{}
 
 \newcommand{\autorrozdzialu}[1]{%
-\renewcommand{\theautorrozdzialu}{\newline{}{\normalfont by}\newline#1}
+\renewcommand{\theautorrozdzialu}{{\normalfont\normalsize\newline{}\newline{}\parbox{\textwidth}{\normalsize\it #1}}}
 }
 
+
 \newcommand{\naglowekrozdzial}[1]{%
-\chapter[#1]{#1\theautorrozdzialu{}}\renewcommand{\theautorrozdzialu}{}%
+\chapter[#1]{\MakeUppercase{#1}\theautorrozdzialu{}}
+\renewcommand{\theautorrozdzialu}{}%
 }
 
 \newcommand{\naglowekosoba}[1]{%
@@ -494,7 +599,9 @@ Mapping=tex-text
 }
 
 \newcommand{\akap}[1]{%
-\par{#1}%
+#1
+
+% newline here needed, we don't use \par cause it ignores \noindent before
 }
 \newcommand{\akapdialog}[1]{%
 \par{#1}%
@@ -512,7 +619,7 @@ Mapping=tex-text
 }
 
 \newcommand{\strofa}[1]{%
-\par{\noindent{\ignorespaces#1\vspace{1em}}}%
+#1\vspace{\baselineskip}%
 }
 
 \newcommand{\wers}[1]{#1}
@@ -528,7 +635,7 @@ Mapping=tex-text
 }
 
 \ifshowfootnotes
-  \newcommand{\pa}[1]{\NoCaseChange{\footnote{#1 [przypis autorski]}}}
+  \newcommand{\pa}[1]{\NoCaseChange{\endnote{#1}}}
   \newcommand{\pe}[1]{\NoCaseChange{\footnote{#1}}}
   \newcommand{\pr}[1]{\NoCaseChange{\footnote{#1}}}
   \newcommand{\pt}[1]{\NoCaseChange{\footnote{#1}}}
@@ -547,23 +654,45 @@ Mapping=tex-text
 \newcommand{\slowoobce}[1]{%
 \emph{#1}%
 }
+\makeatletter
+
+\newif\ifinnota \innotafalse
+
 \newcommand{\tytuldziela}[1]{%
-\emph{#1}%
+  \ifinnota
+   #1%
+  \else
+   \emph{#1}%
+  \fi
 }
+\makeatother
+
 \newcommand{\wyroznienie}[1]{%
 \emph{#1}%
 }
 
+\newcommand{\nota}[1]{%
+%\sekcjaasterysk{}
+\begin{em}%
+  \innotatrue
+%\begin{flushleft}%
+  \noindent{}\small{}#1%
+  \innotafalse
+%\end{flushleft}%
+\end{em}%
+}
+
+
 \newcommand{\osoba}[1]{%
 #1%
 }
 
 \newcommand{\sekcjaswiatlo}{%
-\vspace{30pt}%
+\vspace{\baselineskip}%
 }
 
 \newcommand{\sekcjaasterysk}{%
-\vspace{10pt}%
+\vspace{\baselineskip}%
 \begin{center}%
 \par{*}%
 \end{center}%
@@ -579,13 +708,11 @@ Mapping=tex-text
 \newcommand{\setilustrscale}[1]{\renewcomand{\ilustrscale}{#1}}
 
 \newcommand{\ilustr}[3][]{
-  \vspace{2\baselineskip}%
   \begin{center}%
     \ifthenelse{\isempty{#1}}%
     {\par{\includegraphics{\trimspace{#2}}\\#3}}%
     {\par{\includegraphics[#1]{\trimspace{#2}}\\#3}}%
   \end{center}%
-  \vspace{2\baselineskip}%
 }
 
 
@@ -603,9 +730,10 @@ Mapping=tex-text
 }
 
 \newcommand{\lista}[1]{%
-\begin{compactitem}
+\begin{compactenum}
+%\setlength{\parskip}{\parindent}
 #1
-\end{compactitem}
+\end{compactenum}
 }
 
 \newcommand{\punkt}[1]{%
@@ -613,5 +741,4 @@ Mapping=tex-text
 }
 \newcommand{\link}[2]{\href{#1}{\uline{#2}\footnote{#1}}}
 
-\newcommand{\www}[1]{{\normalfont\small\href{#1}{#1}}}
-
+\newcommand{\www}[1]{{\normalfont\href{#1}{#1}}}