Compare commits

...

3 Commits

Author SHA1 Message Date
Juergen Spitzmueller
a7e8397a84 adapt tex2lyx to 0beb790a6a
(cherry picked from commit f725abea05)
2024-09-09 18:11:08 -04:00
Juergen Spitzmueller
fb5782b62a Handle space issue with refstyle more downstream
It is not necessarily, and infers with some usages, to generally escape
spaces in labels and references

(cherry picked from commit 0beb790a6a)
2024-09-09 18:05:10 -04:00
Juergen Spitzmueller
16281b4cf1 Fix indentation
(cherry picked from commit bfd855747a)
2024-09-09 18:04:59 -04:00
4 changed files with 17 additions and 5 deletions

View File

@ -287,8 +287,13 @@ void InsetRef::latex(otexstream & os, OutputParams const & rp) const
getFormattedCmd(data, label, prefix, use_refstyle, use_caps);
os << fcmd;
if (use_refstyle && use_plural)
os << "[s]";
os << '{' << label << '}';
os << "[s]";
if (contains(label, ' '))
// refstyle bug: labels with blanks need to be grouped
// otherwise the blanks will be gobbled
os << "{{" << label << "}}";
else
os << '{' << label << '}';
}
else if (cmd == "labelonly") {
docstring const & ref = getParam("reference");
@ -298,7 +303,7 @@ void InsetRef::latex(otexstream & os, OutputParams const & rp) const
docstring prefix;
docstring suffix = split(ref, prefix, ':');
if (suffix.empty()) {
LYXERR0("Label `" << ref << "' contains no `:' separator.");
LYXERR0("Label `" << ref << "' contains no `:' separator.");
os << ref;
} else {
os << suffix;

View File

@ -1242,7 +1242,7 @@ docstring const escape(docstring const & lab)
for (char_type const c : lab) {
if (c >= 128 || c == '=' || c == '%' || c == '#' || c == '$'
|| c == '}' || c == '{' || c == ']' || c == '[' || c == '&'
|| c == '\\' || c == ' ') // refstyle doesn't support spaces
|| c == '\\')
{
// Although char_type is a 32 bit type we know that
// UCS4 occupies only 21 bits, so we don't need to

View File

@ -4533,7 +4533,12 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
os << "reference \"";
os << known_refstyle_prefixes[where - known_refstyle_commands]
<< ":";
os << convert_literate_command_inset_arg(p.getArg('{', '}'))
string arg = p.getArg('{', '}');
// with refstyle, labels containing blanks are grouped
// remove the grouping
if (contains(arg, ' '))
arg = ltrim(rtrim(arg, "}"), "{");
os << convert_literate_command_inset_arg(arg)
<< "\"\n";
os << "plural \"" << plural << "\"\n";
os << "caps \"" << cap << "\"\n";

View File

@ -88,6 +88,8 @@ What's new
- Handle linguistic structure trees in ePub and PDF (DocBook) output (bug 12372).
- Improve the way spaces are handled in labels when refstyle is used.
* USER INTERFACE