X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=lib%2Fexternal_templates;h=949b45a819ef6d816d4ff85a01ee21b8c99e73a6;hb=d5f47dc6f743993cee50226b812ea20b359275ce;hp=5de7fce4fb03d7d204ab5ef7c290e84da6bd7334;hpb=9b09fa6ee54deef832f4221fbdf20c65dc48e618;p=lyx.git
diff --git a/lib/external_templates b/lib/external_templates
index 5de7fce4fb..949b45a819 100644
--- a/lib/external_templates
+++ b/lib/external_templates
@@ -1,99 +1,162 @@
-# 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
- GuiName "[Bitmap: $$FName]"
+ # 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.
- 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, and
- ImageMagick to do conversions. It requires
- Python for exporting to Ascii and DocBook,
- and gifscii for exporting to Ascii.
HelpTextEnd
- FileFilter "*.(gif|png|jpg|bmp|pbm|ppm|tga|tif|xpm|xbm)"
- ViewCommand "display $$Basename.eps"
- EditCommand "gimp $$FName"
+ # 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
Format LaTeX
- Product "\\includegraphics{$$Basename.eps}"
- UpdateCommand "convert $$Parameters $$FName $$Basename.eps"
- UpdateResult "$$Basename.eps"
+ 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(\"$$Basename.asc\")"
- UpdateCommand "python $$Sysdir/scripts/pic2ascii.py $$FName $$Parameters"
- UpdateResult "$$Basename.asc"
+ Product "$$Contents(\"$$AbsPath$$Basename.asc\")"
+ UpdateFormat asciiimage
+ UpdateResult "$$AbsPath$$Basename.asc"
FormatEnd
Format DocBook
- Product "
"
- UpdateCommand "python $$Sysdir/scripts/pic2png_eps.py $$FName $$Parameters"
- UpdateResult "$$Basename.eps"
- FormatEnd
- Format LinuxDoc
- Product "[Bitmap: $$FName]"
+ Product "
"
+ 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, and
- fig2dev and ImageMagick to do conversions.
- It requires Python for exporting to Ascii
- and DocBook, and gifscii for exporting to
- Ascii.
+ An Xfig figure.
HelpTextEnd
+ InputFormat fig
FileFilter "*.fig"
- ViewCommand "xfig $$FName"
- EditCommand "xfig $$FName"
AutomaticProduction true
+ Transform Rotate
+ Transform Resize
Format LaTeX
- Product "\\begin{picture}(0,0)\\includegraphics{$$Basename.eps}\\end{picture}\\input{$$Basename.pstex_t}"
- UpdateCommand "python $$Sysdir/scripts/fig2pstex.py $$FName $$Parameters"
- UpdateResult "$$Basename.eps"
- Requirement "graphicx"
+ TransformCommand Rotate RotationLatexCommand
+ TransformCommand Resize ResizeLatexCommand
+ Product "$$RotateFront$$ResizeFront\\input{$$AbsOrRelPathMaster$$Basename.pstex_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.pdftex_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 "$$Contents(\"$$Basename.asc\")"
- UpdateCommand "python $$Sysdir/scripts/pic2ascii.py $$FName $$Parameters"
- UpdateResult "$$Basename.asc"
+ Product "$$Contents(\"$$AbsPath$$Basename.asc\")"
+ UpdateFormat asciixfig
+ UpdateResult "$$AbsPath$$Basename.asc"
FormatEnd
Format DocBook
- Product "
"
- UpdateCommand "python $$Sysdir/scripts/pic2png_eps.py $$FName $$Parameters"
- UpdateResult "$$Basename.eps"
- FormatEnd
- Format LinuxDoc
- Product "[XFig: $$FName]"
+ Product "
"
+ UpdateFormat eps
+ 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 view
- and edit the position. Use the
- 'File->Save Position' in XBoard to save
+ 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
@@ -102,67 +165,113 @@ 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
that TeX will find it, and you will need
to install the skak package from CTAN.
HelpTextEnd
+ InputFormat fen
FileFilter "*.fen"
- ViewCommand "xboard -lpf $$FName"
- EditCommand "xboard -lpf $$FName -mode EditPosition"
AutomaticProduction true
Format LaTeX
- Product "\\loadgame{$$FPath$$Basename}\\showboard"
+ Product "\\loadgame{$$AbsOrRelPathMaster$$Basename}\\showboard"
Requirement "chess"
+ ReferencedFile latex "$$AbsPath$$Basename$$Extension"
+ FormatEnd
+ Format PDFLaTeX
+ Product "\\loadgame{$$AbsOrRelPathMaster$$Basename}\\showboard"
+ Requirement "chess"
+ ReferencedFile pdflatex "$$AbsPath$$Basename$$Extension"
FormatEnd
Format Ascii
- Product "$$Contents(\"$$Basename.asc\")"
- UpdateCommand "python $$Sysdir/scripts/fen2ascii.py $$FName $$Basename.asc"
- UpdateResult "$$Basename.asc"
+ Product "$$Contents(\"$$AbsPath$$Basename.asc\")"
+ UpdateFormat asciichess
+ 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
+ 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 "[LilyPond: $$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 "*"
- ViewCommand "xterm -e less $$Tempname"
AutomaticProduction true
Format LaTeX
Product "$$Contents(\"$$Tempname\")"
- UpdateCommand "python $$Sysdir/scripts/general_command_wrapper.py - $$Tempname date $$Parameters"
+ UpdateFormat dateout
+ UpdateResult "$$Tempname"
FormatEnd
- Format Ascii
+ Format PDFLaTeX
Product "$$Contents(\"$$Tempname\")"
- UpdateCommand "python $$Sysdir/scripts/general_command_wrapper.py - $$Tempname date $$Parameters"
+ UpdateFormat dateout
+ UpdateResult "$$Tempname"
FormatEnd
- Format DocBook
+ Format Ascii
Product "$$Contents(\"$$Tempname\")"
- UpdateCommand "python $$Sysdir/scripts/general_command_wrapper.py - $$Tempname date $$Parameters"
+ UpdateFormat dateout
+ UpdateResult "$$Tempname"
FormatEnd
- Format LinuxDoc
+ Format DocBook
Product "$$Contents(\"$$Tempname\")"
- UpdateCommand "python $$Sysdir/scripts/general_command_wrapper.py - $$Tempname date $$Parameters"
+ UpdateFormat dateout
+ UpdateResult "$$Tempname"
FormatEnd
TemplateEnd
-