다음 이전 차례

3. 그 밖의 다른 것들(Miscellaneous Items)

이 장에서는 리눅스 환경에서 프린트 작업을 하기 위해서 배워 볼 만한 여러가지 내용을 다룬다.

3.1 출력하기 전에 문서형식을 결정(Formatting Before Printing)

대부분의 아스키 텍스트 파일은 출력에 적합한 형식으로 되어 있지 못하므로 프린터로 출력하기에 앞서 해당 파일의 형식을 어떻게든 변경(format)하는 것이 좋다. 이렇게 하는 경우 표제(Title)및 쪽수(page number)삽입, 여백조절(margin) 들여쓰기, double spacing, 여러개의 컬럼(column)으로 나눠서 출력하는 것 등이 가능하게 된다. 이를 위해서 일반적으로 pr과 같은 출력 전처리기(print preprocessor)를 사용한다.

$ pr +4 -d -h"Ph.D. Thesis, 2nd Draft" -l60 thesis.txt | lpr

위의 예제에서 pr을 이용하여 thesis.txt라는 파일을 처리한다. 처음 3페이지를 넘긴 다음(+4), 각 페이지의 길이를 60줄로 설정한다(-l60). 출력물에 더블 스페이스를 주고(-d), "Ph.D. Thesis, 2nd Draft"라는 어구를 각 페이지의 맨 윗줄에 같이 인쇄한다(-h). lprpr의 표준출력을 받아 프린트 큐로 보내어 대기시킨다. pr에 관한 상세한 자료를 보려면 매뉴얼 페이지를 살펴 보라.

3.2 프린터 환경변수(THE PRINTER Environment Variables)

리눅스의 출력시스템에서는 lpr의 -P 옵션을 이해한다. 이 옵션을 이용하여 사용자들은 해당 출력물에 적합한 프린터를 지정할 수 있다. 사용자들이 별도로 프린터를 지정하지 않았다면 기본설정값(default)으로 지정된 프린터를 출력 장치로 사용한다.

매번 출력할 때마다 프린터를 지정하는 방법 대신 PRINTER 환경변수를 이용 하여 사용하기 원하는 프린터 이름을 지정할 수 있다. 사용자의 쉘(shell)에 따라 적용방법은 다르다. bash 사용자라면 다음과 같이 하면 된다.

$ PRINTER="printer_name"; export PRINTER

csh csh사용자라면 다음과 같이 하라,

% setenv PRINTER "printer_name"

위의 명령어를 로그인 스크립트(bash에서는 .profile이며 csh에서는 .cshrc)에 삽입하여 사용하거나 명령행에서 바로 사용할 수 있다. 환경변수에 대한 자세한 정보를 보기 위해서는 bash(1)과 csh(1)의 맨페이지를 참고하라.

3.3 그래픽파일 출력(Printing graphics files)

그래픽파일을 출력하기 위해서는 출력에 사용될 프린터와 변환해서 출력할 파일의 종류가 가장 중요하다. 도트 매트릭스(Dot-matrix)는 그래픽파일을 처리하는 방법의 차이 때문에 도트 프린터는 논의하지 않기로 한다.(^^;) 이 경우 최선의 방안은 먼저 가지고 있는 프린터가 Epson이나 IBM ProPrinter과 호환성을 가지고 있는가를 살펴본 다음, 해당 그래픽파일을 포스트스크립트 파일로 변환한다. 그리고 ghostscript(다음 장에서 다룬다)를 이용하여 그 파일(포스트스크립트로 바꾼 파일)을 출력할 수 있다.

만약 레이저 프린터를 가지고 있다면 상당수의 제품들이 PCL과 호환되므로 좀 더 편하다. 이 경우 몇가지의 옵션을 선택할 수 있다. 일부 프로그램에서는 PCL 형식으로 필터를 거치지 않고 출력한다. 그렇지 않다면 NetPBM류의 프로그램을 이용하여 PCL로 바꿔야 한다. 마지막 옵션은 ghostscript(다음장 참고)를 사용하는 것이다.

가능한 최선의 방안은 NetPBM과 Ghostscript 등의 패키지를 설치한 다음 그래픽파일을 자동으로 처리해 주는 매직 필터(magic filter) 프로그램을 설치하는 것이다.

3.4 포스트스크립트 파일 출력(Printing PostScript files)

PS 인터프리터를 내장한 프린터(역자주: 흔히 PS를 내장한 프린터라고 한다.) 에서 PS 파일을 출력하는 것은 간단하다; 그냥 lpr을 이용하면 된다. 그러면 프린터가 당신이 원하는 대로 모든 것을 처리해 줄 것이다. PS 프린터처럼 비싼 프린터가 없는 대부분의 사람들은 다른 방법에 의지해야 한다. 다행히 PS를 처리하여 PS 프린터가 아닌 일반프린터가 이해할 수 있는 형식으로 만들어 주는 프로그램들이 있다. 이런 프로그램들 가운데 가장 유명한 것이 Ghostscript일 것이다.

Ghostscript(이하 GS)는 PS파일의 내용을 일반프린터가 이해할 수 있는 명령어 로 바꾼다. PS파일을 출력하려면 다음과 같은 명령을 실행해야 할 것이다.

$ gs -dSAFER -dNOPAUSE -sDEVICE=deskjet -sOutputFile=|lpr thesis.ps

위의 예제에서 -sOutputFile이라는 옵션을 이용하여 GS의 최종 출력물을 파이프를 통과시켜서 lpr 명령어로 보낸다.

Ghostview는 GS를 X 윈도우 인터페이스에서 구현한 것이다. Ghostview를 이용하여 PS 파일을 출력하기 전에 미리 살펴볼 수 있다. GS와 Ghostview 모두 <@@ref>ftp://prep.ai.mit.edu/pub/gnu/ftp://prep.ai.mit.edu/pub/gnu/ 에서 구할 수 있다.

3.5 PDF 파일 출력(Printing PDF files)

Adobe의 PDF(Portable Document Format)파일을 보는 프로그램은 없지만, PS로 출력할 수 있는 xpdf라는 프로그램이 있다.

3.6 텍 파일 출력(Printing TeX files)

텍 파일의 출력 방법중 가장 편한 것은 PS파일로 바꾼 다음 GS로 출력하는 것이다. 이 방법을 쓰려면 먼저 텍 소스파일(.tex)을 DVI(Device-Independent를 의미)파일로 바꾼다. tex 명령어의 매뉴얼 페이지(1)를 보면 된다. 그런 다음 dvips를 이용해서 DVI를 PS로 변환한다. 이상의 모든 과정은 아래의 형식과 비슷한 명령 형식을 가질 것이다.

$ tex thesis.tex
$ dvips thesis.dvi

이렇게 하면 3.4에서 설명된 내용과 같이 최종 결과인 PS파일을 출력할 준비가 된 것이다.

3.7 troff형식 파일 출력(Printing troff formatted files)

$ groff -Tascii thesis.tr | lpr

또는

$ groff thesis.tr > thesis.ps

마지막으로 PS파일을 출력한다.

3.8 매뉴얼 페이지 출력(Printing man pages)

$ man man | col -b | lpr

맨페이지는 troff로 전처리된 형식이다. 그러므로 highlighting이나 밑줄(underlines)등의 효과를 없애야 한다. 'col' 프로그램은 이 과정을 멋있게 처리해 준다. 그리고 자료를 파이프로 보내기 때문에 man 프로그램은 more를 사용하지 않는다.


다음 이전 차례