try to force +x

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4926 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
John Levon 2002-08-09 15:42:45 +00:00
parent e540343c39
commit 9c54f354ce
4 changed files with 258 additions and 0 deletions

79
lib/scripts/TeXFiles.sh Executable file
View File

@ -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"

View File

@ -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

View File

@ -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}

View File

@ -0,0 +1,3 @@
#!/bin/sh
convert $1 $2.eps
convert $1 $2.png