merge conflicting on stripping spaces
[librarian.git] / librarian / pdf / wlpub.cls
index 4ed3d0e..b129cf9 100644 (file)
@@ -19,6 +19,9 @@
 \RequirePackage{amsmath}
 \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{fnpos}
+\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
+%\makeFNabove
+
+%%% Hyphenation opts:
+%\pretolerance=10000
+\tolerance=2600
+\emergencystretch=30pt
 
 
 %%%%%%%%%%%%%%%%%%%%%%% Paper size
   \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,%
@@ -150,17 +172,16 @@ Mapping=tex-text
 }
 \makeatother
 
-
-\renewcommand{\normalsize}{\fontsize{10.4}{14.28}\addfontfeature{LetterSpace=0.3}\selectfont}
-\setlength{\parindent}{4mm}
+\setlength{\parindent}{3mm}
 \setlength{\parskip}{0mm}
 
-\renewcommand{\large}{\fontsize{14}{14.28}\selectfont} % srodtytul
-\renewcommand{\small}{\fontsize{8}{14.28}\selectfont} % paginy
-\renewcommand{\Large}{\fontsize{15}{21.42}\selectfont} % tytuł rozdziału
-\renewcommand{\huge}{\fontsize{18}{21.6}\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}
 
 
 
@@ -178,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
@@ -191,26 +212,32 @@ Mapping=tex-text
 \makeatother
 
 %%%%%%%%%%%%%%%%%%%%%% Section title styles.
-%% Sections
+%% 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}
 
-%% Subsections
+%% 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}%
+\titleformat{\subsection}[block]%
 {}%
