0
0

More than 1 year has passed since last update.

VSCode でつくった数式や図の入った小冊子にページ番号をつける

Last updated at Posted at 2022-12-31

「VSCode で数式や図の入った小冊子をつくる」
https://qiita.com/nanbuwks/items/56dad2c4d6a640f550e2

では、

今後

いろいろ問題があります。しかしながら設定をやり込んでいくと Re:View 使えばいいじゃんということになってしまいます。お手軽な中でやれることということで VSCode 内で完結する制限内でできることを試してみました。しかしながらページ表示やキャプションなど、ほんのちょっとしたところで厳しいところがあるのも事実です。

と書きました。

これを検討してみました。

課題

  • ページ番号をつけたい
  • 目次のターゲットにページ番号を表示したい
  • キャプション機能をつけたい

Markdown PDFの改造を検討

ネックとなるのはどれも印刷の問題となります。特に目次は、3パスも4パスも通して目次を作成したことで生じるページ数のゆらぎを吸収しないといけません。
Markdown PDF の印刷エンジンに手を加えるのは無理そうということで、この方法はあきらめました。

VSCode 外で

VSCode 内でやることにこだわってましたが、VSCode 外でのプロセスを導入することに切り替えました。しかしながらあまり複雑になってしまうと VSCode を使う魅力も薄れてしまうので、簡単な手順でできるという条件付きです。

目次

目次は前回、Markdown 段階で目次をつけました。これにはページ番号がついていません。ページ番号をつけるとすると、PDFにした本文のうちの目次対象が何ページに存在するかを検出しなければなりません。ちょっと手間がかかりそうなので今回はパス。

キャプション

図や表へのキャプションは後々欲しい機能ですが、現在はまだ切実ではないので今回はパス。しかしながらキャプション代わりにつけた説明が、改ページで泣き別れになるのが問題なので次回でどうにかしたいところです。

ページ番号

今回は、この問題だけを解決することにしました。

ポストプロセスでページ番号を付けます。
addpage コマンドを使います。

addpage を導入する

python のプログラムとして PIP で導入できます。

image.png

addpage を使う

以下は3ページ目からページ番号をつける例です。

$ addpage -o orbitcalc-addpage.pdf orbitcalc.pdf -s 3

image.png

本文のエリアと干渉しているので、-y パラメータを追加して調整します。

$ addpage -o orbitcalc-addpage.pdf orbitcalc.pdf -s 3 -y 30

image.png

重なりが解消しました。

今回は簡単なコピー本なので、表紙もいっしょに小冊子印刷してしまいます。表2を1ページ目として数えることにし、以下の扉の「本書の狙い」のある物理で3ページ目を本書内の2ページ目として「 - 2 - 」と表示するようにします。そのためには -k オプションを使います。

image.png

image.png

以下の内容のスクリプトを作成して、pdf 作った後にこれを適用するようにしました。

addpage -o orbitcalc-addpage.pdf orbitcalc.pdf -k 2 -s 2 -y 30

コミケに間に合う

今回は、これで当日のコミケになんとか!
image.png

0
0
0

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
0
0