syntax_highlight <source_file> | lpr


10

누구나 PostScript 프린터에 직접 파이프 할 수있는 구문 강조 버전의 소스 파일에 해당하는 PostScript를 생성하는 간단한 방법을 알고 있습니까?

위의 질문에서 알 수 있듯이 명령 줄에서 실행할 수있는 것을 찾고 있습니다. 나는 다음과 같은 상호 작용을 생각하고 있습니다.

% syntax_highlight <SOURCE_FILE> | lp

... 필요한 명령 줄 스위치 등

지금까지 찾은 최고의 것은이라는 Unix 유틸리티 highlight이지만 문제가 있습니다. 가장 심각한 것은 포스트 스크립트를 직접 출력 할 수있는 옵션이 없다는 것입니다. 이후 ( highlight지원 라텍스 출력 않고, I *이 .tex => * 가지고 .dvi => * .ps를 통해 포스트 스크립트 파일을 생성하는 과정을 자동화 할하는 스크립트를 함께 패치했지만, 최종 결과의 시각적 외관은 지독한 highlight동일한 소스 코드 입력에 대해 생성 되는 HTML 파일보다 훨씬 나쁩니다 .)

감사!

답변:


13

vim을 사용할 수 있습니다.

vim -c hardcopy -c quit /path/to/file

파일이 인쇄되고 즉시 종료됩니다. 기본적으로 vim은 구문 강조 표시로 인쇄합니다.

일부 명령의 표준 출력에서 ​​인쇄해야하는 경우 다음을 수행 할 수 있습니다.

cat some_file.c | vim -c hardcopy -c 'quit!' -

나중에 .ps를 저장하려면 다음과 같이 hardcopy 명령에 리디렉션을 추가하면됩니다.

vim -c 'hardcopy > /path/to/saved.ps' -c 'quit' /path/to/file

Vim을 사용하면 많은 인쇄 관련 옵션을 설정할 수 있으므로 문서 를 조정하려는 경우 설명서 를 참조하십시오 . 물론 구문 강조 옵션도 많이 있습니다.


5

Postscript에 다양한 프로그래밍 언어를 예쁘게 인쇄하는 여러 프로그램이 있으며 타사 소프트웨어를 실행할 필요가 없습니다.

LaTeX를 통해 기꺼이 가려면 더 많은 옵션이 있습니다. LaTeX를 통해가는 것은 대부분 같은 문서에 코드와 다른 것을 포함하려는 경우에 유용합니다. 그렇지 않으면 과잉입니다.


3

gnome의 표준 편집기 인 Gedit에서 파일로 인쇄하고 Postscript (기본 PDF)를 선택하고 세 번째 탭에 표시하여 강조 표시를 사용합니다.이 기능은 기본적으로 해제되어있어 ps 파일을 생성합니다.

그리고 Gedit에는 많은 프로그래밍 언어, HTML, SQL, XML, rc 파일을 제공하기 위해 많은 구문 파일이 있습니다.


나 (Ubuntu 14.04.4의 gedit 3.10.4)에서 생성 된 PDF가 색상이 아닌 회색조로 된 것을 제외하고는 작동합니다. 또한 직접 인쇄하면 회색조가 나타납니다.
MarnixKlooster ReinstateMonica 17 년

0

Shawn J. Goff의 답변 확대 :

다음 한 줄 vim 명령을 사용하여 vim 내에서 .ps 파일을 만들 수 있습니다.

:hardcopy > %.ps

.pdf 파일을 선호하는 경우 다음을 수행 할 수 있습니다.

:hardcopy > %.ps | !ps2pdf %.ps && rm %.ps

노트 :

  • (가) %현재 파일 이름에 대한 속기, 그래서 HelloWorld.C인쇄됩니다 HelloWorld.C.ps또는HelloWorld.C.pdf

또한 렌더링 된 글꼴을 변경하려면 hardcopy 명령을 실행 하기 전에 printerfont 설정하십시오 . 예를 들어, 택배 8을 선택하려면 :

:set printerfont=Courier:h8

모든 것을 종합하여, 나는 .vimrc 파일에 다음을 넣어서 간단하게 :HardcopyPsor :HardcopyPdf명령 (파일 내에서 선택된 범위에서 작동 할 수 있음)을 실행할 수 있도록 선택했다.

set printfont=Courier:h8 "select the font to use when printing
command! -range=% HardcopyPs <line1>,<line2> hardcopy > %.ps && echo 'Created: %.ps'
command! -range=% HardcopyPdf <line1>,<line2> hardcopy > %.ps | !ps2pdf %.ps && rm %.ps && echo 'Created: %.pdf'
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.