diff options
Diffstat (limited to 'Master/bin/i386-solaris/simpdftex')
-rwxr-xr-x | Master/bin/i386-solaris/simpdftex | 570 |
1 files changed, 0 insertions, 570 deletions
diff --git a/Master/bin/i386-solaris/simpdftex b/Master/bin/i386-solaris/simpdftex deleted file mode 100755 index 86f8ec0e623..00000000000 --- a/Master/bin/i386-solaris/simpdftex +++ /dev/null @@ -1,570 +0,0 @@ -#!/bin/sh - -# Created by Gerben Wierda, May 2001 -# Rewritten by Gerben Wierda, January 2002 - -# Modified by Joachim Kock, May 2003 - -# COPYRIGHT Gerben Wierda 2001--2004 -# This file is free software. You are free to use this file in any way you like -# However, if you change it you should note in this file that you did and who -# you are, you also need to change the version string if you do. That way -# I will not get support questions for software that is not entirely mine. - -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# $Id: altpdftex,v 2.18 2004/11/15 20:36:11 gerben Exp $ - -# This script assumes that there is a config.pdf somewhere that sets -# the bitmap mode to something large but realistic (real mode) so that -# unavailable pfb fonts will be included as bitmaps. - -# Version 1.0: added the string above for identification purposes -# Version 1.0a: Cosmetic change: do not display dir of argv[0] all the time -# Added calledas variable to hold command basename -# Version 1.1: Use calledas instead of $0 which means the sed command -# for determining format below also works when there is no dir -# (run from dir where altpdftex resides, not very likely...) -# Version 1.2: Force the use of tex binaries from the same directory as -# this script -# Version 1.3: Added --echo-version option, placed argument check after -# switch, inside while to prevent subscript out of range error -# Added --tex-path to override directory where this script -# resides. Added --gs-path to override a new default gs -# directory /usr/local/bin. Also, force gs directory at the -# start of the path to repair for broken installations of -# TeX, gs and such -# Version 1.4: Moved path changes to just before calling gs so that only -# ps2pdf is affected -# Version 1.5: Removed some path-related redundancy from GS calling -# Version 1.5a: Missing ${extradviopts} from echo -# Added version to --help output -# Added wolfram.map -# Version 1.6: Fixed bug: --dviopts did not work because it did set -# the wrong variable -# Changed dviopts to dvipsopts (better name) -# Version 1.7: Added --distiller and --distiller-filter option -# Changed --gs-path to --distiller-path -# Changed distiller semantics -# Fixed bug --tex-path flag needed trailing '/' -# Some extra quoting to be more robust for whitespace -# in names, also internally -# Version 1.8: Added pstill and u-psbuild info to help -# Version 1.9: Removed textrace bbold font (textrace is broken) -# Version 1.10: Added amstex support -# Simplified different format support -# Version 1.11: Do not source ~/.{t}cshrc, use the environment 'as is' -# Version 1.11 says it is version 1.10! -# Version 1.12: Added textrace bold font (textrace 0.48 is ok) -# Version 1.13: Changed success message at the end -# Echo version on by default -# Debug option -# Version 1.13b:Date report on version was very out of date, removed - -# Version 2.0: Rewritten in /bin/sh because (t)csh does not handle signals -# very well... -# This version works, but you need to send the SIGTERM to -# the process group (the negative PID) to get it to work -# Version 2.1: Small bug fixes -# Version 2.2: Fixed bug where argument without extension was interpreted -# as dvi file. -# Removed dependencies on smart sh versions -# Version 2.3: Removed map file knowledge (needs to be outside this script) -# beyond the standard map files -# Version 2.4: Added support for omega and lambda (use odvips) -# Version 2.5: Changed maxpk and maxpfb implementation to recent updmap -# Version 2.6: Use ps2pdf13 as the default distiller -# Version 2.7: Changed help -# Version 2.8: Checked into CVS. -# Added handling of outdir for TeX -# Version 2.9: Added auto-outdir flag -# Version 2.10: Changed --outdir behaviour to mimick TEXMFOUTPUT, -# removed --auto-outdir -# Version 2.11: Fixed typo -# Version 2.12: RCS changes, from now on, the version number is the RCS number -# These notes here will become a ChangeLog. -# 2003/05/20 Joachim's modification: write first to a pdf file in tmp, -# and only upon completion copy the file to its final -# destination. This is done in order to minimise the time where -# the pdf file in current directory is in an unstable state, -# because a PDF viewer might be tracking the file, and -# if it finds the pdf file in an intermediate state it will -# display a blank page until the new version is ready. -# 2003/05/21 Joachim's modification used /bin/cp. Gerben made it truly -# atomic by using /bin/cp in combination with /bin/mv -# 2003/11/23 Added supportfor passing flasg to tex at the request of -# Dick Koch. -# 2004/09/05 Bugfix: make it work better with directories with whitespace -# in their name -# 2004/11/15 New calling mode: simpdftex format foo.tex -# e.g.: -# simpdftex latex foo.tex -# In the future, the old modes (altpdflatex and friends) through -# symlinks will disappear from my distribution, though they will -# still work. - -# FEATURE: it seems -u +foo.map -u -foo.map does not work. So --extradvipsopts -# cannot be used to remove a map from the standard list - -# BUG: Handling of file name extensions is not completely equialent to TeX -# i.e. foo.bar.bla gets you foo.bar.pdf not foo.bar.bla.pdf -# Give all extensions - -version='$Revision: 2.18 $' -calledas=`basename "$0"` -if [ "${calledas}" = "simpdftex" ] -then - argwithoutlead=`echo -n "$1"|sed 's/^--//'` - if [ "$1" != "" -a "$1" = "${argwithoutlead}" ] - then - formatname="$1" - shift - calledas="altpdf${formatname}" - fi -fi -argvbackup="$*" - -# maxpkdvipsopts: use only pfb's for real PS fonts, bitmaps are default for the others -maxpkdvipsopts="-Ppk" -# maxpfbdvipsopts: use as many pfb's as possible -maxpfbdvipsopts="-Poutline" -opt_dvipsopts="" - -# Defaults: -# altpdftex --default is the default setting, it also works -# when there is no config.pdf file -extradvipsoptions="" -dvipsoptions="$maxpfbdvipsopts" -outputpostfix=".maxpfb" -simplename="yes" -keeppsfile="no" -echoversion="yes" -texpath=`dirname "$0"` -# Default distiller is ps2pdf from /usr/local/bin in no filter mode -# as the direct call to a filtering gs does not work yet for some reason -#distillerpath="" -#distillerprog="/usr/local/bin/gs -dCompatibility=1.3 -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=- -c save pop" -#distillerfilter="yes" -distillerpath="/usr/local/bin" -distillerprog="ps2pdf13" -distillerfilter="no" -unset outdir -debug="no" - -usage() -{ - cat <<_eof_help -This is simpdftex, $version - -Usage: simpdftex formatname - [--dvipsopts dvipsoptstring] [--extradvipsopts dvipsoptstring] [--pdf] - [--default] [--maxpk] [--maxpfb] [--extendedname] [--no-echo-version] - [--tex-path dir] [--keep-psfile] [--distiller-path dir] [--debug] - [--distiller prog] [--distiller-filter prog] [--help] - [--outdir dir] [--extratexopts texoptsstring] tex-or-dvi-file - -simpdftex is a way to do pdf{e}{la}tex without having pdf{e}{la}tex. It needs a -working TeX environment and ghostscript. Since pdf{e}{la}tex cannot handle -insertion of .eps graphics, simpdftex gives an alternative. The output for both -systems is comparable. - -simpdftex compiles the file with {LA}TeX, processes the DVI file with dvips into -PostScript and uses gs to produce pdf (with ps2pdf). There is finegrained -control over the resulting filename and the options with which dvips produces -the PostScript intermediary file. - -Dvips will call Metafont to produce bitmaps or include PostScript .pfb files -depending on the flags. See below. - -Default settings is normal name, maximal use of pfb's, just like pdf{la}tex, -in other words, "pdftex file.tex" and "altpdftex file.tex" both produce an -output file file.pdf. For pdftex, output options are controlled by pdftex.cfg, -for altpdftext by config.ps (unless --pdf is given). - -Arguments: - tex-or-dvi-file - If a .dvi file is given, skip the TeX process. Otherwise, TeX - the input file, dvips the resulting dvi file and ps2pdf the - resulting ps file - --help - Display this message and exit - --no-echo-version - Do not echo location and version of this script. Does not exit - so can be used tochange info to the output of a real run - --debug - Add some debug output - --extendedname - Depending on the mode, adds intermediary extensions to the - output filename. If the mode is --pdf, .pdfmode is added. If - the mode is --maxpk, ,maxpk is added and if the mode is - --maxpfb, .maxpfb is added. Example: - tex-or-dvi-file-basename.maxpfb.pdf - --maxpk - Use Metafont bitmaps (pk files) when possible. Only real - PostScript fonts (like Times Roman) are included as - PostScript fonts. All other fonts are included as bitmaps - for the default printer resolution. This options produces - optimal results for the chosen printer. - For file contents (not name) equivalent to: - --dvipsopts "-Ppk" - --maxpfb - Use PostScript pfb files whenever possible. This produces - optimal results for the screen. - For file contents (not name) equivalent to: - --dvipsopts "-Poutline" - If any font is included as TeX pk bitmap, it is rendered - at the default resolution. - --pdf - Select .pdfmode extension for the output file name if - --extendedname has been set. Use printer definition - config.pdf. For file contents (not name) equivalent to - --dvipsopts "-Ppdf" - Note that the default config.pdf assumes resolution 8000 - for bitmaps and bitmap generation fails at this resolution - because there exists no known mode for that resolution. - --default - Select no extension for the output file name, even if - --extendedfilename has been set. Use standard printer - definition config.ps. For file contents (not name) equivalent - to: - --dvipsopts "" --noextendedname - --dvipsopts - Give arbitrary arguments to dvips, e.g. - --dvipsopts "-M" - Sets extension for --extendedfilename to .custom. --dvipsopts - overrides other flags that set dvipsopts. - --extratexopts - Give extra arbitrary arguments to tex, e.g. - --extratexopts "--interaction=nonstopmode" - Sets extra options for the tex command that is used. - --extradvipsopts - Give extra arbitrary arguments to dvips, e.g. - --extradvipsopts "-M" - Sets extra options for dvips and does not set extension - or override other options. Options will be added to the end - of the options for dvips - --keep-psfile - After running dvips, copy the ps file over to the directory - where the tex file is, possibly overwriting a ps file - that is there. Use with caution, a ps file could be input - as well. - --tex-path - Give path of TeX binaries, use directory of this script - otherwise - --distiller prog - Use a distiller different from ps2pdf which is the default. - Argument must be an executable or executable script that - gets called iwth two arguments: input file (PS) and output - file (PDF). E.g.: - --distiller=/usr/local/alternate/bin/ps2pdf - --distiller=pstill - Using this flag sets the distiller filter mode to off - --distiller-filter prog - Use a distiller executable or executable script which is - called with the PS input as standard input and which writes - the PDF output to standard output. E.g.: - --distiller-filter=u-psbuild - --distiller-path - Give path needed by the distiller binary. This path is added - to the begin of you PATH environment before the distiller is - run. The reason is that for instance ps2pdf uses the path to - find gs and sets the path to something with /sw/bin at the - beginning. Thus, installing gs from fink would make - /usr/local/bin/ps2pdf find another gs than intended. By giving - an empty path, the path is not changed before the distiller - program is run. The default is empty. - --outdir dir - Write files here *if* our current directory is unwritable. This - mimicks the TEXMFOUTPUT environment variable of TeX, but - differently. The current dir becomes the value of --outdir and - the directory where the old current dir is added to TEXINPUTS. - This is more robust for reading and locating files. - You can also set TEXMFOUTPUT instead, but with a disadvantage: - you will be running TeXin the current dir. And you will not be - able to read files in the outdir unless you also adapt - TEXINPUTS. - - The defaults for the distiller are - Path addition: "${distillerpath}" - Filter mode: "${distillerfilter}" - Program: "${distillerprog}" - - Later flags override settings of earlier flags. -_eof_help -} - -while test $# -gt 0 -do - case $1 in - --help) - usage - exit 0;; - --dvipsopts) - shift - outputpostfix=".custom" - dvipsoptions="$1" - ;; - --extradvipsopts) - shift - extradvipsoptions="$1" - ;; - --extratexopts) - shift - extratexoptions="$1" - ;; - --tex-path) - shift - texpath="$1" - ;; - --pdf) - outputpostfix=".pdfmode" - dvipsoptions="-P pdf" - ;; - --default) - outputpostfix="" - dvipsoptions="" - # Use the default print option in config.ps - ;; - --maxpk) - outputpostfix=".maxpk" - dvipsoptions="$maxpkdvipsopts" - ;; - --maxpfb) - outputpostfix=".maxpbfb" - dvipsoptions="$maxpfbdvipsopts" - ;; - --extendedname) - simplename="no" - ;; - --keep-psfile) - keeppsfile="yes" - ;; - --debug) - debug="yes" - ;; - --distiller-path) - shift - distillerpath="$1" - ;; - --distiller) - shift - distillerprog="$1" - distillerfilter="no" - ;; - --outdir) - shift - export TEXINPUTS=`pwd`:`kpsewhich --expand-var '$TEXINPUTS'` - export TEXMFOUTPUT="$1" - outdir="$1/" - outdirset="yes" - cd "$1" - ;; - --distiller-filter) - shift - distillerprog="$1" - distillerfilter="yes" - ;; - --no-echo-version) - echoversion="no" - ;; - --*) - echo "Unknown option $1" - exit 1;; - "") - ;; - *) - break;; - esac - shift -done - -if [ "${echoversion}" = "yes" -a "${debug}" = "no" ] -then - echo "### This is $0, Version ${version}" -fi - -if [ "${debug}" = "yes" ] -then - echo "##### This is $0, Version ${version}" - echo "##### Arguments: ${argvbackup}" -fi - -cleanup() -{ - if [ "${tmpdir}" != "" -a "${debug}" = "no" ] - then - rm -rf "${tmpdir}" - fi -} - -terminated() -{ - cleanup - exit 1; -} - -trap 'terminated' 15 - -main() -{ - if [ "${file}" = "" ] - then - echo "simpdftex Empty argument: tex-or-dvi-file-name" - exit 1 - fi - - # Argument handling - - if [ "${simplename}" = "yes" ] - then - outputpostfix="" - fi - - startwithdvi="no" - basename=`basename "${file}"` - nosuffixbasename=`echo -n ${basename}|sed 's/\.[^.]*$//'` - nodvisuffixbasename=`echo -n ${basename}|sed 's/\.[dD][vV][iI]$//'` - if [ "${nodvisuffixbasename}" = "${nosuffixbasename}" -a \ - "${basename}" != "${nosuffixbasename}" ] - then - startwithdvi="yes" - fi - - kpsefilename=`kpsewhich "${file}"` - slashdirname=`dirname "${kpsefilename}"`/ - - if [ ! -w "." ] - then - if [ "${TEXMFOUTPUT}" != "" ] - then - outdir="${TEXMFOUTPUT}/" - outdirset="yes" - if [ "${autoinput}" = "yes" ] - then - export TEXINPUTS=${TEXMFOUTPUT}:`kpsewhich --expand-var '$TEXINPUTS'` - - fi - else - echo "### Cannot write in current directory and no redirect found. Bailing out..." - exit 1 - fi - fi - - # Assume the command is called altpdf* where the rest is the actual tex - # program to be run - texprogram=`echo ${calledas}|sed 's/altpdf//'` - if [ "${texprogram}" = "omega" -o "${texprogram}" = "lambda" ] - then - dvips="odvips" - else - dvips="dvips" - fi - - # Handle temp dir (cleanup is called on signal) - tmpext=$$-`/bin/date +"%s"` - tmpdir="/tmp/altpdf${texprogram}.${tmpext}" - # Force removal of possible existing tmpdir - cleanup - # Make new version - mkdir "${tmpdir}" - - if [ "${startwithdvi}" = "yes" ] - then - dvifile="${file}" - else - texfile="${file}" - dvifile="${outdir}${nosuffixbasename}.dvi" - fi - - psfile="${tmpdir}/${nosuffixbasename}${outputpostfix}.ps" - savedpsfile="${outdir}${nosuffixbasename}.ps" - pdffile="${tmpdir}/${nosuffixbasename}${outputpostfix}.pdf" - savedpdffile="${outdir}${nosuffixbasename}${outputpostfix}.pdf" - - if [ "${debug}" = "yes" ] - then - echo "##### TeX file: $texfile" - echo "##### DVI file: $dvifile" - echo "##### PS file: $psfile" - echo "##### Saved PS file: $savedpsfile" - echo "##### Created PDF file: $pdffile" - echo "##### Final PDF file: $savedpdffile" - echo "##### Environment:" - env | sed 's/^/##### /g' - fi - - if [ "${startwithdvi}" = "yes" ]; then - echo "### Skipping ${texprogram} ${texfile} [dvi->pdf only]" - else - echo "### ${texpath}/${texprogram} ${texfile}" - "${texpath}/${texprogram}" ${extratexoptions} "${texfile}" || \ - echo "### WARNING: TeX returned non zero exit status ${status}" - fi - - echo "### ${texpath}/${dvips} -R ${dvipsoptions} ${extradvipsoptions} -o ${psfile} ${dvifile}" - "${texpath}/${dvips}" -R ${dvipsoptions} ${extradvipsoptions} -o "${psfile}" "${dvifile}" || \ - { echo "### FAILED to generate ${psfile} (${status})"; \ - exit 1; } - - if [ "${keeppsfile}" = "yes" ]; then - echo "### Saving intermediary ps file ${psfile} as ${savedpsfile}" - /bin/cp "${psfile}" "${savedpsfile}" || \ - echo "### FAILED to save ${psfile} (${status})" - fi - - if [ "${distillerpath}" != "" ]; then - PATH="${distillerpath}:${PATH}";export PATH - if [ "${debug}" = "yes" ]; then - echo "##### PATH set to ${PATH}" - fi - fi - - if [ "${distillerfilter}" = "yes" ]; then - echo "### ${distillerprog} <${psfile} >${pdffile}" - "${distillerprog}" <"${psfile}" >"${pdffile}" || \ - { echo "### FAILED to generate ${pdffile} (${status})" - exit 1; } - else - echo "### ${distillerprog} ${psfile} ${pdffile}" - "${distillerprog}" "${psfile}" "${pdffile}" || \ - { echo "### FAILED to generate ${pdffile} (${status})" - exit 1; } - fi - - echo "### Copying/moving pdf file ${pdffile} to ${savedpdffile}" - /bin/cp "${pdffile}" "${savedpdffile}.${tmpext}" || \ - echo "### FAILED to copy ${pdffile} (${status})" - /bin/rm -f "${savedpdffile}" - /bin/mv "${savedpdffile}.${tmpext}" "${savedpdffile}" || \ - echo "### FAILED to rename ${savedpdffile}.${tmpext} (${status})" - - if [ "${startwithdvi}" = "yes" ]; then - if [ "${keeppsfile}" = "yes" ]; then - echo "### Succesfully generated ${savedpdffile} and ${savedpsfile}" - else - echo "### Succesfully generated ${savedpdffile}" - fi - else - if [ "${keeppsfile}" = "yes" ]; then - echo "### Succesfully generated ${dvifile}, ${savedpdffile} and ${savedpsfile}" - else - echo "### Succesfully generated ${dvifile} and ${savedpdffile}" - fi - fi - - cleanup -} - -for file in "$@" -do - main -done |