From bcdf6c829c6761de02484473ebe43fa3760adcaa Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Wed, 12 May 2021 03:01:15 +0000 Subject: CTAN sync 202105120301 --- support/TeX4ht/source/tex4ht-mkht.tex | 1929 +++++++++++++++++++++++++++++++++ 1 file changed, 1929 insertions(+) create mode 100644 support/TeX4ht/source/tex4ht-mkht.tex (limited to 'support/TeX4ht/source/tex4ht-mkht.tex') diff --git a/support/TeX4ht/source/tex4ht-mkht.tex b/support/TeX4ht/source/tex4ht-mkht.tex new file mode 100644 index 0000000000..9e957719e1 --- /dev/null +++ b/support/TeX4ht/source/tex4ht-mkht.tex @@ -0,0 +1,1929 @@ +% $Id: tex4ht-mkht.tex 845 2020-11-23 18:05:43Z karl $ +% (1) latex tex4ht-mkht +% (2) perl -c mk4ht.perl (checking correctness) +% (3) latex mkht-scripts.4ht +% +% Copyright 2009-2020 TeX Users Group +% Copyright 1997-2009 Eitan M. Gurari +% Released under LPPL 1.3c+. +% See tex4ht-cpright.tex for license text. + +\documentclass{article} + \usepackage{url} +\def\CodeDel{{<<<-}{->>>}} +\ifx \HCode\UnDef + \input tex4ht.sty + \Preamble{xhtml} + \input ProTex.sty + \AlProTex{4ht,<<<>>>,?,title,list} +\else + \Configure{ProTex}{4ht,<<<>>>,?,title,list,[[]]} +\fi + +\begin{document} + +%%%%%%%%%%%%%%%%%%%%% definitions %%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\input{common} + +\def\mkhtNote{ + +} +\newtoks\toks +\expandafter\toks\expandafter{\mkhtNote} + +%%%%%%%%%%%%%%%%%%%%% end definitions %%%%%%%%%%%%%%%%%%%%%%%%% + + + +%%%%%%%%%%%%%%%%%% +\section{TeX Dialects} +%%%%%%%%%%%%%%%%%% + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{\LaTeX} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + +\<<<- +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{LaTeX} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\<<< +|| + | + | + | + |tex4ht ||<@|>1 | + |t4ht ||<@|>1 | + +>>> + + +\<<< +latex |<@|>5 |<'|>|||empty>>> + +\<<< +\HCode |<'|>|<@|>2|<'|>.a.b.c.\input |<'|> |<@|>1>>> + + +\<<< +\makeatletter||<2e + 209|>\makeatother>>> + +\<<< +\def\HCode{\futurelet\HCode\HChar}\def\HChar{|}>>> + +\<<< +\ifx"\HCode|\expandafter\HCode\else\expandafter\Link\fi>>> + +\<<< +\def\HCode"##1"{\Link##1}>>> + + +\<2e + 209\><<< +\def\Link#1.a.b.c.{|<2e|>|<209|>}>>> + +\<2e\><<< +\g@addto@macro\@documentclasshook{|}>>> + +\<209\><<< +|\def\documentstyle{|||<209+tex4ht|>}>>> + +\<<< +\RequirePackage[#1||<,html|>]{tex4ht}>>> + + +\<<< +|{#1||<,html|>}>>> + + +\<209+tex4ht\><<< +|<209+tex4ht+...|>\@ifnextchar[{\HCode}{\documentstyle[tex4ht]}>>> + +\<209+tex4ht+...\><<< +\def\HCode####1{\documentstyle[tex4ht,}>>> + + +\<<< +\let\HCode\documentstyle>>> + +\<<< +\let\documentstyle\HCode>>> + + + +\<<< +||| + | + | + |tex4ht ||<@|>1 | + |t4ht ||<@|>1 | + +>>> + + + + +\<<< +latex |<@|>5 |<'|>|||empty>>> + +\<<< +\makeatletter||<2e only|>\makeatother>>> + + +\<2e only\><<< +\def\Link#1.a.b.c.{|<2e|>}>>> + + + + + +\<<< +||| + | + | + |tex4ht ||<@|>1 | + |t4ht ||<@|>1 | + +>>> + + + + +\<<< +latex |<@|>5 |<'|>|||empty>>> + +\<<< +\makeatletter||<209 only|>\makeatother>>> + + +\<209 only\><<< +\def\Link#1.a.b.c.{|<209|>}>>> + +->>> + + +\<<<- +\OutputCodE\<\pref latex\latex.\ext\> \script{\pref latex}{\ext} % +\expandafter\let\csname\pref latex\latex\endcsname=\UnDef +% +->>> + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{\TeX} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + +\<<<- + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{TeX} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\<<< +||| + | + | + |tex4ht ||<@|>1 | + |t4ht ||<@|>1 | + +>>> + +\<<< +etex |<@|>5 |<'|>|||empty>>> + + +\<<< +|||empty>>> + +\<<< +\def\Link#1.a.b.c.{|{|\input tex4ht.sty }}>>> + + +\<<< +\expandafter\def\csname tex4ht\endcsname>>> + +->>> + + +\<<<- +\<\pref tex.\ext\><<< +\ +>>> % +% +\OutputCodE\<\pref tex.\ext\> \script{\pref tex}{\ext} % +% +->>> + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{Texinfo} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\<<<- +%%%%%%%%%%%%%%%%%%%% +\section{Texinfo} +%%%%%%%%%%%%%%%%%%%% + +The loading of tex4ht takes place at the @rm command at the end of the +texinfo.tex file. + +\<<< +||| + | + | + |tex4ht ||<@|>1 | + |t4ht ||<@|>1 | +| texindex ?? + +>>> + +\<<< +etex |<@|>5 |<'|>|||empty>>> + + +\<<< +|\let\svrm=\rm\def\rm{\svrm|}>>> + +\<<< +\ifx\c\comment\def\rm{\let\rm=\svrm|}\expandafter\rm\fi>>> + +\<<< +|\csname tex4ht\endcsname||empty>>> + +\<<< +\catcode`\@=12\catcode`\\=0 >>> + +\<<< +\catcode`\@=0\catcode`\\=13 >>> +->>> + + +\<<<- +\<\pref texi.\ext\><<< +\ +>>> % +% +\OutputCodE\<\pref texi.\ext\> \script{\pref texi}{\ext} % +% +->>> + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{Context} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\<<<- +%%%%%%%%%%%%%%% +\section{ConTeXt} +%%%%%%%%%%%%%%% + + +\<<< +|| + | + |tex4ht ||<@|>1 | + |t4ht ||<@|>1 | + +>>> + +\<<< +|texexec --arg="ht-1=|<@|>2" --use=tex4ht --dvi --nobackend |<@|>5 |<@|>1 >>> +->>> + + +``In the latest ConTeXt, texexec for Windows is realized +as a batch file from which texmfstart.exe ---> ruby script +is called.'' + +\immediate\write16{...............................fix......} +\immediate\write16{% +perl /opt/cvr/gurari/main.dir/try.dir/context.dir/context/perltk/texexec.pl% +} +\immediate\write16{........................................} + + +\<<<- +\<\pref context.\ext\><<< +\ +>>> % +% +\OutputCodE\<\pref context.\ext\> \script{\pref context}{\ext} % +% +->>> + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{XeTeX} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\<<<- + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{XeTeX} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\<<< +||| + | + | + |tex4ht -.xdv ||<@|>1 | + |t4ht -.xdv ||<@|>1 | + +>>> + +\<<< +xetex -no-pdf |<@|>5 |<'|>|||empty>>> +->>> + + +\<<<- +\<\pref xetex.\ext\><<< +\ +>>> % +% +\OutputCodE\<\pref xetex.\ext\> \script{\pref xetex}{\ext} % +% +->>> + + + +\<<<- +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{XeLaTeX} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\<<< +||| + | + | + |tex4ht -.xdv ||<@|>1 | + |t4ht -.xdv ||<@|>1 | + +>>> + + +\<<< +xelatex -no-pdf |<@|>5 |<'|>|||empty>>> +->>> + +\<<<- +\<\pref xelatex.\ext\><<< +\ +>>> % +% +\OutputCodE\<\pref xelatex.\ext\> \script{\pref xelatex}{\ext} % +% +->>> + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{Mex} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\<<<- + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{MeX} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\<<< +||| + | + | + |tex4ht ||<@|>1 | + |t4ht ||<@|>1 | + +>>> + +\<<< +mex |<@|>5 |<'|>|||empty>>> + +->>> + + +\<<<- +\<\pref mex.\ext\><<< +\ +>>> % +% +\OutputCodE\<\pref mex.\ext\> \script{\pref mex}{\ext} % +% +->>> + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \subsection{Mex} +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% +% \<<<- +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \subsection{MeX il2-pl} +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% \<<< +% ||| +% | +% | +% |tex4ht ||<@|>1 | +% |t4ht ||<@|>1 | +% +% >>> +% +% \<<< +% mex-pl -translate-file=il2-pl |<'|>|||empty>>> +% +% ->>> +% +% +% \<<<- +% \<\pref mex-pl.\ext\><<< +% \ +% >>> % +% % +% \OutputCodE\<\pref mex-pl.\ext\> \script{\pref mex-pl}{\ext} % +% % +% ->>> + + + +%%%%%%%%%%%%%%%%%% +\section{Markup Dialects} +%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%% +\subsection{HTML: ht} +%%%%%%%%%%%%% + + +WARNING: Don't include `-cvalidatehtml' in the htlatex script as it will +be required by every script called with mk4ht. For instance, `mk4ht +dblatex file'. + +\<<<- +\Ii{,html} +\Iii{-i~/tex4ht.dir/texmf/tex4ht/ht-fonts/#1} +\Iv{#1 ## -d~/WWW/temp/ -m644 } + +\make{ht} +->>> + +\<<<- +\Ii{,html} +\Iii{-i/tex4ht/ht-fonts/#1 + -ewin32/tex4ht.env} +\Iv{#1 -ewin32/tex4ht.env } + +\make{ht} +->>> + +The first line is for `ht ... ...' scripts. + +\<<<- + "", "ht", "", "", "", "-cvalidatehtml", + "ht", "htlatex", "latex", "", "", "-cvalidatehtml", + "ht", "httex", "tex", "", "", "-cvalidatehtml", + "ht", "httexi", "texi", "", "", "-cvalidatehtml", + "ht", "htcontext", "context", "", "", "-cvalidatehtml", + "ht", "htxetex", "xetex", "", "", "-cvalidatehtml", + "ht", "htxelatex", "xelatex", "", "", "-cvalidatehtml", +->>> + + +\<<<- +\<<< +||$1 $2 + $1 $2 + $1 $2 + tex4ht $2 + t4ht $2 $3 +>>> +\OutputCodE\ \script{ht}{unix} % +->>> + + +\<<<- +\<<< +| + %1 %2 + %1 %2 + %1 %2 + tex4ht %2 + t4ht %2 %3 +>>> +\OutputCodE\ \script{ht}{bat} % +->>> + + +%%%%%%%%%%%%% +\subsection{XHTML: xh} +%%%%%%%%%%%%% + +\<<<- +\Ii{,xhtml} +\Iii{-i~/tex4ht.dir/texmf/tex4ht/ht-fonts/#1} +\Iv{#1 -cvalidate ## -d~/WWW/temp/ -m644 } +\make{xh} +->>> + +\<<<- +\Ii{,xhtml} +\Iii{-i/tex4ht/ht-fonts/#1 + -ewin32/tex4ht.env} +\Iv{#1 -ewin32/tex4ht.env -cvalidate } +\make{xh} +->>> + + + +\<<<- + "xh", "xhlatex", "latex", "xhtml", "", "-cvalidate", + "xh", "xhtex", "tex", "xhtml", "", "-cvalidate", + "xh", "xhtexi", "texi", "xhtml", "", "-cvalidate", + "xh", "xhcontext","context", "xhtml", "", "-cvalidat", + "xh", "xhxelatex", "xelatex", "xhtml", "", "-cvalidate", + "xh", "xhxetex", "xetex", "xhtml", "", "-cvalidate", +->>> + + + +%%%%%%%%%%%%% +\subsection{Unicode XHTML: uxh} +%%%%%%%%%%%%% + +\<<<- +\Ii{,xhtml,uni-html4} +\Iii{-i~/tex4ht.dir/texmf/tex4ht/ht-fonts/#1 -cunihtf} +\Iv{#1 -cvalidate ## -d~/WWW/temp/ -m644 } +\make{uxh} +->>> + +\<<<- +\Ii{,xhtml,uni-html4} +\Iii{-i/tex4ht/ht-fonts/#1 + -ewin32/tex4ht.env + -cunihtf} +\Iv{#1 -ewin32/tex4ht.env -cvalidate } +\make{uxh} +->>> + +\<<<- + "uxh", "uxhlatex", "latex", "xhtml,uni-html4", " -cunihtf", "-cvalidate", + "uxh", "uxhtex", "tex", "xhtml,uni-html4", " -cunihtf", "-cvalidate", + "uxh", "uxhtexi", "texi", "xhtml,uni-html4", " -cunihtf", "-cvalidate", + "uxh", "uxhcontext","context", "xhtml,uni-html4", " -cunihtf", "-cvalidate", + "uxh", "uxhxelatex", "xelatex", "xhtml,uni-html4", " -cunihtf", "-cvalidate", + "uxh", "uxhxetex", "xetex", "xhtml,uni-html4", " -cunihtf", "-cvalidate", +->>> + +%%%%%%%%%%%%% +\subsection{XHTML+MathML: xhm} +%%%%%%%%%%%%% + +\<<<- +\Ii{,xhtml,mathml} +\Iii{-i~/tex4ht.dir/texmf/tex4ht/ht-fonts/#1 -cunihtf} +\Iv{#1 -cvalidate ## -d~/WWW/temp/ -m644 } +\make{xhm} +->>> + +\<<<- +\Ii{,xhtml,mathml} +\Iii{-i/tex4ht/ht-fonts/#1 + -ewin32/tex4ht.env -cunihtf} +\Iv{#1 -ewin32/tex4ht.env -cvalidate } +\make{xhm} +->>> + + +\<<<- + "xhm", "xhmlatex", "latex", "xhtml,mathml", " -cunihtf", "-cvalidate", + "xhm", "xhmtex", "tex", "xhtml,mathml", " -cunihtf", "-cvalidate", + "xhm", "xhmtexi", "texi", "xhtml,mathml", " -cunihtf", "-cvalidate", + "xhm", "xhmcontext","context", "xhtml,mathml", " -cunihtf", "-cvalidate", + "xhm", "xhmxelatex", "xelatex", "xhtml,mathml", " -cunihtf", "-cvalidate", + "xhm", "xhmxetex", "xetex", "xhtml,mathml", " -cunihtf", "-cvalidate", +->>> + + +%%%%%%%%%%%%% +\subsection{Mozilla XHTML+MathML: mz} +%%%%%%%%%%%%% + +\<<<- +\Ii{,xhtml,mozilla} +\Iii{-i~/tex4ht.dir/texmf/tex4ht/ht-fonts/#1 -cmozhtf} +\Iv{#1 -cvalidate ## -d~/WWW/temp/ -m644 } +\make{mz} +->>> + +\<<<- +\Ii{,xhtml,mozilla} +\Iii{-i/tex4ht/ht-fonts/#1 + -ewin32/tex4ht.env -cmozhtf} +\Iv{#1 -ewin32/tex4ht.env -cvalidate } +\make{mz} +->>> + + +\<<<- + "mz", "mzlatex", "latex", "xhtml,mozilla", " -cmozhtf", "-cvalidate", + "mz", "mztex", "tex", "xhtml,mozilla", " -cmozhtf", "-cvalidate", + "mz", "mztexi", "texi", "xhtml,mozilla", " -cmozhtf", "-cvalidate", + "mz", "mzcontext", "context", "xhtml,mozilla", " -cmozhtf", "-cvalidate", + "mz", "mzxelatex", "xelatex", "xhtml,mozilla", " -cmozhtf", "-cvalidate", + "mz", "mzxetex", "xetex", "xhtml,mozilla", " -cmozhtf", "-cvalidate", +->>> + + +%%%%%%%%%%%%% +\subsection{OpenOffice: oo} +%%%%%%%%%%%%% + +\<<<- +\Ii{,xhtml,ooffice} +\Iii{-i~/tex4ht.dir/texmf/tex4ht/ht-fonts/#1 -cmozhtf} +\Iv{#1 -cooxtpipes -coo } +\make{oo} +->>> + +\<<<- +\Ii{,xhtml,ooffice} +\Iii{-i/tex4ht/ht-fonts/#1 + -ewin32/tex4ht.env -cmozhtf} +\Iv{#1 -cooxtpipes -coo -ewin32/tex4ht.env -cvalidate } +\make{oo} +->>> + + +\<<<- + "oo", "oolatex", "latex", "xhtml,ooffice", "ooffice/\! -cmozhtf", "-cooxtpipes -coo", + "oo", "ootex", "tex", "xhtml,ooffice", "ooffice/\! -cmozhtf", "-cooxtpipes -coo", + "oo", "ootexi", "texi", "xhtml,ooffice", "ooffice/\! -cmozhtf", "-cooxtpipes -coo", + "oo", "oocontext", "context", "xhtml,ooffice", "ooffice/\! -cmozhtf", "-cooxtpipes -coo", + "oo", "ooxelatex", "xelatex", "xhtml,ooffice", "ooffice/\! -cmozhtf", "-cooxtpipes -coo", + "oo", "ooxetex", "xetex", "xhtml,ooffice", "ooffice/\! -cmozhtf", "-cooxtpipes -coo", +->>> + + + + + +%%%%%%%%%%%%% +\subsection{EmacSpeak: es} +%%%%%%%%%%%%% + +\<<<- +\Ii{,xhtml,emspk} +\Iii{-i~/tex4ht.dir/texmf/tex4ht/ht-fonts/#1 -cemspkhtf -s4es} +\Iv{#1 -cemspk ## -d~/WWW/temp/ -m644 } +\make{es} +->>> + +\<<<- +\Ii{,xhtml,emspk} +\Iii{-itex4ht/ht-fonts/#1 + -ewin32/tex4ht.env -cemspkhtf -s4es} +\Iv{#1 -ewin32/tex4ht.env -cemspk } +\make{es} +->>> + + +\<<<- + "es", "eslatex", "latex", "xhtml,emspk", " -cemspkhtf -s4es", "-cemspk", + "es", "estex", "tex", "xhtml,emspk", " -cemspkhtf -s4es", "-cemspk", + "es", "estexi", "texi", "xhtml,emspk", " -cemspkhtf -s4es", "-cemspk", + "es", "escontext", "context", "xhtml,emspk", " -cemspkhtf -s4es", "-cemspk", + "es", "esxelatex", "xelatex", "xhtml,emspk", " -cemspkhtf -s4es", "-cemspk", + "es", "esxetex", "xetex", "xhtml,emspk", " -cemspkhtf -s4es", "-cemspk", +->>> + + + + + +%%%%%%%%%%%%% +\subsection{JSML: js} +%%%%%%%%%%%%% + +\<<<- +\Ii{,xhtml,jsml} +\Iii{-i~/tex4ht.dir/texmf/tex4ht/ht-fonts/#1 -cjsmlhtf } +\Iv{#1 -cjsml ## -d~/WWW/temp/ -m644 } +\make{js} +->>> + +\<<<- +\Ii{,xhtml,jsml} +\Iii{-i/tex4ht/ht-fonts/#1 + -ewin32/tex4ht.env -cjsmlhtf } +\Iv{#1 -ewin32/tex4ht.env -cjsml } +\make{js} +->>> + + +\<<<- + "js", "jslatex", "latex", "xhtml,jsml", " -cjsmlhtf", "-cjsml", + "js", "jstex", "tex", "xhtml,jsml", " -cjsmlhtf", "-cjsml", + "js", "jstexi", "texi", "xhtml,jsml", " -cjsmlhtf", "-cjsml", + "js", "jscontext", "context", "xhtml,jsml", " -cjsmlhtf", "-cjsml", + "js", "jsxelatex", "xelatex", "xhtml,jsml", " -cjsmlhtf", "-cjsml", + "js", "jsxetex", "xetex", "xhtml,jsml", " -cjsmlhtf", "-cjsml", +->>> + + + + + +%%%%%%%%%%%%% +\subsection{jsMath: jm} +%%%%%%%%%%%%% + +\<<<- +\Ii{,xhtml,jsmath} +\Iii{-i~/tex4ht.dir/texmf/tex4ht/ht-fonts/#1 -cmozhtf } +\Iv{#1 ## -d~/WWW/temp/ -m644 } +\make{jm} +->>> + +\<<<- +\Ii{,xhtml,jsmath} +\Iii{-i/tex4ht/ht-fonts/#1 + -ewin32/tex4ht.env -cmozhtf } +\Iv{#1 -ewin32/tex4ht.env } +\make{jm} +->>> + + +\<<<- + "jm", "jmlatex", "latex", "xhtml,jsmath", " -cmozhtf", "", + "jm", "jmtex", "tex", "xhtml,jsmath", " -cmozhtf", "", + "jm", "jmtexi", "texi", "xhtml,jsmath", " -cmozhtf", "", + "jm", "jmcontext", "context", "xhtml,jsmath", " -cmozhtf", "", + "jm", "jmxelatex", "xelatex", "xhtml,jsmath", " -cmozhtf", "", + "jm", "jmxetex", "xetex", "xhtml,jsmath", " -cmozhtf", "", +->>> + + + + + + + + +%%%%%%%%%%%%% +\subsection{TEI: tei, teim} +%%%%%%%%%%%%% + +\<<<- +\Ii{,xhtml,tei} +\Iii{-i~/tex4ht.dir/texmf/tex4ht/ht-fonts/#1 -cunihtf} +\Iv{#1 -cvalidate ## -d~/WWW/temp/ -m644 } +\make{tei} + +\Ii{,xhtml,tei-mml} +\Iii{-i~/tex4ht.dir/texmf/tex4ht/ht-fonts/#1 -cunihtf} +\Iv{#1 -cvalidate ## -d~/WWW/temp/ -m644 } +\make{teim} +->>> + +\<<<- +\Ii{,xhtml,tei} +\Iii{-i/tex4ht/ht-fonts/#1 + -ewin32/tex4ht.env -cunihtf} +\Iv{#1 -ewin32/tex4ht.env -cvalidate } +\make{tei} + +\Ii{,xhtml,tei-mml} +\Iii{-i/tex4ht/ht-fonts/#1 + -ewin32/tex4ht.env -cunihtf} +\Iv{#1 -ewin32/tex4ht.env -cvalidate } +\make{teim} +->>> + + +\<<<- + "tei", "teilatex", "latex", "xhtml,tei", " -cunihtf", "-cvalidate", + "tei", "teitex", "tex", "xhtml,tei", " -cunihtf", "-cvalidate", + "tei", "teitexi", "texi", "xhtml,tei", " -cunihtf", "-cvalidate", + "tei", "teicontext","context", "xhtml,tei", " -cunihtf", "-cvalidate", + "teim", "teimlatex", "latex", "xhtml,tei-mml"," -cunihtf", "-cvalidate", + "teim", "teimtex", "tex", "xhtml,tei-mml"," -cunihtf", "-cvalidate", + "teim", "teimtexi", "texi", "xhtml,tei-mml"," -cunihtf", "-cvalidate", + "teim", "teimcontext","context","xhtml,tei-mml"," -cunihtf", "-cvalidate", + "tei", "teixelatex", "xelatex", "xhtml,tei", " -cunihtf", "-cvalidate", + "tei", "teixetex", "xetex", "xhtml,tei", " -cunihtf", "-cvalidate", +->>> + + +%%%%%%%%%%%%% +\subsection{DocBook: db, dbm} +%%%%%%%%%%%%% + +\<<<- +\Ii{,xhtml,docbook} +\Iii{-i~/tex4ht.dir/texmf/tex4ht/ht-fonts/#1 -cunihtf} +\Iv{#1 -cvalidate -cdocbk ## -d~/WWW/temp/ -m644 } +\make{db} + +\Ii{,xhtml,docbook-mml} +\Iii{-i~/tex4ht.dir/texmf/tex4ht/ht-fonts/#1 -cunihtf} +\Iv{#1 -cdocbk ## -d~/WWW/temp/ -m644 } +\make{dbm} +->>> + +\<<<- +\Ii{,xhtml,docbook} +\Iii{-i/tex4ht/ht-fonts/#1 + -ewin32/tex4ht.env -cunihtf} +\Iv{#1 -ewin32/tex4ht.env -cvalidate -cdocbk } +\make{db} + +\Ii{,xhtml,docbook-mml} +\Iii{-i/tex4ht/ht-fonts/#1 + -ewin32/tex4ht.env -cunihtf} +\Iv{#1 -ewin32/tex4ht.env -cvalidate -cdocbk } +\make{dbm} +->>> + + + +\<<<- + "db", "dblatex", "latex", "xhtml,docbook", " -cunihtf", "-cvalidate -cdocbk", + "db", "dbtex", "tex", "xhtml,docbook", " -cunihtf", "-cvalidate -cdocbk", + "db", "dbtexi", "texi", "xhtml,docbook", " -cunihtf", "-cvalidate -cdocbk", + "db", "dbcontext", "context", "xhtml,docbook", " -cunihtf", "-cvalidate -cdocbk", + "dbm", "dbmlatex", "latex", "xhtml,docbook-mml", " -cunihtf", "-cdocbk", + "dbm", "dbmtex", "tex", "xhtml,docbook-mml", " -cunihtf", "-cdocbk", + "dbm", "dbmtexi", "texi", "xhtml,docbook-mml", " -cunihtf", "-cdocbk", + "dbm", "dbmcontext","context", "xhtml,docbook-mml", " -cunihtf", "-cdocbk", + "db", "dbxelatex", "xelatex", "xhtml,docbook", " -cunihtf", "-cvalidate -cdocbk", + "db", "dbxetex", "xetex", "xhtml,docbook", " -cunihtf", "-cvalidate -cdocbk", +->>> + + + +%%%%%%%%%%%%% +\subsection{MS Word HTML: w} +%%%%%%%%%%%%% + + +\<<<- +\Ii{,xhtml,word} +\Iii{-i~/tex4ht.dir/texmf/tex4ht/ht-fonts/#1 -csymhtf} +\Iv{#1 -cvalidate ## -d~/WWW/temp/ -m644 } +\make{w} +->>> + +\<<<- +\Ii{,xhtml,word} +\Iii{-i/tex4ht/ht-fonts/#1 + -ewin32/tex4ht.env -csymhtf} +\Iv{#1 -ewin32/tex4ht.env -cvalidate } +\make{w} +->>> + + + + +\<<<- + "w", "wlatex", "latex", "xhtml,word", " -csymhtf", "", + "w", "wtex", "tex", "xhtml,word", " -csymhtf", "", + "w", "wtexi", "texi", "xhtml,word", " -csymhtf", "", + "w", "wcontext", "context", "xhtml,word", " -csymhtf", "", + "w", "wxelatex", "xelatex", "xhtml,word", " -csymhtf", "", + "w", "wxetex", "xetex", "xhtml,word", " -csymhtf", "", +->>> + + + + +%%%%%%%%%%%%% +\subsection{JavaHelp: jh} +%%%%%%%%%%%%% + +\<<<- +\Ii{,html,javahelp,xml,3.2,unicode} +\Iii{-i~/tex4ht.dir/texmf/tex4ht/ht-fonts/#1 -cmozhtf -u10} +\Iv{#1 -d$1-doc/ -cjavahelp -cvalidatehtml -m644} +\make{jh} +->>> + +\<<<- +\Ii{,html,javahelp,xml,3.2,unicode} +\Iii{-i/tex4ht/ht-fonts/#1 + -ewin32/tex4ht.env + -cmozhtf -u10} +\Iv{#1 -ewin32/tex4ht.env -d%1-doc\ -cjavahelp } +\make{jh} +->>> + + +\<<<- + "jh", "jhlatex", "latex", "html,javahelp,xml,3.2,unicode", " -cmozhtf -u10", " -d$texFile-doc/ -cjavahelp -cvalidatehtml", + "jh", "jhtex", "tex", "html,javahelp,xml,3.2,unicode", " -cmozhtf -u10", " -d$texFile-doc/ -cjavahelp -cvalidatehtml", + "jh", "jhtexi", "texi", "html,javahelp,xml,3.2,unicode", " -cmozhtf -u10", " -d$texFile-doc/ -cjavahelp -cvalidatehtml", + "jh", "jhcontext","context", "html,javahelp,xml,3.2,unicode", " -cmozhtf -u10", " -d$texFile-doc/ -cjavahelp -cvalidatehtml", + "jh", "jhxelatex", "xelatex", "html,javahelp,xml,3.2,unicode", " -cmozhtf -u10", " -d$texFile-doc/ -cjavahelp -cvalidatehtml", + "jh", "jhxetex", "xetex", "html,javahelp,xml,3.2,unicode", " -cmozhtf -u10", " -d$texFile-doc/ -cjavahelp -cvalidatehtml", +->>> + + +\<<<- +\Ii{,html,javahelp,xml,3.2,unicode,jh1.0} +\Iii{-i~/tex4ht.dir/texmf/tex4ht/ht-fonts/#1 -cmozhtf -u10} +\Iv{#1 -d$texFile-doc/ -cjavahelp1 -m644 } +\make{jh1} +->>> + +\<<<- +\Ii{,html,javahelp,xml,3.2,unicode,jh1.0} +\Iii{-i/tex4ht/ht-fonts/#1 + -ewin32/tex4ht.env + -cmozhtf -u10} +\Iv{#1 -ewin32/tex4ht.env -d%1-doc\ -cjavahelp1 } +\make{jh1} +->>> + + +\<<<- + "jh1", "jh1latex", "latex", "html,javahelp,xml,3.2,unicode,jh1.0", " -cmozhtf -u10", " -d$texFile-doc/ -cjavahelp", + "jh1", "jh1tex", "tex", "html,javahelp,xml,3.2,unicode,jh1.0", " -cmozhtf -u10", " -d$texFile-doc/ -cjavahelp", + "jh1", "jh1texi", "texi", "html,javahelp,xml,3.2,unicode,jh1.0", " -cmozhtf -u10", " -d$texFile-doc/ -cjavahelp", + "jh1", "jh1context","context", "html,javahelp,xml,3.2,unicode,jh1.0", " -cmozhtf -u10", " -d$texFile-doc/ -cjavahelp", + "jh1", "jh1xelatex", "xelatex", "html,javahelp,xml,3.2,unicode,jh1.0", " -cmozhtf -u10", " -d$texFile-doc/ -cjavahelp", + "jh1", "jh1xetex", "xetex", "html,javahelp,xml,3.2,unicode,jh1.0", " -cmozhtf -u10", " -d$texFile-doc/ -cjavahelp", +->>> + + + +The xml declaration at +\url{http://java.sun.com/products/javahelp/toc_1_0.dtd} +doesn't start at row/col=1 make it impossible to validate +against that file. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{mkht.4ht} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\<<<- +% mkht.4ht (?version), generated from ?jobname.tex +% Copyright 2009-2020 TeX Users Group +% Copyright ?CopyYear.1997. Eitan M. Gurari +? +\immediate\write-1{version ?version} + +\def\exit{\documentclass{article}\begin{document}\end{document}\endinput} +\bgroup + \def\missing#1{\aftergroup\exit + \immediate\write16{---------------------------- error + ---------------------------- + ^^JRequires #1ProTex.sty from + https://tug.org/tex4ht^^J% + ---------------------------------------------------------------}} + \openin15=ProTex.sty \ifeof15 \missing{}\else \closein15 \fi + \openin15=AlProTex.sty \ifeof15 \missing{Al}\else \closein15 \fi +\egroup + +\let\ScriptFileName\relax +\let\AddExtn\relax + +\documentclass{article} + +\ifx \HCode\UnDef + \input tex4ht.sty + \Preamble{xhtml} + \input ProTex.sty + \AlProTex{foo,<<<>>>,|,title,list} + \begin{document} + \EndPreamble +\else + \Configure{ProTex}{foo,<<<>>>,|,title,list,[[]]} + \begin{document} +\fi + +\catcode`\:=11 +\def\OutputCodE\<#1.#2\>{{\xdef\ScriptFileName{#1} + \:DoName\def{#1}{\<#1.#2\>} + \OutputCode[#2]\<#1\>}} +\def\winextn{bat} +\def\AddExtn{\ifx\ext\winextn .bat\fi} + +\tableofcontents + +? + +%%%%%%%%%%%%%%%%%%%%%% +\section{Script Components} +%%%%%%%%%%%%%%%%%%%%%% + +\def\setcats{\catcode`\\=12 \catcode`\%=12 \catcode`\~=12 + \catcode`\_=12 +} + +\def\Remark{\bgroup \catcode`\#=12 \setcats \Rema} \def\Rema#1{\egroup\def\Rem{#1}} +\def\Ii{\def\II} +\def\Iii{\bgroup \setcats \Iiicont} \def\Iiicont#1{\egroup\def\III.##1.{#1}} +\def\Iv{\bgroup \setcats \Ivcont} \def\Ivcont#1{\egroup\def\IV.##1.{#1}} +\def\Quote{\bgroup \setcats \Qcont} \def\Qcont#1{\egroup\def\quote{#1}} +\def\Argchar{\bgroup \setcats \Acont}\def\Acont#1{\egroup\def\argchar{#1}} +\def\Dirchar{\bgroup \setcats \Dicont}\def\Dicont#1{\egroup\def\dirchar{#1}} +\def\Rubycall{\bgroup \setcats \Dcont}\def\Dcont#1{\egroup\def\rubyCall{#1}} +\def\Echooff{\bgroup \setcats \Dcont}\def\Dcont#1{\egroup\def\echoOff{#1}} +\def\Ext{\bgroup \setcats \Econt} \def\Econt#1{\egroup\def\ext{#1}% + ?} +\def\Base{\bgroup \setcats \Bcont} \def\Bcont#1{\egroup\def\base{#1}} +\def\Script{\def\script##1##2} % #1 -- file #2 -- extension +\def\Options#1{\ifx \OPTIONS\UnDef \def\OPTIONS{#1}\fi} +\def\Latex#1{\ifx \latex\UnDef \def\latex{#1}\fi} + +\let\Rem=\relax +\let\II=\relax +\let\III=\relax +\let\IV=\relax +\let\quote=\relax +\let\argchar=\relax +\let\dirchar=\relax +\let\rubyCall=\relax +\let\echoOff=\relax +\let\ext=\relax +\ifx \script\UnDef \let\script=\relax \fi +\let\base=\relax +\let\firstln=\relax + +\<<< +|Rem>>> + +\<<< +|II>>> + +\<<< +|III.|<@|>3.>>> + +\<<< +|IV.|<@|>4.>>> + +\<'\><<< +|quote>>> + +\<@\><<< +|argchar>>> + +\<<< +|dirchar>>> + +\<<< +|base>>> + +\<<< +|rubyCall>>> + +\<<< +|echoOff>>> + +\<<< +|firstln#!/bin/sh +# stop at first error +set -e + +# No interaction on the TeX runs is desirable. +# Simpler to do that here than on the individual commands; +# let's hope exec redirections are portable enough. +exec >> + +Despite the name, this macro is not for Windows. It is unconditionally +included in all the scripts. It should only be the copyright notice, +which somehow gets transformed for Unix. Thus we go to lots of trouble +to insert the at-echo off only for Windows. + +\<<< +| +? +>>> + + +\def\IfExt#1,#2//{\def\next{#1}% + \ifx \next\ext \def\next{\csname iftrue\endcsname}% + \else \ifx \next\empty \def\next{\csname iffalse\endcsname}% + \else \def\next{\IfExt#2,,//}\fi\fi \next} + +\begingroup +\catcode`\:=11 \catcode`\^=7 \catcode`\^^M=13% +% +\gdef\make#1{% + \expandafter\IfExt\OPTIONS,,//% + % + \subsection{#1}% + \def\temp##1{\par{\tt\string##1: \meaning##1}}% + \temp\quote + \temp\argchar + \temp\dirchar + \temp\rubyCall + \temp\echoOff + \temp\ext + \temp\script + \temp\base + \temp\firstln + \temp\latex + \temp\Rem + \temp\II + \temp\III + \temp\IV + \def\pref{#1} % + \<\pref latex\latex.\ext\><<< + \ + >>> % + ?% + \fi +} % +\endgroup + +\ifx \JOBNAME\UnDefined + ? + \expandafter\endinput +\fi + +\input \JOBNAME + +\end{document} +\endinput +->>> + +\<<<- +\def\one{\Ii} +\def\two{\Iii} +\def\three{\Iv} +\Latex{} % {}, {2e}, {209} +\def\temp{unix}\ifx\script\temp + \Options{unix} % {unix,bat}, {unix}, {bat} + ? +\else + \def\temp{bat}\ifx\script\temp + \Options{bat} + ? + \else + \bgroup + \def\1{\space\space\space} + \def\2{\space\space\space\space\space\space} + \catcode`\%=12 + \catcode`\#=12 + \catcode`\~=12 + \catcode`\@=0 + \catcode`\\=12 + @immediate@write16{|-------------------------------------------------------------} + @immediate@write16{|@2@1 A sample of a scripts generator file } + @immediate@write16{|} + @immediate@write16{|@1 Creates a foolatex script for commands} + @immediate@write16{|} + @immediate@write16{|@2 foolatex file} + @immediate@write16{|} + @immediate@write16{|@1 similar to htlatex for commands} + @immediate@write16{|} + @immediate@write16{|@2 htlatex file "html,...1..." " ...2..." "...3..."} + @immediate@write16{|} + @immediate@write16{|@1 with the arguments ...1..., ...2..., and ...3... } + @immediate@write16{|@1 embedded in the new script. General usage} + @immediate@write16{|} + @immediate@write16{|@2 foolatex file "..." "..." "..."} + @immediate@write16{|} + @immediate@write16{|----------------- sample.tex --------------------------------} + @immediate@write16{|% latex sample} + @immediate@write16{|} + @immediate@write16{| \def\script{bat} } + @immediate@write16{| % \def\script{unix} } + @immediate@write16{|} + @immediate@write16{| \input ./mkht.4ht } + @immediate@write16{|} + @immediate@write16{| \one{,html,...1...}} + @immediate@write16{| \two{-i/tex4ht/ht-fonts/#1 ...2...} % bat } + @immediate@write16{| % \two{-i~/tex4ht/texmf/tex4ht/ht-fonts/#1 ...2...} % unix } + @immediate@write16{| \three{#1 ...3...}} + @immediate@write16{| \make{foo}} + @immediate@write16{|} + @immediate@write16{| \end{document} } + @immediate@write16{-------------------------------------------------------------} + @egroup + \def\next{\csname fi\endcsname + \csname fi\endcsname + \csname fi\endcsname\end{document}} +\fi \fi +->>> + +The script should have an explicit shebang (\#!/bin/sh) line for the +systems where csh-like shells are the foundation. If there is no +shebang line, the defaul shell (which can be anything) is used. + + +\<<<- + \def\firstln{unix}\ifx \firstln\ext + \def\firstln##1endfirstln{##1}% + \else \def\firstln##1endfirstln{}\fi +->>> + + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{mkht-scripts.4ht} +%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\<<<- +% mkht-scripts.4ht (?version), generated from ?jobname.tex +% Copyright 2009-2020 TeX Users Group +% Copyright ?CopyYear.2000. Eitan M. Gurari +? + +\ifx \JOBNAME\UnDef + \def\JOBNAME{mkht-scripts.4ht} + \def\next{\input ./mkht.4ht \endinput} + \expandafter\next +\fi + +\Options{unix,bat} % {unix,bat}, {unix}, {bat} +\Latex{} % {}, {2e}, {209} + +%%%%%%%%%%%%%%%%%% +\section{Unix Scripts} +%%%%%%%%%%%%%%%%%% +? +\ifOption{Needs}{% +\Script{% #1 -- file #2 -- extension + \Needs{"sed -e 's/\#\# -d/ -d/g' < #1.#2 > /opt/cvr/gurari/tex4ht.dir/bin/solaris/#1"}% + \Needs{"chmod 700 /opt/cvr/gurari/tex4ht.dir/bin/solaris/#1"}% + \Needs{"mkdir -p mn.dir/ht-unix"}% + \Needs{"cp #1.#2 mn.dir/ht-unix/#1"}% +}}{} +\Script{% #1 -- file #2 -- extension + \Needs{"mkdir -p /opt/cvr/gurari/tex4ht.dir/bin/ht"}% + \Needs{"mkdir -p /opt/cvr/gurari/tex4ht.dir/bin/ht/unix"}% + \Needs{"mv #1.#2 /opt/cvr/gurari/tex4ht.dir/bin/ht/unix/#1"}% + \Needs{"chmod 744 /opt/cvr/gurari/tex4ht.dir/bin/ht/unix/#1"}% +} + +? + +%%%%%%%%%%%%%%%%%% +\section{MS Window Scripts} +%%%%%%%%%%%%%%%%%% +? +\ifOption{Needs}{\Script{% + \Needs{"mkdir -p mn.dir/ht-win32"}% + \Needs{"cp #1.#2 mn.dir/ht-win32/."}% +}}{} +\Script{% #1 -- file #2 -- extension + \Needs{"mkdir -p /opt/cvr/gurari/tex4ht.dir/bin/ht/win32"}% + \Needs{"mv #1.#2 /opt/cvr/gurari/tex4ht.dir/bin/ht/win32/#1.#2"}% + \Needs{"chmod 744 /opt/cvr/gurari/tex4ht.dir/bin/ht/win32/#1.#2"}% +} + +? +? + +\end{document} +->>> + +\<<<- +%%%%%%%%%% +\Ext{unix} +%%%%%%%%%% +\Base{} +\Quote{'} +\Argchar{$} +\Dirchar{-f/} +\Rubycall{} +\Echooff{} +\Remark{#} +->>> + +\<<<- +%%%%%%%%%%%%%%%%%% +\Options{bat} +%%%%%%%%%%%%%%%%%% +%%%%%%%%% +\Ext{bat} +%%%%%%%%% +\Base{} +\Quote{} +\Argchar{%} +\Dirchar{} +\Rubycall{call } +\Echooff{@echo off} +\Remark{Rem } +->>> + + + +The htlatex-oriented scripts have the following outline. + +\begin{verbatim} + latex $5 $1 + latex $5 $1 + latex $5 $1 + tex4ht -f/$1 -i~/tex4ht.dir/texmf/tex4ht/ht-fonts/$3 + t4ht -f/$1 $4 +\end{verbatim} + +The latex command may be introduced with a filename residing out of +the work directory. However, it produces the dvi code in the work +directory. Consequently, when activated by htlatex-oriented scripts, +the tex4ht.c and t4ht.c utilities need to look for the dvi code in the +work directory. The -f prefix asks these utilities to ignore the +paths possibly appearing in \verb!$1!. A path is recognized by +determining whether the character immediately after \verb'-f' is a +directory indicator character `\verb+\+' or `\verb+/+'. + + + + + + +%%%%%%%%%%%%%%%%%% +\section{Perl Script} +%%%%%%%%%%%%%%%%%% + + +%%%%%%%%%%%%% +\subsection{Core} +%%%%%%%%%%%%% + + + +\<<<- +#!/usr/bin/env perl +? +use strict; +$^W=1; # turn warning on +my $texFile = ''; +if( @ARGV ){ + my(@array) = split('\.',@ARGV[1]); + $texFile = @array[0]; +} +? +? +print "mk4ht (?version)\n"; +if( !@ARGV ){ + print "improper command\n"; + showInstrucions(); exit(1); +} +my @command=("","","","",""); +my $i=0; +my $j=0; +my $param; +? +foreach $param (@ARGV) { + if( $i == 0 ){ + ? + for( $j=1; $j<$#options; $j+=6 ){ + if( $param eq $options[$j] ){ + if( $name ){ + ? + } else { + ? + } + ? + last; + } } + if( $j>$#options ){ + if( $name ){ ? } + else { + print "improper command: $param \n"; + showInstrucions(); exit(1); + } } + } elsif ( $i== 1 ) { + $command[1] = $param; + } elsif ( $i== 2 ) { + if( $command[2] eq "" ){ + $command[2] = $param; + } else { + $command[2] = $param. "," . $command[2]; + } + } elsif ( $i== 3 ) { + $command[3] = $param . $command[3]; + } else { + $command[4] = $param. " " .$command[4]; + } + $i++; +} +my $cmd; +? +my $commando = $cmd . " " . $command[1] . " \"". + $command[2] . "\" \"". $command[3] . "\" \"" . + $command[4] . "\""; +print "$commando\n"; +my $rtrn; +if( $rtrn = system($commando) ){ + print "--- error --- failed to execute command\n"; +} else { + ? +} +exit( $rtrn ); +->>> + + +\<<<- +if( !$command[1] ){ $command[1] = ""; } +if( !$command[2] ){ $command[2] = ""; } +if( !$command[3] ){ $command[3] = ""; } +if( !$command[4] ){ $command[4] = ""; } +->>> + + + +\<<<- +open (KPSEA, "kpsewhich " . $command[0] . " |"); +if ($cmd = ){ + $cmd =~ s/\s+$//; +} else { + $cmd = $command[0]; +} +close KPSEA; +->>> + + +\<<<- +my @options = ( +? +); +->>> + + +Safety guards: + +\begin{itemize} +\item The `use strict' should be employed when not + dynamically exporting variables. +\item Put `my' on local declarations. +\item The `W' (?) + +\end{itemize} + + +%%%%%%%%%%%%% +\subsection{Load Command} +%%%%%%%%%%%%% + + +\<<<- +$command[0] = "ht".$compiler; +if( $tex ){ $command[2] = $tex; } else { $command[2] = ""; } +if( $tex4ht ){ $command[3] = $tex4ht; } else { $command[3] = ""; } +if( $t4ht ){ $command[4] = $t4ht; } else { $command[4] = ""; } +->>> + + +\<<<- +if( $options[$j-1] eq "" ){ + $command[0] = $options[$j]; +} else { + $command[0] = "ht".$options[$j+1]; +} +if( $tex ){ $command[2] = $tex; } else { $command[2] = $options[$j+2]; } +if( $tex4ht ){ $command[3] = $tex4ht; } else { $command[3] = $options[$j+3]; } +if( $t4ht ){ $command[4] = $t4ht; } else { $command[4] = $options[$j+4]; } +->>> + + + +\<<<- +if( $texp ){ $command[2] = $command[2] . "," . $texp; } +if( $tex4htp){ $command[3] = $command[3] . " " . $tex4htp; } +if( $t4htp ){ $command[4] = $command[4] . " " . $t4htp; } +->>> + + +%%%%%%%%%%%%% +\subsection{Commands from Configuration File} +%%%%%%%%%%%%% + + +A configuration file may contain records of the following kinds. + +\begin{description} +\item[\#] Comment +\item[name = type] Defines a ht*tex like command, and assocites to it +the TeX compiler of the specified type. Examples of TeX types: latex, tex, +texi, and context. +\item[name.tex = options] Command line options for the compilation under + the (la)tex compiler +\item[name.tex4ht = options] Command line options for tex4ht.c +\item[name.t4ht = options] Command line options for t4ht.c +\end{description} + + +Each record should appear in a different line. +The variants `name.tex += options', `name.tex4ht += options', +`name.t4ht += options' ask to add the listed options to the base +values. + + + + + +Example: + + +\begin{verbatim} +foohlatex = latex +foohlatex.tex = xhtml,uni-html4 +foohlatex.tex4ht += -cunihtf +foohlatex.t4ht = -cvalidate +htlatex.t4ht += -d./ +\end{verbatim} + + + + +\<<<- +? +if( $inf ){ + print "(mk4ht cfg)\n"; + while(<$inf>) { + my($line) = $_; + chomp($line); # remove eoln char + if ($line =~ m|\s*#.*|) {} + elsif($line =~ m|^\s*(\S*)\.(\S*)\s*\+=\s*(.*\S)\s*$|) { + if( ($param."tex4ht") eq ($1.$2) ){ + $tex4htp = $tex4htp . " " . $3; + } + elsif( ($param."t4ht") eq ($1.$2) ){ + $t4htp = $t4htp . " " . $3; + } + elsif( ($param."tex") eq ($1.$2) ){ + $texp = $texp . "," . $3; + } + } + elsif($line =~ m|^\s*(\S*)\.(\S*)\s*=\s*(.*\S)\s*$|) { + if( ($param."tex4ht") eq ($1.$2) ){ + $tex4ht = $3 . " "; + $tex4htp = ""; + } + elsif( ($param."t4ht") eq ($1.$2) ){ + $t4ht = $3 . " "; + $t4htp = ""; + } + elsif( ($param."tex") eq ($1.$2) ){ + $tex = $3 . ","; + $texp = ""; + } + } + elsif($line =~ m|^\s*(\S*)\s*=\s*(.*\S)\s*$|) { + if( $param eq $1 ){ + $name = $1; + $compiler = $2; + } + } + ? + elsif ($line) { print "--- Error --- " . $line . "\n"; } + } + close $inf; +} +->>> + + +\<<<- +my $inf; +open $inf, ">> + +\<<<- +my $name; +my $compiler; +my $tex; +my $tex4ht; +my $t4ht; +my $texp; +my $tex4htp = ""; +my $t4htp = ""; +->>> + + + + +%%%%%%%%%%%%% +\subsection{Cleaning Temporary files} +%%%%%%%%%%%%% + +Requested in the mk4ht.cfg file through records of the following form + +\begin{description} +\item[clean ext1 ext2 ...] +The extension names of the files to be removed. + +\item[clean.name ext1 ext2 ...] + +The `name' refers to the ht*tex like command in use. + +\end{description} + + + + + + +Example: + + +\begin{verbatim} +clean dvi idv +clean.foohlatex lg +clean.htlatex lg tmp +\end{verbatim} + + + +\<<<- +my @ext; +->>> + +\<<<- +my $file; +my $ext; +opendir(DIR,".") ; +while ($file = readdir(DIR) ){ + if(index($file,$texFile) == 0 ){ + foreach $ext(@ext){ + if (index($file,$ext,length($file)-length($ext)) != -1){ + if( stat($file)){ + unlink($file); + print "Deleted: ". $file . "\n"; +} } } } } +closedir(DIR); +->>> + + + + +\<<<- +elsif($line =~ m|^\s*clean\s+(.+)|){ + my(@array) = split(' ',$1); + push(@ext,@array); +} elsif($line =~ m|^\s*clean\.(\S+)\s+(.+)|){ + if( $1 eq @ARGV[0] ){ + my(@array) = split(' ',$2); + push(@ext,@array); +} } +->>> + + + + +%%%%%%%%%%%%% +\subsection{Info} +%%%%%%%%%%%%% + + + + +\<<<- +sub showInstrucions(){ + print " option1: mk4ht #1 \"#2\" \"#3\" \"#4\" \"#5\"\n"; + print " \n"; + print " #1: htlatex, xhlatex, mzlatex, oolatex, dblatex, dbmlatex,\n"; + print " jhlatex, eslatex, teilatex, teimlatex, uxhlatex, \n"; + print " wlatex, xhmlatex\n"; + print " \n"; + print " also 'tex', 'texi', 'context', 'xetex', and 'xelatex'\n"; + print " instead of 'latex'\n"; + print " \n"; + print " #2: file name\n"; + print " #3: optional arguments for latex/tex/... \n"; + print " #4: optional arguments for tex4ht.c\n"; + print " #5: optional arguments for t4ht.c\n"; + print " \n"; + print " option2: mk4ht ht #2 #3 \"#4\" \"#5\"\n"; + print " \n"; + print " #1: ht\n"; + print " #2: latex, tex\n"; + print " #3: file name\n"; + print " #4: optional arguments for tex4ht.c\n"; + print " #5: optional arguments for t4ht.c\n"; + print " \n"; + print " Within the program, in column three of the options\n"; + print " variable, the requests for the commands \"latex\",\n"; + print " \"tex\", etc. can be replaced with other equivalent\n"; + print " commands (e.g., \"tex -fmt=latex\").\n"; + + ? + + ? +} +->>> + + + + + + +\<<<- +print "--------------------------------------------------------------------------\n"; +print " Private configuration file: mk4ht.cfg\n"; +print "--------------------------------------------------------------------------\n"; +print "\n"; +print "A private configuration file mk4ht.cfg or .mk4ht may be placed at the\n"; +print "work or home directory, to update existing commands and introduce new\n"; +print "ones. The configuration file may contain records of the following\n"; +print "kinds.\n"; +print "\n"; +print " # Comment\n"; +print " \n"; +print " name = type\n"; +print " Defines a ht*tex like command, and assocites to it the \n"; +print " TeX compiler of the specified type. Examples of TeX \n"; +print " types: latex, tex, texi, context, xetex, and xelatex.\n"; +print " \n"; +print " name.tex = options\n"; +print " Command line options for the compilation under\n"; +print " the (la)tex compiler\n"; +print " \n"; +print " name.tex4ht = options\n"; +print " Command line options for tex4ht.c \n"; +print " \n"; +print " name.t4ht = options\n"; +print " Command line options for t4ht.c\n"; +print " \n"; +print "Each record should appear in a different line. Variants\n"; +print "`name.tex += options', `name.tex4ht += options',\n"; +print "`name.t4ht += options' of the above records are also allowed.\n"; +print "They append the listed options to the base values.\n"; +print "\n"; +print "Example:\n"; +print "\n"; +print " foohlatex = latex\n"; +print " foohlatex.tex = xhtml,uni-html4\n"; +print " foohlatex.tex4ht += -cunihtf\n"; +print " foohlatex.t4ht = -cvalidate\n"; +print " htlatex.t4ht += -d./\n"; +->>> + + + + +\<<<- +print "--------------------------------------------------------------------------\n"; +print " Deleting files\n"; +print "--------------------------------------------------------------------------\n"; +print "\n"; +print "The configuration file mk4ht.cfg may also contain requests for\n"; +print "removing files created in the work directory during the compilation.\n"; +print "The requests are to be made through records of the following forms.\n"; +print "\n"; +print " clean ext1 ext2 ...\n"; +print " The extensions of the file name to be removed.\n"; +print " \n"; +print " clean.name ext1 ext2 ...\n"; +print " Conditional request. The `name' refers to the ht*tex \n"; +print " like command in use.\n"; +print "\n"; +print "Example:\n"; +print " clean dvi idv\n"; +print " clean.foohlatex lg \n"; +print " clean.htlatex lg tmp\n"; +->>> + + + + + +%%%%%%%%%%%%%%%%%% +\section{Info} +%%%%%%%%%%%%%%%%%% + + + +\<<<- +\immediate\write16{--------------------------------------------------------} +\immediate\write16{* Compile mkht-scripts.4ht with latex to get the + full scripts.} +\immediate\write16{* For shorter latex2e scripts, compile a file whose + content is:} +\immediate\write16{\space\space\space\space\def\string\latex{2e} + \string\input\space mkht-scripts.4ht } +\immediate\write16{* For shorter latex209 scripts, compile a file whose + content is:} +\immediate\write16{\space\space\space\space\def\string\latex{209} + \string\input\space mkht-scripts.4ht } +\immediate\write16{* Remove the extension .unix from the file names } +\immediate\write16{--------------------------------------------------------} +->>> + +% The - at the end of the first line prevents us from using tex4ht-cpright.tex. +\<<<- +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either +% version 1.3c of this license or (at your option) any +% later version. The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions +% of LaTeX version 2005/12/01 or later. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work +% is the TeX4ht Project . +% +% If you modify this program, changing the +% version identification would be appreciated. +% +\immediate\write-1{version \ifx \JOBNAME\UnDefined ?version\else |version\fi} +->>> + +\<<<- +# mk4ht (?version), generated from ?jobname.tex +# Copyright 2009-2020 TeX Users Group +# Copyright ?CopyYear.2003. Eitan M. Gurari +# +# This work may be distributed and/or modified under the +# conditions of the LaTeX Project Public License, either +# version 1.3 of this license or (at your option) any +# later version. The latest version of this license is in +# http://www.latex-project.org/lppl.txt +# and version 1.3 or later is part of all distributions +# of LaTeX version 2003/12/01 or later. +# +# This work has the LPPL maintenance status "maintained". +# +# The Current Maintainer of this work +# is the TeX4ht Project . +# +# If you modify this file, changing the +# version identification be appreciated. +->>> + +% used in the generated scripts. +\<<<- +|Rem |ScriptFileName|AddExtn (?version), generated from ?jobname.tex +|Rem Copyright 2009-2020 TeX Users Group +|Rem Copyright ?CopyYear.2003. Eitan M. Gurari +|Rem +|Rem This work may be distributed and/or modified under the +|Rem conditions of the LaTeX Project Public License, either +|Rem version 1.3 of this license or (at your option) any +|Rem later version. The latest version of this license is in +|Rem http://www.latex-project.org/lppl.txt +|Rem and version 1.3 or later is part of all distributions +|Rem of LaTeX version 2003/12/01 or later. +|Rem +|Rem This work has the LPPL maintenance status "maintained". +|Rem +|Rem The Current Maintainer of this work +|Rem is the TeX4ht Project . +|Rem +|Rem If you modify this file, changing the +|Rem version identification be appreciated. +->>> + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\OutputCode\ +\OutputCode\ + +\OutputCodE\ +%"mv mk4ht.perl mk4ht" + + + \Needs{"mkdir -p /opt/cvr/gurari/tex4ht.dir/bin/ht/perl"}% + \Needs{"cp mk4ht.perl /opt/cvr/gurari/tex4ht.dir/bin/ht/perl/mk4ht.perl"}% + \Needs{"chmod 744 /opt/cvr/gurari/tex4ht.dir/bin/ht/perl/mk4ht.perl"}% + + +\immediate\write16{--------------------------------------------------------} +\immediate\write16{Compile mkht-scripts.4ht with latex to get the + full scripts.} +\immediate\write16{Use the option `Needs' to automatically move the + files to private directories.} +\immediate\write16{--------------------------------------------------------} + +\end{document} +\endinput -- cgit v1.2.3