summaryrefslogtreecommitdiff
path: root/support/tex4ebook/tex4ebook-epub3.4ht
blob: a470e053d5c94a63379d57921cc2f72982f96837 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
%\typeout{!!!!!!!!!!!!!!!!!!!!!!!!!!!epub3!!!!!!!!!!!!}
\Configure{NcxDoctype}{}
\Configure{VERSION}{}

% we must remove attributes from opf namespace
\def\print:opf:scheme#1{}
\Configure{OpfScheme}{}

\Configure{OpfMetadata}{\HCode{<meta property="dcterms:modified">}\:iso:date\HCode{</meta>}}

%%%%%%%%%%%%%%%%%%%%%%%
%% Configure toc nav %%
%%%%%%%%%%%%%%%%%%%%%%%
\Configure{tableofcontents}{
  \a:NavMap
  \resettoclevels{part,appendix,chapter,section,subsection,subsubsection}
  \navsection{part}{part,appendix,chapter,section,subsection,subsubsection}
  \navsection{appendix}{appendix,chapter,section,subsection,subsubsection}
  \navsection{chapter}{appendix,chapter,section,subsection,subsubsection}
  \navsection{section}{section,subsection,subsubsection}
  \navsection{subsection}{subsection,subsubsection}
  \navsection{subsubsection}{subsubsection}
   %\HtmlParOff
    \Configure{toTocLink}{}{}   
}{\b:NavMap}{}{}{}
%%%%%%%%%%%
\newcount\:toccount
\Configure{NavMap}{\ifvmode\IgnorePar\fi\EndP\boolfalse{tocnoempty}\global\advance\:toccount by1\HCode{<nav id="toc\the\:toccount" class="toc" \ifnum\:toccount<2 epub:type="toc"\fi>\Hnewline<ol>}%
\opf:registerfilename{\FileName}
\ifnum\:toccount<2 \opf:add:property{nav}\fi
}{\usetoclevels{part,appendix,chapter,section,subsection,subsubsection}%
	\ifbool{tocnoempty}{}{\HCode{<li><a href="\jobname.\:html">Document</a></li>}}
	\HCode{</ol></nav>}}
%%%%%%%%%%%
\Configure{NavSection}{%
	\booltrue{tocnoempty}
	\HCode{<li>}}{\HCode{<ol>\Hnewline}}{\ }{\Tg</ol>\Tg</li>}
% Disable numbering of the TOC by the reading system, numbers are added by tex4ht
\Css{nav.toc ol{list-style: none;}}
%%%% End toc nav configuration
\def\CoverMetadata#1{%
\special{t4ht+@File: #1}%
\Configure{OpfManifest}{\HCode{<item id="cover-image" properties="cover-image" href="#1" media-type="\a:CoverMimeType" />}}%
}
%\Configure{CoverImage}{%
%  \HPage{}%
%  \Configure{OpfManifest}{\HCode{<item id="cover-image" properties="cover-image" href="}\CoverImageName\HCode{" media-type="\a:CoverMimeType" />}}%
  %\box0=\hbox\bgroup
%  \ifvmode \IgnorePar\fi \EndP%
%  \HCode{<section epub:type="cover">\Hnewline}}
%}
%  {%\ifvmode \IgnorePar\fi \EndP%
   %\HCode{</section>\Hnewline}%
   %\EndHPage{}
   %\egroup
%}
%\:CheckOption{mathml}
%\if:Option
\apptocmd{\a:DviMath}{\opf:add:property{mathml}}{}{}%
%\fi
\Configure{DOCTYPE}{\HCode{<!DOCTYPE html>\Hnewline}}
\Configure{xmlns}{}{http://www.w3.org/1999/xhtml}
\Configure{xmlns}{epub}{http://www.idpf.org/2007/ops}
%\Configure{xmlns}{m}{http://www.w3.org/1998/Math/MathML}
%\Configure{HTML}{\HCode{<html\t4ht:xmlns lang=\"}\GetLanguage\HCode{">\Hnewline}}{\HCode{\Hnewline</html>}}
\Configure{HTML}{\HCode{<html\t4ht:xmlns lang="}\NoFonts\GetLanguage\EndNoFonts
\HCode{">\Hnewline}}{\HCode{\Hnewline</html>}}
\Configure{@HEAD}{}
\Configure{@HEAD}{\HCode{<meta charset="UTF-8" />\Hnewline}}
\Configure{@HEAD}{\HCode{<meta name="generator" content="TeX4ht
		(http://www.cse.ohio-state.edu/\string~gurari/TeX4ht/)" />\Hnewline}}
\Configure{@HEAD}{\HCode{<link
 rel="stylesheet" type="text/css"
 href="\expandafter\csname aa:CssFile\endcsname" />\Hnewline}}
\Configure{EpubVersion}{3.0}
\Configure{OpfItemProperties}{properties="}{"}

% Structural elements

\:CheckOption{fn-in}
\if:Option
\else
% Foootnote configuration for epub3
% Footnotes are printed directly after the paragraph they appeared in
% footnotebox - configure box in which footnotes are printed
% default configuration doesn't work in ibooks, don't know why
\NewConfigure{footnotebox}{2}
\Configure{footnotebox}{\HCode{<section epub:type="footnotes" class="footnotes">\Hnewline}}
{\HCode{\Hnewline</section>\Hnewline}}
\newbox\footnotebox
% We must create new link command, so footnote mark can link to footnote text
\LinkCommand\fnlink{aside,href,id,class="footnote" epub:type="footnote"}
\Configure{footnotemark}{\NoFonts\Link[ epub:type="noteref"]{fn\FNnum x\minipageNum}{}}{\EndLink\EndNoFonts}
\Configure{footnotetext}{\global\setbox\footnotebox=\vtop\bgroup\NoFonts%
	\ifvoid\footnotebox\else\unvbox\footnotebox\fi%
	\IgnorePar%
	\bgroup%
	\fnlink{}{fn\FNnum x\minipageNum}\Tg<p>\AnchorLabel%
}{\EndNoFonts}
{%
	\HCode{</p>\Hnewline}
	\Endfnlink\egroup\egroup}%

\def\printfn{%
	\ifvoid\footnotebox\else%
	\a:footnotebox%
	\box\footnotebox%
	\b:footnotebox%
	\fi%
}

% configure HtmlPar to print footnotebox.
\Configure{HtmlPar}
{\EndP\HCode{<p class="noindent">}}
{\EndP\HCode{<p class="indent">}}
{\HCode{</p>\Hnewline}\printfn}
{\HCode{</p>\Hnewline}\printfn}

\Css{.footnote{font-size:small;}}
\Css{.footnotes hr{width:30\%;margin:0 auto 0 0;}}
\fi