Hi Jürgen, I hereby grant permission to licence my contributions to LyX under the Gnu General Public Licence, version 2 or later.
Please use "D. Gloger" as name in the credits. Sorry for the late answer, I do not use the old email address 2wochenurlaub (at) gmx ! de . Now, I changed the email provider. My new email address is … (at) gloger ! biz. Please use this address. Ich nehme an, dass Sie deutsch sprechen sind? Wir können, für private Nachrichten auch deutsch schreiben. Greetings, Daniel > Hi Daniel > > It's been quite a while since you proposed this, but the template and > scripts have now been dug out of the archives, adapted and integrated > for forthcoming LyX 2.3. > > In order to add you to the credits, we would appreciate if you could > send a licensing agreement to the lyx-devel list, stating something > such as: > > "I hereby grant permission to licence my contributions to LyX under the > Gnu General Public Licence, version 2 or later." > > Thanks > Jürgen > > >> List: lyx-devel >> Subject: external material template: SVG -> PDF/PS with LaTeX >> From: Daniel Gloger <2wochenurlaub () gmx ! de> >> Date: 2011-06-24 11:53:20 >> Message-ID: 4E047AB0.6070201 () gmx ! de >> [Download message RAW] >> >> Hi, >> >> I wrote a template and conversion scripts for importing Inkscape SVG >> graphics as PDFTEX or PSTEX as external material in LyX. It works >> analog >> to the FIG template and its scripts. >> You will need Inkscape 0.48. It can save the SVG image as a PDF or >> EPS >> file and place the text in a LaTeX file for typesetting by pdflatex >> or >> latex itself. For more information see >> http://tug.ctan.org/tex-archive/info/svg-inkscape/ . >> >> Installation: >> 1. Copy external_templates from the LyX system directory to your Lyx >> user directory. And insert the SVG template there. >> 2. Copy the .py scripts to your scripts directory in your LyX user >> directory. >> 3. Start LyX and go to settings > file handling. Check if you have >> the >> format SVG. >> If not, creat it: >> activate vector format >> short title: svg >> file extenstion: svg >> edit with: inkscape >> view with: inkview >> 4. Create the converters: >> SVG -> PDFTEX: >> converter: python -tt $$s/scripts/svg2pdftex.py $$i $$o >> SVG -> PSTEX >> python -tt $$s/scripts/svg2pstex.py $$i $$o >> >> It was tested for LyX 1.6.9. I don't know the exact englisch menu >> names, >> because I use the German version. >> >> Greetings, >> Daniel >> >> ["SVG template" (text/plain)] >> >> Template SVG >> GuiName "SVG: $$AbsOrRelPathParent$$Basename" >> HelpText >> An SVG figure. >> HelpTextEnd >> InputFormat svg >> FileFilter "*.{svg,svgz}" >> AutomaticProduction true >> Transform Rotate >> Transform Resize >> Preview InstantPreview >> Format LaTeX >> TransformCommand Rotate RotationLatexCommand >> TransformCommand Resize ResizeLatexCommand >> Product >> "$$RotateFront$$ResizeFront\\input{$$AbsOrRelPathMaster$$Basename.pst >> ex_t}$$ResizeBack$$RotateBack" >> UpdateFormat pstex >> UpdateResult "$$AbsPath$$Basename.pstex_t" >> Requirement "color" >> Requirement "graphicx" >> # Preamble WarnNotFound >> # Preamble InputOrWarn >> ReferencedFile latex >> "$$AbsOrRelPathMaster$$Basename.pstex_t" >> ReferencedFile latex "$$AbsPath$$Basename.eps" >> ReferencedFile dvi "$$AbsPath$$Basename.eps" >> FormatEnd >> Format PDFLaTeX >> TransformCommand Rotate RotationLatexCommand >> TransformCommand Resize ResizeLatexCommand >> Product >> "$$RotateFront$$ResizeFront\\input{$$AbsOrRelPathMaster$$Basename.pdf >> tex_t}$$ResizeBack$$RotateBack" >> UpdateFormat pdftex >> UpdateResult "$$AbsPath$$Basename.pdftex_t" >> Requirement "color" >> Requirement "graphicx" >> # Preamble WarnNotFound >> # Preamble InputOrWarn >> ReferencedFile pdflatex >> "$$AbsOrRelPathMaster$$Basename.pdftex_t" >> ReferencedFile pdflatex "$$AbsPath$$Basename.pdf" >> FormatEnd >> Format Ascii >> Product "[SVG: $$FName]" >> FormatEnd >> Format DocBook >> Product "<graphic >> fileref=\"$$AbsOrRelPathMaster$$Basename.eps\"></graphic>" >> UpdateFormat eps >> UpdateResult "$$AbsPath$$Basename.eps" >> ReferencedFile docbook "$$AbsPath$$Basename.eps" >> ReferencedFile docbook-xml "$$AbsPath$$Basename.eps" >> FormatEnd >> TemplateEnd >> >> >> ["svg2pdftex.py" (text/x-python)] >> >> #!/usr/bin/env python >> # -*- coding: utf-8 -*- >> >> # file svg2pdftex.py >> # >> # This script converts an SVG image to something that pdflatex can >> process >> # into high quality PDF. >> >> # Usage: >> # python svg2pdftex.py ${base}.fig ${base}.pdft >> # This command generates >> # ${base}.pdf the converted pdf file >> # ${base}.pdft a tex file that can be included in your latex >> document >> # using '\input{${base}.pdft}' >> # >> # Note: >> # Do not use this command as >> # python fig2pdftex.py file.fig file.pdf >> # the real pdf file will be overwritten by a tex file named >> file.pdf. >> # >> >> >> >> import os, sys, re >> >> >> def runCommand(cmd): >> ''' Utility function: >> run a command, quit if fails >> ''' >> if os.system(cmd) != 0: >> print "Command '%s' fails." % cmd >> sys.exit(1) >> >> >> # We expect two args, the names of the input and output files. >> if len(sys.argv) != 3: >> sys.exit(1) >> >> input, output = sys.argv[1:] >> >> # Fail silently if the file doesn't exist >> if not os.path.isfile(input): >> sys.exit(0) >> >> # Strip the extension from ${output} >> outbase = os.path.splitext(output)[0] >> >> >> >> # Inkscape 0.48 can output the image as a PDF file ${base}.pdf and >> place the text >> # in a LaTeX file ${base}.pdf_tex, which is renamed to ${output}, for >> typesetting >> # by pdflatex itself. >> runCommand('inkscape --file=%s --export-pdf=%s.pdf --export-latex' % >> (input, outbase)) >> os.rename('%s.pdf_tex' % outbase, output) >> >> >> >> ["svg2pstex.py" (text/x-python)] >> >> #!/usr/bin/env python >> # -*- coding: utf-8 -*- >> >> # file svg2pstex.py >> # >> # This script converts an SVG image to something that latex can >> process >> # into high quality PostScript. >> >> # Usage: >> # python svg2pstex.py ${base}.fig ${base}.pstex >> # This command generates >> # ${base}.eps the converted eps file >> # ${base}.pstex a tex file that can be included in your latex >> document >> # using '\input{${output}}'. >> # >> # Note: >> # Do not use this command as >> # python svg2pstex.py file.fig file.eps >> # the real eps file will be overwritten by a tex file named >> file.eps. >> # >> >> import os, sys >> >> def runCommand(cmd): >> ''' Utility function: >> run a command, quit if fails >> ''' >> if os.system(cmd) != 0: >> print "Command '%s' fails." % cmd >> sys.exit(1) >> >> # We expect two args, the names of the input and output files. >> if len(sys.argv) != 3: >> sys.exit(1) >> >> input, output = sys.argv[1:] >> >> # Fail silently if the file doesn't exist >> if not os.path.isfile(input): >> sys.exit(0) >> >> # Strip the extension from ${output} >> outbase = os.path.splitext(output)[0] >> >> # Inkscape 0.48 can output the image as a EPS file ${base}.pdf and >> place the text >> # in a LaTeX file ${base}.eps_tex, which is renamed to ${output}, for >> typesetting >> # by latex itself. >> runCommand('inkscape --file=%s --export-eps=%s.eps --export-latex' % >> (input, outbase)) >> os.rename('%s.eps_tex' % outbase, output)