aboutsummaryrefslogtreecommitdiffstats
path: root/buch/splitpapers
diff options
context:
space:
mode:
authorAndreas Müller <andreas.mueller@hsr.ch>2020-12-03 17:18:03 +0100
committerAndreas Müller <andreas.mueller@hsr.ch>2020-12-03 17:18:03 +0100
commitac4b80be810fc615b426557ad86f0cb8092f5304 (patch)
tree2afe81a7f8a178fa479a91bec4cf61a54f8eae9f /buch/splitpapers
parentsome more ideas (diff)
downloadSeminarMatrizen-ac4b80be810fc615b426557ad86f0cb8092f5304.tar.gz
SeminarMatrizen-ac4b80be810fc615b426557ad86f0cb8092f5304.zip
add files
Diffstat (limited to 'buch/splitpapers')
-rwxr-xr-xbuch/splitpapers45
1 files changed, 45 insertions, 0 deletions
diff --git a/buch/splitpapers b/buch/splitpapers
new file mode 100755
index 0000000..9ae5aae
--- /dev/null
+++ b/buch/splitpapers
@@ -0,0 +1,45 @@
+#! /bin/bash
+#
+# splitpapers -- split PDF into one file per chapter
+#
+# (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil
+#
+if [ ! -f buch.aux ]
+then
+ echo "file buch.aux missing"
+ exit 1
+fi
+
+if [ ! -d separata ]
+then
+ mkdir separata
+fi
+
+awk 'BEGIN {
+ offsetpage = 10
+ startpage = 0
+ identifier = ""
+ chapterno = 0
+}
+/newlabel{chapter:/ {
+ s = substr($0, 19, length($0) - 19)
+ i = match(s, "}{{")
+ newidentifier = substr(s, 1, i-1)
+ s = substr(s, i+3, length(s)-i-3)
+ i = match(s, "}{")
+ newchapterno = int(substr(s, 1, i))
+ s = substr(s, i+2, length(s)-i-2)
+ i = match(s, "}{")
+ newpage = int(substr(s, 1, i))
+ if (chapterno > 7) {
+ printf("pdfjam --outfile separata/%s.pdf buch.pdf %d-%d\n", identifier, startpage + offsetpage, newpage + offsetpage - 1)
+ }
+ startpage = newpage
+ chapterno = newchapterno
+ identifier = newidentifier
+}
+END {
+ printf("pdfjam --outfile separata/%s.pdf buch.pdf %d-\n", identifier, startpage + offsetpage)
+}' buch.aux | bash
+
+