From 8f2791ed2066e474fca9ea767582ef6fa0e76466 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Uwe=20St=C3=B6hr?= Date: Tue, 25 Oct 2011 00:11:02 +0000 Subject: [PATCH] tex2lyx: support width setting of \printnomenclature (the tex2lyx support in branch for \printnomenclature is currently broken so this must be backported to branch for 2.0.2, OK Richard?) git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39960 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/tex2lyx/TODO.txt | 2 -- src/tex2lyx/test/test-insets.tex | 5 +++++ src/tex2lyx/text.cpp | 19 +++++++++++++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/tex2lyx/TODO.txt b/src/tex2lyx/TODO.txt index cf6b09429c..c24659e0b7 100644 --- a/src/tex2lyx/TODO.txt +++ b/src/tex2lyx/TODO.txt @@ -55,8 +55,6 @@ Format LaTeX feature LyX feature 354 \printindex*, \printsubindex* InsetIndex 358 custom bibtex command \bibtex_command 358 custom makeindex command \index_command -359 set_width InsetCommand nomencl_print -360 width InsetCommand nomencl_print 363 horizontal longtable alignment InsetTabular 364 branch file name suffix \filename_suffix 366 relative lengths for parskip \defskip diff --git a/src/tex2lyx/test/test-insets.tex b/src/tex2lyx/test/test-insets.tex index 5ffbc6e88d..1dd90ad3e7 100644 --- a/src/tex2lyx/test/test-insets.tex +++ b/src/tex2lyx/test/test-insets.tex @@ -379,6 +379,11 @@ with $a^2+b^2=c^2$ math}. \printindex{} +\printnomenclature hello + +\settowidth{\nomlabelwidth}{URL2} \printnomenclature{} +\printnomenclature[0.02\linewidth]{} + \end{document} diff --git a/src/tex2lyx/text.cpp b/src/tex2lyx/text.cpp index ce58886981..9870b57c07 100644 --- a/src/tex2lyx/text.cpp +++ b/src/tex2lyx/text.cpp @@ -2702,8 +2702,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); } -- 2.39.5