backporting tex2lyx: the \printnomenclature support

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X@39997 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Uwe Stöhr 2011-10-26 01:47:47 +00:00
parent 4f878f6892
commit fa641135d2
2 changed files with 19 additions and 2 deletions

View File

@ -57,8 +57,6 @@ Format LaTeX feature LyX feature
356 \uuline, \uwave fonts
358 custom bibtex command \bibtex_command
358 custom makeindex command \index_command
359 set_width InsetCommand nomencl_print
360 width InsetCommand nomencl_print
362 applemac encoding \encoding
363 horizontal longtable alignment InsetTabular
364 branch file name suffix \filename_suffix

View File

@ -2687,8 +2687,27 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
}
else if (t.cs() == "printnomenclature") {
string width = "";
string width_type = "";
context.check_layout(os);
begin_command_inset(os, "nomencl_print", "printnomenclature");
// case of a custom width
if (p.hasOpt()) {
width = p.getArg('[', ']');
width = translate_len(width);
width_type = "custom";
}
// case of no custom width
// the case of no custom width but the width set
// via \settowidth{\nomlabelwidth}{***} cannot be supported
// because the user could have set anything, not only the width
// of the longest label (which would be width_type = "auto")
string label = convert_command_inset_arg(p.getArg('{', '}'));
if (label.empty() && width_type.empty())
width_type = "none";
os << "set_width \"" << width_type << "\"\n";
if (width_type == "custom")
os << "width \"" << width << '\"';
end_inset(os);
skip_spaces_braces(p);
}