mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-09 18:31:04 +00:00
If language needs to be reset at the end of footnotes or floats
then do reset it only after footnotes or floats. \selectlanguage at the end of environments might produce spurious vertical space (see https://marc.info/?l=lyx-devel&m=168872369617866)
This commit is contained in:
parent
386a2ddca1
commit
243b0ef90c
@ -291,6 +291,10 @@ public:
|
|||||||
*/
|
*/
|
||||||
bool inInclude = false;
|
bool inInclude = false;
|
||||||
|
|
||||||
|
/** Whether we are inside a footnote.
|
||||||
|
*/
|
||||||
|
bool inFootnote = false;
|
||||||
|
|
||||||
/** Whether a btUnit (for multiple biblographies) is open.
|
/** Whether a btUnit (for multiple biblographies) is open.
|
||||||
*/
|
*/
|
||||||
mutable bool openbtUnit = false;
|
mutable bool openbtUnit = false;
|
||||||
|
@ -111,6 +111,14 @@ docstring InsetFoot::toolTip(BufferView const & bv, int x, int y) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void InsetFoot::latex(otexstream & os, OutputParams const & runparams_in) const
|
||||||
|
{
|
||||||
|
OutputParams runparams(runparams_in);
|
||||||
|
runparams.inFootnote = true;
|
||||||
|
InsetText::latex(os, runparams);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int InsetFoot::plaintext(odocstringstream & os,
|
int InsetFoot::plaintext(odocstringstream & os,
|
||||||
OutputParams const & runparams, size_t max_length) const
|
OutputParams const & runparams, size_t max_length) const
|
||||||
{
|
{
|
||||||
|
@ -32,6 +32,8 @@ private:
|
|||||||
///
|
///
|
||||||
docstring layoutName() const override;
|
docstring layoutName() const override;
|
||||||
///
|
///
|
||||||
|
void latex(otexstream &, OutputParams const &) const override;
|
||||||
|
///
|
||||||
int plaintext(odocstringstream & ods, OutputParams const & op,
|
int plaintext(odocstringstream & ods, OutputParams const & op,
|
||||||
size_t max_length = INT_MAX) const override;
|
size_t max_length = INT_MAX) const override;
|
||||||
///
|
///
|
||||||
|
@ -1298,13 +1298,15 @@ void TeXOnePar(Buffer const & buf,
|
|||||||
if (localswitch_needed
|
if (localswitch_needed
|
||||||
|| (intitle_command && using_begin_end)
|
|| (intitle_command && using_begin_end)
|
||||||
|| closing_rtl_ltr_environment
|
|| closing_rtl_ltr_environment
|
||||||
|| (((runparams.isLastPar && !runparams.inbranch) || close_lang_switch)
|
|
||||||
&& (par_lang != outer_lang || (using_begin_end
|
|
||||||
&& style.isEnvironment()
|
|
||||||
&& par_lang != nextpar_lang)))) {
|
|
||||||
// Since \selectlanguage write the language to the aux file,
|
// Since \selectlanguage write the language to the aux file,
|
||||||
// we need to reset the language at the end of footnote or
|
// we need to reset the language at the end of footnote or
|
||||||
// float.
|
// float.
|
||||||
|
|| (((runparams.isLastPar
|
||||||
|
&& (using_begin_end || runparams.inFloat != OutputParams::NONFLOAT || runparams.inFootnote))
|
||||||
|
|| close_lang_switch)
|
||||||
|
&& (par_lang != outer_lang || (using_begin_end
|
||||||
|
&& style.isEnvironment()
|
||||||
|
&& par_lang != nextpar_lang)))) {
|
||||||
|
|
||||||
if (!localswitch && (pending_newline || close_lang_switch))
|
if (!localswitch && (pending_newline || close_lang_switch))
|
||||||
os << '\n';
|
os << '\n';
|
||||||
|
Loading…
Reference in New Issue
Block a user