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>
* 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
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
------------------

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>
* 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>
* 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
// paragraphs with "Standard" layout?
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 {}
/* needed for widths which are % of something

View File

@ -52,6 +52,10 @@ public:
string const editMessage() 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;
///

View File

@ -35,6 +35,10 @@ public:
void write(Buffer const * buf, std::ostream & os) 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

View File

@ -85,6 +85,10 @@ public:
int getMaxWidth(BufferView *, UpdatableInset const *) const;
///
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;
///

View File

@ -129,6 +129,10 @@ public:
bool insetAllowed(Inset::Code code) const;
///
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(); }
///

View File

@ -345,6 +345,23 @@ void Paragraph::Pimpl::simpleTeXSpecialChars(Buffer const * buf,
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,
style.free_spacing);