recreation patch from Ben ; page break patch from John ; remove useless examples

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3110 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Jean-Marc Lasgouttes 2001-11-29 11:20:56 +00:00
parent 5a213ad424
commit 5d38385eb6
9 changed files with 93 additions and 643 deletions

View File

@ -1,3 +1,9 @@
2001-11-29 Ben Stanley <bds02@uow.edu.au>
* src/LaTeX.C
* src/LaTeX.h Fixed bug in LaTeX class where it would not
re-run latex if no depfiles were changed, but the .dvi was removed.
2001-11-28 John Levon <moz@compsoc.man.ac.uk>
* README: fix ghostscript comment

View File

@ -1,5 +1,9 @@
2001-11-29 Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr>
* examples/Math_macros.lyx:
* examples/fr_Macros_Math.lyx: removed, since this information
is in the UserGuide.
* reLyX/configure.in: do not use AC_PREFIX_PROGRAM, it is broken.
2001-11-27 Garst R. Reese <reese@isn.net>

View File

@ -1,269 +0,0 @@
#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 english
\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

View File

@ -1,312 +0,0 @@
#LyX 1.1 created this file. For more info see http://www.lyx.org/
\lyxformat 218
\textclass article
\language frenchb
\inputencoding latin1
\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 french
\quotes_times 2
\papercolumns 1
\papersides 1
\paperpagestyle default
\layout Title
Macros définies par l'utilisateur en mode mathématique
\begin_inset Info
Informations de révision :
Traduction : Mise à jour Date: 2001/03/19
Original : Révision: 1.3, Date: 2000/11/03
\end_inset
\layout Author
Alejandro Aguilar Sierra
\begin_float footnote
\layout Standard
Traduction par Adrien
\noun on
Rebollo
\noun default
\family typewriter
<Adrien.Rebollo@wanadoo.fr>
\family default
.
\end_float
\layout Section
Introduction
\layout Standard
LyX permet à l'utilisateur de définir des macros.
En mode math, une macro définie par l'utilisateur n'est pas un mot en rouge
que LyX ne sait pas comment dessiner (autrefois connu comme mode macro,
aujourd'hui simplement comme mode TeX).
Une boîte de définition de macro apparaît à l'écran comme un bouton grisé
avec le nom de la macro en bleu (couleur des math dans LyX).
Mais si vous cliquez dessus, elle apparaît comme une boîte mathématique
normale que vous pouvez éditer.
Vous n'avez qu'à essayer :
\begin_inset FormulaMacro
\newcommand{\macro}{a+b}
\end_inset
\layout Standard
Pour utiliser cette macro dans d'autres boîtes mathématiques vous n'avez
qu'à en taper le nom en mode TeX, dans ce cas
\family typewriter
\backslash
macro
\family default
, et elle sera automatiquement développée :
\begin_inset Formula \( c=\macro \)
\end_inset
.
Comme vous pouvez le vérifier, le curseur ne peut pas aller dans la macro,
qui se comporte toute entière comme un seul caractère, et le code TeX de
cette expression est
\family typewriter
c =
\backslash
macro
\family default
.
\layout Standard
Toutefois le curseur peut aller dans certaines sortes de macros, celles
qui ont des
\emph on
paramètres
\begin_float footnote
\layout Standard
NdT : Traduction choisie pour l'anglais
\begin_inset Quotes fld
\end_inset
argument
\begin_inset Quotes frd
\end_inset
.
On pourrait aussi dire argument.
\end_float
.
Dans une boîte de définition de macro un paramètre ressemble à un
\family typewriter
#
\family default
suivi du numéro du paramètre :
\begin_inset FormulaMacro
\newcommand{\macroparam}[1]{2+\sqrt{#1 }}
\end_inset
\layout Standard
Une fois développée, cette macro comprend l'habituel rectangle vide pour
indiquer que vous pouvez insérer ce que vous voulez :
\family typewriter
\backslash
macroparam =
\family default
\begin_inset Formula \( \macroparam{} \)
\end_inset
.
Exemple :
\begin_inset Formula \( b=\macroparam{x-2} \)
\end_inset
.
\layout Standard
Une fois exportée vers LaTeX, une définition de macro produit la commande
\family typewriter
\backslash
newcommand
\family default
.
\layout Subsection
Mode d'emploi des macros
\layout Subsubsection
Comment en créer
\layout Standard
Pour créer une boîte de définition de macro, entrez ceci dans le minibuffer
:
\layout Standard
\family typewriter
math-macro <nom de la macro> [nombre de paramètres]
\layout Standard
Par exemple,
\family typewriter
\backslash
macro
\family default
a été créée avec
\family typewriter
\begin_inset Quotes fld
\end_inset
math-macro macro
\begin_inset Quotes frd
\end_inset
\family default
, et
\family typewriter
\backslash
macroparam
\family default
avec
\family typewriter
\begin_inset Quotes fld
\end_inset
\backslash
math-macro macroparam 1
\begin_inset Quotes frd
\end_inset
\family default
.
\layout Standard
Pour insérer une marque de paramètre (seulement dans une boîte de définition
de macro), utilisez ceci :
\layout Standard
\family typewriter
math-macro-arg <numéro>
\layout Standard
La marque de paramètre dans
\family typewriter
\backslash
macroparam
\family default
a été introduite avec
\family typewriter
\begin_inset Quotes fld
\end_inset
math-macro-arg 1
\begin_inset Quotes frd
\end_inset
\family default
.
\layout Standard
Vous ne pouvez pas utiliser plus de 9 paramètres, numérotés de 1 à 9.
Un paramètre peut être utilisé plusieurs fois dans la boîte de définition
de la macro, mais ne peut bien sûr être entré qu'une fois.
Le numéro d'un paramètre ne peut pas être supérieur au nombre de paramètres
alloués à la macro.
\layout Subsubsection
Comment y naviguer
\layout Description
Avec\SpecialChar ~
les\SpecialChar ~
flèches\SpecialChar ~
du\SpecialChar ~
clavier: Entrer dans une macro par le côté gauche place
le curseur dans le premier paramètre, pour passer au deuxième utilisez
la touche
\family sans
Tab
\family default
.
Rappelez-vous qu'appuyer sur la barre
\family sans
Espace
\family default
fait sortir le curseur de la macro et le place à droite de celle-ci.
\layout Description
Avec\SpecialChar ~
la\SpecialChar ~
souris: Comme d'habitude, cliquez sur la boîte de paramètre désirée.
Parfois ça échoue si la boîte est vide ou trop petite.
\layout Standard
Pour l'instant l'utilisateur ne peut définir que des macros de commandes,
mais de manière interne il est aussi possible de définir des macros d'environne
ments.
\layout Standard
Il y a plusieurs macros prédéfinies, principalement pour permettre aux utilisate
urs d'AMS-LaTeX d'utiliser les macros AMS de façon WYSIWYM, comme
\family typewriter
\backslash
cases
\family default
et
\family typewriter
\backslash
binom
\begin_float footnote
\layout Standard
\emph on
Note pour LyX 1.0 :
\family typewriter
\backslash
cases
\family default
est pour le moment désactivée car après simplification et amélioration
des fonctions macros, les seuls paramètres valides sont les sous-paragraphes
(sans tabulation ni nouvelle ligne).
Peut-être qu'elle sera de nouveau incluse dans une version ultérieure.
AAS
\end_float
.
\the_end

View File

@ -1,21 +1,24 @@
src/buffer.C
src/bufferlist.C
src/BufferView2.C
src/bufferview_funcs.C
src/BufferView_pimpl.C
src/Chktex.C
src/ColorHandler.C
src/converter.C
src/CutAndPaste.C
src/FontLoader.C
src/LColor.C
src/LaTeX.C
src/LyXAction.C
src/LyXSendto.C
src/LyXView.C
src/MenuBackend.C
src/buffer.C
src/bufferlist.C
src/bufferview_funcs.C
src/converter.C
src/debug.C
src/exporter.C
src/ext_l10n.h
src/figure_form.C
src/figureForm.C
src/FontLoader.C
src/frontends/controllers/biblio.C
src/figure_form.C
src/frontends/controllers/ButtonController.h
src/frontends/controllers/character.C
src/frontends/controllers/ControlAboutlyx.C
src/frontends/controllers/ControlBibtex.C
src/frontends/controllers/ControlCharacter.C
@ -29,6 +32,8 @@ src/frontends/controllers/ControlSpellchecker.C
src/frontends/controllers/ControlTexinfo.C
src/frontends/controllers/ControlThesaurus.C
src/frontends/controllers/ControlVCLog.C
src/frontends/controllers/biblio.C
src/frontends/controllers/character.C
src/frontends/controllers/helper_funcs.C
src/frontends/gnome/FormCitation.C
src/frontends/gnome/FormIndex.C
@ -37,7 +42,6 @@ src/frontends/gnome/FormRef.C
src/frontends/gnome/FormToc.C
src/frontends/gnome/Menubar_pimpl.C
src/frontends/qt2/FileDialog.C
src/frontends/qt2/lengthcombo.C
src/frontends/qt2/QAbout.C
src/frontends/qt2/QBibitem.C
src/frontends/qt2/QBibtex.C
@ -46,8 +50,8 @@ src/frontends/qt2/QCharacter.C
src/frontends/qt2/QCitation.C
src/frontends/qt2/QCitationDialog.C
src/frontends/qt2/QDocument.C
src/frontends/qt2/QError.C
src/frontends/qt2/QERT.C
src/frontends/qt2/QError.C
src/frontends/qt2/QExternal.C
src/frontends/qt2/QExternalDialog.C
src/frontends/qt2/QGraphics.C
@ -69,87 +73,88 @@ src/frontends/qt2/QThesaurus.C
src/frontends/qt2/QToc.C
src/frontends/qt2/QURL.C
src/frontends/qt2/QVCLog.C
src/frontends/qt2/lengthcombo.C
src/frontends/xforms/Alert_pimpl.C
src/frontends/xforms/combox.C
src/frontends/xforms/FileDialog.C
src/frontends/xforms/form_aboutlyx.C
src/frontends/xforms/FormAboutlyx.C
src/frontends/xforms/form_bibitem.C
src/frontends/xforms/FormBibitem.C
src/frontends/xforms/form_bibtex.C
src/frontends/xforms/FormBibtex.C
src/frontends/xforms/form_browser.C
src/frontends/xforms/form_character.C
src/frontends/xforms/FormCharacter.C
src/frontends/xforms/form_citation.C
src/frontends/xforms/FormCitation.C
src/frontends/xforms/form_document.C
src/frontends/xforms/FormDocument.C
src/frontends/xforms/form_error.C
src/frontends/xforms/FormError.C
src/frontends/xforms/form_ert.C
src/frontends/xforms/FormERT.C
src/frontends/xforms/form_external.C
src/frontends/xforms/FormError.C
src/frontends/xforms/FormExternal.C
src/frontends/xforms/form_filedialog.C
src/frontends/xforms/FormFiledialog.C
src/frontends/xforms/form_float.C
src/frontends/xforms/FormFloat.C
src/frontends/xforms/form_graphics.C
src/frontends/xforms/FormGraphics.C
src/frontends/xforms/form_include.C
src/frontends/xforms/FormInclude.C
src/frontends/xforms/form_index.C
src/frontends/xforms/FormIndex.C
src/frontends/xforms/FormLog.C
src/frontends/xforms/FormMathsBitmap.C
src/frontends/xforms/form_maths_deco.C
src/frontends/xforms/FormMathsDeco.C
src/frontends/xforms/form_maths_delim.C
src/frontends/xforms/FormMathsDelim.C
src/frontends/xforms/form_maths_matrix.C
src/frontends/xforms/FormMathsMatrix.C
src/frontends/xforms/form_maths_panel.C
src/frontends/xforms/FormMathsPanel.C
src/frontends/xforms/form_maths_space.C
src/frontends/xforms/FormMathsSpace.C
src/frontends/xforms/form_minipage.C
src/frontends/xforms/FormMinipage.C
src/frontends/xforms/form_paragraph.C
src/frontends/xforms/FormParagraph.C
src/frontends/xforms/form_preamble.C
src/frontends/xforms/FormPreamble.C
src/frontends/xforms/form_preferences.C
src/frontends/xforms/FormPreferences.C
src/frontends/xforms/form_print.C
src/frontends/xforms/FormPrint.C
src/frontends/xforms/form_ref.C
src/frontends/xforms/FormRef.C
src/frontends/xforms/form_search.C
src/frontends/xforms/FormSearch.C
src/frontends/xforms/form_spellchecker.C
src/frontends/xforms/FormSpellchecker.C
src/frontends/xforms/form_tabular.C
src/frontends/xforms/FormTabular.C
src/frontends/xforms/form_tabular_create.C
src/frontends/xforms/FormTabularCreate.C
src/frontends/xforms/form_texinfo.C
src/frontends/xforms/FormTexinfo.C
src/frontends/xforms/form_thesaurus.C
src/frontends/xforms/FormThesaurus.C
src/frontends/xforms/form_toc.C
src/frontends/xforms/FormToc.C
src/frontends/xforms/form_url.C
src/frontends/xforms/FormUrl.C
src/frontends/xforms/FormVCLog.C
src/frontends/xforms/input_validators.C
src/frontends/xforms/Menubar_pimpl.C
src/frontends/xforms/combox.C
src/frontends/xforms/form_aboutlyx.C
src/frontends/xforms/form_bibitem.C
src/frontends/xforms/form_bibtex.C
src/frontends/xforms/form_browser.C
src/frontends/xforms/form_character.C
src/frontends/xforms/form_citation.C
src/frontends/xforms/form_document.C
src/frontends/xforms/form_error.C
src/frontends/xforms/form_ert.C
src/frontends/xforms/form_external.C
src/frontends/xforms/form_filedialog.C
src/frontends/xforms/form_float.C
src/frontends/xforms/form_graphics.C
src/frontends/xforms/form_include.C
src/frontends/xforms/form_index.C
src/frontends/xforms/form_maths_deco.C
src/frontends/xforms/form_maths_delim.C
src/frontends/xforms/form_maths_matrix.C
src/frontends/xforms/form_maths_panel.C
src/frontends/xforms/form_maths_space.C
src/frontends/xforms/form_minipage.C
src/frontends/xforms/form_paragraph.C
src/frontends/xforms/form_preamble.C
src/frontends/xforms/form_preferences.C
src/frontends/xforms/form_print.C
src/frontends/xforms/form_ref.C
src/frontends/xforms/form_search.C
src/frontends/xforms/form_spellchecker.C
src/frontends/xforms/form_tabular.C
src/frontends/xforms/form_tabular_create.C
src/frontends/xforms/form_texinfo.C
src/frontends/xforms/form_thesaurus.C
src/frontends/xforms/form_toc.C
src/frontends/xforms/form_url.C
src/frontends/xforms/input_validators.C
src/frontends/xforms/xforms_helpers.C
src/gettext.h
src/importer.C
src/insets/figinset.C
src/insets/insetbib.C
src/insets/inset.C
src/insets/insetbib.C
src/insets/insetcaption.C
src/insets/inseterror.C
src/insets/insetert.C
@ -174,24 +179,18 @@ src/insets/insettoc.C
src/insets/inseturl.C
src/kbsequence.C
src/language.C
src/LaTeX.C
src/layout.C
src/LColor.C
src/LyXAction.C
src/lyx_cb.C
src/lyx_main.C
src/lyxfind.C
src/lyxfont.C
src/lyxfunc.C
src/lyx_main.C
src/lyxrc.C
src/LyXSendto.C
src/lyxvc.C
src/LyXView.C
src/mathed/formulabase.C
src/mathed/formula.C
src/mathed/formulabase.C
src/mathed/formulamacro.C
src/mathed/math_cursor.C
src/MenuBackend.C
src/minibuffer.C
src/paragraph.C
src/print_form.C
@ -200,6 +199,6 @@ src/support/getUserName.C
src/support/path.C
src/support/path.h
src/tabular.C
src/text2.C
src/text.C
src/text2.C
src/ext_l10n.h

View File

@ -76,8 +76,12 @@ LaTeX::LaTeX(string const & latex, string const & f, string const & p)
{
num_errors = 0;
depfile = file + ".dep";
if (prefixIs(cmd, "pdf")) // Do we use pdflatex ?
if (prefixIs(cmd, "pdf")) { // Do we use pdflatex ?
depfile += "-pdf";
output_file = ChangeExtension(file,".pdf");
} else {
output_file = ChangeExtension(file,".dvi");
}
}
@ -154,12 +158,19 @@ int LaTeX::run(TeXErrors & terr, LyXFunc * lfun)
head.read(depfile);
// Update the checksums
head.update();
if (!head.sumchange()) {
// Can't just check if anything has changed because it might have aborted
// on error last time... in which cas we need to re-run latex
// and collect the error messages (even if they are the same).
if (!FileInfo(output_file).exist()) {
lyxerr[Debug::DEPEND]
<< "re-running LaTeX because output file doesn't exist." << endl;
} else if (!head.sumchange()) {
lyxerr[Debug::DEPEND] << "return no_change" << endl;
return NO_CHANGE;
} else {
lyxerr[Debug::DEPEND]
<< "Dependency file has changed" << endl;
}
lyxerr[Debug::DEPEND]
<< "Dependency file has changed" << endl;
if (head.extchanged(".bib") || head.extchanged(".bst"))
run_bibtex = true;

View File

@ -203,6 +203,9 @@ protected:
/// used by scanLogFile
int num_errors;
/// The name of the final output file.
string output_file;
};
#endif

View File

@ -1,3 +1,7 @@
2001-11-29 John Levon <moz@compsoc.man.ac.uk>
* FormParagraph.C: disallow page breaks in insets
2001-11-23 John Levon <moz@compsoc.man.ac.uk>
* FormParagraph.C: allow signed space above/below, actually

View File

@ -348,6 +348,10 @@ void FormParagraph::update()
setEnabled(dialog_->radio_align_left, bool(alignpos & LYX_ALIGN_LEFT));
setEnabled(dialog_->radio_align_right, bool(alignpos & LYX_ALIGN_RIGHT));
// no inset-text-owned paragraph may have pagebreaks
setEnabled(dialog_->check_pagebreaks_top, !par_->inInset());
setEnabled(dialog_->check_pagebreaks_bottom, !par_->inInset());
fl_set_button(dialog_->check_lines_top,
par_->params().lineTop());
fl_set_button(dialog_->check_lines_bottom,