#
# file external_templates
# This file is part of LyX, the document processor.
# Licence details can be found in the file COPYING.
#
# author Asger Alstrup Nielsen
# author Angus Leeming
# author Johnathan Burchill
#
# Full author contact details are available in file CREDITS.

# This file contains the definitions of those External Templates that are
# part of the official LyX distribution.
# Feel free to create your own External Templates, storing them in
# .lyx/external_templates


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 RasterImage
	GuiName "Bitmap: $$Basename"
	HelpText
		A bitmap file.
		In the parameters box, you can provide optional
		parameters for the ImageMagick convert program.
		E.g., use `-border 10x10 -bordercolor black'
		to surround the picture with a black border
		when you export to LaTeX.
		When you export to Ascii, you can provide a
		number describing how many columns the picture
		should expand to.
		This template uses Gimp for editing.
	HelpTextEnd
	InputFormat "*"
	FileFilter "*.(gif|png|jpg|bmp|pbm|ppm|tga|tif|xpm|xbm)"
	EditCommand "gimp $$FName"
	AutomaticProduction true
	Transform Rotate
	Transform Resize
	Transform Clip
	Transform Extra
	Format LaTeX
		TransformOption Rotate RotationLatexOption
		TransformOption Resize ResizeLatexOption
		TransformOption Clip   ClipLatexOption
		TransformOption Extra  ExtraOption
		Option Arg "[$$Extra,$$Rotate,$$Resize,$$Clip]"
		Product "\\includegraphics$$Arg{$$Basename}"
		UpdateFormat eps
		UpdateResult "$$Basename.eps"
		Requirement "graphicx"
	FormatEnd
	Format PDFLaTeX
		TransformOption Rotate RotationLatexOption
		TransformOption Resize ResizeLatexOption
		TransformOption Clip   ClipLatexOption
		TransformOption Extra  ExtraOption
		Option Arg "[$$Extra,$$Rotate,$$Resize,$$Clip]"
		Product "\\includegraphics$$Arg{$$Basename}"
		UpdateFormat png
		UpdateResult "$$Basename.png"
		Requirement "graphicx"
	FormatEnd
	Format Ascii
		Product "$$Contents(\"$$Basename.asc\")"
		UpdateFormat asciiimage
		UpdateResult "$$Basename.asc"
	FormatEnd
	Format DocBook
		Product "<graphic fileref=\"$$Basename.eps\"></graphic>"
		UpdateFormat eps
		UpdateResult "$$Basename.eps"
	FormatEnd
	Format LinuxDoc
		Product "[Bitmap: $$FName]"
	FormatEnd
TemplateEnd


Template XFig
	GuiName "XFig: $$Basename"
	HelpText
		An XFig figure.
		This template uses XFig for editing.
	HelpTextEnd
	InputFormat fig
	FileFilter "*.fig"
	EditCommand "xfig $$FName"
	AutomaticProduction true
	Transform Rotate
	Transform Resize
	Format LaTeX
		TransformCommand Rotate RotationLatexCommand
		TransformCommand Resize ResizeLatexCommand
		Product "$$RotateFront$$ResizeFront\\input{$$Basename.pstex_t}$$ResizeBack$$RotateBack"
		UpdateFormat pstex
		UpdateResult "$$Basename.pstex_t"
		Requirement "graphicx"
		Preamble WarnNotFound
		Preamble InputOrWarn
	FormatEnd
	Format PDFLaTeX
		TransformCommand Rotate RotationLatexCommand
		TransformCommand Resize ResizeLatexCommand
		Product "$$RotateFront$$ResizeFront\\input{$$Basename.pdftex_t}$$ResizeBack$$RotateBack"
		UpdateFormat pdftex
		UpdateResult "$$Basename.pdftex_t"
		Requirement "graphicx"
		Preamble WarnNotFound
		Preamble InputOrWarn
	FormatEnd
	Format Ascii
		Product "$$Contents(\"$$Basename.asc\")"
		UpdateFormat asciixfig
		UpdateResult "$$Basename.asc"
	FormatEnd
	Format DocBook
		Product "<graphic fileref=\"$$Basename.eps\"></graphic>"
		UpdateFormat eps
		UpdateResult "$$Basename.eps"
	FormatEnd
	Format LinuxDoc
		Product "[XFig: $$FName]"
	FormatEnd
TemplateEnd


Template ChessDiagram
	GuiName "Chess: $$Basename"
	HelpText
		A chess position diagram.
		This template will use XBoard to edit the position.
		Use the 'File->Save Position' in XBoard to save
		the position that you want to display.
		Make sure to give it a '.fen' extension
		and remember to type in a relative path
		to the LyX document location.
		Within XBoard, use 'Edit->Edit Position'
		to enable general editing of the board.
		You might also check out the
		'Options->Test legality' option, and
		remember to middle and right click to
		insert new material in the board.
		In order for this to work, you have to
		put the bundled lyxskak.sty in a place
		that TeX will find it, and you will need
		to install the skak package from CTAN.
	HelpTextEnd
	InputFormat fen
	FileFilter "*.fen"
	EditCommand "xboard -lpf $$FName -mode EditPosition"
	AutomaticProduction true
	Format LaTeX
		Product "\\loadgame{$$FPath$$Basename}\\showboard"
		Requirement "chess"
	FormatEnd
	Format Ascii
		Product "$$Contents(\"$$Basename.asc\")"
		UpdateFormat asciichess
		UpdateResult "$$Basename.asc"
	FormatEnd
	Format DocBook
		Product "[Chess: $$Basename]"
	FormatEnd
	Format LinuxDoc
		Product "[Chess: $$FName]"
	FormatEnd
TemplateEnd


Template Date
	GuiName "Date"
	HelpText
		Todays date.
		Read 'info date' for more information.
	HelpTextEnd
	InputFormat date
	FileFilter "*"
	AutomaticProduction true
	Format LaTeX
		Product "$$Contents(\"$$Tempname\")"
		UpdateFormat dateout
		UpdateResult "$$Tempname"
	FormatEnd
	Format Ascii
		Product "$$Contents(\"$$Tempname\")"
		UpdateFormat dateout
		UpdateResult "$$Tempname"
	FormatEnd
	Format DocBook
		Product "$$Contents(\"$$Tempname\")"
		UpdateFormat dateout
		UpdateResult "$$Tempname"
	FormatEnd
	Format LinuxDoc
		Product "$$Contents(\"$$Tempname\")"
		UpdateFormat dateout
		UpdateResult "$$Tempname"
	FormatEnd
TemplateEnd