lyx_mirror/lib/examples/Math_macros.lyx
Lars Gullik Bjønnes 75c5c8c9e5 the fstream/iostream changes and some small other things
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@354 a592a061-630c-0410-9148-cb99ea01b6c8
1999-12-07 00:44:53 +00:00

270 lines
5.0 KiB
Plaintext

#This file was created by <larsbj> Sun Dec 5 17:47:02 1999
#LyX 1.0 (C) 1995-1999 Matthias Ettrich and the LyX Team
\lyxformat 2.15
\textclass article
\language default
\inputencoding default
\fontscheme default
\graphics default
\paperfontsize 12
\spacing single
\papersize Default
\paperpackage a4
\use_geometry 0
\use_amsmath 0
\paperorientation portrait
\secnumdepth 3
\tocdepth 3
\paragraph_separation indent
\defskip medskip
\quotes_language english
\quotes_times 2
\papercolumns 1
\papersides 1
\paperpagestyle default
\layout Title
User defined macros in math mode
\layout Author
Alejandro Aguilar Sierra
\layout Date
25-October-1997
\layout Section
Introduction
\layout Standard
LyX version 0.12 allows the user to define macros.
An user defined macro in math mode is not a red colored name that LyX didn't
know how to draw (formerly known as macro mode, now simply TeX mode).
A macro definition box appears on screen as a grayed button with the name
of the macro in blue (math color).
But if you click on it, it will appear as a normal math box to allow you
edit it.
Just try it:
\begin_inset FormulaMacro
\newcommand{\macro}{a+b}
\end_inset
\layout Standard
Now, to use this macro in other math boxes just type the name in TeX mode,
in this case
\family typewriter
\backslash
macro
\family default
, and it will be automatically expanded:
\begin_inset Formula \( c=\macro \)
\end_inset
.
As you can verify, the cursor can't go inside the macro, the whole macro
is like a single character, and the TeX generated code of this expression
is
\family typewriter
c =
\backslash
macro.
\layout Standard
However the cursor could go inside of some kind of macros, those that have
\emph on
arguments
\emph default
.
In a macro definition box an argument looks like a
\family typewriter
#
\family default
followed by the argument number:
\begin_inset FormulaMacro
\newcommand{\macrowarg}[1]{2+\sqrt{#1 }}
\end_inset
\layout Standard
Once expanded, this macro includes the usual empty rectangle to indicate
that you can insert there whatever you want:
\family typewriter
\backslash
macrowarg =
\begin_inset Formula \( \macrowarg{} \)
\end_inset
\family default
.
Example:
\begin_inset Formula \( b=\macrowarg{x-2} \)
\end_inset
.
\layout Standard
When exported to LaTeX, a macro definition will produce the command
\family typewriter
\backslash
newcommand.
\layout Section
Directions on using macros
\layout Subsection
How to create them
\layout Standard
To create a macro definition box use this syntax in the minibuffer:
\layout Standard
\family typewriter
math-macro <macro name> [number of arguments]
\layout Standard
Par example
\family typewriter
\backslash
macro
\family default
was created with
\begin_inset Quotes eld
\end_inset
\family typewriter
math-macro macro
\family default
\begin_inset Quotes erd
\end_inset
, and
\family typewriter
\backslash
macrowarg
\family default
was created with
\begin_inset Quotes eld
\end_inset
\family typewriter
math-macro macrowarg 1
\family default
\begin_inset Quotes erd
\end_inset
.
\layout Standard
To insert an argument mark (only inside a macro definition box) use this:
\layout Standard
\family typewriter
math-macro-arg <number>
\layout Standard
The argument mark in
\family typewriter
\backslash
macrowarg
\family default
was introduced with
\begin_inset Quotes eld
\end_inset
\family typewriter
math-macro-arg 1
\family default
\begin_inset Quotes erd
\end_inset
.
\layout Standard
You can use no more than 9 arguments, numbered from 1 to 9.
An argument can be repeated inside the macro definition box, but of course
can be edited only once.
A number can't be greater than the number of arguments originally allowed
for the macro.
\layout Subsection
How to navigate
\layout Description
With
\protected_separator
the
\protected_separator
arrow
\protected_separator
keys: Opening a macro form the left side will put the cursor in the first
argument, to move to the second argument use the TAB key.
Remember that pressing the Space bar will get the cursor out and at the
right side of the macro.
\layout Description
With
\protected_separator
the
\protected_separator
mouse: As usual, click on the desired argument box.
Sometimes this fails if the box is empty or too small.
\layout Standard
Currently the user can only define command macros, but internally it's possible
to define also environment macros.
\layout Standard
There are several predefined macros, mainly to allow AMS-LaTeX users to
use AMS macros in a WYSIWYM way, like
\family typewriter
\backslash
cases
\family default
and
\family typewriter
\backslash
binom
\family default
.
[
\emph on
Pre 0.12 Note:
\family typewriter
\backslash
cases
\family default
are currently disabled because after some simplification and improving
of the macro stuff, the only valid arguments are subparagraphs (neither
tabs nor newlines).
Perhaps they will be again included before 0.12
\emph default
.
AAS]
\the_end