--- /dev/null
+#!/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"
--- /dev/null
+#!/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}