구문 강조LPR |

구문 강조LPR |

PostScript 프린터로 직접 연결할 수 있는 소스 파일의 구문 강조 버전에 해당하는 PostScript를 생성하는 간단한 방법을 아는 사람이 있습니까?

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

% syntax_highlight <SOURCE_FILE> | lp

...필요에 따라 명령줄 스위치 등을 사용합니다.

지금까지 제가 찾은 최고의 도구는 이라는 Unix 유틸리티이지만 highlight여기에는 문제가 있습니다. 가장 심각한 점은 포스트스크립트를 직접 출력할 수 있는 옵션이 없다는 점이다. ( highlightLaTeX 출력이 실제로 지원되므로 *.tex => *.dvi => *.ps 를 통해 PostScript 파일 생성 프로세스를 자동화하기 위해 스크립트를 함께 엮어 보았지만 최종 결과의 시각적 모양은 끔찍했습니다. highlight훨씬 더 나빴습니다. 동일한 소스 코드 입력에 대해 생성되는 것보다 훨씬 더 나쁩니다.

감사해요!

답변1

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을 사용하면 인쇄와 관련된 다양한 옵션을 설정할 수 있으므로 한 번 살펴보는 것이 좋습니다.문서원하는 경우 조정하십시오. 물론 그 외에도 더 많은 것들이 있습니다구문 강조옵션도 마찬가지입니다.

답변2

다양한 프로그래밍 언어를 Postscript로 예쁘게 인쇄할 수 있고 실행하는 데 타사 소프트웨어가 필요하지 않은 여러 프로그램이 있습니다.

LaTeX를 사용하고 싶다면 더 많은 옵션이 있습니다. 동일한 문서에 코드와 기타 콘텐츠를 포함하려는 경우 LaTeX를 사용하는 것이 가장 유용합니다.

답변3

Gedit(gnome의 표준 편집기)에서는 파일로 인쇄하고 Postscript(기본 PDF)를 선택한 다음 세 번째 탭에서 마크업을 선택하여 강조 표시(기본적으로 꺼짐)를 사용하면 멋진 ps 파일이 생성됩니다.

Gedit에는 많은 문법 파일이 있으며 많은 프로그래밍 언어, HTML, SQL, XML, rc 파일 등을 제공할 수 있습니다.

답변4

Sean J. Goff의 답변을 확장하면 다음과 같습니다.

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

:hardcopy > %.ps

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

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

노트:

  • %현재 파일 이름의 약어이므로 또는 HelloWorld.C로 인쇄됩니다 .HelloWorld.C.psHelloWorld.C.pdf

또한 렌더링된 글꼴을 변경하려면 printfont를 설정하세요.앞으로하드 카피 명령을 실행합니다. 예를 들어 Courier 8을 선택합니다.

:set printerfont=Courier:h8

:HardcopyPs요약하면, 간단히 or 명령을 실행할 수 있도록 다음을 .vimrc 파일에 넣기로 결정했습니다 :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'

관련 정보