]> git.lyx.org Git - lyx.git/blobdiff - lib/external_templates
Reported by BH
[lyx.git] / lib / external_templates
index 120ef3d81108865429f222ab696d50a73c5ca749..4f4af8c92f7ebc8aacac73b811b9bb1dd1805d3b 100644 (file)
-# Basic External Templates for LyX
+#
+# 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
+       # By default, InsetExternal is displayed as a grey button
+       # containing this text.
+       GuiName "Bitmap: $$AbsOrRelPathParent$$Basename"
+       # This text is used in the External dialog.
+       # Provide enough information to explain to the user just
+       # what the template can provide him with.
+       HelpText
+               A bitmap file.
+       HelpTextEnd
+       # ANY file type can be displayed as a RasterImage.
+       # Specifically, LyX will attempt to interrogate the file itself
+       # in order to deduce its format.
+       InputFormat "*"
+       # Globbing pattern used when browsing for a Raster image file.
+       FileFilter "*.{gif,png,jpg,bmp,pbm,ppm,tga,tif,xpm,xbm}"
+       # Set to "true" if the file represented by the template
+       # must be generated by LyX.
+       AutomaticProduction true
+       # LyX has hard-coded support for these transformations
+       Transform Rotate
+       Transform Resize
+       Transform Clip
+       Transform Extra
+       # LyX preview options:
+       # Off: LyX will not attempt to show this material on screen.
+       # Graphics: LyX will attempt to show this material as-is or via a
+       #           conversion to a showable format.
+       # InstantPreview: LyX will attempt to use the 'instant preview'
+       #                 mechanism in order to show this material.
+       Preview Graphics
+       Format LaTeX
+               TransformOption Rotate RotationLatexOption
+               TransformOption Resize ResizeLatexOption
+               TransformOption Clip   ClipLatexOption
+               TransformOption Extra  ExtraOption
+               Option Arg "[$$Extra,$$Rotate,$$Resize,$$Clip]"
+               # This string is what is output to the LaTeX file.
+               Product "\\includegraphics$$Arg{$$AbsOrRelPathMaster$$Basename}"
+               UpdateFormat eps
+               UpdateResult "$$AbsPath$$Basename.eps"
+               Requirement "graphicx"
+               ReferencedFile latex "$$AbsPath$$Basename.eps"
+               ReferencedFile dvi   "$$AbsPath$$Basename.eps"
+       FormatEnd
+       Format PDFLaTeX
+               TransformOption Rotate RotationLatexOption
+               TransformOption Resize ResizeLatexOption
+               TransformOption Clip   ClipLatexOption
+               TransformOption Extra  ExtraOption
+               Option Arg "[$$Extra,$$Rotate,$$Resize,$$Clip]"
+               Product "\\includegraphics$$Arg{$$AbsOrRelPathMaster$$Basename}"
+               UpdateFormat png
+               UpdateResult "$$AbsPath$$Basename.png"
+               Requirement "graphicx"
+               ReferencedFile pdflatex "$$AbsPath$$Basename.png"
+       FormatEnd
+       Format Ascii
+               Product "$$Contents(\"$$AbsPath$$Basename.asc\")"
+               UpdateFormat asciiimage
+               UpdateResult "$$AbsPath$$Basename.asc"
+       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
+
 
 Template XFig
-       GuiName "[XFig: $$Basename]"
+       GuiName "Xfig: $$AbsOrRelPathParent$$Basename"
        HelpText
-               An XFig figure.
-               In the parameters box, you can provide
-               optional parameters for fig2dev in the
-               case of LaTeX export. E.g., -m .69 to
-               reduce the size.
-               For Ascii export, you can provide a
-               number that specifies the width of an
-               Ascii approximation of the figure.
-               For DocBook export, you can provide
-               optional parameters for the ImageMagick
-               convert script.
-               This template uses XFig for editing.
+               An Xfig figure.
        HelpTextEnd
        InputFormat fig
        FileFilter "*.fig"
-       EditCommand "xfig $$FName"
        AutomaticProduction true
+       Transform Rotate
+       Transform Resize
+       Preview InstantPreview
        Format LaTeX
-               Product "\\input{$$Basename.pstex_t}"
+               TransformCommand Rotate RotationLatexCommand
+               TransformCommand Resize ResizeLatexCommand
+               Product "$$RotateFront$$ResizeFront\\input{$$AbsOrRelPathMaster$$Basename.pstex_t}$$ResizeBack$$RotateBack"
                UpdateFormat pstex
-               UpdateResult "$$Basename.pstex_t"
+               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
-               Product "\\input{$$Basename.pdftex_t}"
+               TransformCommand Rotate RotationLatexCommand
+               TransformCommand Resize ResizeLatexCommand
+               Product "$$RotateFront$$ResizeFront\\input{$$AbsOrRelPathMaster$$Basename.pdftex_t}$$ResizeBack$$RotateBack"
                UpdateFormat pdftex
-               UpdateResult "$$Basename.pdftex_t"
-               Requirement "graphicx"  
+               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 "$$Contents(\"$$Basename.asc\")"
+               Product "$$Contents(\"$$AbsPath$$Basename.asc\")"
                UpdateFormat asciixfig
