41 Impresión de Copias en Papel
Emacs proporciona comandos para imprimir copias en papel de un búfer entero o de parte de él. Puede invocar los comandos de impresión directamente, como se detalla a continuación, o utilizando el menú File
(Archivo) de la barra de menús.
Aparte de los comandos descritos en esta sección, también puede imprimir copias en papel desde Dired (véase 31.7 Operar con Archivos) y la agenda (véase 32.10.2 Visualización de la Agenda). Tambien puede «imprimir» un búfer Emacs a HTML con el comando M-x htmlfontify-buffer
, que convierte el búfer actual a un fichero HTML, reemplazando las caras Emacs por marcas basadas en CSS. Además, Org mode permite imprimir archivos Org a una variedad de formatos, como PDF (ver 26.10. Modo Org (Org Mode)).
Alt-x print-buffer
(M-x print-buffer
)
Imprime una copia en papel del búfer actual con encabezados de página que contienen el nombre del archivo y el número de página.
Alt-x lpr-buffer
(M-x lpr-buffer
)
Imprime una copia en papel del búfer actual sin encabezados de página.
Alt-x print-region
(M-x print-region
)
Como
print-buffer
pero imprime sólo la región actual.
Alt-x lpr-region
(M-x lpr-region
)
Como
lpr-buffer
pero imprimer sólo la región actual.
En la mayoría de los sistemas operativos, los comandos de impresión anteriores envían los archivos para su impresión llamando al programa lpr
. Para cambiar el programa de impresión, personalice la variable lpr-command
. Para especificar opciones adicionales para el programa de impresión, personalice la variable de lista lpr-switches
. Su valor debe ser una lista de cadenas de opciones, cada una de las cuales debe empezar por -
(por ejemplo, la cadena de opciones "-w80"
especifica un ancho de línea de 80 columnas). El valor por defecto es la lista vacía, nil
.
Para especificar la impresora a utilizar, establezca la variable print-namer
(nombre-impresora). El valor por defecto, nil
, especifica la impresora por defecto. Si la establece con un nombre de impresora (una cadena), ese nombre se pasa a lpr
con el modificador -P
; si no está usando lpr
, debe especificar el modificador con lpr-printer-switch
.
La variable lpr-headers-switches
especifica de manera similar los switches extra a usar para hacer los encabezados de página. La variable lpr-add-switches
controla si se suministran las opciones -T
y -J
(adecuadas para lpr
) al programa de impresión: nil
significa no añadirlas (este debería ser el valor si su programa de impresión no es compatible con lpr
).
41.1 Impresión PostScript
Estos comandos convierten el contenido del búfer a PostScript, imprimiéndolo o dejándolo en otro búfer de Emacs.
Alt-x ps-print-buffer
(M-x ps-print-buffer
)
Imprime una copia en papel del búfer actual en formato PostScript.
Alt-x ps-print-region
(M-x ps-print-region
)
Imprime una copia en papel de la región actual en formato PostScript.
Alt-x ps-print-buffer-with-faces
(M-x ps-print-buffer-with-faces
)
Imprime una copia en papel del búfer actual en formato PostrScript, mostrando las caras usadas en el texto mediante funciones PostScript.
Alt-x ps-print-region-with-faces
(M-x ps-print-region-with-faces
)
Imprime en formato PostScript una copia en papel de la región actual mostrando las caras usadas en el texto.
Alt-x ps-spool-buffer
(M-x ps-spool-buffer
)
Genera y envía a la impresora una imagen PostScript del texto del búfer actual.
Alt-x ps-spool-region
(M-x ps-spool-region
)
Genera y envía a la impresora una imagen PostScript de la región actual.
Alt-x ps-spool-buffer-with-faces
(M-x ps-spool-buffer-with-faces
)
Genera y envía a la impresora una imagen PostScript del búfer actual mostrando las caras usadas.
Alt-x ps-spool-region-with-faces
(M-x ps-spool-region-with-faces
)
Genera y envía a la impresora una imagen PostScript de la región actual mostrando las caras usadas.
Alt-x ps-despool
(M-x ps-despool
)
Envía a la impresora la cola de impresión de PostScript.
Alt-x handwrite
(M-x handwrite
)
Genera/imprime en formato PostScritp del búfer actual como si estuviera escrito a mano.
Los comandos ps-print-buffer
y ps-print-region
imprimen el contenido del buffer en formato PostScript. Un comando imprime todo el búfer; el otro, sólo la región. Los comandos ps-print-buffer-with-faces
y ps-print-region-with-faces
se comportan de forma similar, pero utilizan características PostScript para mostrar las caras (fuentes y colores) del texto del buffer.
Interactivamente, cuando se utiliza un argumento prefijo (C-u
), estos comandos piden al Usuario un nombre de archivo, y guardan la imagen PostScript en ese archivo en lugar de enviarla a la impresora.
Los comandos cuyos nombres tienen spool
en lugar de print
, generan la salida PostScript en un buffer de Emacs en lugar de enviarla a la impresora.
Utilice el comando ps-despool
para enviar las imágenes en spool a la impresora. Este comando envía el PostScript generado por los comandos -spool-
(ver comandos anteriores) a la impresora. Con un argumento prefijo (C-u
), pide un nombre de archivo y guarda la imagen PostScript en ese archivo en lugar de enviarla a la impresora.
M-x handwrite
es más informal. Genera una representación PostScript del búfer actual como un documento manuscrito en cursiva. Se puede personalizar en escritura a mano en grupo. Esta función sólo admite caracteres ISO 8859-1.
41.2 Variables para PostScript Hardcopy
Todas las órdenes de copia impresa PostScript utilizan las variables ps-lpr-command
y ps-lpr-switches
para especificar cómo imprimir la salida. ps-lpr-command
especifica el nombre de la orden a ejecutar, ps-lpr-switches
especifica las opciones de línea de órdenes a utilizar, y ps-printer-name
especifica la impresora. Si no establece las dos primeras variables, éstas tomarán sus valores iniciales de lpr-command
y lpr-switches
. Si ps-printer-name
es nil
, se utiliza printer-name
.
La variable ps-print-header
controla si estos comandos añaden líneas de cabecera a cada página, ajústela a nil
para desactivar las cabeceras.
Si su impresora no soporta colores, debería desactivar el procesado de color estableciendo ps-print-color-p
a nil
. Por defecto, si la pantalla soporta colores, Emacs produce una copia impresa con información en color; en impresoras en blanco y negro, los colores se emulan con tonos de gray (gris). Esto puede producir una salida apenas legible o incluso ilegible, incluso si los colores de su pantalla sólo utilizan tonos de gris.
Alternativamente, puede configurar ps-print-color-p
a black-white
(blanco-negro) para que los colores se muestren mejor en impresoras blanco-negro. Esto funciona utilizando la información en ps-black-white-faces
para expresar los colores mediante una lista personalizable de tonos de gris, aumentada por atributos de bold (negrita) e italic (cursiva).
Por defecto, la impresión PostScript ignora los colores de fondo de las caras, a menos que la variable ps-use-face-background
sea distinta de cero. Esto es para evitar interferencias no deseadas con las rayas de cebra y la imagen/texto de fondo.
La variable ps-paper-type
especifica para qué tamaño de papel formatear; los valores permitidos incluyen a4
, a3
, a4small
, b4
, b5
, executive
, ledger
, legal
, letter
, letter-small
, statement
, tabloid
. El valor por defecto es letter
. Puede definir tamaños de papel adicionales cambiando la variable ps-page-dimensions-database
.
La variable ps-landscape-mode
especifica la orientación de la impresión en la página. El valor por defecto es nil
, que significa modo vertical. Cualquier valor distinto de nil
especifica el modo horizontal.
La variable ps-number-of-columns
especifica el número de columnas; tiene efecto tanto en modo horizontal como vertical. El valor por defecto es 1.
La variable ps-font-family
especifica la familia de fuentes a utilizar para la impresión de texto ordinario. Los valores legítimos incluyen Courier
, Helvetica
, NewCenturySchlbk
, Palatino
y Times
. La variable ps-font-size
especifica el tamaño de la fuente para el texto ordinario y por defecto es de 8,5 puntos. El valor de ps-font-size
también puede ser una cons de 2 floats: uno para el modo horizontal, el otro para el modo vertical.
Emacs soporta más scripts y caracteres que una impresora PostScript típica. Por lo tanto, algunos de los caracteres de su búfer podrían no ser imprimibles usando las fuentes incorporadas en su impresora. Puede aumentar las fuentes suministradas con la impresora con las del paquete GNU Intlfonts, o puede indicar a Emacs que use Intlfonts exclusivamente. La variable ps-multibyte-buffer
controla esto: el valor por defecto, nil
, es apropiado para imprimir caracteres ASCII y Latin-1; un valor de non-latin-printer
es para impresoras que tienen las fuentes para caracteres ASCII, Latin-1, Japonés y Coreano incorporadas. El valor bdf-font
permite utilizar las fuentes BDF del paquete Intlfonts para todos los caracteres. Por último, un valor de bdf-font-except-latin
indica a la impresora que utilice las fuentes incorporadas para los caracteres ASCII y Latin-1, y las fuentes BDF de Intlfonts para el resto.
Para poder utilizar las fuentes BDF, Emacs necesita saber dónde encontrarlas. La variable bdf-directory-list
contiene la lista de directorios donde Emacs debe buscar las fuentes; el valor por defecto incluye un único directorio /usr/local/share/emacs/fonts/bdf
.
Muchas otras variables de personalización para estos comandos se definen y describen en los archivos Lisp ps-print.el
y ps-mule.el
.
41.3. Paquete Printing
Las facilidades básicas de Emacs para imprimir en papel pueden ampliarse utilizando el paquete Printing. Éste proporciona una interfaz fácil de usar para elegir qué imprimir, previsualizar archivos PostScript antes de imprimir y configurar varias opciones de impresión, como cabeceras de impresión, modos horizontal o vertical, modos dúplex, etc. En los sistemas GNU/Linux o Unix, el paquete Printing se basa en las utilidades gs
y gv
, que se distribuyen como parte del programa GhostScript. En MS-Windows, puede utilizarse el puerto gstools
de Ghostscript.
Para usar el paquete Printing, añade (require 'printing
) a su fichero init (ver 50.4. El Archivo de Inicialización de Emacs), seguido de (pr-update-menus)
. Esta función sustituye los comandos de impresión habituales de la barra de menús por un submenú Printing
que contiene varias opciones de impresión. También puede escribir Alt-x pr-interfac
RETURN (M-x pr-interface RET
); esto crea un búfer *Printing Interface*
(Interfaz de Impresión), similar a un búfer de personalización, donde puede configurar las opciones de impresión. Después de seleccionar qué y cómo imprimir, inicie el trabajo de impresión utilizando el botón Print
(Imprimir) (haga clic con ratón-2
sobre él, o mueva el punto sobre él y escriba RETURN (RET
)). Para más información sobre las distintas opciones, utilice el botón Interface Help
(Ayuda de la interfaz).