aboutsummaryrefslogtreecommitdiff
path: root/pdfbook4.rb
diff options
context:
space:
mode:
authorNat Lasseter <nat.lasseter@york.ac.uk>2024-01-22 10:23:58 +0000
committerNat Lasseter <nat.lasseter@york.ac.uk>2024-01-22 10:23:58 +0000
commita79414bcf14d17c58e040a7b8524f7bd8f7e5e03 (patch)
tree4f2f232aca568711ecb35caa3444b54f4dfa4361 /pdfbook4.rb
Migrate from gists
Diffstat (limited to 'pdfbook4.rb')
-rw-r--r--pdfbook4.rb34
1 files changed, 34 insertions, 0 deletions
diff --git a/pdfbook4.rb b/pdfbook4.rb
new file mode 100644
index 0000000..e7f66d2
--- /dev/null
+++ b/pdfbook4.rb
@@ -0,0 +1,34 @@
+#!/usr/bin/env ruby
+
+n = ARGV.shift.to_i
+m = n
+m = ((m / 8) + 1) * 8 if m % 8 != 0
+
+p = (1..n).map(&:to_s) + ["{}"] * (m - n)
+o = []
+
+until p.empty? do
+ t1 = []
+ t2 = []
+
+ t1.push(p.pop)
+ t1.push(p.shift)
+ t2.push(p.shift)
+ t2.push(p.pop)
+
+ t1.push(p.pop)
+ t1.push(p.shift)
+ t2.push(p.shift)
+ t2.push(p.pop)
+
+ o += t1
+ o += t2
+end
+
+f = ARGV.shift
+
+if f.nil?
+ puts o.join(?,)
+else
+ puts "pdfjam --nup 2x2 -o #{File.basename(f, ".*")}-book.pdf #{f} #{o.join(?,)}"
+end