Anterior Siguiente Indice

7. Los ejemplos

Fichero /etc/printcap

#
# Copyright (c) 1983 Regents of the University of California.
# All rights reserved.
#
# Redistribution and use in source and binary forms are permitted
# provided that this notice is preserved and that due credit is given
# to the University of California at Berkeley. The name of the University
# may not be used to endorse or promote products derived from this
# software without specific prior written permission. This software
# is provided ``as is'' without express or implied warranty.
#
#    @(#) etc.printcap  5.2 (Berkeley) 5/5/88
#

#   Modificado  5-1-95 por Paco Andres para incluir los filtros
#   para la impresora HP-Deskjet. Y quitar lo que sobra.
#

#
# HP Deskjet
# Se han agnadido los siguientes filtros :
#    lpr #, donde # puede ser :
#    -d  -->  Ficheros DVI
#    -n  -->  Ficheros generados por gtroff
#    -t  -->  Ficheros a procesar por groff (este ya llama gtroff si es
          necesario) 
#    -f  -->  Ficheros PostSript
lp|hpdj:\
    :lp=/dev/lp0:\
:sh:\
    :sd=/usr/spool/lp0:\
    :mx#0:\
    :if=/usr/spool/lp0/hpdjlp:\
:df=/usr/spool/lp0/filtro.dvi:\
:nf=/usr/spool/lp0/filtro.gro:\
:tf=/usr/spool/lp0/filtro.troff:\
:rf=/usr/spool/lp0/filtro.postscript:\
    :lf=/usr/spool/lp0/hp-log:

Tened en cuenta que la línea :lp=/dev/lp0: le indica al sistema que la impresora está conectada a lp0, si la tenéis en otro puerto (lp1, lo más habitual) tendréis que cambiar esa línea a lp1 en la inmensa mayoría de los casos.

  1. Con PostScript Nota: el parámetro -n es para que el comando echo no mande un avance de línea después de los códigos. Fichero /usr/spool/lp0/hpdjlp En caso de ser una distribución RedHat, /var/spool/lpd/lp0/hpdjlp. Suele ser útil hacer un symlink: ln -s /var/spool /usr/spool Programa la impresora para que use el juego de caracteres ISO-8859-1, papel A4, 66 líneas por página (más o menos el estándar Unix) , y que acepte los avances de línea com CR+LF.
    #!/bin/bash
    echo -ne "\033E\033(0N\033&l26A\033&l66P\033&k2G"
    cat
    echo -ne "\033E"
    
    Fichero /usr/spool/lp0/filtro.dvi Permite imprimir los ficheros dvi en la impresora HP-Deskjet. Los pasa primero a PostScript, y luego lo imprime mediante el ghostcript. Cambiando el parámetro -sDEVICE (y probablemente la resolución) se puede indicar otro tipo de impresora.
    #!/bin/bash
    cat > /tmp/fich.dvi.$$
    /usr/TeX/bin/dvips -q '-f*' < /tmp/fich.dvi.$$ | gs -q -sDEVICE=deskjet -r300 -dNOPAUSE \
    -sPAPERSIZE=a4 -sOutputFile=- -
    rm /tmp/fich.dvi.$$
    
    Fichero /usr/spool/lp0/filtro.gro
    #!/bin/bash
    #           Filtro de impresora para procesar la salida de Troff
    grops -g | gs -q -sDEVICE=deskjet -r300 -dNOPAUSE -sPAPERSIZE=a4 -sOutputFile=- -
    
    Fichero /usr/spool/lp0/filtro.troff
    #!/bin/bash
    #           Filtro de impresora para procesar ficheros Troff
    /usr/bin/groff -i -mdoc -mm -man | gs -q -sDEVICE=deskjet -r300 -dNOPAUSE -sPAPERSIZE=a4 \
    -sOutputFile=- -
    
    Fichero /usr/spool/lp0/filtro.postscript
    #!/bin/bash
    #           Filtro de impresora para procesar ficheros PostScript
    gs -q -sDEVICE=deskjet -r300 -dNOPAUSE -sPAPERSIZE=a4 -sOutputFile=- -
    
  2. Con DVI El fichero /etc/printcap es el mismo que en el caso anterior Fichero /usr/spool/lp0/hpdjlp Programa la impresora para que use el juego de carácteres ISO-8859-1, papel A4, 66 líneas por página (más o menos el estándar Unix) , y que acepte los avances de línea com CR+LF.
    #!/bin/bash
    #
    #   Filtro de impresora de caracter general.
    #
    #
    
    PATH=/usr/spool/lp0:$PATH:/usr/bin:/bin:/usr/local/bin:/usr/TeX/bin
    DIR_FILTROS=/usr/spool/lp0     # Directorio en el que se encuentran
                                   # los filtros de esta impresora
    
    echo -ne "\033E\033(0N\033&l26A\033&l66P\033&k2G"
    cat
    echo -ne "\033E"
    
    Fichero /usr/spool/lp0/filtro.dvi Permite imprimir los ficheros dvi en la impresora HP-Deskjet, emplea el programa dvidj500
    #!/bin/bash
    #
    #   Filtro de impresora   para los ficheros dvi.
    PATH=/usr/spool/lp0:$PATH:/usr/bin:/bin:/usr/local/bin:/usr/TeX/bin
    DIR_FILTROS=/usr/spool/lp0     # Directorio en el que se encuentran
                                   # los filtros de esta impresora
    
    TEXFONTS=/var/texfonts/pk/HPDeskJet/
    export TEXFONTS
    
    fichero=/tmp/filtro.dvi.$$
    cat > $fichero ;
    
    #echo -ne "\033E"          # Reseteo la impresora por si acaso
    
    # anulo la salida de errores para que lpd no guarde todo el rollo del
    # MakeTeXPK
    /usr/local/bin/dvidj500   <  $fichero  2> /dev/null
    
    rm $fichero
    
    Fichero /usr/spool/lp0/filtro.gro
    #!/bin/bash
    #           Filtro de impresora para procesar la salida de Troff
    grodvi  | /usr/spool/lp0/filtro.dvi
    
    Fichero /usr/spool/lp0/filtro.troff
    #!/bin/bash
    #           Filtro de impresora para procesar ficheros Troff
    PATH=/usr/spool/lp0:$PATH:/usr/bin:/bin:/usr/local/bin:/usr/TeX/bin
    DIR_FILTROS=/usr/spool/lp0     # Directorio en el que se encuentran
                                   # los filtros de esta impresora
    
    TEXFONTS=/var/texfonts/pk/HPDeskJet/
    export TEXFONTS
    
    /usr/bin/groff -i -Tdvi -mdoc -mcn -mgm -mgmse -man | $DIR_FILTROS/filtro.dvi
    
    Fichero /usr/spool/lp0/filtro.postscript
    #!/bin/bash
    #           Filtro de impresora para procesar ficheros PostScript
    gs -q -sDEVICE=deskjet -r300 -dNOPAUSE -sPAPERSIZE=a4 -sOutputFile=- -
    

Espero que os sea útil todo este rollo.


Anterior Siguiente Indice