From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/7991 Path: main.gmane.org!not-for-mail From: Henning Hraban Ramm Newsgroups: gmane.comp.tex.context Subject: Re: LaTeX -> ConTeXt Date: Thu, 23 May 2002 20:26:17 +0200 Sender: owner-ntg-context@let.uu.nl Message-ID: <200205232026.17942.angerweit@gmx.net> References: <20020523065028.A12569@bar.loria.fr> NNTP-Posting-Host: coloc-standby.netfonds.no Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="------------Boundary-00=_TVTKTYOVF2YZ72F1ZH41" X-Trace: main.gmane.org 1035398428 23944 80.91.224.250 (23 Oct 2002 18:40:28 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Wed, 23 Oct 2002 18:40:28 +0000 (UTC) Original-To: "Denis B. Roegel" , ntg-context@ntg.nl In-Reply-To: <20020523065028.A12569@bar.loria.fr> Xref: main.gmane.org gmane.comp.tex.context:7991 X-Report-Spam: http://spam.gmane.org/gmane.comp.tex.context:7991 --------------Boundary-00=_TVTKTYOVF2YZ72F1ZH41 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Am Donnerstag, 23. Mai 2002 06:50 schrieb Denis B. Roegel: > \begin{itemize} by \startitemize, etc. Many of these things could > be automated, and I wonder if someone already wrote a script for that? Try the attached one. It's everything other than sophisticated or complet= e,=20 but it does some nasty work. Gr=FC=DFlis vom Hraban! --=20 http://www.fiee.net/texnique/ --- --------------Boundary-00=_TVTKTYOVF2YZ72F1ZH41 Content-Type: text/x-perl; charset="iso-8859-1"; name="html2context.pl" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="html2context.pl" #!/usr/bin/perl -w print "\nThis is HTML2ConTeXt. Version 2002-05-15\n"; print "I'll try to convert your HTML file for ConTeXt.\n"; print "copyleft Henning Hraban Ramm, http://www.fiee.net/texnique/\n\n"; unless ($ARGV[0]) {die "You must name a file to convert! $!"}; my $HTMLDatei =3D $ARGV[0]; unless (-T $HTMLDatei) { =09print "$HTMLDatei not found!\n"; =09if (-T $HTMLDatei.'.htm') { $HTMLDatei .=3D ".htm"; } =09if (-T $HTMLDatei.'.html') { $HTMLDatei .=3D ".html"; } } # unless $HTMLDatei =3D~ s/\\/\//g; my $Table=3D"n"; my $Encod=3D"win"; open (QUELLE, $HTMLDatei) or die "Can't open $HTMLDatei! $!"; my $TeXDatei =3D $HTMLDatei; $TeXDatei =3D~ s/\.htm$/\.tex/i; print $TeXDatei."\n"; open (ZIEL, ">".$TeXDatei) or die "Can't make $TeXDatei! $!"; while () { # single entities and chars =09s=A7&(.)uml;=A7\\\"$1=A7g; =09s=A7&(.)acute;=A7\\=B4$1=A7g; =09s=A7&(.)grave;=A7\\`$1=A7g; =09s=A7&(.)circ;=A7\\^$1=A7g; =09s=A7&(.)ring;=A7\\=B0$1=A7g; if ($Encod eq "win") { =09s=A7ß=A7=DF=A7g; } else { =09s=A7ß=A7\\ss{}=A7g; } # if Encoding =09s=A7&(\#150|endash);=A7--=A7g;=09# endash =09s=A7 - =A7 -- =A7g;=09=09=09# endash =09s=A7 =A7~=A7g;=09# non breaking space =09s=A7"([^<>]*)"=A7\\quotation{$1}=A7g; =09s=A7&(r|l)aquo;([^<>]*)&(l|r)aquo;=A7\\quotation{$2}=A7g; =09s=A7&\#132;([^<>]*)"=A7\\quotation{$1}=A7g; =09s=A7&\#132;([^<>]*)$=A7\\quotation{$1=A7g; # uncompleted line =09s=A7\s("|\")=A7 \\quotation{=A7g;=09# begin quote =09s=A7"\s=A7} =A7g;=09# end quote =09s=A7"=A7\"=A7g;=09=09# quote =09s=A7([^\\=3D\s])\"=A7$1}=A7g;=09# end quote =09s=A7%=A7|~|\\%{}=A7g;=09# percent =09s=A7<=A7<=A7g; =09s=A7>=A7>=A7g; =09s=A7&=A7\&=A7g; =09s=A7&sup(.);=A7^$1=A7g; =09s=A7&frac(.)(.);=A7\\frac{$1}{$2}=A7g; =09s=A7&\#133;=A7 =A7g; #=09s=A7=A7=A7g; #=09s=A7=A7=A7g; # TeX words and marks =09s=A7TEX=A7TeX=A7g; =09s=A7pdfTeX=A7\\pdfTeX{}=A7gi; =09s=A7ppchTeX=A7\\pdfTeX{}=A7gi; =09s=A7ConTeXt=A7\\ConTeXt{}=A7g; =09s=A7CONTEXT=A7\\ConTeXt{}=A7g; =09s=A7(\s)TeX=A7$1\\TeX{}=A7g; # environments =09s=A7]*>=A7\\starttext=A7gi; =09s=A7=A7\\stoptext=A7gi; =09s=A7(
|)=A7\\startquotation=A7gi; =09s=A7(<\/BLOCKQUOTE>|<\/QUOTE>)=A7\\stopquotation=A7gi; =09s=A7]*>=A7=A7gi;=09# delete all divs =09s=A7]*(>|$)=A7=A7gi;=09# delete all font tags # Headers =09s=A7

