LoginSignup
8

More than 5 years have passed since last update.

enscriptでコマンドラインから綺麗にソースコードを印刷する

Posted at

目的

コマンドラインからバシバシソースコードを印刷したり,PDFに変換したい,けどa2psだとあんまり綺麗にならない.という時にenscriptを使いましょう.

環境

  • OS: Ubuntu 16.04LTS, Ubuntu 17.04, CentOS6, CentOS7 等で実行可能

インストール

  • Ubuntu/Debian
$ sudo apt install enscript
  • CentOS/RHEL
$ sudo yum install enscript

使い方

そのままデフォルトプリンタに印刷

$ enscript test.c

PDF出力

$ enscript test.c -o test.ps
$ ps2pdf test.ps

HTML出力

$ enscript test.c -Whtml

おすすめオプション

  • C言語ハイライト,カラー,行番号表示,1行ごとに色分け
$ enscript --pretty-print=c --color --line-numbers -H1 test.c -o test.ps
  • C言語ハイライト,カラー,行番号表示,1行ごとに色分け,2段組,横向き
$ enscript --pretty-print=c --color --line-numbers -H1 --columns=2 --landscape test.c -o test.ps

その他

対応言語

--pretty-printで指定できる言語の一覧は,--help-pretty-printオプションで表示できる.

$ enscript --help-pretty-print | grep Name
Name: ada
Name: asm
Name: awk
Name: bash
Name: c
Name: changelog
Name: cpp
Name: csh
Name: delphi
Name: diff
Name: diffs
Name: diffu
Name: dylan
Name: eiffel
Name: elisp
 Name: erlang
Name: f90
Name: forth
Name: fortran
Name: fortran_pp
Name: haskell
Name: html
Name: icon
Name: idl
Name: inf
Name: java
Name: javascript
Name: ksh
Name: lua
Name: m4
Name: mail
Name: makefile
Name: matlab
Name: nroff
Name: oberon2
Name: objc
Name: octave
Name: outline
Name: oz
Name: pascal
Name: perl
Name: postscript
Name: pyrex
Name: python
Name: rfc
Name: ruby
Name: scheme
Name: sh
Name: skill
Name: Smalltalk
Name: sml
Name: sql
Name: states
Name: synopsys
Name: tcl
Name: tcsh
Name: tex
Name: vba
Name: verilog
Name: vhdl
Name: vrml
Name: wmlscript
Name: zsh

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8