-{\thesubsection}{0pt}{\fakesc{#1}}
+{\thesubsection{}.}{.5em}{\MakeTextUppercase{#1}.}[]
 
+\renewcommand{\thesubsection}{\Alph{subsection}}
+\titlespacing*{\subsection}{0pt}{\baselineskip}{0em}
 
 \newcommand{\typosubsubsection}[1]{%
 {\textsc{#1}}
@@ -218,7 +245,7 @@ Mapping=tex-text
 
 %% XXX delete them
 \newcommand{\typosubsection}[1]{%
-{\MakeUppercase{#1}}
+{\MakeTextUppercase{#1}}
 }
 
 \newcommand{\typosection}[1]{%
@@ -227,39 +254,116 @@ Mapping=tex-text
 }
 %%%%%%%%%%%%%%%%%% ^^
 
-%%%%% Footnotes %%%%%%%%
+%%%%% Footnotes (works with footmisc) %%%%%%%%
 \newlength{\footnoteindent}\newlength{\footnoteprespace}
-\setlength{\footnoteindent}{6mm}%{3.5mm}
-\setlength{\footnoteprespace}{.3em}
+\setlength{\footnoteindent}{8mm}%{3.5mm}
+\setlength{\footnoteprespace}{0em}
 \makeatletter
 
 \renewcommand\@makefnmark{%
-\hspace{\footnoteprespace}\hbox{{\normalfont \@thefnmark}}%
+\hspace{\footnoteprespace}
+\hbox{{\normalfont \@thefnmark}}%
 }
 \renewcommand\thefootnote{[\arabic{footnote}]}
 
-\long\def\@makefntext#1{%
-\setlength{\leftskip}{\footnoteindent}%
-\setlength{\hskip}{-\footnoteindent-\footnoteprespace-.1em}%
-\hb@xt@ \dimexpr\footnoteindent+\footnoteprespace%
-{\@makefnmark}#1
-%  \parindent 1em\noindent \hb@xt@ 1.8em{\hss \@makefnmark \enskip}#1
-}
-
+\setlength{\footnotemargin}{-\footnoteindent-\footnoteprespace-.3em}
+\renewcommand\footnotelayout[1]{%
+  \setlength{\leftskip}{\footnoteindent}#1}
+
+%% \long\def\@makefntext#1{%
+%% \setlength{\leftskip}{\footnoteindent}%
+%% \setlength{\hskip}{-\footnoteindent-\footnoteprespace-.1em}%
+%% \hb@xt@ \dimexpr\footnoteindent+\footnoteprespace%
+%% {\@makefnmark}#1
+%% %  \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}
+
+\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=100000
-\widowpenalty=100000
+%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\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}}}%}%
@@ -268,9 +372,14 @@ Mapping=tex-text
 
 
 \newcommand{\makecover}{
+  %% \paperwidth=297mm
+
 
-  %\pdfpagewidth=#1
-  %\pdfpageheight=#2
+  %% \paperheight=210mm
+
+  \newgeometry{paperwidth=297mm,paperheight=210mm}
+  \pdfpageheight=210mm
+  \pdfpagewidth=297mm
 
   \thispagestyle{empty}
   \newlength{\PictHOffset}
@@ -290,11 +399,19 @@ Mapping=tex-text
 
   \noindent\hspace*{-\PictHOffset}%
   \raisebox{\PictVOffset}[0pt][0pt]{\makebox[0pt][l]{%
-      \includegraphics[height=\paperheight,width=\paperwidth]{cover.jpg}}}
-  \newpage
-  %\vspace{\paperheight}
+      \includegraphics[height=\pdfpageheight,width=\pdfpagewidth]{cover.pdf}}}
 
+  \restoregeometry
+  \pdfpageheight=210mm
+  \pdfpagewidth=148mm
 
+  }
+
+\renewcommand{\maketitle}{
+  %\vspace{\paperheight}
+  \thispagestyle{empty}
+  \cleardoublepage
+  \setcounter{page}{1}
   \thispagestyle{empty}
   \begin{center}
   \intro
@@ -305,48 +422,47 @@ Mapping=tex-text
   }
   \end{center}
 
-  \vspace{2em}
-  
+  \vspace{\baselineskip}
+
   \begin{center}
     \intro
     {
-    \huge \noindent \theauthor
+      \huge \noindent
+      \theauthor
+
     }
   \end{center}
                   %\emph{\thankyou}\\
                   %\indent\emph{You made this book possible.}
-  \vspace{16em}
+  \vspace{7\baselineskip}
 
   \begin{center}
     \includegraphics[scale=.2]{logo.eps}
   \end{center}
 
-  \newpage
-  \thispagestyle{empty}
-
-  \input{editorial}
-
-  
-  }
-
-
-
-\renewcommand{\maketitle}{
-    {
-    \thispagestyle{empty}
-    \footnotesize
-    \color{theme}
-    \noindent \rule{\linewidth}{0.4pt}
-
-    \vspace{.6em}
-    \color{black}
-    }
 }
 
 
 \newcommand{\editorialsection}{
+  \clearpage
+  \thispagestyle{empty}
+  {
+    \setlength{\parindent}{0mm}
+    \small
+  \input{editorial}
+  }
+}
 
+\renewcommand*\contentsname{Spis treści}
+\newcommand{\spistresci}{
+{
+  \intro
+  \setcounter{tocdepth}{0}
+  \tableofcontents
+  \newpage
 }
+}
+
 
 
 
@@ -395,13 +511,6 @@ Mapping=tex-text
 \newcommand{\dramatwierszowanylp}[1]{#1}
 \newcommand{\dramatwspolczesny}[1]{#1}
 
-\newcommand{\nota}[1]{%
-\begin{em}%
-\begin{flushright}%
-#1%
-\end{flushright}%
-\end{em}%
-}
 
 \newcommand{\dedykacja}[1]{%
 \begin{em}%
@@ -413,8 +522,9 @@ Mapping=tex-text
 
 \newcommand{\dlugicytat}[1]{%
 \begin{quotation}%
-#1%
+\noindent{}\ignorespaces#1%
 \end{quotation}%
+\hspace{\parindent}
 }
 
 \newcommand{\poezjacyt}[1]{%
@@ -455,7 +565,7 @@ Mapping=tex-text
 \part{#1}%
 }
 \newcommand{\srodtytul}[1]{%
-\subsection*{\typosubsection{#1}}%
+\subsection{#1}%
 }
 
 \newcommand{\naglowekscena}[1]{%
@@ -465,11 +575,13 @@ Mapping=tex-text
 \newcommand{\theautorrozdzialu}{}
 
 \newcommand{\autorrozdzialu}[1]{%
-\renewcommand{\theautorrozdzialu}{\newline\newline#1}
+\renewcommand{\theautorrozdzialu}{{\normalfont\normalsize\newline{}\newline{}\parbox{\textwidth}{\normalsize\it #1}}}
 }
 
+
 \newcommand{\naglowekrozdzial}[1]{%
-\chapter{#1\theautorrozdzialu{}}\renewcommand{\theautorrozdzialu}{}%
+\chapter[#1]{\MakeUppercase{#1}\theautorrozdzialu{}}
+\renewcommand{\theautorrozdzialu}{}%
 }
 
 \newcommand{\naglowekosoba}[1]{%
@@ -487,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}%
@@ -505,7 +619,7 @@ Mapping=tex-text
 }
 
 \newcommand{\strofa}[1]{%
-\par{\noindent{\ignorespaces#1\vspace{1em}}}%
+#1\vspace{\baselineskip}%
 }
 
 \newcommand{\wers}[1]{#1}
@@ -521,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}}}
@@ -540,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}%
@@ -568,12 +704,15 @@ Mapping=tex-text
 \vspace{10pt}%
 }
 
-\newcommand{\ilustr}[2]{
-  \vspace{1em}%
+\newcommand{\ilustrscale}[0]{1}
+\newcommand{\setilustrscale}[1]{\renewcomand{\ilustrscale}{#1}}
+
+\newcommand{\ilustr}[3][]{
   \begin{center}%
-    \par{\includegraphics[width=\textwidth]{\trimspace{#1}}\\#2}%
+    \ifthenelse{\isempty{#1}}%
+    {\par{\includegraphics{\trimspace{#2}}\\#3}}%
+    {\par{\includegraphics[#1]{\trimspace{#2}}\\#3}}%
   \end{center}%
-  \vspace{1em}%
 }
 
 
@@ -591,9 +730,10 @@ Mapping=tex-text
 }
 
 \newcommand{\lista}[1]{%
-\begin{compactitem}
+\begin{compactenum}
+%\setlength{\parskip}{\parindent}
 #1
-\end{compactitem}
+\end{compactenum}
 }
 
 \newcommand{\punkt}[1]{%
@@ -601,5 +741,4 @@ Mapping=tex-text
 }
 \newcommand{\link}[2]{\href{#1}{\uline{#2}\footnote{#1}}}
 
-\newcommand{\www}[1]{\url{#1}}
-
+\newcommand{\www}[1]{{\normalfont\href{#1}{#1}}}