add some links and rights info in header,
authorRadek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>
Tue, 28 Dec 2010 13:52:18 +0000 (14:52 +0100)
committerRadek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>
Tue, 28 Dec 2010 13:52:18 +0000 (14:52 +0100)
use scalefont for prettier footnote links

librarian/pdf.py
librarian/pdf/wl.sty
librarian/xslt/wl2tex.xslt

index 5debb68..af68a1b 100644 (file)
@@ -36,7 +36,7 @@ STYLESHEETS = {
 }
 
 
-def insert_tags(doc, split_re, tagname):
+def insert_tags(doc, split_re, tagname, exclude=None):
     """ inserts <tagname> for every occurence of `split_re' in text nodes in the `doc' tree 
 
     >>> t = etree.fromstring('<a><b>A-B-C</b>X-Y-Z</a>');
@@ -46,6 +46,8 @@ def insert_tags(doc, split_re, tagname):
     """
 
     for elem in doc.iter(tag=etree.Element):
+        if exclude and elem.tag in exclude:
+            continue
         if elem.text:
             chunks = split_re.split(elem.text)
             while len(chunks) > 1:
@@ -67,13 +69,17 @@ def insert_tags(doc, split_re, tagname):
 def substitute_hyphens(doc):
     insert_tags(doc, 
                 re.compile("(?<=[^-\s])-(?=[^-\s])"),
-                "dywiz")
+                "dywiz",
+                exclude=[DCNS("identifier.url"), DCNS("rights.license")]
+                )
 
 
 def fix_hanging(doc):
     insert_tags(doc, 
                 re.compile("(?<=\s\w)\s+"),
-                "nbsp")
+                "nbsp",
+                exclude=[DCNS("identifier.url"), DCNS("rights.license")]
+                )
 
 
 def move_motifs_inside(doc):
index 579ee7f..f00ed70 100644 (file)
@@ -8,6 +8,8 @@
 \usepackage{xltxtra}
 
 \usepackage[overload]{textcase}
+\usepackage{scalefnt}
+\usepackage[colorlinks=true,linkcolor=black,urlcolor=black]{hyperref}
 
 \setmainfont [
 %ExternalLocation,
@@ -78,6 +80,19 @@ Letters={SmallCaps,UppercaseSmallCaps}
 \clubpenalty=100000
 \widowpenalty=100000
 
+
+% 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{\xglyphbox}{\char32}\settoheight{\xglyphheight}{\usebox {\xglyphbox}}%
+\raisebox{\ximageheight}[0pt][0pt]{%\raisebox{-\xglyphheight}[0pt] [0pt]{%
+\makebox[0pt][l]{\usebox{\xglyphbox}}}%}%
+\usebox{\ximagebox}%
+\raisebox{0pt}[0pt][0pt]{\makebox[0pt][r]{\usebox{\xglyphbox}}}}
+
+
 \renewcommand{\maketitle}{
     {
     \thispagestyle{empty}
@@ -85,18 +100,18 @@ Letters={SmallCaps,UppercaseSmallCaps}
     \color{theme}
 
     \noindent \begin{minipage}[t]{.35\textwidth}\vspace{0pt}
-        \includegraphics[width=\textwidth]{wl-logo.png}
+        \href{http://www.wolnelektury.pl}{\xbox{\includegraphics[width=\textwidth]{wl-logo.png}}}
     \end{minipage}
     \begin{minipage}[t]{.65\textwidth}\vspace{0pt}
         \sourceinfo
 
         \vspace{.5em}
 
-        Wejdź na stronę http://wolnelektury.pl/ i~zobacz, jak wiele możliwości daje interaktywna wersja szkolnej biblioteki
-        internetowej Wolne Lektury.
+        Wersja lektury w opracowaniu merytorycznym i krytycznym (przypisy i motywy)
+        dostępna jest \href{\bookurl}{na stronie Wolnych Lektur}.
         \vspace{.5em}
 
-        Ten utwór nie jest chroniony prawem autorskim i~znajduje się w~domenie publicznej, co oznacza, że możesz go swobodnie wykorzystywać, publikować i~rozpowszechniać.
+        \rightsinfo
 
         \vspace{.6em}
 
@@ -136,7 +151,8 @@ Letters={Uppercase}
 }
 
 \newcommand{\typosection}[1]{%
-{\addfontfeature{Scale=2.0, FakeStretch=0.98, LetterSpace=-2.0}\emph{#1}}
+{\addfontfeature{FakeStretch=0.96, LetterSpace=-4.0}\emph{\scalefont{2}#1}}
+%{\addfontfeature{Scale=2.0, FakeStretch=0.98, LetterSpace=-2.0}\emph{#1}}
 }
 
 \newcommand{\nazwapodutworu}[1]{%
index 61b22b0..b0d85fe 100644 (file)
         <xsl:apply-templates select=".//dc:creator_parsed/node()" mode="inline" />
     </parm></cmd>
     <TeXML escape="0">
-        \def\sourceinfo{<TeXML escape="1"><xsl:apply-templates select=".//dc:source/node()" mode="inline" /></TeXML>}
+        \def\sourceinfo{<xsl:apply-templates select=".//dc:source" mode="inline" />}
+        \def\bookurl{<xsl:value-of select=".//dc:identifier.url" />}
+        \def\rightsinfo{Ten utwór nie jest chroniony prawem autorskim i~znajduje się w~domenie publicznej,
+            co oznacza, że możesz go swobodnie wykorzystywać, publikować i~rozpowszechniać.}
+        <xsl:if test=".//dc:rights.license">
+            \def\rightsinfo{Ten utwór jest udostepniony na licencji
+            \href{<xsl:value-of select=".//dc:rights.license" />}{<xsl:value-of select=".//dc:rights" />}.}
+        </xsl:if>
     </TeXML>
 </xsl:template>