From 05a59595e8b10bfa5ad80116ee0593ad0c5db5ad Mon Sep 17 00:00:00 2001 From: =?utf8?q?Uwe=20St=C3=B6hr?= Date: Tue, 25 Oct 2011 17:30:27 +0000 Subject: [PATCH] tex2lyx: support for different language packages: none, babel or a custom one git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39967 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/tex2lyx/TODO.txt | 1 - src/tex2lyx/preamble.cpp | 14 +++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/tex2lyx/TODO.txt b/src/tex2lyx/TODO.txt index fc30aadc33..a0d4626a0f 100644 --- a/src/tex2lyx/TODO.txt +++ b/src/tex2lyx/TODO.txt @@ -79,7 +79,6 @@ Format LaTeX feature LyX feature 405 author hash \author 407 vertical offset for multirows InsetTabular 409 XeTeX \use_non_tex_fonts -411 babel etc. \language_package 412 tabular* InsetTabular 415 undertilde.sty fonts diff --git a/src/tex2lyx/preamble.cpp b/src/tex2lyx/preamble.cpp index 09d4dfdf17..908e627da7 100644 --- a/src/tex2lyx/preamble.cpp +++ b/src/tex2lyx/preamble.cpp @@ -131,6 +131,10 @@ const char * const known_polish_quotes_languages[] = {"afrikaans", "croatian", const char * const known_swedish_quotes_languages[] = {"finnish", "swedish", 0}; +/// known language packages from the times before babel +const char * const known_old_language_packages[] = {"french", "frenchle", +"frenchpro", "german", "ngerman", "pmfrench", 0}; + char const * const known_fontsizes[] = { "10pt", "11pt", "12pt", 0 }; const char * const known_roman_fonts[] = { "ae", "bookman", "ccfonts", @@ -175,7 +179,7 @@ string h_textclass = "article"; string h_use_default_options = "false"; string h_options; string h_language = "english"; -string h_language_package = "default"; +string h_language_package = "none"; string h_fontencoding = "default"; string h_font_roman = "default"; string h_font_sans = "default"; @@ -535,6 +539,7 @@ void handle_package(Parser &p, string const & name, string const & opts, h_use_undertilde = "2"; else if (name == "babel") { + h_language_package = "default"; // we have to do nothing if babel is loaded without any options, otherwise // we would pollute the preamble with this call in every roundtrip if (!opts.empty()) { @@ -574,6 +579,13 @@ void handle_package(Parser &p, string const & name, string const & opts, options.clear(); } + else if (is_known(name, known_old_language_packages)) { + // known language packages from the times before babel + // if they are found and not also babel, they will be used as + // cutom language package + h_language_package = "\\usepackage{" + name + "}"; + } + else if (name == "makeidx") ; // ignore this -- 2.39.2