tex.mk: Generate html via tex4ht

This commit is contained in:
Jan Lindemann 2010-03-07 10:54:37 +00:00 committed by Jan Lindemann
commit a4b635ce1c

View file

@ -28,6 +28,8 @@ GENERATED_TEX = $(filter %.tex,$(GENERATED))
GENERATED_EPS = $(filter %.png,$(GENERATED))
GENERATED_HTML = $(filter %.html,$(GENERATED))
CMD_PARSE_GRAPHICS = sed '/includegraphics/ !d; s/[^{]*{\([^}]*\).*/\1/; /^\.\./ d; s/^.\///' *.tex *.tmpl | sort -u
# all
TEX = $(PRE_TEX_LOCAL) $(GENERATED_TEX)
EPS = $(GENERATED_EPS)
@ -137,6 +139,7 @@ txt: dirs $(OUT).txt.zip
html: dirs $(OUT).html.zip
pdf: dirs $(OUT).pdf.zip
odt: dirs $(OUT).odt
texsrc: $(GENERATED)
# generate from remote rules
%.png: $(TEX_TMPL_DIR)/%.fig
@ -236,25 +239,24 @@ $(OUT).tex.zip: cfgtest $(LATEX_INPUT)
#$(OUT).txt.zip: $(OUTPUT).txt
# zip $@ $<
$(HTMLDIR): $(LATEX_INPUT) $(HTML_INPUT) tex pdf # txt ps dvi
TEX4HT_FIRST_LATEX_LINE = \
'\makeatletter\def\HCode{\futurelet\HCode\HChar}\def\HChar{\ifx"\HCode\def\HCode"\#\#1"{\Link\#\#1}\expandafter\HCode\else\expandafter\Link\fi}\def\Link\#1.a.b.c.{\g@addto@macro\@documentclasshook{\RequirePackage[\#1,html,3,sections+]{tex4ht}}\let\HCode\documentstyle\def\documentstyle{\let\documentstyle\HCode\expandafter\def\csname tex4ht\endcsname{\#1,html,3}\def\HCode\#\#\#\#1{\documentstyle[tex4ht,3}\@ifnextchar[{\HCode}{\documentstyle[tex4ht]}}}\makeatother\HCode .a.b.c.\input'
$(HTMLDIR): $(LATEX_INPUT) $(HTML_INPUT)
test $(MAIN) != index
rm -rf $@
mkdir -p $@
latex2html -split 4 -show_section_numbers -dir $(HTMLDIR) $(MAIN).tex
for OLD in $(HTMLDIR)/*.html; do \
sed "s/file:\/usr\/lib\/latex2html\/icons\///g; s/$(MAIN).html/index.html/g;" $$OLD>$$OLD.new; \
mv $$OLD.new $$OLD; \
done
rm $(HTMLDIR)/$(MAIN).html
cp -r $(DISTDIR) $@/download
cat index_head.html > $(HTMLDIR)/index.html
for FILE in $(wildcard $(DISTDIR)/*); do SIZE=`ls -lk $$FILE | awk '{print $$5}'`;\
echo \<CENTER\>\<A HREF="download/`basename $$FILE`"\>`basename $$FILE`\
\(size = $$SIZE Bytes\)\</A\>\</CENTER\> >> $(HTMLDIR)/index.html ;\
echo >> $(HTMLDIR)/index.html ;\
done
cat index_tail.html >> $(HTMLDIR)/index.html
cp $(IMAGES) $(HTMLDIR)
latex $(TEX4HT_FIRST_LATEX_LINE) $(MAIN)
latex $(TEX4HT_FIRST_LATEX_LINE) $(MAIN)
latex $(TEX4HT_FIRST_LATEX_LINE) $(MAIN)
tex4ht $(MAIN)
t4ht -d$(HTMLDIR) $(MAIN)
#cat index_head.html $(MAIN.html) index_tail.html > index.html
cat $(MAIN.html) > index.html
mv *.html *.css $(HTMLDIR)
mkdir -p $(addprefix $(HTMLDIR)/,$(sort $(dir $(shell $(CMD_PARSE_GRAPHICS)))))
for g in $(sort $(shell $(CMD_PARSE_GRAPHICS))); do cp $$g $(HTMLDIR)/$$g; done
#cp -p $(IMAGES) $(HTMLDIR)
touch $@
$(OUT).html.zip: $(HTMLDIR)
@ -279,7 +281,7 @@ $(OUT).pdf.zip: $(OUTPUT).pdf
$(OUTPUT).odt: $(GENERATED)
@echo "-- creating odt file"
htlatex $(MAIN).tex "xhtml,ooffice" "ooffice/! -cmozhtf" "-coo" "-cvalidate"
mk4ht oolatex $(MAIN).tex
mv $(MAIN).odt $(OUTPUT).odt
html_install: $(HTMLDIR)