From a4b635ce1c1d87bff3ad5a401800aeac1829e4ca Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Sun, 7 Mar 2010 10:54:37 +0000 Subject: [PATCH] tex.mk: Generate html via tex4ht --- make/tex.mk | 36 +++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/make/tex.mk b/make/tex.mk index 0bf64eb6..e89ce577 100644 --- a/make/tex.mk +++ b/make/tex.mk @@ -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 \\`basename $$FILE`\ - \(size = $$SIZE Bytes\)\\ >> $(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)