PIYO - Tech & Life -

Macでソースコードをきれいに印刷する

Emacs Mac SublimeText

あまりソースコードを印刷するような機会はないかもしれないが、それでもたまーにそういう機会がくることがある。

これまで似たようなケースではEmacsのhtmlize-bufferを使っていたが、ビジュアル面が不満なので最近はあまり使っていない。

WindowsではVisual Studioがそれなりの体裁で印刷してくれるのでそれで事足りるのだが、さてMacではどうだろう?今回初めて試したのでそれを記録しておく。

Xcode

まずXcodeを試す。普通にソースコードを開いている状態でコマンド+Pで印刷ダイアログが開く。印刷ダイアログからテーマを変更できるので、普段はダーク系のテーマを使っている人も、印刷時は見やすいテーマをここで選ぶことができる。

Xcodeは概ねよかったのだが、なんと行番号を印刷できない(ように見える)。印刷するのに行番号がないんじゃあかなり使い勝手が悪い。却下。

Sublime Text 3 (or 2)

Sublime Textのプラグインに「Print to HTML」というものがある。このプラグインを入れて現在編集中のファイルをHTML化してブラウザで開くことができる。

導入

まずPackage Controlを入れる必要がある。

Installation - Package Control

続いてコマンドパレットから「Install Package」を選び、「Print to HTML」と入力してこいつをインストールする。

この状態でShift+Option+Pキーを入力するとHTML化したものがブラウザで開く。もしくは「File」メニューの「Print as HTML via Browser」から実行してもいい。ブラウザで開くとすぐに印刷ダイアログが出るのであとは好みの設定で印刷すればいい。

ところで、初期設定のせいかフォントがプロポーショナルフォントになっていてソースコードの印刷には適さない設定になっていた。

そこで、「Sublime Text」→「Preferences」→「Package Settings」→「Print to HTML」と進み、「Settings - User」を選んでユーザー設定ファイルを開く。

そしてこれを次のようにする。

{
    "font_face": "Consolas, 'Courier New', Courier, Monaco, monospace",
    "font_size": "75%"
}

フォントを変更したついでにサイズも少し小さくしておいた。なお、フォントの設定についてはこちらを参考にしている。

[CSS]等幅フォントにするためのおすすめのfont-family指定 | DevAchieve

これでそこそこきれいな見た目でソースコードを印刷できるようになった。この方法はSublime Textが動く環境ならどこでもできそうな感じで良い。