commit d716df7b65c1cea34df44a15c705bc83aca9c527
Author: Juergen Spitzmueller <[email protected]>
Date: Wed Aug 6 18:15:16 2025 +0200
tex2lyx: do not choke on unsupported advances index commands (part of
#13183)
Import them as ERT
---
src/tex2lyx/Preamble.cpp | 2 +-
src/tex2lyx/text.cpp | 19 ++++++++++++++++++-
2 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/src/tex2lyx/Preamble.cpp b/src/tex2lyx/Preamble.cpp
index e6b2c3d793..7d73195ce5 100644
--- a/src/tex2lyx/Preamble.cpp
+++ b/src/tex2lyx/Preamble.cpp
@@ -2980,7 +2980,7 @@ void Preamble::parse(Parser & p, string const &
forceclass,
continue;
}
- if (t.cs() == "makeindex") {
+ if (t.cs() == "makeindex" && !p.hasOpt()) {
// LyX will re-add this if a print index command is
found
p.skip_spaces();
continue;
diff --git a/src/tex2lyx/text.cpp b/src/tex2lyx/text.cpp
index e5bb6279f1..ec4da204b0 100644
--- a/src/tex2lyx/text.cpp
+++ b/src/tex2lyx/text.cpp
@@ -5108,7 +5108,16 @@ void parse_text(Parser & p, ostream & os, unsigned
flags, bool outer,
continue;
}
- if (t.cs() == "index" ||
+ if (t.cs() == "index" && p.hasOpt()) {
+ // advanced index command (maybe from package imakeidx)
+ // output as ERT
+ string const opt = p.getOpt();
+ output_ert_inset(os, t.asInput() + opt + "{" +
+ p.verbatim_item() + '}', context);
+ continue;
+ }
+
+ if ((t.cs() == "index") ||
(t.cs() == "sindex" && preamble.use_indices() == "true")) {
context.check_layout(os);
string const arg = (t.cs() == "sindex" && p.hasOpt()) ?
@@ -5163,6 +5172,14 @@ void parse_text(Parser & p, ostream & os, unsigned
flags, bool outer,
continue;
}
+ if (t.cs() == "printindex" && p.hasOpt() &&
preamble.use_indices() != "true") {
+ // advanced printindex command (maybe from package
imakeidx)
+ // output as ERT
+ string const opt = p.getOpt();
+ output_ert_inset(os, t.asInput() + opt, context);
+ continue;
+ }
+
if (t.cs() == "printindex" || t.cs() == "printsubindex") {
context.check_layout(os);
string commandname = t.cs();
--
lyx-cvs mailing list
[email protected]
https://lists.lyx.org/mailman/listinfo/lyx-cvs