]> git.lyx.org Git - lyx.git/blobdiff - lib/external_templates
Add an explanatory note for external_templates
[lyx.git] / lib / external_templates
index 120ef3d81108865429f222ab696d50a73c5ca749..7579af62ba60c5309c30106e9557cc65ff748d60 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
+# Note that a user-defined external_templates file would replace this
+# definition. Thus, if you would like to keep the external templates defined
+# in this file, please copy this file and add on futher external templates
+# to the end. For more information, see http://www.lyx.org/trac/ticket/3983.
+
+
+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 GnumericSpreadsheet
+       GuiName "Spreadsheet"
+       HelpText
+               A spreadsheet made with Gnumeric, LibreOffice, OpenOffice or Excel.
+               It imports as a long table, so any length
+               is ok. Excessive width could be a problem.
+               The gnumeric software is necessary for conversion,
+               both for gnumeric and excel files.
+       HelpTextEnd
+       InputFormat "gnumeric"
+       FileFilter "*.{gnumeric,ods,xls}"
+       AutomaticProduction true
+       Format LaTeX
+               Product "\\def\\inputGnumericTable{}\\input{$$AbsOrRelPathMaster$$Basename.tex}"
+               UpdateFormat latex
+               UpdateResult "$$AbsPath$$Basename.tex"
+               Requirement "color"
+               Requirement "array"
+               Requirement "longtable"
+               Requirement "calc"
+               Requirement "multirow"
+               Requirement "hhline"
+               Requirement "ifthen"
+               ReferencedFile latex "$$AbsOrRelPathMaster$$Basename.tex"
+               FormatEnd
+       Format PDFLaTeX
+               Product "\\def\\inputGnumericTable{}\\input{$$AbsOrRelPathMaster$$Basename.tex}"
+               UpdateFormat latex
+               UpdateResult "$$AbsPath$$Basename.tex"
+               Requirement "color"
+               Requirement "array"
+               Requirement "longtable"
+               Requirement "calc"
+               Requirement "multirow"
+               Requirement "hhline"
+               Requirement "ifthen"
+               ReferencedFile pdflatex "$$AbsOrRelPathMaster$$Basename.tex"
+       FormatEnd
+TemplateEnd
+
+Template RasterImage
+       # By default, InsetExternal is displayed as a grey button
+       # containing this text.
+       GuiName "Raster image"
+       # 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 figure"
        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 diagram"
        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 +216,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 +225,208 @@ 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: $$Basename]"
+               Product "[Chess: $$AbsOrRelPathMaster$$Basename]"
        FormatEnd
-       Format LinuxDoc
-               Product "[Chess: $$FName]"
+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 pdf6
+               UpdateResult "$$AbsPath$$Basename.pdf"
+               Requirement "graphicx"
+               ReferencedFile pdflatex "$$AbsPath$$Basename.pdf"
+       FormatEnd
+       Format Ascii
+               Product "[LilyPond: $$FName]"
+       FormatEnd
+       Format DocBook
+               Product "[LilyPond: $$FName]"
+       FormatEnd
+TemplateEnd
+
+Template PDFPages
+       GuiName "PDF pages"
+       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)
+               * pages=last-1 (to include all pages in reverse order)
+               With the option 'noautoscale' the PDF pages are
+               inserted in their original size.
+               Read the documentation of the pdfpages package
+               for further options and details.
+       HelpTextEnd
+       InputFormat pdf6
+       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 pdf6
+               UpdateResult "$$AbsPath$$Basename.pdf"
+               Requirement "pdfpages"
+               ReferencedFile pdflatex "$$AbsPath$$Basename.pdf"
+       FormatEnd
+       Format Ascii
+               Product "[PDFPages: $$FName]"
+       FormatEnd
+       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 diagram"
+       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 pdf6
+               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
+