#!/usr/bin/perl -s our ($lang,$s); ## s _ schema use strict; use Text::TabDB; my $f=shift; #undef $/; #$/=''; Text::TabDB::tabdt({$s?(sch=>$s):()}, $f,{ begin=>sub { my ($fs,@f)=@_; if($lang and not grep($_ eq $lang,@f)){ die(join(", ",@f)."\nLanguage $lang not present in table\n") ; } $lang||= $f[0]; " \\documentclass[twoside,portuges]{book} \\RequirePackage[a4paper,top=3cm,left=2cm,right=2cm,bottom=1.5cm,nofoot]{geometry} \\parindent 0pt \\parskip 0pt \\usepackage{babel} \\usepackage[mathletters]{ucs} \\usepackage[utf8x]{inputenc} \\usepackage[T1]{fontenc} \\usepackage{dict} \\begin{document} \\twocolumn \\begin{dictionary}\n";}, tup_h=>sub {my %f=@_; return "" unless $f{$lang}; my $r= "\\term{". $f{$lang} . "}{"; for (sort keys %f){ next if $_ eq $lang; $r .= "\\\\\\textbf{\\textsc{$_}}: $f{$_}"; } $r."}\n"; }, end=>sub {"\\end{dictionary}\\end{document}\n"}, } ); __END__ =encoding utf8 =head1 NAME tab2texdict - table to LaTeX dictionary converter =head1 SYNOPSIS tab2texdict [-lang=...] f.tab =head1 DESCRIPTION =head2 EXPORT =head1 AUTHOR J.Joao Almeida, jj@di.uminho.pt =head1 SEE ALSO perl(1). =cut