]> git.lyx.org Git - lyx.git/commitdiff
try to force +x
authorJohn Levon <levon@movementarian.org>
Fri, 9 Aug 2002 15:42:45 +0000 (15:42 +0000)
committerJohn Levon <levon@movementarian.org>
Fri, 9 Aug 2002 15:42:45 +0000 (15:42 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4926 a592a061-630c-0410-9148-cb99ea01b6c8

lib/scripts/TeXFiles.sh [new file with mode: 0755]
lib/scripts/convertDefault.sh [new file with mode: 0644]
lib/scripts/lyxpreview2ppm.sh [new file with mode: 0644]
lib/scripts/pic2png_eps.sh [new file with mode: 0644]

diff --git a/lib/scripts/TeXFiles.sh b/lib/scripts/TeXFiles.sh
new file mode 100755 (executable)
index 0000000..976c874
--- /dev/null
@@ -0,0 +1,79 @@
+#!/bin/sh
+# file: ~/bin/TeXFiles.sh
+# all files            -> without option
+# TeX class files      -> option cls 
+# TeX style files      -> option sty
+# bibtex style files   -> option bst
+#
+# with the help
+# of kpsewhich and creates a 
+# bstFiles.lst, clsFiles.lst, styFiles.lst
+# without any parameter all files are created.
+#
+# Herbert Voss <voss@perce.org>
+#
+# Updates from Jean-Marc Lasgouttes.
+#
+CLS_STYLEFILE=clsFiles.lst
+STY_STYLEFILE=styFiles.lst
+BST_STYLEFILE=bstFiles.lst
+version='$Id: TeXFiles.sh,v 0.2 2001-10-15'
+progname=`echo $0 | sed 's%.*/%%'`
+usage="Usage: TeXFiles.sh [-version | cls | sty | bst] 
+       Default is without any Parameters,
+       so that all files will be created"
+
+types=$1
+test -z "$types" && types="cls sty bst"
+
+#
+# MS-DOS and MS-Windows define $COMSPEC or $ComSpec and use ';' to separate
+# directories in path lists whereas Unixes uses ':'.
+# $SEP holds the right character to be used by the scripts.
+#
+#???????????????
+# never used this one with windows and what happens with mac??
+#???????????????
+#
+if test -z "$COMSPEC" && test -z "$ComSpec"; then SEP=':'; else SEP=';'; fi
+
+#
+# A copy of some stuff from mktex.opt, so we can run in the presence of
+# terminally damaged ls-R files.
+#
+if test "x$1" = x--help || test "x$1" = x-help; then
+  echo "$usage"
+  exit 0
+elif test "x$1" = x--version || test "x$1" = x-version; then
+  echo "`basename $0` $version"
+  kpsewhich --version
+  exit 0
+fi
+
+for type in $types ; do
+  echo "Indexing files of type $type"
+  case $type in 
+   cls) outfile=$CLS_STYLEFILE
+        kpsetype=.tex;;
+   sty) outfile=$STY_STYLEFILE
+        kpsetype=.tex;;
+   bst) outfile=$BST_STYLEFILE
+        kpsetype=.bst;;
+   *)   echo "ERROR: unknown type $type"
+        exit 1;;
+  esac
+
+  rm -f $outfile
+  touch $outfile
+
+  dirs=`kpsewhich --show-path=$kpsetype 2>/dev/null | tr "$SEP" " " | sed -e 's%///%/%' -e 's%//%/%g' -e 's%!!%%g'`
+
+  for dir in $dirs ; do
+    find $dir -follow -name "*.$type" >>$outfile 2>/dev/null
+  done
+
+done
+#echo "list saved in $STYLEFILE"
+#echo `wc -l $CLS_STYLEFILE`           # only for information
+#
+# this is the end my friends ... Jim Morrison and the Doors in "The End"
diff --git a/lib/scripts/convertDefault.sh b/lib/scripts/convertDefault.sh
new file mode 100644 (file)
index 0000000..53bf117
--- /dev/null
@@ -0,0 +1,10 @@
+#!/bin/bash
+# this is the default converter if no one other was
+# defined by the user in edit->preferences->converter
+#
+# the user can also redefine this default converter
+# with an own shell script in ~/.lyx/scripts
+#
+# converts an image from $1 to $2 format 
+convert -depth 8 $1 $2 
+exit 0
diff --git a/lib/scripts/lyxpreview2ppm.sh b/lib/scripts/lyxpreview2ppm.sh
new file mode 100644 (file)
index 0000000..2720b9b
--- /dev/null
@@ -0,0 +1,166 @@
+#!/bin/sh
+#
+# \file lyxpreview2ppm.sh
+# Copyright 2002 the LyX Team
+# Read the file COPYING
+#
+# \author Angus Leeming, leeming@lyx.org
+#
+# with much help from David Kastrup, david.kastrup@t-online.de.
+# The sed script was created with advice from Praveen D V, praveend@sasken.com
+# and the sed users' list, sed-users@yahoogroups.com.
+
+# This script takes a LaTeX file and generates PPM files, one per page.
+# The idea is to use it with preview.sty to create small bitmap previews of
+# things like math equations.
+
+# The script takes two arguments, the name of the file to be converted and
+# the resolution of the generated image, to be passed to gs.
+if [ $# -ne 2 ]; then
+       exit 1
+fi
+
+# A couple of helper functions
+FIND_IT () {
+       which ${EXECUTABLE} > /dev/null
+       STATUS=$?
+       if [ ${STATUS} -ne 0 ]; then
+               echo "Unable to find \"${EXECUTABLE}\". Please install."
+               exit 1
+       fi
+}
+
+BAIL_OUT () {
+       # Remove everything except the original .tex file.
+       FILES=`ls ${BASE}* | sed -e "/${BASE}.tex/d"`
+       rm -f ${FILES} texput.log
+       exit 1
+}
+
+# We use latex, dvips and gs, so check that they're all there.
+EXECUTABLE=latex; FIND_IT
+EXECUTABLE=dvips; FIND_IT
+EXECUTABLE=gs;    FIND_IT
+
+# Initialise some variables.
+TEXFILE=`basename $1`
+RESOLUTION=$2
+
+DIR=`dirname $1`
+BASE=`basename $1 .tex`
+DVIFILE=${BASE}.dvi
+PSFILE=${BASE}.ps
+METRICSFILE=${BASE}.metrics
+
+# LaTeX -> DVI.
+cd ${DIR}
+latex ${TEXFILE}
+STATUS=$?
+if [ ${STATUS} -ne 0 ]; then
+       # LaTeX failed.
+       # preview.sty has known problems with the showlabels option,
+       # so remove it and try again.
+       # This "fix" should be removed once preview-latex 0.73 is released.
+       sed -e '/^\\usepackage/,/{preview}$/s/,showlabels//' \
+               < ${TEXFILE} > .${TEXFILE}
+       cmp -s ${TEXFILE} .${TEXFILE}
+       STATUS=$?
+       if [ ${STATUS} -eq 0 ]; then
+               rm -f .${TEXFILE}
+               echo "Failed: latex ${TEXFILE}"
+               BAIL_OUT
+       fi
+
+       mv -f .${TEXFILE} ${TEXFILE}
+       latex ${TEXFILE}
+       STATUS=$?
+       if [ ${STATUS} -ne 0 ]; then
+               echo "Failed: latex ${TEXFILE}"
+               BAIL_OUT
+       fi
+fi
+
+# DVI -> PostScript
+dvips -o ${PSFILE} ${DVIFILE}
+STATUS=$?
+if [ ${STATUS} -ne 0 ]; then
+       echo "Failed: dvips -o ${PSFILE} ${DVIFILE}"
+       BAIL_OUT
+fi
+
+# PostScript -> Bitmap files
+# Older versions of gs have problems with a large degree of anti-aliasing
+# at high resolutions
+ALPHA=4
+if [ ${RESOLUTION} -gt 150 ]; then
+       ALPHA=2
+fi
+
+gs -q -dNOPAUSE -dBATCH -dSAFER -sDEVICE=pnmraw -sOutputFile=${BASE}%03d.ppm \
+    -dGraphicsAlphaBit=${ALPHA} -dTextAlphaBits=${ALPHA} -r${RESOLUTION} \
+    ${PSFILE}
+
+STATUS=$?
+if [ ${STATUS} -ne 0 ]; then
+       echo "Failed: gs ${PSFILE}"
+       BAIL_OUT
+fi
+
+# Attempt to generate a file ${METRICSFILE} that contains only the tightpage
+# bounding box info, extract from ${PSFILE}
+
+# 1. Create a file containing the sed instructions
+SEDFILE=${BASE}.sed
+cat - > ${SEDFILE} <<EOF
+# Delete everything that's enclosed between %%BeginDocument and %%EndDocument
+/^\%\%BeginDocument/,/^\%\%EndDocument/d
+
+# Extract the tightpage bounding box info.
+# Given this snippet:
+# %%Page: 1 1
+# 1 0 bop
+# -32890 -32890 32890 32890 492688 0 744653
+# The sed command gives this:
+# %%Page 1: -32890 -32890 32890 32890 492688 0 744653
+
+/^\%\%Page:/{
+  s/\: \(.*\) .*$/ \1: /;N;N
+  s/\n[^\n]*\n//p
+}
+
+# Delete everything (so only the stuff that's printed, above, goes into the
+# metrics file).
+d
+EOF
+
+# 2. Run sed!
+sed -f ${SEDFILE} < ${PSFILE} > ${METRICSFILE}
+rm -f ${SEDFILE}
+
+# The ppm files have spurious (?! say some !) white space on the left and right
+# sides. If you want this removed set REMOVE_WS=1.
+REMOVE_WS=0
+
+which pnmcrop > /dev/null
+STATUS=$?
+
+if [ ${STATUS} -ne 0 ]; then
+       REMOVE_WS=0
+fi
+
+if [ ${REMOVE_WS} -eq 1 ]; then
+       TMP=.${BASE}.ppm
+       for FILE in `ls ${BASE}???.ppm`
+       do
+               pnmcrop -left ${FILE} | pnmcrop -right > ${TMP}
+               STATUS=$?
+               if [ ${STATUS} -eq 0 ]; then
+                       mv -f ${TMP} ${FILE}
+               fi
+       done
+fi
+
+# All was successful, so remove everything except the ppm files and the
+# metrics file.
+FILES=`ls ${BASE}* | sed -e "/${BASE}.metrics/d" -e "/${BASE}[0-9]\{3\}.ppm/d"`
+rm -f ${FILES}
diff --git a/lib/scripts/pic2png_eps.sh b/lib/scripts/pic2png_eps.sh
new file mode 100644 (file)
index 0000000..7f59c10
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/sh
+convert $1 $2.eps
+convert $1 $2.png