patorashのブログ

方向性はまだない

Re:VIEWで長い文字列を折り返すためにやったこと

プロジェクトのドキュメントをRe:VIEWで書いてみようということにしたので、書いている最中なのですが、cmdに長い文字列を書くと改行されずにはみ出たままになってしまいました。 例えば、pg_restoreとか、オプションが多いので長くなりがちです。

//cmd{
$ pg_restore --verbose --clean --no-acl --no-owner --if-exists -h localhost -U postgres -d project_development latest.dump
//}

これが、こう。

f:id:patorash:20181212155837p:plain

どうすればいいのかググってみたところ、seqsplitというスタイルを当てればいいらしいです。

d.hatena.ne.jp

上のサイトの情報の通りにseqsplit.styをwgetでダウンロードしようとしたら、not foundと言われました…。Oh…。

seqsplit.styのサイトにいくとダウンロードできるのですが、styファイルはありません。どうもダウンロードしたファイルを組み合わせてstyファイルを生成しなければならないとか…。

MacTexでどうすればいいのか?

私の環境はMac OSなので、MacTexを入れています。どうしたらいいんや!と思ってアプリケーションフォルダにあるTeXフォルダ内を見ると、Tex Live Utility.appというのがありました。

f:id:patorash:20181212154304p:plain

パッケージ管理ができそうだったので、seqsplitで検索してみたところ、なんと導入済でした。

f:id:patorash:20181212154553p:plain

ということで、seqsplit.styのサイトからダウンロードする必要はありませんでした。 ちなみに初めて起動したものだから、大量のパッケージ更新が出てきました。全部更新しておきました。

seqsplitパッケージをRe:VIEWで使えるようにする

既にあるのであれば、後はreview-ext.rbを作って拡張すればいいっぽいので、そうしてみました。コードはhimajin315さんのgistから直接拝借しています。

review-ext.rb

あとは、Re:VIEWのプロジェクトのstyディレクトリにあるreviewmacro.styを編集してseqsplitパッケージを使えるようにします。

%% 強制的に長い文字列を折り返すために使うパッケージ
\usepackage{seqsplit}

%% from review-pdfmaker
\usepackage{fancyhdr}
%% 残りは省略…

使ってみる

これで準備が整ったので、seqsplitを使ってみます。長い文字列を@<seqsplilt>{}で囲みます。

//cmd{
@<seqsplit>{$ pg_restore --verbose --clean --no-acl --no-owner --if-exists -h localhost -U postgres -d project_development latest.dump}
//}

すると…

f:id:patorash:20181212160215p:plain

改行されました〜!!これで安心して長いコマンドも書ける!