Prepare the way for a shiny new external inset.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7072 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Angus Leeming 2003-05-31 16:52:33 +00:00
parent 07a77af455
commit dd7ae72789
4 changed files with 133 additions and 45 deletions

View File

@ -1,3 +1,11 @@
2003-05-31 Angus Leeming <leeming@lyx.org>
* configure.m4 (latex_to_html_command): add a bunch of formats and
converters that are to be used by the external inset.
* fig2pdftex.sh: make it work as a "converter".
* fig2pstex.sh: new file: a converter from xfig to pstex_t.
2003-05-30 John Levon <levon@movementarian.org> 2003-05-30 John Levon <levon@movementarian.org>
* ui/stdmenus.ui: Force Normal Space -> Inter-word Space * ui/stdmenus.ui: Force Normal Space -> Inter-word Space

View File

@ -430,62 +430,75 @@ cat >$outfile <<EOF
# want to customize LyX, make a copy of the file LYXDIR/lyxrc as # want to customize LyX, make a copy of the file LYXDIR/lyxrc as
# ~/.lyx/lyxrc and edit this file instead. Any setting in lyxrc will # ~/.lyx/lyxrc and edit this file instead. Any setting in lyxrc will
# override the values given here. # override the values given here.
\\Format text txt ASCII A \\Format asciichess asc "ASCII (chess output)" ""
\\Format textparagraph txt ASCII(paragraphs) "" \\Format asciiimage asc "ASCII (image)" ""
\\Format docbook sgml DocBook B \\Format asciixfig asc "ASCII (xfig output)" ""
\\Format agr agr GRACE ""
\\Format bmp bmp BMP "" \\Format bmp bmp BMP ""
\\Format date "" "date command" ""
\\Format dateout "" "date (output)" ""
\\Format docbook sgml DocBook B
\\Format dvi dvi DVI D \\Format dvi dvi DVI D
\\Format eps eps EPS "" \\Format eps eps EPS ""
\\Format fax "" Fax "" \\Format fax "" Fax ""
\\Format fen fen FEN ""
\\Format fig fig XFig "" \\Format fig fig XFig ""
\\Format agr agr GRACE ""
\\Format html html HTML H
\\Format gif gif GIF "" \\Format gif gif GIF ""
\\Format html html HTML H
\\Format jpg jpg JPG "" \\Format jpg jpg JPG ""
\\Format latex tex LaTeX L \\Format latex tex LaTeX L
\\Format linuxdoc sgml LinuxDoc x \\Format linuxdoc sgml LinuxDoc x
\\Format lyx lyx LyX "" \\Format lyx lyx LyX ""
\\Format lyxpreview lyxpreview "LyX Preview" ""
\\Format literate nw NoWeb N \\Format literate nw NoWeb N
\\Format pbm pbm PBM ""
\\Format pdf pdf PDF P \\Format pdf pdf PDF P
\\Format pdf2 pdf "PDF (pdflatex)" F \\Format pdf2 pdf "PDF (pdflatex)" F
\\Format pdf3 pdf "PDF (dvipdfm)" m \\Format pdf3 pdf "PDF (dvipdfm)" m
\\Format pdftex pdftex_t PDFTEX ""
\\Format pgm pgm PGM ""
\\Format png png PNG "" \\Format png png PNG ""
\\Format ppm ppm PPM "" \\Format ppm ppm PPM ""
\\Format pgm pgm PGM ""
\\Format pbm pbm PBM ""
\\Format ps ps Postscript t
\\Format program "" Program "" \\Format program "" Program ""
\\Format ps ps Postscript t
\\Format pstex pstex_t PSTEX ""
\\Format text txt ASCII A
\\Format textparagraph txt ASCII(paragraphs) ""
\\Format tgif obj TGIF "" \\Format tgif obj TGIF ""
\\Format tiff tif TIFF "" \\Format tiff tif TIFF ""
\\Format word doc Word W \\Format word doc Word W
\\Format xbm xbm XBM "" \\Format xbm xbm XBM ""
\\Format xpm xpm XPM "" \\Format xpm xpm XPM ""
\\Format lyxpreview lyxpreview "LyX Preview" ""
\\converter latex dvi "$latex_to_dvi" "latex" \\converter date dateout "date +%d-%m-%Y > \$\$o" ""
\\converter latex pdf2 "$latex_to_pdf" "latex"
\\converter latex html "$latex_to_html_command" "originaldir,needaux"
\\converter literate latex "$literate_to_tex_command" ""
\\converter dvi pdf3 "$dvi_to_pdf_command" ""
\\converter dvi ps "$dvi_to_ps_command" ""
\\converter ps pdf "$ps_to_pdf_command" ""
\\converter ps fax "$fax_command" ""
\\converter linuxdoc lyx "$linuxdoc_to_lyx_command" ""
\\converter linuxdoc latex "$linuxdoc_to_latex_command" ""
\\converter linuxdoc dvi "$linuxdoc_to_dvi_command" ""
\\converter linuxdoc html "$linuxdoc_to_html_command" ""
\\converter docbook dvi "$docbook_to_dvi_command" "" \\converter docbook dvi "$docbook_to_dvi_command" ""
\\converter docbook html "$docbook_to_html_command" "" \\converter docbook html "$docbook_to_html_command" ""
\\converter lyxpreview ppm "$lyxpreview_to_bitmap_command" "" \\converter dvi pdf3 "$dvi_to_pdf_command" ""
\\converter dvi ps "$dvi_to_ps_command" ""
\\converter latex lyx "$tex_to_lyx_command" "" \\converter fen asciichess "python \$\$s/fen2ascii.py \$\$i \$\$o" ""
\\converter literate lyx "$literate_to_lyx_command" "" \\converter fig pdftex "sh \$\$s/fig2pdftex.sh \$\$i \$\$o" ""
\\converter fig pstex "sh \$\$s/fig2pstex.sh \$\$i \$\$o" ""
\\converter html latex "$html_to_latex_command" "" \\converter html latex "$html_to_latex_command" ""
\\converter latex html "$latex_to_html_command" "originaldir,needaux"
\\converter latex dvi "$latex_to_dvi" "latex"
\\converter latex lyx "$tex_to_lyx_command" ""
\\converter latex pdf2 "$latex_to_pdf" "latex"
\\converter linuxdoc dvi "$linuxdoc_to_dvi_command" ""
\\converter linuxdoc html "$linuxdoc_to_html_command" ""
\\converter linuxdoc latex "$linuxdoc_to_latex_command" ""
\\converter linuxdoc lyx "$linuxdoc_to_lyx_command" ""
\\converter literate latex "$literate_to_tex_command" ""
\\converter literate lyx "$literate_to_lyx_command" ""
\\converter lyxpreview ppm "$lyxpreview_to_bitmap_command" ""
\\converter ps fax "$fax_command" ""
\\converter ps pdf "$ps_to_pdf_command" ""
\\converter word latex "$word_to_latex_command" "" \\converter word latex "$word_to_latex_command" ""
\\viewer dvi "$DVI_VIEWER" \\viewer dvi "$DVI_VIEWER"
\\viewer html "$HTML_VIEWER" \\viewer html "$HTML_VIEWER"
\\viewer pdf "$PDF_VIEWER" \\viewer pdf "$PDF_VIEWER"
\\viewer pdf2 "$PDF_VIEWER"
\\viewer pdf3 "$PDF_VIEWER"
\\viewer ps "$GHOSTVIEW -swap" \\viewer ps "$GHOSTVIEW -swap"
\\viewer eps "$GHOSTVIEW" \\viewer eps "$GHOSTVIEW"
@ -501,6 +514,7 @@ if test "$FIG2DEV" = "fig2dev"; then
cat >>$outfile <<EOF cat >>$outfile <<EOF
\\converter fig eps "fig2dev -L eps \$\$i \$\$o" "" \\converter fig eps "fig2dev -L eps \$\$i \$\$o" ""
\\converter fig ppm "fig2dev -L ppm \$\$i \$\$o" "" \\converter fig ppm "fig2dev -L ppm \$\$i \$\$o" ""
\\converter fig png "fig2dev -L png \$\$i \$\$o" ""
EOF EOF
fi fi

