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