]> git.lyx.org Git - lyx.git/blobdiff - lib/doc/Customization.lyx
Customization.lyx:
[lyx.git] / lib / doc / Customization.lyx
index e6e3a476d7c854e520da8f310243c05960d31480..5bf98a7d1dcb9d9038ee8ef0f7ddd83098c7b34d 100644 (file)
@@ -1,5 +1,5 @@
-#LyX 1.6.1 created this file. For more info see http://www.lyx.org/
-\lyxformat 345
+#LyX 2.0.0svn created this file. For more info see http://www.lyx.org/
+\lyxformat 353
 \begin_document
 \begin_header
 \textclass scrbook
@@ -66,12 +66,14 @@ End
 \font_sans default
 \font_typewriter default
 \font_default_family default
+\use_xetex false
 \font_sc false
 \font_osf false
 \font_sf_scale 100
 \font_tt_scale 100
 
 \graphics default
+\default_output_format default
 \paperfontsize 12
 \spacing single
 \use_hyperref true
@@ -95,7 +97,9 @@ End
 \use_esint 0
 \cite_engine basic
 \use_bibtopic false
+\use_indices false
 \paperorientation portrait
+\backgroundcolor #ffffff
 \branch OutDated
 \selected 0
 \color #f5fae7
@@ -112,6 +116,9 @@ End
 \output_changes false
 \author "" 
 \author "" 
+\author "" 
+\author "" 
+\author "" 
 \end_header
 
 \begin_body
@@ -159,7 +166,7 @@ type "mailto:"
 \begin_inset Newline newline
 \end_inset
 
-Version 1.6.x 
+Version 2.0.x 
 \end_layout
 
 \begin_layout Standard
@@ -169,6 +176,22 @@ LatexCommand tableofcontents
 \end_inset
 
 
+\end_layout
+
+\begin_layout Standard
+\begin_inset Note Note
+status open
+
+\begin_layout Plain Layout
+Please use change tracking when modifying this document.
+ This makes it easier for our translators to recognize things that have
+ been changed, and it helps the maintainer keep up-to-date with what's been
+ done.
+\end_layout
+
+\end_inset
+
+
 \end_layout
 
 \begin_layout Chapter
@@ -188,7 +211,7 @@ on, installing new LaTeX classes and LyX layouts, etc.
 
 \begin_layout Standard
 \begin_inset Branch OutDated
-status collapsed
+status open
 
 \begin_layout Standard
 Information from previous versions of this document that now seems to be
@@ -599,7 +622,7 @@ xx
 
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "chap:i18n"
+reference "cha:Internationalizing-LyX"
 
 \end_inset
 
@@ -701,7 +724,7 @@ layouts/
 
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "chap:textclass"
+reference "cha:Installing-New-Document"
 
 \end_inset
 
@@ -781,7 +804,7 @@ templates/
 
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "sec:templates"
+reference "sec:Creating-Templates"
 
 \end_inset
 
@@ -1257,142 +1280,14 @@ User's Guide
 \end_layout
 
 \begin_layout Section
