kanta's spike

GNU Make 第3版がPDFで公開されていることを知りました。 1

ありがたいですね。でも、章ごとにPDFファイルが分割されているので少し読みにくいですね。 章ごとに分割されたPDFを1つにまとめて、さらに目次情報を追加したいですね。

そもそも、なぜ本書が無料で公開されているかというと、本書がGNU Free Documentation Licenseで作成されているため、 著作権者以外の者に対して改変、複製、頒布することを一定の制約条件の下に許諾するものだからだと思います。

GNU Free Documentation License - Wikipediaによると、その制約とは以下です。

  • この文書を無断で複製してよい。
  • この文書を無断で改変してよい。
  • この文書を無断で頒布・販売してよい。ただし、頒布を受けた者や購入した者に対して、上記の許可を与えなければならない。

また、コピーレフト/Webで著作権法講義によると、改変・再配布するものが守るべきこととして、具体的に以下が記載されています。

  • GFDL下でライセンスすること
  • 改訂履歴をコピーしたうえで、自身の改訂情報を追加した改訂履歴を作成すること
  • GFDLの文書をコピーして、これを当該著作物に含めること

以上を踏まえると、公開されているPDFをマージして、目次情報を追加して再配布するには、改訂履歴とGFDLに従うことを記載したページを追加すれば良さそうです。 2

方針

  1. 改訂履歴とGFDLに従うことを記載したページを作成する(LibreOfficeで作成しPDF化)
  2. 公開されているPDFをダウンロード(手動で作成したurlの一覧から、シェルスクリプトでcurl等でダウンロード)
  3. 追加したページとダウンロードしたPDFをマージ(GhostScriptでマージ)
  4. マージしたPDFのページ番号に応じた目次情報をPDFに付与(pdfoutlineで目次を追加)

プロジェクト

kantas-spike/make_book_pdf: 『GNU Make 第3版』 各章マージ版PDFを作成し、以下にマージ版のPDFを作成しました。

make_book_pdf/make_merged.pdf at main · kantas-spike/make_book_pdf

今後は、このPDFを読んで、マージに使用したシェルスクリプトをMakefileを置き換えれるようにしたいです。3

参考


  1. 原著 も公開されています。 ↩︎

  2. GFDLの文書は元々PDFに含まれているので不要でしょう。 ↩︎

  3. Makefileを作成したので、作成したシェルスクリプトは[こちら](make_book_pdf/old_tool at main · kantas-spike/make_book_pdf)にバックアップしています。 ↩︎

作成日: 2023/02/08