=A7\\chapter{=A7gi; =09s=A7

=A7\\section{=A7gi; =09s=A7

=A7\\subsection{=A7gi; =09s=A7

=A7\\subsubsection{=A7gi; =09s=A7=A7}=A7gi; # Links =09s=A7(.*)=A7\\goto{$3}[URL($2)]=A7gi; =09s=A7(.*)=A7\\reference[$2]{$3}=A7gi; # Tables if ($Table eq "y") { =09s=A7]*)>=A7\\bTABLE \%$1 =A7gi; =09s=A7=A7\\eTABLE=A7gi; =09s=A7=A7\\eTD =A7gi; =09s=A7]*)>=A7\\bTD =A7gi; =09s=A7=A7\\eTR =A7gi; =09s=A7]*)>=A7\\bTR =A7gi; } else { =09s=A7]*>=A7=A7gi;=09# delete all table tags } # if Table # Images =09s=A7]*)>=A7\\externalfigure[$1]=A7gi; =09s=A7]*)\"([^<>]*)$=A7\\externalfigure[$2]= \t\% $1 $3=A7gi; # Lists =09s=A7
    =A7\\startitemize\[1\]=A7gi; =09s=A7
      =A7\\startitemize\[n\]=A7gi; =09s=A7
      =A7\\startitemize\[1\]=A7gi; # ? =09s=A7=A7\\stopitemize=A7gi; =09s=A7
    1. =A7\\item =A7gi; =09s=A7
      =A7\\item =A7gi; # =09s=A7
      =A7\\item =A7gi; # =09s=A7
    2. =A7=A7gi; =09s=A7]*>=A7=A7gi; #=09s=A7

      =A7\\par=A7gi; =09s=A7

      =A7\n\n=A7gi; =09s=A7]*>=A7\n=A7gi; =09s=A7]*>=A7\\blank =A7gi; =09s=A7<(PRE|TT|CODE)>=A7\\type{=A7gi; =09s=A7<(STRONG|B)>=A7{\\bf =A7gi; =09s=A7<(EM|I|U)>=A7{\\em =A7gi; =09s=A7^$=A7\\stop$1=A7gi; =09s=A7^<([^\s]*)([^<>]*)>$=A7\\start$1\[$2\]=A7gi; =09s=A7=A7}=A7gi; # all other closing tags become } =09s=A7<([^\s]*)(\s)(.*)>=A7\\$1\[$3\]\{=A7gi; # all other opening tags b= ecome { =09s=A7<([^\s]*)>=A7\\$1\{=A7gi; # all other opening tags become { =09s=A7^\s*=A7=A7g;=09# remove trailing spaces =09print ZIEL; =09print "."; } # while print "\n"; close (ZIEL); close (QUELLE); # \goto{text}[URL(Link)] --------------Boundary-00=_TVTKTYOVF2YZ72F1ZH41 Content-Type: text/x-perl; charset="iso-8859-1"; name="latex2context.pl" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="latex2context.pl" #!/usr/bin/perl -w=0D =0D print "\nThis is LaTeX2ConTeXt. Version 2002-03-13\n";=0D print "I'll try to convert your LaTeX file for ConTeXt.\n";=0D print "copyleft Henning Hraban Ramm, http://www.fiee.net/texnique/\n\n";=0D =0D unless ($ARGV[0]) {die "You must name a file to convert! $!"};=0D my $LaTeXDatei =3D $ARGV[0];=0D unless (-T $LaTeXDatei) {=0D =09print "$LaTeXDatei not found!\n";=0D =09if (-T $LaTeXDatei.'.tex') { $LaTeXDatei .=3D ".tex"; }=0D } # unless=0D $LaTeXDatei =3D~ s/\\/\//g;=0D rename ($LaTeXDatei, $LaTeXDatei.".bak");=0D =0D open (QUELLE, $LaTeXDatei.".bak") or die "Can't open $LaTeXDatei! $!";=0D =0D my $ConTeXtDatei =3D $LaTeXDatei;=0D open (ZIEL, ">".$ConTeXtDatei) or die "Can't make $ConTeXtDatei! $!";=0D =0D # Header (should be an extra file)=0D print ZIEL "% interface=3Denglish output=3Dpdftex\n";=0D print ZIEL "%D this \\ConTeXt\\ file is automatically converted from \\La= TeX.\n";=0D print ZIEL "\\enableregime[windows]\n";=0D print ZIEL "\\mainlanguage[de]\n";=0D print ZIEL "\\setupencoding[default=3Dtexnansi]\n";=0D print ZIEL "\n";=0D =0D while () {=0D # disable LaTeX header and some other commands=0D =09s=A7^%!=A7%%% =A7;=0D =09s=A7^(|\s)(\\document)(style|class)=A7%%% $2$3=A7g;=0D =09s=A7^(|\s)(\\usepackage|\\setlength|\\addtolength|\\normalfont)=A7%%% = $2=A7g;=0D #=09s=A7^(|\s)(\\addtolength)=A7%%% $2=A7g;=0D =0D =09unless (m/^%/) { # if no comment line=0D # raw convert environments=0D =09=09s=A7\\begin{([^{}]*)}=A7\\start$1 =A7g;=09# \begin{environment} -->= \startenvironment=0D =09=09s=A7\\end{([^{}]*)}=A7\\stop$1 =A7g;=09# \end{environment} --> \sto= penvironment=0D =09=09s=A7\\begingroup=A7\\bgroup=A7g;=0D =09=09s=A7\\endgroup=A7\\egroup=A7g;=0D =09=09s=A7\\include(\s*){([^{}<>\[\]]*)}=A7\\input $2 =A7g;=09# \include{= } --> \input=0D =0D # convert single commands=0D =09=09s=A7\\newcommand=A7\\def=A7g;=09# \newcommand --> \def=0D =09=09s=A7\\new(environment)(\s*){([^{}]*)}=A7\\define$1\[$3\]=A7g;=09# \= newenvironment{} --> \defineenvironment[]=0D =09=09s=A7\\label=A7\\reference=A7g;=09# \label --> \reference=0D =09=09s=A7\\\\\*=A7\\\\=A7g;=09# \\* --> \\=0D =09=09s=A7\\(big|small)skip=A7\\blank\[$1\]=A7g;=09# \...skip --> \blank[= =2E..]=0D =09=09s=A7\"`(.*)\"'=A7\\quote{$1}=A7g;=0D =09=09s=A7``(.*)''=A7\\quotation{$1}=A7g;=0D =09=09s=A7\\select(language){([^{}]*)}=A7\\$1\[$2\]=A7g;=09# \selectlangu= age{lang} --> \language[lang]=0D =09=09s=A7\\new(page)=A7\\$1=A7g;=09# \newpage --> \page=0D =09=09s=A7\\(|this)pagestyle{empty}=A7\\setupheaders[state=3Dstop]=A7g;=0D =09=09s=A7\\(|this)pagestyle{([^{}]*)}=A7\\setupheaders[state=3Dstart] \%= $2=A7g;=0D =09=09s=A7\\areaset{([^{}]*)}{([^{}]*)}=A7\\setuplayout[width=3D$1, heigh= t=3D$2]=A7g;=0D =0D #=09=09s=A7LaTeX=A7ConTeXt=A7gi;=0D =0D # correct environments=0D =09=09s=A7\\(start|stop)document=A7\\$1text=A7g;=0D =09=09s=A7(\\startitemize)=A7$1\[1\]=A7g;=0D =09=09s=A7\\(start|stop)enumeration=A7\\$1itemize[n]=A7g;=0D =09=09s=A7\\(start|stop)(verbatim|alltt)=A7\\$1typing=A7g;=0D =09=09s=A7\\(start|stop)verse=A7\\$1lines=A7g;=0D =09=09s=A7\\(start|stop)center=A7\\$1centered=A7g;=0D =09=09s=A7\\(start|stop)tabular(x*)=A7\\$1tabulate=A7g;=0D =09=09s=A7\\(start|stop)long(table)=A7\\$1$2=A7g;=0D =09=09s=A7\\(start|stop)multicols(\s*){(0-9)}=A7\\$1columns[n=3D$3]=A7g;=0D =09=09s=A7\\twocolumn=A7\\startcolumns[n=3D2]=A7g;=0D =09=09s=A7\\onecolumn=A7\\stopcolumns=A7g;=0D =0D # correct titles=0D =09=09s=A7(\\part)(\**)=A7$1=A7g;=09# \part* --> \part=0D =09=09s=A7\\chapter\*=A7\\title=A7g;=0D =09=09s=A7\\(|sub)section\*=A7\\$1subject=A7g;=0D =09=09s=A7\\paragraph=A7\\subsubsubsection=A7g;=0D #=09=09s=A7=A7=A7g;=0D #=09=09s=A7=A7=A7g;=0D =0D # correct tables=0D =09=09s=A7(\\starttabulate)(\s*){([^{}]*)}=A7$1$2\[\|$3\|\]=A7g;=0D =09=09s=A7&=A7\\NC =A7g;=0D =09=09s=A7\\hline=A7\\HL=A7g;=0D =09=09s=A7\\(top|bottom|mid)rule=A7\\HL=A7g;=0D =0D # correct typography=0D =09=09s=A7\\verb(\||\+)([^\|]*)(\||\+)=A7\\type{$2}=A7g;=0D =09=09s=A7\\verb=A7\\type=A7g;=0D =09=09s=A7\\type{\\=A7\\tex{=A7g;=0D =09=09s=A7\\texttt=A7\\type=A7g;=0D =09=09s=A7\\emph{=A7{\\em =A7g;=0D =09=09s=A7\\text(bf|sc|it|sl){=A7{\\$1 =A7g;=0D =09=09s=A7\\(rm|ss|tt)family=A7\\switchtobodyfont\[$1\]=A7g;=0D =09=09s=A7\\small =A7\\tfx =A7g;=0D =09=09s=A7\\Small =A7\\tfxx =A7g;=0D =09=09s=A7\\large =A7\\tfa =A7g;=0D =09=09s=A7\\Large =A7\\tfb =A7g;=0D =09} # unless comment line=0D =09print ZIEL;=0D =09print ".";=0D } # while=0D print "\n";=0D =0D close (ZIEL);=0D close (QUELLE);=0D --------------Boundary-00=_TVTKTYOVF2YZ72F1ZH41--