branch: tex2lyx: support for fileformat 257 (caption format)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@30126 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Uwe Stöhr 2009-06-15 20:21:45 +00:00
parent 26f483affa
commit d904fb9cb1
2 changed files with 26 additions and 25 deletions

View File

@ -3,8 +3,8 @@
* This file is part of LyX, the document processor. * This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING. * Licence details can be found in the file COPYING.
* *
* \author André Pönitz * \author André Pönitz
* \author Uwe Stöhr * \author Uwe Stöhr
* *
* Full author contact details are available in file CREDITS. * Full author contact details are available in file CREDITS.
*/ */
@ -448,7 +448,7 @@ void handle_package(Parser &p, string const & name, string const & opts,
void end_preamble(ostream & os, TextClass const & /*textclass*/) void end_preamble(ostream & os, TextClass const & /*textclass*/)
{ {
os << "#LyX file created by tex2lyx " << PACKAGE_VERSION << "\n" os << "#LyX file created by tex2lyx " << PACKAGE_VERSION << "\n"
<< "\\lyxformat 256\n" << "\\lyxformat 257\n"
<< "\\begin_document\n" << "\\begin_document\n"
<< "\\begin_header\n" << "\\begin_header\n"
<< "\\textclass " << h_textclass << "\n"; << "\\textclass " << h_textclass << "\n";

View File

@ -3,9 +3,9 @@
* This file is part of LyX, the document processor. * This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING. * Licence details can be found in the file COPYING.
* *
* \author André Pönitz * \author André Pönitz
* \author Jean-Marc Lasgouttes * \author Jean-Marc Lasgouttes
* \author Uwe Stöhr * \author Uwe Stöhr
* *
* Full author contact details are available in file CREDITS. * Full author contact details are available in file CREDITS.
*/ */
@ -431,20 +431,6 @@ Layout const * findLayout(TextClass const & textclass, string const & name)
void eat_whitespace(Parser &, ostream &, Context &, bool); void eat_whitespace(Parser &, ostream &, Context &, bool);
Layout * captionlayout()
{
static Layout * lay = 0;
if (!lay) {
lay = new Layout;
lay->name_ = from_ascii("Caption");
lay->latexname_ = "caption";
lay->latextype = LATEX_COMMAND;
lay->optionalargs = 1;
}
return lay;
}
void output_command_layout(ostream & os, Parser & p, bool outer, void output_command_layout(ostream & os, Parser & p, bool outer,
Context & parent_context, Context & parent_context,
Layout const * newlayout) Layout const * newlayout)
@ -1578,13 +1564,28 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
p.skip_spaces(); p.skip_spaces();
} }
// Special handling for \caption else if (t.cs() == "caption") {
// FIXME: remove this when InsetCaption is supported.
else if (context.new_layout_allowed &&
t.cs() == captionlayout()->latexname()) {
output_command_layout(os, p, outer, context,
captionlayout());
p.skip_spaces(); p.skip_spaces();
context.check_layout(os);
p.skip_spaces();
begin_inset(os, "Caption\n\n");
os << "\\begin_layout Standard";
if (p.next_token().character() == '[') {
p.get_token(); // eat '['
begin_inset(os, "OptArg\n");
os << "status collapsed\n";
parse_text_in_inset(p, os, FLAG_BRACK_LAST, outer, context);
end_inset(os);
eat_whitespace(p, os, context, false);
}
parse_text(p, os, FLAG_ITEM, outer, context);
context.check_end_layout(os);
// We don't need really a new paragraph, but
// we must make sure that the next item gets a \begin_layout.
context.new_paragraph(os);
end_inset(os);
p.skip_spaces();
os << "\\end_layout\n";
} }
else if (t.cs() == "includegraphics") { else if (t.cs() == "includegraphics") {