358 custom makeindex command \index_command
363 horizontal longtable alignment InsetTabular
364 branch file name suffix \filename_suffix
-367 relative lengths for h and v space InsetSpace, InsetVSpace
-368 glue lengths InsetSpace
371 automatic mhchem loading \use_mhchem
375 \includeonly \{begin,end}_includeonly
376 update .aux of unincluded children \maintain_unincluded_children
\end_inset
-in the middle. Lines can have space
+in the middle. Lines can have an absolute space
\begin_inset space \hspace{}
\length 2cm
+\end_inset
+
+ in the middle. Lines can have a relative space
+\begin_inset space \hspace{}
+\length 12text%
+\end_inset
+
+ in the middle. Lines can have a glue-length space
+\begin_inset space \hspace{}
+\length 2cm+2mm-1mm
\end_inset
in the middle. Lines can have protected space
\begin_inset VSpace vfill*
\end_inset
- in the middle. Lines can have vertical space
+ in the middle. Lines can have a vertical absolute space
\begin_inset VSpace 2cm
+\end_inset
+
+ in the middle. Lines can have a vertical relative space
+\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
in the middle. Lines can have protected vertical space
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 downbrace fill \downbracefill in the middle.
-Lines can have space \hspace{2cm} in the middle.
+Lines can have an absolute space \hspace{2cm} 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.
We also handle defined spaces:
Lines can have a vfill \vfill 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 vertical space \vspace{2cm} in the middle.
+Lines can have a vertical absolute space \vspace{2cm} 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.
We also handle skips:
case Length::MU:
known_unit = true;
break;
- default:
+ default: {
+ //unitFromString(unit) fails for relative units like Length::PCW
+ // therefore handle them separately
+ if (unit == "\\paperwidth" || unit == "\\columnwidth"
+ || unit == "\\textwidth" || unit == "\\linewidth"
+ || unit == "\\textheight" || unit == "\\paperheight")
+ known_unit = true;
break;
+ }
}
}
}
- 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"
+ // to "9xx-8yy+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
context.check_layout(os);
begin_inset(os, "space ");
os << unit;
os << "}";
if (known_unit && !known_hspace)
- os << "\n\\length "
- << translate_len(length);
+ os << "\n\\length " << translate_len(length);
+ if (is_gluelength)
+ os << "\n\\length " << gluelength;
end_inset(os);
- } else if (known_unit || known_vspace) {
+ } else if (known_unit || known_vspace || is_gluelength) {
// Literal vertical length or known variable
context.check_layout(os);
begin_inset(os, "VSpace ");
- if (known_unit)
- os << value;
- os << unit;
+ if (known_vspace)
+ os << unit;
+ if (known_unit && !known_vspace)
+ os << translate_len(length);
+ if (is_gluelength)
+ os << gluelength;
if (starred)
os << '*';
end_inset(os);
- Support for the Libertine fonts.
-- Support for relative lengths in the paragraph separation setting.
+- Support for relative lengths in the paragraph separation setting.
+
+- Support for relative lengths in horizontal and vertical spaces.
+
+- Support for glue length in horizontal and vertical spaces.
* USER INTERFACE