mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-22 21:21:32 +00:00
tex2lyx: support for glue lengths in InsetSpace
This commit is contained in:
parent
af1ca8405f
commit
1427b6fe31
@ -36,7 +36,6 @@ Format LaTeX feature LyX feature
|
|||||||
358 custom makeindex command \index_command
|
358 custom makeindex command \index_command
|
||||||
363 horizontal longtable alignment InsetTabular
|
363 horizontal longtable alignment InsetTabular
|
||||||
364 branch file name suffix \filename_suffix
|
364 branch file name suffix \filename_suffix
|
||||||
368 glue lengths InsetSpace
|
|
||||||
371 automatic mhchem loading \use_mhchem
|
371 automatic mhchem loading \use_mhchem
|
||||||
375 \includeonly \{begin,end}_includeonly
|
375 \includeonly \{begin,end}_includeonly
|
||||||
376 update .aux of unincluded children \maintain_unincluded_children
|
376 update .aux of unincluded children \maintain_unincluded_children
|
||||||
|
@ -1694,14 +1694,19 @@ in the middle. Lines can have a downbrace fill
|
|||||||
|
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
in the middle. Lines can have absolute space
|
in the middle. Lines can have an absolute space
|
||||||
\begin_inset space \hspace{}
|
\begin_inset space \hspace{}
|
||||||
\length 2cm
|
\length 2cm
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
in the middle. Lines can have relative space
|
in the middle. Lines can have a relative space
|
||||||
\begin_inset space \hspace{}
|
\begin_inset space \hspace{}
|
||||||
\length 12text%
|
\length 12text%
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
in the middle. Lines can have a glue-length space
|
||||||
|
\begin_inset space \hspace{}
|
||||||
|
\length 2cm+2mm-1mm
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
in the middle. Lines can have protected space
|
in the middle. Lines can have protected space
|
||||||
@ -2011,12 +2016,16 @@ in the middle. Lines can have a vfill
|
|||||||
\begin_inset VSpace vfill*
|
\begin_inset VSpace vfill*
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
in the middle. Lines can have vertical absolute space
|
in the middle. Lines can have a vertical absolute space
|
||||||
\begin_inset VSpace 2cm
|
\begin_inset VSpace 2cm
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
in the middle. Lines can have vertical relative space
|
in the middle. Lines can have a vertical relative space
|
||||||
\begin_inset VSpace 9col%
|
\begin_inset VSpace 9col%
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
in the middle. Lines can have a vertical glue-length space
|
||||||
|
\begin_inset VSpace 2cm-2bp+1cc
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
in the middle. Lines can have protected vertical space
|
in the middle. Lines can have protected vertical space
|
||||||
|
@ -357,8 +357,9 @@ Lines can have a left arrow fill \leftarrowfill in the middle.
|
|||||||
Lines can have a right arrow fill \rightarrowfill in the middle.
|
Lines can have a right arrow fill \rightarrowfill in the middle.
|
||||||
Lines can have a upbrace fill \upbracefill in the middle.
|
Lines can have a upbrace fill \upbracefill in the middle.
|
||||||
Lines can have a downbrace fill \downbracefill in the middle.
|
Lines can have a downbrace fill \downbracefill in the middle.
|
||||||
Lines can have absolute space \hspace{2cm} in the middle.
|
Lines can have an absolute space \hspace{2cm} in the middle.
|
||||||
Lines can have relative space \hspace{0.12\textwidth} in the middle.
|
Lines can have a relative space \hspace{0.12\textwidth} in the middle.
|
||||||
|
Lines can have a glue-length space \hspace{2cm plus 2mm minus 1mm} in the middle.
|
||||||
Lines can have protected space \hspace*{2cm} in the middle.
|
Lines can have protected space \hspace*{2cm} in the middle.
|
||||||
|
|
||||||
We also handle defined spaces:
|
We also handle defined spaces:
|
||||||
@ -422,8 +423,9 @@ interword: $a\ b$
|
|||||||
Lines can have a vfill \vfill in the middle.
|
Lines can have a vfill \vfill in the middle.
|
||||||
Lines can have a vfill \vspace{\fill} in the middle.
|
Lines can have a vfill \vspace{\fill} in the middle.
|
||||||
Lines can have a protected vfill \vspace*{\fill} in the middle.
|
Lines can have a protected vfill \vspace*{\fill} in the middle.
|
||||||
Lines can have vertical absolute space \vspace{2cm} in the middle.
|
Lines can have a vertical absolute space \vspace{2cm} in the middle.
|
||||||
Lines can have vertical relative space \vspace{0.09\columnwidth} in the middle.
|
Lines can have a vertical relative space \vspace{0.09\columnwidth} in the middle.
|
||||||
|
Lines can have a vertical glue-length space \vspace{2cm minus 2bp plus 1cc} in the middle.
|
||||||
Lines can have protected vertical space \vspace*{2cm} in the middle.
|
Lines can have protected vertical space \vspace*{2cm} in the middle.
|
||||||
|
|
||||||
We also handle skips:
|
We also handle skips:
|
||||||
|
@ -4408,7 +4408,27 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (t.cs()[0] == 'h' && (known_unit || known_hspace)) {
|
// check for glue lengths
|
||||||
|
bool is_gluelength = false;
|
||||||
|
string gluelength = length;
|
||||||
|
string::size_type i = length.find(" minus");
|
||||||
|
if (i == string::npos) {
|
||||||
|
i = length.find(" plus");
|
||||||
|
if (i != string::npos)
|
||||||
|
is_gluelength = true;
|
||||||
|
} else
|
||||||
|
is_gluelength = true;
|
||||||
|
// if yes transform "9xx minus 8yy plus 7zz"
|
||||||
|
if (is_gluelength) {
|
||||||
|
i = gluelength.find(" minus");
|
||||||
|
if (i != string::npos)
|
||||||
|
gluelength.replace(i, 7, "-");
|
||||||
|
i = gluelength.find(" plus");
|
||||||
|
if (i != string::npos)
|
||||||
|
gluelength.replace(i, 6, "+");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (t.cs()[0] == 'h' && (known_unit || known_hspace || is_gluelength)) {
|
||||||
// Literal horizontal length or known variable
|
// Literal horizontal length or known variable
|
||||||
context.check_layout(os);
|
context.check_layout(os);
|
||||||
begin_inset(os, "space ");
|
begin_inset(os, "space ");
|
||||||
@ -4420,10 +4440,11 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
|
|||||||
os << unit;
|
os << unit;
|
||||||
os << "}";
|
os << "}";
|
||||||
if (known_unit && !known_hspace)
|
if (known_unit && !known_hspace)
|
||||||
os << "\n\\length "
|
os << "\n\\length " << translate_len(length);
|
||||||
<< translate_len(length);
|
if (is_gluelength)
|
||||||
|
os << "\n\\length " << gluelength;
|
||||||
end_inset(os);
|
end_inset(os);
|
||||||
} else if (known_unit || known_vspace) {
|
} else if (known_unit || known_vspace || is_gluelength) {
|
||||||
// Literal vertical length or known variable
|
// Literal vertical length or known variable
|
||||||
context.check_layout(os);
|
context.check_layout(os);
|
||||||
begin_inset(os, "VSpace ");
|
begin_inset(os, "VSpace ");
|
||||||
@ -4431,6 +4452,8 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
|
|||||||
os << unit;
|
os << unit;
|
||||||
if (known_unit && !known_vspace)
|
if (known_unit && !known_vspace)
|
||||||
os << translate_len(length);
|
os << translate_len(length);
|
||||||
|
if (is_gluelength)
|
||||||
|
os << gluelength;
|
||||||
if (starred)
|
if (starred)
|
||||||
os << '*';
|
os << '*';
|
||||||
end_inset(os);
|
end_inset(os);
|
||||||
|
Loading…
Reference in New Issue
Block a user