NAME

latex.pm - a perl module to extract elements from a LaTeX file


SYNOPSIS

   @a         = greplatexenv("letter",["to"],"myletter,tex") ; 
   print $a[0]->{to}
   print $a[0]->{env}

   @l_section = greplatexcom("section",["title"],"myart.tex");
   for $s (@l_section) {print $s->{title} };

   @class = greplatexcom("documentclass",[["args"],"class"],"myart.tex");
   print $class[0]->{class} ;

   $abstract  = theenv("abstract","myart.tex");
   print tex2html($abstract);


DESCRIPTION

The following functions are available:


greplatexenv - to get all ocurrences of an environment

   @a = greplatexenv("letter",["to"],"myletter,tex") ; 

greplatexenv returns a list of all the ocurrences of environment ``letter'', reading its firts argument to the ``to'' field and saving its content in the ``env'' field;


theenv - to get an environment contents

   $abstract  = theenv("abstract","myart.tex");

theenv returns the contents of the environment ``abstract''.


greplatexcom - to get all ocurrences of a command

   @l_section = greplatexcom("section",["title"],"myart.tex");
   for $s (@l_section) {print $s->{title} };

Opcional arguments can be described with ``[name]''. See example

   @class = greplatexcom("documentclass",[["args"],"class"],"myart.tex");
   print $class[0]->{class} ;


bichop - Double end chop

  bichop("{aaa}") 

is

  "aaa"


tex2html - tex to html translation function

  tex2html("\section{Section one}") 

is

  "<h2> Section one </h2>"

You need tth comand intalled in your path...!


Example: make bibtex from a Latex file

        #!/usr/local/bin/perl
        use latex;
        $f=shift;

        @doc = greplatexcom("documentclass",[["args"],"t"],$f);
        @t=    greplatexcom("title",["t"],$f);
        @sec=  greplatexcom("section",["t"],$f);
        @au=   greplatexcom("author",["t"],$f);
        @date= greplatexcom("date",["t"],$f);
        $abs=  theenv("abstract",$f);

        $type = bichop($doc[0]->{"t"});
        $aut  = $au[0]->{t};
        ($k= $aut) =~ tr{a-záéíóúãõâêôç {}}{}d ;

        print 
        "\@$type\{$k,
          author=$aut,
          title=$t[0]->{t},
          abstract={$abs},
          year=$date[0]->{t}}\n\n";


Author

José João Almeida - jj@di.uminho.py