From a218450aa45b12a9a1949350a84b637b1796adaf Mon Sep 17 00:00:00 2001 From: Juergen Spitzmueller Date: Sat, 11 Feb 2023 09:57:32 +0100 Subject: [PATCH] tex2lyx: support documentclass in path (#12284) --- src/tex2lyx/Preamble.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/tex2lyx/Preamble.cpp b/src/tex2lyx/Preamble.cpp index fd8e84acf1..c7e3f73f37 100644 --- a/src/tex2lyx/Preamble.cpp +++ b/src/tex2lyx/Preamble.cpp @@ -2687,7 +2687,15 @@ void Preamble::parse(Parser & p, string const & forceclass, vector opts = split_options(p.getArg('[', ']')); // FIXME This does not work for classes that have a // different name in LyX than in LaTeX - string const tclass = p.getArg('{', '}'); + string tclass = p.getArg('{', '}'); + if (contains(tclass, '/')) { + // It's considered bad practice, but it is still + // sometimes done (and possible) to enter the documentclass + // as a path, e.g. \documentclass{subdir/class} (#12284) + // we strip the name in this case. + string dummy; + tclass = rsplit(tclass, dummy, '/'); + } p.skip_spaces(); // Only set text class if a class hasn't been forced // (this was set above)