From: Angus Leeming Date: Sun, 25 May 2003 15:19:22 +0000 (+0000) Subject: Rename file. X-Git-Tag: 1.6.10~16746 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=d1cf27fd88d27823b5201f68751b2cabba43b6a6;p=features.git Rename file. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7043 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/lib/ChangeLog b/lib/ChangeLog index fc66c2363a..2cbbd39839 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,7 @@ +2003-05-25 Angus Leeming + + * scripts/fig2pdf.sh: renamed again as fig2pdftex.sh. + 2003-05-24 John Levon * ui/stdmenus.ui: re-organise Document and Tools menus diff --git a/lib/scripts/fig2pdf.sh b/lib/scripts/fig2pdf.sh deleted file mode 100644 index 0af2724e7c..0000000000 --- a/lib/scripts/fig2pdf.sh +++ /dev/null @@ -1,101 +0,0 @@ -#! /bin/sh - -# file fig2pdf.sh -# This file is part of LyX, the document processor. -# Licence details can be found in the file COPYING. -# -# author Angus Leeming -# -# Full author contact details are available in file CREDITS - - -# This script converts an XFIG image to something that pdflatex can process -# into high quality PDF. - -# Usage: sh fig2pdf.sh ${base}.xfig -# to generate ${base}.pdftex_t -# Thereafter, you need only '\input{${base}.pdftex_t}' in your latex document. - -# modern_xfig() and legacy_xfig() are the functions that do all the work. - -# Modern versions of xfig can output the image without "special" text as -# a PDF file ${base}.pdf and place the text in a LaTeX file -# ${base}.pdftex_t for typesetting by pdflatex itself. -modern_xfig() { - input=$1.fig - pdftex=$1.pdf - pdftex_t=$1.pdftex_t - - fig2dev -Lpdftex ${input} ${pdftex} - fig2dev -Lpdftex_t -p$1 ${input} ${pdftex_t} - - exit 0; -} - -# Older versions of xfig cannot do this, so we emulate the behaviour using -# pstex and pstex_t output. -legacy_xfig() { - input=$1.fig - pstex=$1.pstex - png=$1.png - pdftex_t=$1.pdftex_t - - fig2dev -Lpstex ${input} ${pstex} - fig2dev -Lpstex_t -p$1 ${input} ${pdftex_t} - - # Convert the ${pstex} EPS file (free of "special" text) to PDF format - # using gs. - - # gs is extremely fussy about the EPS files it converts, so ensure it is - # "clean" first. - clean=${pstex}.$$ - eps2eps ${pstex} ${clean} - rm -f ${pstex} - - # Extract the width and height of the image using gs' bbox device. - # Ie, take output that includes line "%%BoundingBox: 0 0 " - # and rewrite it as "-gx" - geometry=`gs -q -dSAFER -dNOPAUSE -dBATCH -sDEVICE=bbox ${clean} 2>&1 | \ - sed '/^%%BoundingBox/! d' | cut -d' ' -f4,5 | \ - sed 's/^\([0-9]\{1,\}\) \([0-9]\{1,\}\)$/-g\1x\2/'` - - # Generate a PNG file using the -g option to ensure the size is the same - # as the original. - # If we're using a version of gs that does not have a bbox device, then - # ${geometry} = "", so there are no unwanted side effects. - gs -q -dSAFER -dBATCH -dNOPAUSE ${geometry} -sDEVICE=png16m \ - -sOutputFile=${png} ${clean} - rm -f ${clean} - - exit 0; -} - -# The main logic of the script is below. -# All it does is ascertain which of the two functions above to call. - -# We expect a single arg, the name of the input file. -test $# -eq 1 || exit 1 - -# Remove the .fig extension -input=`basename $1` -base=`echo ${input} | sed 's/\.fig$//'` - -# Ascertain whether fig2dev is "modern enough". -# Here "modern" means "fig2dev Version 3.2 Patchlevel 4" -version_info=`fig2dev -h | sed '/^fig2dev/! d'` -# If no line begins "fig2dev" then default to legacy_xfig -test "x${version_info}" = "x" && legacy_xfig ${base} - -version=`echo ${version_info} | cut -d' ' -f3` -patchlevel=`echo ${version_info} | cut -d' ' -f5` -# If we cannot extract the version of patchlevel info -# then default to legacy_xfig -test "x${version}" = "x" -o "x${patchlevel}" = "x" && legacy_xfig ${base} -echo ${version} ${patchlevel} | grep '[0-9]!' -o && legacy_xfig ${base} - -# So, is it am old version? -test ${version} != "3.2" -o ${patchlevel} -lt 4 && legacy_xfig ${base} -# I guess not ;-) -modern_xfig ${base} - -# The end diff --git a/lib/scripts/fig2pdftex.sh b/lib/scripts/fig2pdftex.sh new file mode 100644 index 0000000000..0af2724e7c --- /dev/null +++ b/lib/scripts/fig2pdftex.sh @@ -0,0 +1,101 @@ +#! /bin/sh + +# file fig2pdf.sh +# This file is part of LyX, the document processor. +# Licence details can be found in the file COPYING. +# +# author Angus Leeming +# +# Full author contact details are available in file CREDITS + + +# This script converts an XFIG image to something that pdflatex can process +# into high quality PDF. + +# Usage: sh fig2pdf.sh ${base}.xfig +# to generate ${base}.pdftex_t +# Thereafter, you need only '\input{${base}.pdftex_t}' in your latex document. + +# modern_xfig() and legacy_xfig() are the functions that do all the work. + +# Modern versions of xfig can output the image without "special" text as +# a PDF file ${base}.pdf and place the text in a LaTeX file +# ${base}.pdftex_t for typesetting by pdflatex itself. +modern_xfig() { + input=$1.fig + pdftex=$1.pdf + pdftex_t=$1.pdftex_t + + fig2dev -Lpdftex ${input} ${pdftex} + fig2dev -Lpdftex_t -p$1 ${input} ${pdftex_t} + + exit 0; +} + +# Older versions of xfig cannot do this, so we emulate the behaviour using +# pstex and pstex_t output. +legacy_xfig() { + input=$1.fig + pstex=$1.pstex + png=$1.png + pdftex_t=$1.pdftex_t + + fig2dev -Lpstex ${input} ${pstex} + fig2dev -Lpstex_t -p$1 ${input} ${pdftex_t} + + # Convert the ${pstex} EPS file (free of "special" text) to PDF format + # using gs. + + # gs is extremely fussy about the EPS files it converts, so ensure it is + # "clean" first. + clean=${pstex}.$$ + eps2eps ${pstex} ${clean} + rm -f ${pstex} + + # Extract the width and height of the image using gs' bbox device. + # Ie, take output that includes line "%%BoundingBox: 0 0 " + # and rewrite it as "-gx" + geometry=`gs -q -dSAFER -dNOPAUSE -dBATCH -sDEVICE=bbox ${clean} 2>&1 | \ + sed '/^%%BoundingBox/! d' | cut -d' ' -f4,5 | \ + sed 's/^\([0-9]\{1,\}\) \([0-9]\{1,\}\)$/-g\1x\2/'` + + # Generate a PNG file using the -g option to ensure the size is the same + # as the original. + # If we're using a version of gs that does not have a bbox device, then + # ${geometry} = "", so there are no unwanted side effects. + gs -q -dSAFER -dBATCH -dNOPAUSE ${geometry} -sDEVICE=png16m \ + -sOutputFile=${png} ${clean} + rm -f ${clean} + + exit 0; +} + +# The main logic of the script is below. +# All it does is ascertain which of the two functions above to call. + +# We expect a single arg, the name of the input file. +test $# -eq 1 || exit 1 + +# Remove the .fig extension +input=`basename $1` +base=`echo ${input} | sed 's/\.fig$//'` + +# Ascertain whether fig2dev is "modern enough". +# Here "modern" means "fig2dev Version 3.2 Patchlevel 4" +version_info=`fig2dev -h | sed '/^fig2dev/! d'` +# If no line begins "fig2dev" then default to legacy_xfig +test "x${version_info}" = "x" && legacy_xfig ${base} + +version=`echo ${version_info} | cut -d' ' -f3` +patchlevel=`echo ${version_info} | cut -d' ' -f5` +# If we cannot extract the version of patchlevel info +# then default to legacy_xfig +test "x${version}" = "x" -o "x${patchlevel}" = "x" && legacy_xfig ${base} +echo ${version} ${patchlevel} | grep '[0-9]!' -o && legacy_xfig ${base} + +# So, is it am old version? +test ${version} != "3.2" -o ${patchlevel} -lt 4 && legacy_xfig ${base} +# I guess not ;-) +modern_xfig ${base} + +# The end