summaryrefslogtreecommitdiff
path: root/Build/source
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2023-06-27 20:12:07 +0000
committerKarl Berry <karl@freefriends.org>2023-06-27 20:12:07 +0000
commitd9ee5e1e358861bf86e187610c905a2d535307ee (patch)
tree5d99ae25ffb297500309665b17c895a0f2a5b7bf /Build/source
parent50131014d3362d47c86c822c743743e99de558df (diff)
pdfjam (27jun23)
git-svn-id: svn://tug.org/texlive/trunk@67500 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source')
-rwxr-xr-xBuild/source/texk/texlive/linked_scripts/pdfjam/pdfjam104
1 files changed, 29 insertions, 75 deletions
diff --git a/Build/source/texk/texlive/linked_scripts/pdfjam/pdfjam b/Build/source/texk/texlive/linked_scripts/pdfjam/pdfjam
index e98aed1ab5a..d470e52bc0e 100755
--- a/Build/source/texk/texlive/linked_scripts/pdfjam/pdfjam
+++ b/Build/source/texk/texlive/linked_scripts/pdfjam/pdfjam
@@ -1,5 +1,5 @@
#!/bin/sh
-version=3.04
+version=3.05
#########################################################################
## ##
## pdfjam: A shell-script interface to the "pdfpages" LaTeX package ##
@@ -152,15 +152,14 @@ where
--paper PAPERSPEC (or simply --PAPERSPEC)
Specify a LaTeX paper size, for example
'--paper a4paper' or simply '--a4paper' for ISO A4 paper.
- If the LaTeX 'geometry' package is installed, a wider range
- of paper sizes is available. For details see documentation
+ A wide range of paper sizes is available thanks to the
+ LaTeX 'geometry' package. For details see documentation
for LaTeX and/or the 'geometry' package.
[Default for you at this site: paper=$paper]
--papersize '{WIDTH,HEIGHT}'
Specify a custom paper size, e.g.,
--papersize '{10in,18cm}'
(Note the braces, and the comma!)
- If the 'geometry' package is not found, this has no effect.
--pagecolor RGBSPEC
Specify a background colour for the output pages. The
RGBSPEC must be a comma-separated trio of integers
@@ -413,22 +412,19 @@ suffix='pdfjam' ## Default filename suffix to be used when
##
preamble='' ## Default LaTeX preamble string.
##
-## Guess default paper size from locale if possible, otherwise A4
-##
-if command -v locale >/dev/null ; then
- paperheight=$(locale -k LC_PAPER | sed -e '1!d' -e 's/.*=//') ;
- case $paperheight in
- 297)
- paper='a4paper' ;
- ;;
- 279)
- paper='letterpaper' ;
- ;;
- *)
- paper='a4paper' ;
- ;;
- esac
-else paper='a4paper' ; ## fallback paper size is ISO A4
+## Get default paper size from libpaper >= 2 if possible, otherwise guess A4
+##
+if command -v paper >/dev/null ; then
+ paperspec=$(paper)
+ paperdimensions=$(echo "$paperspec" | cut -f 2 -d " ")
+ paperunit=$(echo "$paperspec" | cut -f 3 -d " ")
+ if test "$paperunit" = "pt"; then paperunit=bp; fi
+ paperwidth=$(echo "$paperdimensions" | cut -f 1 -d "x")
+ paperheight=$(echo "$paperdimensions" | cut -f 2 -d "x")
+ papersize="papersize={$paperheight$paperunit,$paperwidth$paperunit}"
+ paper='' ## We might not have a LaTeX-compatible name
+else
+ paper='a4paper' ## fallback paper size is ISO A4
fi
##
## END OF SETTINGS MADE DIRECTLY WITHIN THE SCRIPT
@@ -670,31 +666,22 @@ while test -n "${1}${2}"; do
pagecolor="${2}" ;
callOptions="$callOptions ${1} ${2}" ;
shift ;;
- --a4paper | --a5paper | --b5paper | --letterpaper | \
- --executivepaper | --legalpaper)
- ## standard LaTeX paper sizes
+ --a0paper | --a1paper | --a2paper | --a3paper | \
+ --a4paper | --a5paper | --a6paper | \
+ --b0paper | --b1paper | --b2paper | \
+ --b3paper | --b4paper | --b5paper | --b6paper | \
+ --c0paper | --c1paper | --c2paper | \
+ --c3paper | --c4paper | --c5paper | --c6paper | \
+ --b0j | --b1j | --b2j | --b3j | --b4j | --b5j | --b6j | \
+ --ansiapaper | --ansibpaper | --ansicpaper | \
+ --ansidpaper | --ansiepaper | \
+ --letterpaper | --legalpaper | --executivepaper)
paper=$(printf "%s" "${1}" | sed 's/^--//') ;
callOptions="$callOptions ${1}" ;
;;
- --a0paper | --a1paper | --a2paper | --a3paper | \
- --a6paper | --b0paper | --b1paper | --b2paper | \
- --b3paper | --b4paper | --b6paper)
- ## the 'geometry' package is needed
- if test "$geometry" != false ;
- then
- paper=$(printf "%s" "${1}" | sed 's/^--//') ;
- callOptions="$callOptions ${1}" ;
- geometry=true ;
- fi ;
- ;;
--papersize)
- ## the 'geometry' package is needed
- if test "$geometry" != false ;
- then
- papersize="papersize=${2}" ;
- callOptions="$callOptions ${1} '${2}'" ;
- geometry=true ;
- fi ;
+ papersize="papersize=${2}" ;
+ callOptions="$callOptions ${1} '${2}'" ;
shift ;;
--landscape)
landscape=true ;
@@ -859,20 +846,6 @@ case $shortedge in
*)
shortedge='\usepackage{everyshi}\makeatletter\EveryShipout{\ifodd\c@page\pdfpageattr{/Rotate 180}\fi}\makeatother' ;;
esac
-if test "$geometry" != false
-then
-## we haven't already found that geometry.sty is missing
- case $paper in
- a0paper | a1paper | a2paper | a3paper | \
- a6paper | b0paper | b1paper | b2paper | \
- b3paper | b4paper | b6paper)
- ## the 'geometry' package is needed
- geometry=true ;
- ;;
- *)
- ;;
- esac
-fi
documentOptions="$paper","$orientation","$twoside"
documentOptions=$(printf "%s" "$documentOptions" | sed 's/^,//' | sed 's/,$//')
##
@@ -913,25 +886,12 @@ then
"LaTeX package pdfpages.sty is not installed" \
$E_UNAVAILABLE
- for pack in pdflscape eso-pic everyshi atbegshi ; do
+ for pack in geometry pdflscape eso-pic everyshi atbegshi ; do
(kpsewhich $pack.sty >/dev/null) ||
error_exit \
"LaTeX package $pack.sty is not installed (see the pdfpages manual)" \
$E_UNAVAILABLE
done
- if test "$geometry" = true
- ## ie, if the 'geometry' package is needed for paper size
- then
- (kpsewhich geometry.sty >/dev/null) || {
- prattle "LaTeX package geometry.sty is not installed, so only the"
- prattle "standard LaTeX paper sizes are available." 1
- geometry=false
- if test "$batch" = true
- then
- export geometry ## for use in any secondary calls
- fi
- }
- fi
fi
if test "$keepinfo" = true
then
@@ -1269,12 +1229,6 @@ fi
\usepackage{pdfpages}
EndTemplate
) > "$texFile"
-if test -z "$geometry" ; then geometry=false ; fi
-if test "$geometry" = false; then ## geometry package is not to be used
- cp "$texFile" "$tempFile"
- sed '/\\\usepackage.*{geometry}/d' "$tempFile" > "$texFile"
- rm "$tempFile"
-fi
if test -z "$pagecolor"; then ## color package is not needed
cp "$texFile" "$tempFile"
sed '/\\\usepackage.*{color}/d' "$tempFile" > "$texFile"