lyx_mirror/lib/xtemplates/minted.xtemplate
Enrico Forestieri 268ae66e3c Rename the minted 'lang' external template option as 'language'
This is for consistency with the newly introduced support in the
listings inset, where the option name is dictated by the listings
package and cannot be changed.
2017-06-07 01:25:35 +02:00

80 lines
2.8 KiB
Plaintext

#
# Minted External Template
#
# This file is part of LyX, the document processor.
# Licence details can be found in the file COPYING.
#
# author Enrico Forestieri
#
# Full author contact details are available in file CREDITS.
#
# External templates expect to deal with commands of the form
# \command[options]{parameter}
# while the \inputminted command has the form
# \inputminted[options]{language}{filename}
#
# In order to use the external templates machinery, the options of the
# minted package are extended to be able to construct a proper \inputminted
# command. This template defines an additional 'language' option for minted,
# which is then extracted from the options and passed as the second non-optional
# parameter of \inputminted. This template works for minted version 2.1 or
# higher. As it relies on the internals of minted, an update might break it.
PreambleDef minted
\usepackage{minted}
\@namedef{minted@opt@cmd@lang}{latex}
\define@key{minted@opt@cmd}{language}{\@namedef{minted@opt@cmd@lang}{#1}
\minted@configlang{#1}}
\DeclareRobustCommand\inputsource{\@ifnextchar[\@inputsrc{\@inputsrc[]}}
\def\@inputsrc[#1]#2{\inputminted[#1]{\minted@opt@cmd@lang}{#2}}
PreambleDefEnd
Template MintedSource
GuiName "Minted Source Code"
HelpText
Format source code using the 'minted' package.
This template works with minted version 2.1 or higher.
The source language is specified by the 'language' option,
which must be inserted into the 'Option' field in the
'LaTeX and LyX options' tab.
Example options:
* linenos,fontsize=\footnotesize,language=fortran
* bgcolor=yellow,baselinestretch=1.2,language=c
* frame=lines,framesep=2\fboxsep,language=python
If 'language=xxx' is not given, 'language=latex' is assumed by default.
Make sure to use the '-shell-escape' option for the latex backend.
Read the documentation of the minted package
for further options and details.
HelpTextEnd
InputFormat text
FileFilter "*"
AutomaticProduction true
Preview InstantPreview
Transform Extra
Format LaTeX
Preamble minted
TransformOption Extra ExtraOption
Option Arg "[$$Extra]"
Product "\\inputsource$$Arg{$$AbsPath$$Basename$$Extension}"
UpdateFormat text
UpdateResult "$$AbsPath$$Basename$$Extension"
ReferencedFile text "$$AbsPath$$Basename$$Extension"
FormatEnd
Format PDFLaTeX
Preamble minted
TransformOption Extra ExtraOption
Option Arg "[$$Extra]"
Product "\\inputsource$$Arg{$$AbsPath$$Basename$$Extension}"
UpdateFormat text
UpdateResult "$$AbsPath$$Basename$$Extension"
ReferencedFile text "$$AbsPath$$Basename$$Extension"
FormatEnd
Format Ascii
Product "$$Contents(\"$$AbsPath$$Basename$$Extension\")"
UpdateFormat text
UpdateResult "$$AbsPath$$Basename$$Extension"
FormatEnd
TemplateEnd