% $Id: tex4ht-html5.tex 1182 2022-08-11 19:21:27Z michal_h21 $ % compile 3 times: latex tex4ht-moz % or xhlatex tex4ht-moz "html,3,sections+" % % Copyright 2009-2022 TeX Users Group % Copyright 2000-2009 Eitan M. Gurari % Released under LPPL 1.3c+. % See tex4ht-cpright.tex for license text. %%%%%%%%%%%%%%%%%% load style files %%%%%%%%%%%%%%%%%%%%%%%%%% \ifx \HTML\UnDef \def\HTML{html5} \def\CONFIG{\jobname} \def\MAKETITLE{\author{Eitan M. Gurari}} \def\next{\input mktex4ht.4ht \endinput} \expandafter\next \fi \input{common.tex} \input{tex4ht-cpright.tex} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Preamble} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \<<< % html5.4ht (|version), generated from |jobname.tex % Copyright 2016-2022 TeX Users Group | >>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Basic configurations} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{HTML5 structure} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \<<< | \Configure{VERSION}{} \Configure{DOCTYPE}{\HCode{\Hnewline}} \Configure{HTML}{\HCode{\Hnewline}}{\HCode{\Hnewline}} \Configure{@HEAD}{} \Configure{@HEAD}{\HCode{\Hnewline}} \Configure{@HEAD}{\HCode{\Hnewline}} \Configure{@HEAD}{\HCode{\Hnewline}} \Configure{@HEAD}{\HCode{\Hnewline}} \Configure{@HEAD} {\HCode{\Hnewline}} \:CheckOption{timestamp}\if:Option \Configure{@HEAD} {\HCode{\Hnewline}} \else \Log:Note{To print a timestamp, use the command line option timestamp} \fi >>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Language and charset setting} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Charset can be set using charset=charsetcode option for tex4ht.sty. It is saved in \verb|\a:charset| macro. If charset oprion isn't used, \verb|\A:charset| is used instead. Bot of these macros store the charset information in charset=name form. We need to add quotes around name in html5, thus the following macro. \<<< \def\:charset:quotes#1=#2.{ #1="#2"% } \def\use:charset{% \expandafter\ifx\csname a:charset\endcsname\relax% \expandafter\expandafter\expandafter\:charset:quotes\csname A:charset\endcsname. \else% \expandafter\expandafter\expandafter\:charset:quotes\csname a:charset\endcsname. \fi } >>> We can interfere the document language from \verb|\bbl@main@language| macro. It is supported by both Babel and Polyglossia. \<<< \def\Declare:Language#1#2{% \expandafter\gdef\csname rfclang#1\endcsname{#2}% } \def\Get:Language{% \ifx\bbl@main@language\@undefined en-US% \else% \expandafter\ifdefined\csname rfclang\bbl@main@language\endcsname \csname rfclang\bbl@main@language\endcsname\fi% \fi% } \Declare:Language{UKenglish}{en} \Declare:Language{USenglish}{en} \Declare:Language{latex}{en} \Declare:Language{acadian}{fr} \Declare:Language{albanian}{sq} \Declare:Language{american}{en} \Declare:Language{amharic}{am} \Declare:Language{arabic}{ar} \Declare:Language{armenian}{hy} \Declare:Language{australian}{en} \Declare:Language{austrian}{de} \Declare:Language{basque}{eu} \Declare:Language{bengali}{bn} \Declare:Language{brazilian}{pt} \Declare:Language{brazil}{pt} \Declare:Language{breton}{br} \Declare:Language{british}{en} \Declare:Language{bulgarian}{bg} \Declare:Language{canadian}{en} \Declare:Language{canadien}{fr} \Declare:Language{catalan}{ca} \Declare:Language{croatian}{hr} \Declare:Language{czech}{cs} \Declare:Language{danish}{da} \Declare:Language{divehi}{dv} \Declare:Language{dutch}{nl} \Declare:Language{english}{en} \Declare:Language{esperanto}{eo} \Declare:Language{estonian}{et} \Declare:Language{finnish}{f\/i} \Declare:Language{francais}{fr} \Declare:Language{french}{fr} \Declare:Language{galician}{gl} \Declare:Language{germanb}{de} \Declare:Language{german}{de} \Declare:Language{greek}{el} \Declare:Language{hebrew}{he} \Declare:Language{hindi}{hi} \Declare:Language{hungarian}{hu} \Declare:Language{icelandic}{is} \Declare:Language{interlingua}{ia} \Declare:Language{irish}{ga} \Declare:Language{italian}{it} \Declare:Language{kannada}{kn} \Declare:Language{khmer}{km} \Declare:Language{korean}{ko} \Declare:Language{lao}{lo} \Declare:Language{latin}{la} \Declare:Language{latvian}{lv} \Declare:Language{lithuanian}{lt} \Declare:Language{lowersorbian}{dsb} \Declare:Language{magyar}{hu} \Declare:Language{malayalam}{ml} \Declare:Language{marathi}{mr} \Declare:Language{naustrian}{de} \Declare:Language{newzealand}{en} \Declare:Language{ngerman}{de} \Declare:Language{norsk}{no} \Declare:Language{norwegiannynorsk}{nn} \Declare:Language{nynorsk}{no} \Declare:Language{occitan}{oc} \Declare:Language{oldchurchslavonic}{cu} \Declare:Language{persian}{fa} \Declare:Language{polish}{pl} \Declare:Language{polutonikogreek}{el} \Declare:Language{portuges}{pt} \Declare:Language{portuguese}{pt} \Declare:Language{romanian}{ro} \Declare:Language{romansh}{rm} \Declare:Language{russian}{ru} \Declare:Language{samin}{se} \Declare:Language{sanskrit}{sa} \Declare:Language{scottish}{gd} \Declare:Language{serbian}{sr} \Declare:Language{serbo-croatian}{sh} \Declare:Language{slovak}{sk} \Declare:Language{slovene}{sl} \Declare:Language{slovenian}{sl} \Declare:Language{spanish}{es} \Declare:Language{swedish}{sv} \Declare:Language{tamil}{ta} \Declare:Language{telugu}{te} \Declare:Language{thai}{th} \Declare:Language{tibetan}{bo} \Declare:Language{turkish}{tr} \Declare:Language{turkmen}{tk} \Declare:Language{ukrainian}{uk} \Declare:Language{uppersorbian}{hsb} \Declare:Language{urdu}{ur} \Declare:Language{vietnamese}{vi} \Declare:Language{welsh}{cy} >>> Support for xml name spaces. It must be configured after \verb|\begin{document}| in the configuration file. \<<< \edef\html:xmlns{} \NewConfigure{xmlns}[2]{% \ifx\relax#2\relax% \edef\html:xmlns{}% \else% \edef\html:xmlns{\html:xmlns xmlns\ifx\relax#1\relax\else :#1\fi="#2"}% \fi% } >>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{LaTeX and classes configurations} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{LaTeX} \<<< | >>> \section{Article, book and report classes} \<<< | | >>> \<<< | >>> \<<< | | >>> Shared configurations for base LaTeX classes. \<<< | >>> Configurations that are shared only for article and report \<<< | >>> \section{Configurations for Koma Script} \<<< | >>> \<<< | >>> \<<< | >>> \<<< | >>> \section{Configurations for AMS classes} \<<< | >>> \<<< | >>> \<<< | >>> \<<< | >>> \section{Configurations for Memoir} \<<< | | >>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Packages configuration} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Logical structure configurations} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Tables} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% cellspacing and cellpading attributes are prohibited in html5 \<<< \Configure{halignTB<>}{tabular}{\HCode{id="TBL-\TableNo" class="tabular"\Hnewline \GROUPS\Hnewline }<>\HAlign} >>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Figures} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Configure HTML5 figures. Floats are converted as captions too. \<<< \Configure{float} {\ifOption{refcaption}{}{\csname par\endcsname\ShowPar \leavevmode}} {\:xhtml{\IgnorePar\EndP}\HCode{
}} {\ifvmode \IgnorePar \fi\EndP \HCode{
}\csname par\endcsname\ShowPar} \ConfigureEnv{figure} {\:xhtml{\IgnorePar\EndP}\HCode{
\Hnewline}% \bgroup \Configure{float}{\ShowPar}{}{}% } {\egroup \:xhtml{\IgnorePar\EndP}\HCode{
}|\par} {}{} \ConfigureEnv{figure*} {\:xhtml{\IgnorePar\EndP}\HCode{
\Hnewline}% \bgroup \Configure{float}{\ShowPar}{}{}% } {\egroup \:xhtml{\IgnorePar\EndP}\HCode{
}|\par} {}{} \Css{figure.float, div.figure {margin-left: auto; margin-right: auto;}} \Css{figure.figure {text-align:center;}} \Configure{caption}{\:xhtml{\IgnorePar\EndP}\HCode{
}} {: } {\HCode{}} {\HCode{
}\HCode{}% } \Css{figcaption.caption {text-indent:-2em; margin-left:3em; margin-right:1em; text-align:center;}} \Css{figcaption.caption span.id{font-weight: bold; white-space: nowrap; }} \Css{p + figcaption, img + figcaption{margin-top: 1em;}} >>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Abstracts} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \<<< \ConfigureEnv{abstract} {\ifvmode\IgnorePar\fi\EndP\HCode{
\Hnewline}} {\ifvmode\IgnorePar\fi\EndP\HCode{
}\par}{}{} \Css{.abstract{margin:1em;}} >>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Utilities} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \<<< \ShowPar >>> \endinput