-               UpdateResult "$$Basename.asc"
+               UpdateResult "$$AbsPath$$Basename.asc"
        FormatEnd
        Format DocBook
-               Product "<graphic fileref=\"$$Basename.eps\"></graphic>"
+               Product "<graphic fileref=\"$$AbsOrRelPathMaster$$Basename.eps\"></graphic>"
                UpdateFormat eps
-               UpdateResult "$$Basename.eps"
-       FormatEnd
-       Format LinuxDoc
-               Product "[XFig: $$FName]"
+               UpdateResult "$$AbsPath$$Basename.eps"
+               ReferencedFile docbook     "$$AbsPath$$Basename.eps"
+               ReferencedFile docbook-xml "$$AbsPath$$Basename.eps"
        FormatEnd
 TemplateEnd
 
+
 Template ChessDiagram
-       GuiName "[Chess: $$Basename]"
+       GuiName "Chess: $$AbsOrRelPathParent$$Basename"
        HelpText
                A chess position diagram.
                This template will use XBoard to edit the position.
-               Use the 'File->Save Position' in XBoard to save 
+               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
@@ -61,7 +173,7 @@ Template ChessDiagram
                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 
+               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
@@ -70,62 +182,205 @@ Template ChessDiagram
        HelpTextEnd
        InputFormat fen
        FileFilter "*.fen"
-       EditCommand "xboard -lpf $$FName -mode EditPosition"
        AutomaticProduction true
+       Preview InstantPreview
        Format LaTeX
-               Product "\\loadgame{$$FPath$$Basename}\\showboard"
+               Product "\\loadgame{$$AbsOrRelPathMaster$$Basename}\\showboard"
+               Requirement "chess"
+               UpdateFormat fen
+               UpdateResult "$$AbsPath$$Basename$$Extension"
+               ReferencedFile latex "$$AbsPath$$Basename$$Extension"
+       FormatEnd
+       Format PDFLaTeX
+               Product "\\loadgame{$$AbsOrRelPathMaster$$Basename}\\showboard"
                Requirement "chess"
+               UpdateFormat fen
+               UpdateResult "$$AbsPath$$Basename$$Extension"
+               ReferencedFile pdflatex "$$AbsPath$$Basename$$Extension"
        FormatEnd
        Format Ascii
-               Product "$$Contents(\"$$Basename.asc\")"
+               Product "$$Contents(\"$$AbsPath$$Basename.asc\")"
                UpdateFormat asciichess
-               UpdateResult "$$Basename.asc"
+               UpdateResult "$$AbsPath$$Basename.asc"
+       FormatEnd
+       Format DocBook
+               Product "[Chess: $$AbsOrRelPathMaster$$Basename]"
+       FormatEnd
+TemplateEnd
+
+
+Template LilyPond
+       GuiName "Lilypond typeset music"
+       HelpText
+               Sheet music typeset by GNU LilyPond,
+               converted to .pdf or .eps for inclusion
+               Using .eps requires at least lilypond 2.6
+               Using .pdf requires at least lilypond 2.9
+       HelpTextEnd
+       InputFormat "lilypond"
+       FileFilter "*.ly"
+       AutomaticProduction true
+       Transform Rotate
+       Transform Resize
+       Transform Clip
+       Transform Extra
+       Preview InstantPreview
+       Format LaTeX
+               TransformOption Rotate RotationLatexOption
+               TransformOption Resize ResizeLatexOption
+               TransformOption Clip   ClipLatexOption
+               TransformOption Extra  ExtraOption
+               Option Arg "[$$Extra,$$Rotate,$$Resize,$$Clip]"
+               Product "\\includegraphics$$Arg{$$AbsOrRelPathMaster$$Basename}"
+               UpdateFormat eps
+               UpdateResult "$$AbsPath$$Basename.eps"
+               Requirement "graphicx"
+               ReferencedFile latex "$$AbsPath$$Basename.eps"
+               ReferencedFile dvi   "$$AbsPath$$Basename.eps"
+       FormatEnd
+       Format PDFLaTeX
+               TransformOption Rotate RotationLatexOption
+               TransformOption Resize ResizeLatexOption
+               TransformOption Clip   ClipLatexOption
+               TransformOption Extra  ExtraOption
+               Option Arg "[$$Extra,$$Rotate,$$Resize,$$Clip]"
+               Product "\\includegraphics$$Arg{$$AbsOrRelPathMaster$$Basename}"
+               UpdateFormat pdf
+               UpdateResult "$$AbsPath$$Basename.pdf"
+               Requirement "graphicx"
+               ReferencedFile pdflatex "$$AbsPath$$Basename.pdf"
+       FormatEnd
+       Format Ascii
+               Product "[LilyPond: $$FName]"
        FormatEnd
        Format DocBook
