Help with gnuplot xtemplate needed

Tobias Hilbricht hilbricht at linopus.de
Sat Apr 20 13:53:44 UTC 2024


I got it myself after a lot of trying and comparing:

In my file gnuplot.xtemplate I wrote "InputFormat gp", because
"InputFormat" and FileFilter extension are the same in the case of Xfig
(fig) and Inkscape (svg), but not with gnuplot: "InputFormat gnuplot"
and FileFilter .gp works!

For anyone interested I attached my working gnuplot.xtemplate. 

Sorry for making noise!

Tobias


Am Samstag, dem 20.04.2024 um 08:44 +0200 schrieb Tobias Hilbricht:
> Dear LyX-user,
> 
> I would like to have a gnuplot xtemplate. To that end I wrote a shell
> script gnuplot2pdftex.sh like this:
> 
> #!/bin/bash
> GnuplotFile=$1
> BaseName=`basename $GnuplotFile .gp`
> GnuplotName=$BaseName.ptx
> LyxName=$BaseName.pdf_tex
> gnuplot -e "set term cairolatex pdf ; set output '${GnuplotName}' "
> $GnuplotFile
> mv $GnuplotName $LyxName
> 
> This script works on the command line, and I can input the resulting
> file gnuplot.pdf_tex in LyX, and if I put it in a preview box I get a
> preview, and the document compiles.
> 
> I have similar scripts for pstex, png and eps in
> ~/.lyx/scripts and define converters like this:
> 
> \converter "gnuplot" "pdftex2" "$$s/scripts/gnuplot2pdftex.sh $$i
> $$o"
> "needauth"
> 
> and have a file gnuplot.xtemplate written after the model of
> inkscape.xtemplate in ~/.lyx/xtemplate
-------------- next part --------------
#
# Gnuplot External Template
#
# This file is part of LyX, the document processor.
# Licence details can be found in the file COPYING.
#
# author Tobias Hilbricht
#
# based on external templates by:
#
# author Asger Alstrup Nielsen
# author Angus Leeming
# author Johnathan Burchill
#
# Full author contact details are available in file CREDITS.


PreambleDef WarnNotFound
	%% Print a warning encased in an fbox.
	\def\lyxstripprefix#1>{}
	\newcommand{\warnNotFound}[1]{%
	        \def\lyxtempfilename{#1}%
	        \fbox{Could not find
	                \ttfamily\expandafter\lyxstripprefix\meaning\lyxtempfilename!}%
	        \typeout{Could not find \lyxtempfilename!}%
	}
PreambleDefEnd


PreambleDef InputOrWarn
	%% Input the file if it exists, using \input, else print a warning
	\newcommand{\inputOrWarn}[1]{%
	        \IfFileExists{#1}{\input{#1}}{\warnNotFound{#1}}}
PreambleDefEnd


Template Gnuplot
	GuiName "Gnuplot"
	HelpText
		A Gnuplot figure.
		Note that using this template automatically uses the 
		document text in the image (like with the Xfig template).
	HelpTextEnd
	InputFormat gnuplot
	FileFilter "*.{gp}"
	AutomaticProduction true
	Transform Rotate
	Transform Resize
	Preview InstantPreview
	Format PDFLaTeX
		TransformCommand Rotate RotationLatexCommand
		TransformCommand Resize ResizeLatexCommand
		Product "$$RotateFront$$ResizeFront\\input{$$AbsOrRelPathMaster$$Basename.pdf_tex}$$ResizeBack$$RotateBack"
		UpdateFormat pdftex2
		UpdateResult "$$AbsPath$$Basename.pdf_tex"
		Requirement "xcolor"
		Requirement "graphicx"
		Requirement "mathtools"
		# Preamble WarnNotFound
		# Preamble InputOrWarn
		ReferencedFile pdflatex "$$AbsOrRelPathMaster$$Basename.pdf_tex"
		ReferencedFile pdflatex "$$AbsPath$$Basename.pdf"
	FormatEnd
	Format LaTeX
		TransformCommand Rotate RotationLatexCommand
		TransformCommand Resize ResizeLatexCommand
		Product "$$RotateFront$$ResizeFront\\input{$$AbsOrRelPathMaster$$Basename.ps_tex}$$ResizeBack$$RotateBack"
		UpdateFormat pstex2
		UpdateResult "$$AbsPath$$Basename.ps_tex"
		Requirement "xcolor"
		Requirement "graphicx"
		Requirement "mathtools"
		# Preamble WarnNotFound
		# Preamble InputOrWarn
		ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.ps_tex"
		ReferencedFile latex "$$AbsPath$$Basename.eps"
		ReferencedFile dvi   "$$AbsPath$$Basename.eps"
	FormatEnd
	Format Ascii
		Product "[InkscapeGraphics: $$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
	Format XHTML
		Product "<img src=\"$$AbsOrRelPathMaster$$Basename.svg\" />"
		UpdateFormat svg
		UpdateResult "$$AbsPath$$Basename.svg"
		ReferencedFile xhtml "$$AbsPath$$Basename.svg"
	FormatEnd
TemplateEnd



More information about the lyx-users mailing list