-Using the dialog for the first time
-\end_layout
-
-\begin_layout Standard
-The 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-UserDir/preferences
-\end_layout
-
-\end_inset
-
- file will contain only changes that you have made to the default behavior,
- some of which is hard-coded into LyX and some of which is contained in
- the system file 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-LyXDir/lyxrc.defaults
-\end_layout
-
-\end_inset
-
-.
- Note that in both files lines beginning with a 
-\begin_inset Quotes eld
-\end_inset
-
-#
-\begin_inset Quotes erd
-\end_inset
-
- are just comments and are not interpreted.
- However, only system administrators should edit 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-LyXDir/lyxrc.defaults
-\end_layout
-
-\end_inset
-
-.
- Users should use the 
-\begin_inset Flex CharStyle:MenuItem
-status collapsed
-
-\begin_layout Plain Layout
-Tools\SpecialChar \menuseparator
-Preferences
-\end_layout
-
-\end_inset
-
- dialog to create and modify their own 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-UserDir/preferences
-\end_layout
-
-\end_inset
-
- file.
-\end_layout
-
-\begin_layout Standard
-We hope that the 
-\begin_inset Flex CharStyle:MenuItem
-status collapsed
-
-\begin_layout Plain Layout
-Tools\SpecialChar \menuseparator
-Preferences
-\end_layout
-
-\end_inset
-
- dialog will be largely self-explanatory.
- Most things in the dialog have associated `tool tips': hover your mouse
- pointer over something for more information.
- Before we highlight a few of the more important commands below, however,
- a word of warning: Applying some of your changes (e.
-\begin_inset space \thinspace{}
-\end_inset
-
-g.
-\begin_inset space \space{}
-\end_inset
-
-screen fonts) will have an instant effect.
- Others (e.
-\begin_inset space \thinspace{}
-\end_inset
-
-g.
-\begin_inset space \space{}
-\end_inset
-
-changing the bind file) will not.
- If nothing appears to have changed, just 
-\begin_inset Flex CharStyle:MenuItem
-status collapsed
-
-\begin_layout Plain Layout
-Save
-\end_layout
-
-\end_inset
-
- the changes and restart LyX.
-\end_layout
-
-\begin_layout Section
-File Handling
-\end_layout
-
-\begin_layout Standard
-LyX has a powerful mechanism to convert to and from any file format using
- external programs.
-\end_layout
-
-\begin_layout Subsection
+Formats
 \begin_inset CommandInset label
 LatexCommand label
-name "sub:Formats"
+name "sec:Formats"
 
 \end_inset
 
-Formats
+
 \end_layout
 
 \begin_layout Standard
@@ -1584,10 +1479,14 @@ Document format
 \end_inset
 
  option tells LyX that a format is suitable for document export.
- If this is is set and if a suitable conversion route exists (see 
+ If this is is set and if a suitable conversion route exists (see sec.
+\begin_inset space \thinspace{}
+\end_inset
+
+
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "sub:Converters"
+reference "sec:Converters"
 
 \end_inset
 
@@ -1756,7 +1655,7 @@ png
 .
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
 Copiers
 \end_layout
 
@@ -2083,14 +1982,15 @@ status collapsed
 
 \end_layout
 
-\begin_layout Subsection
+\begin_layout Section
+Converters
 \begin_inset CommandInset label
 LatexCommand label
-name "sub:Converters"
+name "sec:Converters"
 
 \end_inset
 
-Converters
+
 \end_layout
 
 \begin_layout Standard
@@ -2497,7 +2397,7 @@ dvipdfm
  formats', as described in section 
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "sub:Formats"
+reference "sec:Formats"
 
 \end_inset
 
@@ -2549,7 +2449,7 @@ status collapsed
 Internationalizing LyX
 \begin_inset CommandInset label
 LatexCommand label
-name "chap:i18n"
+name "cha:Internationalizing-LyX"
 
 \end_inset
 
@@ -3785,6 +3685,7 @@ status open
 In doing the revisions on this document in March 2008, I did not look over
  this stuff, as I do not understand it.
  It would be good if someone else could do so.
+ (RH)
 \end_layout
 
 \end_inset
@@ -5362,10 +5263,10 @@ Preferences
 \end_layout
 
 \begin_layout Chapter
-Installing New Document Classes, Layouts, and Templates 
+Installing New Document Classes, Layouts, and Templates
 \begin_inset CommandInset label
 LatexCommand label
-name "chap:textclass"
+name "cha:Installing-New-Document"
 
 \end_inset
 
@@ -5996,13 +5897,14 @@ default
 \end_layout
 
 \begin_layout Subsection
+Layout modules
 \begin_inset CommandInset label
 LatexCommand label
 name "sub:Layout-modules"
 
 \end_inset
 
-Layout modules
+
 \end_layout
 
 \begin_layout Standard
@@ -6059,9 +5961,7 @@ DeclareLyXModule[endnotes.sty]{Endnotes}
 \end_layout
 
 \begin_layout Standard
-The argument in square brackets is optional: It declares any LaTeX packages
- on which the module depends.
- The mandatory argument, in curly brackets, is the name of the module, as
+The mandatory argument, in curly brackets, is the name of the module, as
  it should appear in 
 \begin_inset Flex CharStyle:MenuItem
 status collapsed
@@ -6074,7 +5974,20 @@ Settings
 \end_inset
 
 .
+ The argument in square brackets is optional: It declares any LaTeX packages
+ on which the module depends.
+ Please note that only packages about which LyX knows should be listed in
+ the square brackets.
+\begin_inset Foot
+status collapsed
+
+\begin_layout Plain Layout
+The list of such packages is documented only in the source code.
+\end_layout
+
+\end_inset
+
+ LyX will not check for arbitrary packages.
 \end_layout
 
 \begin_layout Standard
@@ -6864,7 +6777,7 @@ int
 
 ] This tag was introduced with LyX 1.4.0 (layout files of LyX 1.3.x and earlier
  don't have an explicit file format).
- The file format that is documented here is format 8.
+ The file format that is documented here is format 14.
 \end_layout
 
 \begin_layout Subsection
@@ -6925,7 +6838,7 @@ ClassOptions
 
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "sec:classoptions"
+reference "sub:ClassOptions"
 
 \end_inset
 
@@ -7016,7 +6929,7 @@ Counter
 
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "sec:counter"
+reference "sub:Counters"
 
 \end_inset
 
@@ -7060,7 +6973,7 @@ DefaultFont
 
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "sec:fonts"
+reference "sub:Font-description"
 
 \end_inset
 
@@ -7235,7 +7148,7 @@ Float
 
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "sec:floats"
+reference "sub:Floats"
 
 \end_inset
 
@@ -7314,7 +7227,7 @@ a new character style.
 
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "sec:charstyle"
+reference "sub:Flex-insets-and"
 
 \end_inset
 
@@ -7844,7 +7757,7 @@ Style
 
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "sec:style"
+reference "sub:Paragraph-Styles"
 
 \end_inset
 
@@ -8051,15 +7964,16 @@ ClassOptions
 \end_inset
 
  section
-\end_layout
-
-\begin_layout Standard
 \begin_inset CommandInset label
 LatexCommand label
-name "sec:classoptions"
+name "sub:ClassOptions"
 
 \end_inset
 
+
+\end_layout
+
+\begin_layout Standard
 The 
 \begin_inset Flex CharStyle:Code
 status collapsed
@@ -8252,15 +8166,16 @@ End
 
 \begin_layout Subsection
 Paragraph Styles
-\end_layout
-
-\begin_layout Standard
 \begin_inset CommandInset label
 LatexCommand label
-name "sec:style"
+name "sub:Paragraph-Styles"
 
 \end_inset
 
+
+\end_layout
+
+\begin_layout Standard
 A paragraph style description looks like this:
 \begin_inset Foot
 status collapsed
@@ -8792,7 +8707,7 @@ and
 
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "sec:fonts"
+reference "sub:Font-description"
 
 \end_inset
 
@@ -8889,7 +8804,7 @@ FreeSpacing
 status collapsed
 
 \begin_layout Plain Layout
-I18NPreamble
+BabelPreamble
 \end_layout
 
 \end_inset
@@ -8901,7 +8816,7 @@ I18NPreamble
 status collapsed
 
 \begin_layout Plain Layout
-I18NPreamble
+BabelPreamble
 \end_layout
 
 \end_inset
@@ -8916,7 +8831,7 @@ I18NPreamble
 status collapsed
 
 \begin_layout Plain Layout
-EndI18NPreamble
+EndBabelPreamble
 \end_layout
 
 \end_inset
@@ -8968,6 +8883,56 @@ _()
  language.
 \end_layout
 
+\begin_layout Standard
+This preamble snippet will only be used if the document contains more than
+ one language and the babel package is used.
+\end_layout
+
+\end_deeper
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+LangPreamble
+\end_layout
+
+\end_inset
+
+ Like 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+BabelPreamble
+\end_layout
+
+\end_inset
+
+, but this preamble snippet occurs independently from the babel package,
+ and only for the document language.
+ Must end with 
+\begin_inset Quotes eld
+\end_inset
+
+
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+EndLangPreamble
+\end_layout
+
+\end_inset
+
+
+\begin_inset Quotes erd
+\end_inset
+
+.
+\end_layout
+
+\begin_deeper
 \begin_layout Standard
 If the style defines text that appears in the typeset document, it may use
  
@@ -8975,7 +8940,17 @@ If the style defines text that appears in the typeset document, it may use
 status collapsed
 
 \begin_layout Plain Layout
-I18NPreamble
+LangPreamble
+\end_layout
+
+\end_inset
+
+ and 
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+BabelPreamble
 \end_layout
 
 \end_inset
@@ -9000,14 +8975,6 @@ Preamble
 
 \begin_layout LyX-Code
   
-\backslash
-providecommand{
-\backslash
-claimname}{Claim}
-\end_layout
-
-\begin_layout LyX-Code
-  
 \backslash
 theoremstyle{remark}
 \end_layout
@@ -9027,27 +8994,31 @@ EndPreamble
 \end_layout
 
 \begin_layout LyX-Code
-I18nPreamble
+LangPreamble
 \end_layout
 
 \begin_layout LyX-Code
   
 \backslash
-AtBeginDocument{
-\backslash
-ifx
-\backslash
-LdfInit
-\backslash
-undefined
-\backslash
-relax
+providecommand{
 \backslash
-else%
+claimname}{_(Claim)}
 \end_layout
 
 \begin_layout LyX-Code
-  
+
+\end_layout
+
+\begin_layout LyX-Code
+EndLangPreamble
+\end_layout
+
+\begin_layout LyX-Code
+BabelPreamble
+\end_layout
+
+\begin_layout LyX-Code
+    
 \backslash
 addto
 \backslash
@@ -9055,17 +9026,11 @@ captions$$lang{
 \backslash
 renewcommand{
 \backslash
-claimname}{_(Claim)}}%
-\end_layout
-
-\begin_layout LyX-Code
-  
-\backslash
-fi}
+claimname}{_(Claim)}}
 \end_layout
 
 \begin_layout LyX-Code
-EndI18nPreamble
+EndBabelPreamble
 \end_layout
 
 \begin_layout Standard
@@ -9082,14 +9047,14 @@ claimname
 
 \end_inset
 
- in the standard preamble.
+ in the language preamble.
  This command holds the name of the theorem that will appear in the output.
  The 
 \begin_inset Flex CharStyle:Code
 status collapsed
 
 \begin_layout Plain Layout
-I18NPreamble
+BabelPreamble
 \end_layout
 
 \end_inset
@@ -9106,36 +9071,7 @@ claimname
 
 \end_inset
 
- for each used language.
- The 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-
-\backslash
-ifx
-\backslash
-LdfInit
-\end_layout
-
-\end_inset
-
- test ensures that no LaTeX error occurs in documents that do not use babel.
- Since LyX loads babel after the style-specific preamble, the whole command
- is deferred to the actual start of the document with 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-
-\backslash
-AtBeginDocument
-\end_layout
-
-\end_inset
-
-.
+ for each used language in multilanguage documents.
 \end_layout
 
 \end_deeper
@@ -9370,7 +9306,7 @@ string=""
 The name of the counter for automatic numbering (see Section 
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "sec:counter"
+reference "sub:Counters"
 
 \end_inset
 
@@ -9416,7 +9352,7 @@ LabelFont
 
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "sec:fonts"
+reference "sub:Font-description"
 
 \end_inset
 
@@ -9505,7 +9441,7 @@ LabelCounter
  in Section 
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "sec:counter"
+reference "sub:Counters"
 
 \end_inset
 
@@ -9555,7 +9491,7 @@ style-name
  Section 
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "sec:counter"
+reference "sub:Counters"
 
 \end_inset
 
@@ -9834,7 +9770,7 @@ Counter
  See Section 
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "sec:counter"
+reference "sub:Counters"
 
 \end_inset
 
@@ -11045,7 +10981,7 @@ TextFont
  See section 
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "sec:fonts"
+reference "sub:Font-description"
 
 \end_inset
 
@@ -11096,15 +11032,16 @@ float=0
 
 \begin_layout Subsection
 Floats
-\end_layout
-
-\begin_layout Standard
 \begin_inset CommandInset label
 LatexCommand label
-name "sec:floats"
+name "sub:Floats"
 
 \end_inset
 
+
+\end_layout
+
+\begin_layout Standard
 Since version 1.3.0 of LyX, it is has been both possible and necessary to
  define the floats (
 \begin_inset Flex CharStyle:MenuItem
@@ -11638,15 +11575,16 @@ type
 
 \begin_layout Subsection
 Flex insets and InsetLayout
-\end_layout
-
-\begin_layout Standard
 \begin_inset CommandInset label
 LatexCommand label
-name "sec:charstyle"
+name "sub:Flex-insets-and"
 
 \end_inset
 
+
+\end_layout
+
+\begin_layout Standard
 LyX has supported character styles since version 1.4.0; as of version 1.6.0,
  these are called Flex insets.
  
@@ -12260,7 +12198,7 @@ and
 
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "sec:fonts"
+reference "sub:Font-description"
 
 \end_inset
 
@@ -12378,6 +12316,46 @@ reference "des:FreeSpacing"
 \begin_inset Flex CharStyle:Code
 status collapsed
 
+\begin_layout Plain Layout
+InToc
+\end_layout
+
+\end_inset
+
+ [
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+
+\emph on
+0
+\end_layout
+
+\end_inset
+
+,
+\begin_inset Flex CharStyle:Code
+status collapsed
+
+\begin_layout Plain Layout
+1
+\end_layout
+
+\end_inset
+
+] Whether to include the contents of this inset in the strings generated
+ for the `Outline' pane.
+ One would not, for example, want the content of a footnote in a section
+ header to be included in the TOC displayed in the outline, but one would
+ normally want the content of a character style displayed.
+ Default is false: not to include.
+\end_layout
+
+\begin_layout Description
+\begin_inset Flex CharStyle:Code
+status collapsed
+
 \begin_layout Plain Layout
 KeepEmpty
 \end_layout
