- Integrate pdf-tools.cc with the rest of the code
- What if an input page specifies /Rotate?
-- Better error messages from instantiation
- "-f" switch
+- What should do modulo(half) with an odd number of tuples? Improve, or at least document.
+- Modulo with last tuple incomplete: sometimes, not padding the last tuple can be useful
+ (e.g., "flip every other page")
+- Document use of negative numbers in ranges
+- Allow use of page labels to refer to pages
+- Better range syntax for "from N to end" or "the whole document"
+- nup: allow stacking ("1 3 5 7" "2 4 6 8")
-| # Position bbox on a new paper
-| paper("a4")
-| paper(w=210mm,h=297mm,pos=(t|b|c)(l|r|c))
-
-| # Scale paper to a new size
-| scaleto("a4")
-| scaleto(w=210mm,h=297mm,pos=tl)
-
-| # Fit image to a paper
-| # If paper is given: scale image
-| # If no paper is given: adjust paper to image + margins
-| fit("a4")
-| fit(w=, h=)
-| margin= hmargin= vmargin=
-| lmargin= rmargin= tmargin= bmargin=
-| pos=
-
-| # Adjust paper size
-| expand(10mm)
-| expand(h=10mm, v=20mm)
-| expand(l=10mm, r=10mm, t=10mm, b=10mm)
-
-| # Adjust image size (in terms of margins around)
-| margins ... params like expand
-
-cropmarks
- mark=box # Box around image
- mark=cross # Crosses in the corners
- mark=out # Out-pointing half-crosses in the corners (default)
- mark=in # In-pointing half-crosses
- pen=1pt # Line width
- len=5mm # Cross arm length
- dist=5mm # Distance from border
-
-| book
-| signature=<n>
-
-# Crop to image box
-crop
- bleed=5mm # Allow bleeding over the image box
+Ideas for further commands:
# Can be written as: mix(cat) { modulo(2){1}, modulo(2){2} }
duplex
long-edge
-| merge
-
-| modulo
-| half
-
-| # Add an empty page after the current one
-| add-blank
-| n=
-| paper...
-
-| # Set either:
-| # - paper size + margins
-| # - scale + margins
-| nup(hnum, vnum)
-| by=rows/cols # Filling order (default: rows)
-| by=tile # Tile with copies of a single page
-| paper / w / h # Specify paper size, default=copy from 1st image
-| + fit options (*margin, pos)
-| tpos=... # Position of images inside their tiles (default: tl)
-| crop # Crop to image
-| mixed # Allow images of different sizes
-| rotate=1 # Override rotation decision
-| scale=1 # Override scaling factor
-| hspace / vspace / space # Distance between tiles
- + cropmarks?
-
# Send pages to multiple pipes and merge their results
mix { ..., ..., ...}
cat # Concatenate results (default is interleave)