Biblio-Thesaurus
view release on metacpan or search on metacpan
bin/thesaurus2tex view on Meta::CPAN
#!/usr/bin/perl -w -s
our ($c);
use locale;
use strict;
use Biblio::Thesaurus;
my $the = shift;
my $dest = shift || "thesaurus";
my $obj = thesaurusLoad($the);
my $tit = $obj->{title} || $dest;
my $aut = $obj->{author} || "";
my $desc = $obj->{desc} || "";
open(F,">$dest.tex") or die;
binmode(F, ":utf8");
print F qq{
\\documentclass[twoside,portuges]{book}
\\RequirePackage[a4paper,top=3cm,left=2cm,right=2cm,bottom=1.5cm,nofoot]{geometry}
\\parindent 0pt
%\\parskip 3pt
\\usepackage{babel}
%\\usepackage[latin1]{inputenc}
\\usepackage[utf8]{inputenc}
\\usepackage{t1enc}
\\usepackage{aeguill}
\\usepackage{dict}
\\begin{document}
\\title{$tit}
\\author{$aut}
\\date{\\today}
\\maketitle
$desc
\\newpage
\\twocolumn
};
print F $obj->toTex({},{
## -default => sub { "\n$rel \t".join("\n\t",@terms)},
-eachTerm => sub {
$term = n($term);
$_ = n($_);
if(/\w/){"\n\\term{$term}{
\\begin{description}
$_
\\end{description}}\n"} else {"\n\\term{$term}{}\n"}},
-end => sub { "\\begin{dictionary}\n$_\n\\end{dictionary}\n"},
## -order => ["BT","NT","RT"],
});
print F q{
\end{document}
};
close(F);
sub n{ my $a = shift;
$a =~ s/^([#_])/\\$1/g;
$a =~ s/^([\^])/*$1/g;
$a =~ s/([^\\])([#_])/$1\\$2/g;
$a =~ s/([^\\])([\^])/$1*/g;
$a;
( run in 1.491 second using v1.01-cache-2.11-cpan-e1769b4cff6 )