@@ -12412,7 +12390,7 @@ LabelFont
 
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "sec:fonts"
+reference "sub:Font-description"
 
 \end_inset
 
@@ -12755,15 +12733,16 @@ reference "des:Requires"
 
 \begin_layout Subsection
 Counters
-\end_layout
-
-\begin_layout Standard
 \begin_inset CommandInset label
 LatexCommand label
-name "sec:counter"
+name "sub:Counters"
 
 \end_inset
 
+
+\end_layout
+
+\begin_layout Standard
 Since version 1.3.0 of LyX, it is both possible and necessary to define the
  counters (
 \begin_inset Flex CharStyle:MenuItem
@@ -13180,15 +13159,16 @@ section
 
 \begin_layout Subsection
 Font description
-\end_layout
-
-\begin_layout Standard
 \begin_inset CommandInset label
 LatexCommand label
-name "sec:fonts"
+name "sub:Font-description"
 
 \end_inset
 
+
+\end_layout
+
+\begin_layout Standard
 A font description looks like this:
 \end_layout
 
@@ -13718,7 +13698,7 @@ The automatic conversion only handles syntax changes.
 Creating Templates
 \begin_inset CommandInset label
 LatexCommand label
-name "sec:templates"
+name "sec:Creating-Templates"
 
 \end_inset
 
@@ -14485,7 +14465,7 @@ InputFormat
  This must be the name of a format that is known to LyX (see section 
 \begin_inset CommandInset ref
 LatexCommand ref
-reference "sub:Formats"
+reference "sec:Formats"
 
 \end_inset
 
@@ -15577,169 +15557,5 @@ status collapsed
  files needs the relative name in order to rewrite the file content.
 \end_layout
 
-\begin_layout Section
-\begin_inset CommandInset label
-LatexCommand label
-name "sec:Security-discussion"
-
-\end_inset
-
-Security discussion
-\end_layout
-
-\begin_layout Standard
-\begin_inset Box Shadowbox
-position "t"
-hor_pos "c"
-has_inner_box 1
-inner_pos "t"
-use_parbox 0
-width "100col%"
-special "none"
-height "1in"
-height_special "totalheight"
-status open
-
-\begin_layout Plain Layout
-WARNING: This section is definitely outdated.
-\end_layout
-
-\end_inset
-
-
-\end_layout
-
-\begin_layout Standard
-The external material feature interfaces with a lot of external programs
- and does so automatically, so we have to consider the security implications
- of this.
- In particular, since you have the option of including your own filenames
- and/or parameter strings and those are expanded into a command, it seems
- that it would be possible to create a malicious document which executes
- arbitrary commands when a user views or prints the document.
- This is something we definitely want to avoid.
-\end_layout
-
-\begin_layout Standard
-However, since the external program commands are specified in the template
- configuration file only, there are no security issues if LyX is properly
- configured with safe templates only.
- This is so because the external programs are invoked with the 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-execvp
-\end_layout
-
-\end_inset
-
--system call rather than the 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-system
-\end_layout
-
-\end_inset
-
- system-call, so it's not possible to execute arbitrary commands from the
- filename or parameter section via the shell.
-\end_layout
-
-\begin_layout Standard
-This also implies that you are restricted in what command strings you can
- use in the external material templates.
- In particular, pipes and redirection are not readily available.
- This has to be so if LyX should remain safe.
- If you want to use some of the shell features, you should write a safe
- script to do this in a controlled manner, and then invoke the script from
- the command string.
- In the 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-lib/scripts
-\end_layout
-
-\end_inset
-
- directory of the LyX installation, you can find a safe wrapper script 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-general_command_wrapper.py
-\end_layout
-
-\end_inset
-
- that supports redirection of input and output.
- That can serve as an example for how to write safe template scripts.
- For a more advanced example that uses 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-fork
-\end_layout
-
-\end_inset
-
- and friends, take a look at the 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-pic2ascii.py
-\end_layout
-
-\end_inset
-
- converter script.
-\end_layout
-
-\begin_layout Standard
-It is possible to design a template that interacts directly with the shell,
- but since this would allow a malicious user to execute arbitrary commands
- by writing clever filenames and/or parameters, we generally recommend that
- you only use safe scripts that work with the 
-\begin_inset Flex CharStyle:Code
-status collapsed
-
-\begin_layout Plain Layout
-execvp
-\end_layout
-
-\end_inset
-
- system call in a controlled manner.
- Of course, for use in a controlled environment, it can be tempting to just
- fall back to use ordinary shell scripts.
- If you do so, be aware that you 
-\emph on
-will
-\emph default
- provide an easily exploitable security hole in your system.
- Of course it stands to reason that such unsafe templates will never be
- included in the standard LyX distribution, although we do encourage people
- to submit new templates in the open source tradition.
- But LyX as shipped from the official distribution channels will never have
- unsafe templates.
-\end_layout
-
-\begin_layout Standard
-Including external material provides a lot of power, and you have to be
- careful not to introduce security hazards with this power.
- A subtle error in a single line in an innocent looking script can open
- the door to huge security problems.
- So if you do not fully understand the issues, we recommend that you consult
- a knowledgeable security professional or the LyX development team if you
- have any questions about whether a given template is safe or not.
- And do this before you use it in an uncontrolled environment.
-\end_layout
-
 \end_body
 \end_document