fix 172; please test

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4766 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Jean-Marc Lasgouttes 2002-07-23 21:03:38 +00:00
parent 85b8c51922
commit 4d5046100f
10 changed files with 67 additions and 0 deletions

View File

@ -1,3 +1,7 @@
2002-07-23 Jean-Marc Lasgouttes <lasgouttes@freesurf.fr>
* UPGRADING: update to mention math lfuns changes
2002-07-20 Jean-Marc Lasgouttes <lasgouttes@freesurf.fr> 2002-07-20 Jean-Marc Lasgouttes <lasgouttes@freesurf.fr>
* configure.in: yet another try at the same thing * configure.in: yet another try at the same thing

View File

@ -15,6 +15,18 @@ If you have your own layout files, you may need to update them a little:
The new layout format keywords are described in the Customization The new layout format keywords are described in the Customization
manual. manual.
If you have your own binding files (especially math.bind), you will
have to update them
- math-insert now takes a latex macro name as argument, so that
"math-insert sqrt" should now be "\math-insert \sqrt"
- math-greek-toggle is now gone, and should be replaced by explicit
bindings like
\bind "M-m g a" "math-insert \alpha"
Build requirements Build requirements
------------------ ------------------

View File

@ -1,3 +1,8 @@
2002-07-23 Jean-Marc Lasgouttes <lasgouttes@freesurf.fr>
* paragraph_pimpl.C (simpleTeXSpecialChars): close fonts before
insets which have noFontChange == true. (bug #172)
2002-07-22 Lars Gullik Bjønnes <larsbj@birdstep.com> 2002-07-22 Lars Gullik Bjønnes <larsbj@birdstep.com>
* BufferView_pimpl.C: add connection objects and use them... * BufferView_pimpl.C: add connection objects and use them...

View File

@ -1,3 +1,12 @@
2002-07-23 Jean-Marc Lasgouttes <lasgouttes@freesurf.fr>
* insetminipage.h (noFontChange):
* insettabular.h (noFontChange):
* insetfootlike.h (noFontChange):
* insetfloat.h (noFontChange): return true
* inset.h (noFontChange): new method, defaulting to false
2002-07-22 Herbert Voss <voss@lyx.org> 2002-07-22 Herbert Voss <voss@lyx.org>
* insetgraphicsParams.[Ch]: support size_type for old docs * insetgraphicsParams.[Ch]: support size_type for old docs

View File

@ -319,6 +319,10 @@ public:
// if this inset has paragraphs should they be output all as default // if this inset has paragraphs should they be output all as default
// paragraphs with "Standard" layout? // paragraphs with "Standard" layout?
virtual bool forceDefaultParagraphs(Inset const *) const; virtual bool forceDefaultParagraphs(Inset const *) const;
/** returns true if, when outputing LaTeX, font changes should
be closed before generating this inset. This is needed for
insets that may contain several paragraphs */
virtual bool noFontChange() const { return false; }
// //
virtual void getDrawFont(LyXFont &) const {} virtual void getDrawFont(LyXFont &) const {}
/* needed for widths which are % of something /* needed for widths which are % of something

View File

@ -52,6 +52,10 @@ public:
string const editMessage() const; string const editMessage() const;
/// ///
bool insetAllowed(Inset::Code) const; bool insetAllowed(Inset::Code) const;
/** returns true if, when outputing LaTeX, font changes should
be closed before generating this inset. This is needed for
insets that may contain several paragraphs */
bool noFontChange() const { return true; }
/// ///
string const & type() const; string const & type() const;
/// ///

View File

@ -35,6 +35,10 @@ public:
void write(Buffer const * buf, std::ostream & os) const; void write(Buffer const * buf, std::ostream & os) const;
/// ///
bool insetAllowed(Inset::Code) const; bool insetAllowed(Inset::Code) const;
/** returns true if, when outputing LaTeX, font changes should
be closed before generating this inset. This is needed for
insets that may contain several paragraphs */
bool noFontChange() const { return true; }
}; };
#endif #endif

View File

@ -85,6 +85,10 @@ public:
int getMaxWidth(BufferView *, UpdatableInset const *) const; int getMaxWidth(BufferView *, UpdatableInset const *) const;
/// ///
bool needFullRow() const { return false; } bool needFullRow() const { return false; }
/** returns true if, when outputing LaTeX, font changes should
be closed before generating this inset. This is needed for
insets that may contain several paragraphs */
bool noFontChange() const { return true; }
/// ///
bool showInsetDialog(BufferView *) const; bool showInsetDialog(BufferView *) const;
/// ///

View File

@ -129,6 +129,10 @@ public:
bool insetAllowed(Inset::Code code) const; bool insetAllowed(Inset::Code code) const;
/// ///
bool isTextInset() const { return true; } bool isTextInset() const { return true; }
/** returns true if, when outputing LaTeX, font changes should
be closed before generating this inset. This is needed for
insets that may contain several paragraphs */
bool noFontChange() const { return true; }
/// ///
bool display() const { return tabular->IsLongTabular(); } bool display() const { return tabular->IsLongTabular(); }
/// ///

View File

@ -345,6 +345,23 @@ void Paragraph::Pimpl::simpleTeXSpecialChars(Buffer const * buf,
close = true; close = true;
} }
#ifdef WITH_WARNINGS
#warning Bug: we can have an empty font change here!
// if there has just been a font change, we are going to close it
// right now, which means stupid latex code like \textsf{}. AFAIK,
// this does not harm dvi output. A minor bug, thus (JMarc)
#endif
// some insets cannot be inside a font change command
if (open_font && inset->noFontChange()) {
column +=running_font.
latexWriteEndChanges(os,
basefont,
basefont);
open_font = false;
basefont = owner_->getLayoutFont(bparams);
running_font = basefont;
}
int tmp = inset->latex(buf, os, moving_arg, int tmp = inset->latex(buf, os, moving_arg,
style.free_spacing); style.free_spacing);