Generate HTML via make4ht (#20)

This patch generates HTML files with "make4ht" in the "html" directory.

Known issues with "make4ht":
Running "make4ht -suf html5 -d html lkmpg.tex" will cause the following
flaws:
1. The layout was unsatisfying.
2. After parsing TeX, it stoped at "\tableofcontents" with errors.
3. Several unneeded files were generated.
4. No way to specify the destination filename for HTML generation.

Solutions/workaround:
1. Use customized configuration file "html.cfg" to specify the layout style.
2. Turn off the \tableofcontents section when using make4ht. However, this
    results in the lack of table of contents in HTML. It can be fixed by
    appending "\Configure{tableofcontents*}{chapter,section,subsection}"
    to configuration file.
3. The build system removes the temporary files.
4. Use a symbolic link "index.html" to "lkmpg.html".
This commit is contained in:
fennecJ 2021-08-02 02:42:39 +08:00 committed by GitHub
parent d097d0c472
commit 044cfefe65
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 60 additions and 0 deletions

12
.gitignore vendored
View File

@ -15,3 +15,15 @@ _minted-lkmpg
*.out *.out
lkmpg.pdf lkmpg.pdf
*.toc *.toc
# make4ht
*.html
*.svg
*.tmp
*.css
*.4ct
*.4tc
*.dvi
*.lg
*.idv
*.xref

View File

@ -4,6 +4,14 @@ all: lkmpg.tex
bibtex main >/dev/null || echo bibtex main >/dev/null || echo
pdflatex -shell-escape $< 2>/dev/null >/dev/null pdflatex -shell-escape $< 2>/dev/null >/dev/null
html: lkmpg.tex html.cfg
make4ht --shell-escape --utf8 --format html5 --config html.cfg --output-dir html lkmpg.tex
ln -sf lkmpg.html html/index.html
rm -f lkmpg.xref lkmpg.tmp lkmpg.html lkmpg.css lkmpg.4ct lkmpg.4tc lkmpg.dvi lkmpg.lg lkmpg.idv lkmpg*.svg lkmpg.log lkmpg.aux
clean: clean:
rm -f *.dvi *.aux *.log *.ps *.pdf *.out lkmpg.bbl lkmpg.blg lkmpg.lof lkmpg.toc rm -f *.dvi *.aux *.log *.ps *.pdf *.out lkmpg.bbl lkmpg.blg lkmpg.lof lkmpg.toc
rm -rf _minted-lkmpg rm -rf _minted-lkmpg
rm -rf html
.PHONY: html

36
html.cfg Normal file
View File

@ -0,0 +1,36 @@
\Preamble{xhtml}
\Configure{tableofcontents*}{chapter,section,subsection}
\Css{* :not(img) {
max-width: 100\%;
width: 50vw;
height: auto;
margin: 0 auto;
}}
\Css{* {
font-size: 1vw;
}}
\Css{.ecrm-0500 {
font-size: 70\%;
font-style: italic;
color: gray;
-webkit-user-select: none;
-moz-user-select: none;
-o-user-select: none;
user-select: none;
}}
\Css{.ecrm-0500:after {
content:" ";
white-space: pre;
-webkit-user-select: none;
-moz-user-select: none;
-o-user-select: none;
user-select: none;
}}
\begin{document}
\EndPreamble

View File

@ -40,7 +40,11 @@
\begin{document} \begin{document}
\maketitle \maketitle
\ifdefined\HCode
% turn off TOC
\else
\tableofcontents \tableofcontents
\fi
\section{Introduction} \section{Introduction}
\label{sec:introduction} \label{sec:introduction}