View File

@ -22,12 +22,17 @@
# a PDF file ${base}.pdf and place the text in a LaTeX file # a PDF file ${base}.pdf and place the text in a LaTeX file
# ${base}.pdftex_t for typesetting by pdflatex itself. # ${base}.pdftex_t for typesetting by pdflatex itself.
modern_xfig() { modern_xfig() {
input=$1.fig echo modern_xfig
pdftex=$1.pdf
pdftex_t=$1.pdftex_t # Can we find fig2dev?
type fig2dev > /dev/null || exit 1
input=$1
pdftex_t=$2
pdftex=$3.pdf
fig2dev -Lpdftex ${input} ${pdftex} fig2dev -Lpdftex ${input} ${pdftex}
fig2dev -Lpdftex_t -p$1 ${input} ${pdftex_t} fig2dev -Lpdftex_t -p${outbase} ${input} ${pdftex_t}
exit 0; exit 0;
} }
@ -35,13 +40,20 @@ modern_xfig() {
# Older versions of xfig cannot do this, so we emulate the behaviour using # Older versions of xfig cannot do this, so we emulate the behaviour using
# pstex and pstex_t output. # pstex and pstex_t output.
legacy_xfig() { legacy_xfig() {
input=$1.fig echo legacy_xfig
pstex=$1.pstex
png=$1.png # Can we find fig2dev, eps2eos or gs?
pdftex_t=$1.pdftex_t type fig2dev > /dev/null || exit 1
type eps2eps > /dev/null || exit 1
type gs > /dev/null || exit 1
input=$1
pdftex_t=$2
png=$3.png
pstex=$3.pstex
fig2dev -Lpstex ${input} ${pstex} fig2dev -Lpstex ${input} ${pstex}
fig2dev -Lpstex_t -p$1 ${input} ${pdftex_t} fig2dev -Lpstex_t -p${outbase} ${input} ${pdftex_t}
# Convert the ${pstex} EPS file (free of "special" text) to PDF format # Convert the ${pstex} EPS file (free of "special" text) to PDF format
# using gs. # using gs.
@ -73,29 +85,42 @@ legacy_xfig() {
# The main logic of the script is below. # The main logic of the script is below.
# All it does is ascertain which of the two functions above to call. # All it does is ascertain which of the two functions above to call.
# We expect a single arg, the name of the input file. # We expect two args, the names of the input and output files.
test $# -eq 1 || exit 1 test $# -eq 2 || exit 1
# Remove the .fig extension input=$1
input=`basename $1` output=$2
base=`echo ${input} | sed 's/\.fig$//'`
# Strip the extension from ${output}
outbase=`echo ${output} | sed 's/[.][^.]*$//'`
# Ascertain whether fig2dev is "modern enough". # Ascertain whether fig2dev is "modern enough".
# Here "modern" means "fig2dev Version 3.2 Patchlevel 4" # Here "modern" means "fig2dev Version 3.2 Patchlevel 4"
version_info=`fig2dev -h | sed '/^fig2dev/! d'` version_info=`fig2dev -h | sed '/^fig2dev/! d'`
# If no line begins "fig2dev" then default to legacy_xfig # If no line begins "fig2dev" then default to legacy_xfig
test "x${version_info}" = "x" && legacy_xfig ${base} test "x${version_info}" = "x" && {
legacy_xfig ${input} ${output} ${outbase}
}
version=`echo ${version_info} | cut -d' ' -f3` version=`echo ${version_info} | cut -d' ' -f3`
patchlevel=`echo ${version_info} | cut -d' ' -f5` patchlevel=`echo ${version_info} | cut -d' ' -f5`
# If we cannot extract the version of patchlevel info # If we cannot extract the version of patchlevel info
# then default to legacy_xfig # then default to legacy_xfig
test "x${version}" = "x" -o "x${patchlevel}" = "x" && legacy_xfig ${base} test "x${version}" = "x" -o "x${patchlevel}" = "x" && {
echo ${version} ${patchlevel} | grep '[0-9]!' -o && legacy_xfig ${base} legacy_xfig ${input} ${output} ${outbase}
}
echo ${version} ${patchlevel} | grep '[0-9]!' -o && {
legacy_xfig ${input} ${output} ${outbase}
}
# So, is it am old version? # So, is it an old version?
test ${version} != "3.2" -o ${patchlevel} -lt 4 && legacy_xfig ${base} test ${version} != "3.2" -o ${patchlevel} -lt 4 && {
legacy_xfig ${input} ${output} ${outbase}
}
# I guess not ;-) # I guess not ;-)
modern_xfig ${base}
# Commented out for now to test legacy_xfig...
#modern_xfig ${input} ${output} ${outbase}
legacy_xfig ${input} ${output} ${outbase}
# The end # The end

41
lib/scripts/fig2pstex.sh Normal file
View File

@ -0,0 +1,41 @@
#! /bin/sh
# file fig2pstex.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 latex can process
# into high quality PostScript.
# Usage: sh fig2pstex.sh ${input} ${output}
# to generate the pstex_t file ${output}.
# In turn this file will \includegraphics{${output_base}}.
# The necessary ${output_base}.eps is also generated by this script.
#
# Thereafter, you need only '\input{${output}}' in your latex document.
# We expect two args, the names of the input and output files.
test $# -eq 2 || exit 1
# Can we find fig2dev?
type fig2dev > /dev/null || exit 1
input=$1
output=$2
# Strip the extension from ${output}
outbase=`echo ${output} | sed 's/[.][^.]*$//'`
# Generate the EPS file
outeps=${outbase}.eps
fig2dev -Lpstex ${input} ${outeps}
# Generate the PSTEX_T file
fig2dev -Lpstex_t -p${outbase} ${input} ${output}
# The end