From: Uwe Stöhr Date: Wed, 26 Oct 2011 03:23:31 +0000 (+0000) Subject: tex2lyx: support for sideway floats including their starred (wide) counterparts X-Git-Tag: 2.1.0beta1~2481 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=df95c6273d020e948e50f91d3269e84241f79b02;p=features.git tex2lyx: support for sideway floats including their starred (wide) counterparts git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40003 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/src/tex2lyx/TODO.txt b/src/tex2lyx/TODO.txt index 1204caa4c2..39d78665d0 100644 --- a/src/tex2lyx/TODO.txt +++ b/src/tex2lyx/TODO.txt @@ -17,7 +17,6 @@ Format LaTeX feature LyX feature 226 nothing (impossible to import) InsetBranch, \branch...\end_branch 226 transformations InsetExternal 228 draft InsetExternal -231 sidewaysfigure/sidewaystable InsetFloat 232 bibtopic InsetBibTeX 248 booktabs.sty InsetTabular 254 esint.sty \use_esint @@ -35,8 +34,6 @@ Format LaTeX feature LyX feature 299 hyperlink types InsetHyperlink 309 \nocite InsetCitation 310 \nocite{*} InsetBibtex -312 rotfloat.sty InsetFloat -312 wide sideways{figure,table} InsetFloat 316 subfig.sty (subfloats) InsetFloat 317 floating placements InsetWrap 322 ? local layout diff --git a/src/tex2lyx/preamble.cpp b/src/tex2lyx/preamble.cpp index 6eb0b273ce..964d062ada 100644 --- a/src/tex2lyx/preamble.cpp +++ b/src/tex2lyx/preamble.cpp @@ -646,6 +646,9 @@ void handle_package(Parser &p, string const & name, string const & opts, ; // Ignore this, the geometry settings are made by the \geometry // command. This command is handled below. + else if (name == "rotfloat") + ; // ignore this + else if (is_known(name, known_languages)) h_language = name; diff --git a/src/tex2lyx/test/test-structure.tex b/src/tex2lyx/test/test-structure.tex index b79e7ab53f..d71b5c3cd2 100644 --- a/src/tex2lyx/test/test-structure.tex +++ b/src/tex2lyx/test/test-structure.tex @@ -74,6 +74,20 @@ An environment \caption[s\noun{ho}rt]{this \emph{is} a caption} \end{figure} +\begin{sidewaystable*} +\caption{rotated table, spanning all columns} + +\centering{}% +\begin{tabular}{|c|c|} +\hline +a & b\tabularnewline +\hline +\hline +d & c\tabularnewline +\hline +\end{tabular} +\end{sidewaystable*} + A paragraph\footnote{hello} with a footnote and another one\footnote{hello diff --git a/src/tex2lyx/text.cpp b/src/tex2lyx/text.cpp index 9870b57c07..aed44d71d4 100644 --- a/src/tex2lyx/text.cpp +++ b/src/tex2lyx/text.cpp @@ -1075,6 +1075,36 @@ void parse_environment(Parser & p, ostream & os, bool outer, p.skip_spaces(); } + else if (unstarred_name == "sidewaystable") { + eat_whitespace(p, os, parent_context, false); + parent_context.check_layout(os); + begin_inset(os, "Float table\n"); + os << "wide " << convert(is_starred) + << "\nsideways true" + << "\nstatus open\n\n"; + parse_text_in_inset(p, os, FLAG_END, outer, parent_context); + end_inset(os); + // We don't need really a new paragraph, but + // we must make sure that the next item gets a \begin_layout. + parent_context.new_paragraph(os); + p.skip_spaces(); + } + + else if (unstarred_name == "sidewaysfigure") { + eat_whitespace(p, os, parent_context, false); + parent_context.check_layout(os); + begin_inset(os, "Float figure\n"); + os << "wide " << convert(is_starred) + << "\nsideways true" + << "\nstatus open\n\n"; + parse_text_in_inset(p, os, FLAG_END, outer, parent_context); + end_inset(os); + // We don't need really a new paragraph, but + // we must make sure that the next item gets a \begin_layout. + parent_context.new_paragraph(os); + p.skip_spaces(); + } + else if (name == "minipage") { eat_whitespace(p, os, parent_context, false); parse_box(p, os, 0, FLAG_END, outer, parent_context, "", "", name);