-               Product "[Chess: $$Basename]"
+               Product "[LilyPond: $$FName]"
+       FormatEnd
+TemplateEnd
+
+Template PDFPages
+       GuiName "PDF pages: $$AbsOrRelPathParent$$Basename"
+       HelpText
+               Includes PDF documents, using the 'pdfpages' package.
+               To include multiple pages, use the 'pages'-option,
+               which must be inserted to 'Options'.
+               Examples:
+               * pages={x-y} (for a range of pages)
+               * pages={x,y,z} (for specific pages)
+               * pages=- (to include all pages)
+               Read the documentation of the pdfpages package
+               for further options and details.
+       HelpTextEnd
+       InputFormat pdf
+       FileFilter "*.pdf"
+       AutomaticProduction true
+       Transform Rotate
+       Transform Resize
+       Transform Extra
+       Preview Graphics
+       Format LaTeX
+               TransformOption Rotate RotationLatexOption
+               TransformOption Resize ResizeLatexOption
+               TransformOption Extra  ExtraOption
+               Option Arg "[$$Extra,$$Rotate,$$Resize]"
+               Product "\\includepdf$$Arg{$$AbsOrRelPathMaster$$Basename}"
+               UpdateFormat pdf
+               UpdateResult "$$AbsPath$$Basename.pdf"
+               Requirement "pdfpages"
+               ReferencedFile pdflatex "$$AbsPath$$Basename.pdf"
+       FormatEnd
+       Format Ascii
+               Product "[PDFPages: $$FName]"
        FormatEnd
-       Format LinuxDoc
-               Product "[Chess: $$FName]"
+       Format DocBook
+               Product "[PDFPages: $$FName]"
        FormatEnd
 TemplateEnd
 
+
 Template Date
-       GuiName "[Date]"
+       GuiName "Date"
        HelpText
-               Todays date.
-               In the parameters box, you can provide
-               optional parameters for the date
-               command.
-               No parameters gives "Mon Jun 12 05:20:41 CEST 2000"
-               Use -u to get "Mon Jun 12 03:20:41 UTC 2000"
-               Use -I to get "2000-06-12".
-               Use -R to get "Mon, 12 Jun 2000 05:20:41 +0200"
-               Use +%d-%m-%Y to get "20-06-2000"
-               Use +%T to get the time as "23:23:00"
+               Today's date.
                Read 'info date' for more information.
        HelpTextEnd
        InputFormat date
        FileFilter "*"
        AutomaticProduction true
+       Preview Off
        Format LaTeX
                Product "$$Contents(\"$$Tempname\")"
                UpdateFormat dateout
                UpdateResult "$$Tempname"
        FormatEnd
-       Format Ascii
+       Format PDFLaTeX
                Product "$$Contents(\"$$Tempname\")"
                UpdateFormat dateout
                UpdateResult "$$Tempname"
        FormatEnd
-       Format DocBook
+       Format Ascii
                Product "$$Contents(\"$$Tempname\")"
                UpdateFormat dateout
                UpdateResult "$$Tempname"
        FormatEnd
-       Format LinuxDoc
+       Format DocBook
                Product "$$Contents(\"$$Tempname\")"
                UpdateFormat dateout
                UpdateResult "$$Tempname"
        FormatEnd
 TemplateEnd
 
+Template Dia
+       GuiName "Dia: $$AbsOrRelPathParent$$Basename"
+       HelpText
+               Dia diagram.
+       HelpTextEnd
+       InputFormat dia
+       FileFilter "*.dia"
+       AutomaticProduction true
+       # LyX has hard-coded support for these transformations
+       Transform Rotate
+       Transform Resize
+       Transform Clip
+       Transform Extra
+       Preview InstantPreview
+       Format LaTeX
+               TransformOption Rotate RotationLatexOption
+               TransformOption Resize ResizeLatexOption
+               TransformOption Clip   ClipLatexOption
+               TransformOption Extra  ExtraOption
+               Option Arg "[$$Extra,$$Rotate,$$Resize,$$Clip]"
+               # This string is what is output to the LaTeX file.
+               Product "\\includegraphics$$Arg{$$AbsOrRelPathMaster$$Basename}"
+               UpdateFormat eps
+               UpdateResult "$$AbsPath$$Basename.eps"
+               Requirement "graphicx"
+               ReferencedFile latex "$$AbsPath$$Basename.eps"
+               ReferencedFile dvi   "$$AbsPath$$Basename.eps"
+       FormatEnd
+       Format PDFLaTeX
+               TransformOption Rotate RotationLatexOption
+               TransformOption Resize ResizeLatexOption
+               TransformOption Clip   ClipLatexOption
+               TransformOption Extra  ExtraOption
+               Option Arg "[$$Extra,$$Rotate,$$Resize,$$Clip]"
+               Product "\\includegraphics$$Arg{$$AbsOrRelPathMaster$$Basename}"
+               UpdateFormat pdf
+               UpdateResult "$$AbsPath$$Basename.pdf"
+               Requirement "graphicx"
+               ReferencedFile pdflatex "$$AbsPath$$Basename.pdf"
+       FormatEnd
+       Format Ascii
+               Product "$$Contents(\"$$AbsPath$$Basename.asc\")"
+               UpdateFormat asciiimage
+               UpdateResult "$$AbsPath$$Basename.asc"
+       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
+