#!/bin/sh target=FAQ-CervanTeX LATEX=latex COMMON="--language=\"spanish\" --charset=\"latin\"" SOURCE="/home/agmartin/local-docs/docs/sgml/FAQ-CervanTeX.sgml" MAINTAINER_NAME="AgustHn MartHn" MAINTAINER_EMAIL="agmartin@aq.upm.es" DESTINATION="agmartin@aq.upm.es (hola)" ORGANIZATION="Depto. FHsica, E.T.S. Arquitectura Madrid" clean_files(){ rm -f *.aux *.log *.dlg *.toc *~ } clean_all_old(){ clean_files rm -f *.html *.tex *.dvi *.pdf *.txt *.lyx *.info *.latin1 *.cp850 *.cp437 *.applemac *.out *.rtf *.ps *.ms-ansi *.bak *~ } process_sgml_source (){ sed -e 's/\$Revision: \([0-9\.]*\) \$ \$Date: \([0-9\/]*\) \([0-9:]*\) \$/VersiPn \1 de \2 a las \3/g' $SOURCE > $target.sgml } extract_date (){ grep "^" $target.sgml | grep "VersiPn" | sed 's///g' } traduce_cabecera(){ sed -e 's/\\\$Revision: \([0-9\.]*\) \\\$ \\\$Date: \([0-9\/]*\) \([0-9:]*\) \\\$/VersiPn \1 de \2 a las \3/g' $1 } extrae_tabla_de_materias (){ lynx -dump FAQ-CervanTeX.html | sed -e 's/file:.*//g' -e 's/[0-9\.\ ]*$//g' -e 's/\[[0-9]*\]//g' -e 's/#next//g' -e 's/References//g' -e 's/Pogina siguiente Pogina anterior ndice general//g' | tr -s '\n' } extrae_faq_address (){ local first_line local last_line file=$target.latin1 first_line=`grep -n "La versiPn mos reciente de esta FAQ esto disponible en" $file | sed 's/\([0-9]\):.*/\1/g'` last_line=`wc -l $file | sed 's/\ *\([0-9]*\) .*/\1/g'` num_lines=`expr $last_line - $first_line + 2` tail -$num_lines $file | tr -s '\n' } make_toc_mail(){ echo "To: $DESTINATION" # echo "Reply-To: $DESTINATION" echo "Organization: $ORGANIZATION" echo "Subject: FAQ-CervanTeX `extract_date`" # extrae_faq_address cat mail.header echo "" extrae_tabla_de_materias } mail_FAQ (){ test -e toc.txt && cat toc.txt | /usr/sbin/smail -f"$MAINTAINER_EMAIL" -F"$MAINTAINER_NAME" $DESTINATION } create_tex_source (){ sgml2latex --language=spanish --charset=latin \ --pass="\usepackage{times}\usepackage{hyperref}" -p a4 \ $target.sgml sed -e \ 's:\\usepackage\[english\]{babel}:\\usepackage\[spanish\]{babel}\\AtBeginDocument{\\gdef~{\\nobreakspace{}}\\catcode`\\\"=12}:g' \ $target.tex > tmp mv tmp $target.tex } process_tex_source (){ $LATEX $target.tex $LATEX $target.tex $LATEX $target.tex dvips -o $target.ps $target pdflatex $target.tex } create_html (){ sgml2html --language=spanish --charset=latin $target.sgml } create_txt_files (){ CODEPAGES="applemac cp850 cp437 ms-ansi" sgml2txt --filter --language=spanish --charset=latin $target.sgml mv $target.txt $target.latin1 for i in $CODEPAGES; do cp $target.latin1 $target.$i recode latin1..$i $target.$i done unix2dos $target.ms-ansi } create_other_formats (){ OTHER_FORMATS="sgml2txt sgml2rtf sgml2lyx" # sgml2info for i in $OTHER_FORMATS; do echo $i $i --language=spanish --charset=latin $target.sgml done } rebuild_FAQ () { clean_all_old process_sgml_source create_tex_source create_html process_tex_source create_txt_files create_other_formats make_toc_mail > toc.txt clean_files } case $1 in prueba) make_toc_mail ;; mail) mail_FAQ ;; mail-lista) rebuild_FAQ DESTINATION="spanish-tex@eunet.es (Lista de TeX en castellano)" mail_FAQ ;; clean) clean_all_old ;; *) rebuild_FAQ ;; esac