adbird(広告鳥) 備忘録

A5縦書き原稿PDFを、A4用紙・小冊子面付けしたPDFに

※追記した方法のほうが楽。


Pandoc + LaTeX で markdownからA5・縦書・2段組の小説本のPDFを作成」で作ったA5縦書きの原稿データを、A4用紙に2ページ面付けしたPDFファイルを作成する。

pdftk と pdfjam が必要。

$ sudo apt-get install pdftk

pdfjamはtexliveに入っている。インストールはTeX Wiki / Linuxを参考に。

手っ取り早くインストールするには以下の方法で。

sudo apt install texlive texlive-extra-utils

中綴じ用面付表 で、面付けの順番を確認する。

例えば、16ページなら、
1,16,15,2,3,14,13,4,5,12,11,6,7,10,9,8
の順番。

以下、①面付け順に並び替え、②A4用紙に2枚並べる。

$ pdftk 原稿.pdf cat 1 16 15 2 3 14 13 4 5 12 11 6 7 10 9 8 output 原稿001.pdf

$ pdfnup 原稿001.pdf --outfile 原稿完成.pdf --paper a4paper --nup 2x1

できたA4データを両面印刷。とじる辺の設定に気をつける。たぶん、短辺とじ印刷のはず。

追記(さらに修正追記)

中綴じ用の面付けをするスクリプト · GitHub というのを作ってくれている先人がいらっしゃった。

zsh と pdfjam が必要なのでインストール。

$ sudo apt install zsh

pdfjamはtexliveに入っている。インストールはTeX Wiki / Linuxを参考に。

手っ取り早くインストールするには以下の方法で。

$ sudo apt install texlive texlive-extra-utils

中綴じ用の面付けをするスクリプト · GitHub から「Download Zip」をクリックして、「nakatoji.zsh」を取り出す。

(※修正追記)中綴じ用の面付けをするスクリプト · GitHub は横書き=左綴じ用だったので、下記のように縦書き=右綴じ用に修正して(echo -nの中を左右入れ替えただけ)、改めてnakatoji.zshとして保存。

#!/bin/zsh
[ -z $1 ] && exit -1
nakatoji_sequence(){
    last=$(expr 4 \* $1)
    for i in {1..$1} ; do
        #左綴じ
        #echo -n "$(expr $last - $i \* 2 + 2),$(expr $i \* 2 - 1),"
        #echo -n "$(expr $i \* 2),$(expr 1 + $last - $i \* 2),"
        #右綴じ
        echo -n "$(expr $i \* 2 - 1),$(expr $last - $i \* 2 + 2),"
        echo -n "$(expr 1 + $last - $i \* 2),$(expr $i \* 2),"
    done | sed "s/,$//g"
}
file=$(echo $1 | sed "s/\.pdf$//g")
pages=$(pdfinfo $file.pdf | grep Pages | sed "s/^.*: *//g")
pdfjam --outfile /dev/stdout $file.pdf -,{},{},{} 2>/dev/null | \
    pdfjam --nup 2x1 --landscape --outfile ${file}_nakatoji.pdf \
    /dev/stdin $(nakatoji_sequence $(expr \( $pages + 3 \) / 4)) 2>/dev/null

任意のフォルダに nakatoji.zsh と、A5縦書きの原稿PDFデータを入れて、

$ zsh nakatoji.zsh 原稿.pdf

とすれば、面付けされたA4データが作成されているはず。