I wrote:
You mean the French languages. Basically yes. But I just googled around
and they are still in use in the LaTeX-world -> I'll leave them.
This is not possible without a bit more code. I propose the attached patch.
I deleted the following languages:
"babel", "hyphen", "rlbabel", "lgrcmr", "lgrcmro", "lgrcmss",
"lgrcmtt", "lgrenc", "lgrlcmss", "lgrlcmtt", "lheclas", "lhecmr",
"lhecmss", "lhecmtt", "lhecrml", "lheenc", "lhefr", "lheredis", "lheshold",
"lheshscr", "lheshstk", "latin", "samin"
I don't know what they were for. There is no supported language they can be replaced with and
leaving thenm as is leads to errors because "babel" is no language in the lib/languages file.
latin and samin were removed for an unknown reason before LyX 1.3. I reenabled them a week ago for
LyX 1.6svn but for lyxformat 246 they are invalid.
Comments, ideas?
regards Uwe
Index: preamble.cpp
===================================================================
--- preamble.cpp (revision 21959)
+++ preamble.cpp (working copy)
@@ -50,22 +50,26 @@
namespace {
-const char * const known_languages[] = { "afrikaans", "american", "austrian",
-"babel", "bahasa", "basque", "belarusian", "brazil", "breton", "british",
-"bulgarian", "catalan", "croatian", "czech", "danish", "dutch", "english",
-"esperanto", "estonian", "finnish", "francais", "french", "frenchb",
-"frenchle", "frenchpro", "galician", "german", "germanb", "greek", "hebcal",
-"hebfont", "hebrew", "hebrew_newcode", "hebrew_oldcode", "hebrew_p", "hyphen",
-"icelandic", "irish", "italian", "latin", "lgrcmr", "lgrcmro", "lgrcmss",
-"lgrcmtt", "lgrenc", "lgrlcmss", "lgrlcmtt", "lheclas", "lhecmr", "lhecmss",
-"lhecmtt", "lhecrml", "lheenc", "lhefr", "lheredis", "lheshold", "lheshscr",
-"lheshstk", "lsorbian", "magyar", "naustrian", "ngermanb", "ngerman", "norsk",
-"nynorsk", "polish", "portuges", "rlbabel", "romanian", "russian", "russianb",
-"samin", "scottish", "serbian", "slovak", "slovene", "spanish", "swedish",
+const char * const known_languages[] = { "afrikaans", "american", "arabic",
+"austrian", "bahasa", "basque", "belarusian", "brazil", "breton", "british",
+"bulgarian", "canadian", "canadien", "catalan", "croatian", "czech", "danish",
+"dutch", "english", "esperanto", "estonian", "finnish", "francais", "french",
+"frenchb", "frenchle", "frenchpro", "galician", "german", "germanb", "greek",
+"hebcal", "hebfont", "hebrew", "hebrew_newcode", "hebrew_oldcode", "hebrew_p",
+"icelandic", "irish", "italian", "lsorbian", "magyar", "naustrian", "ngerman",
+"ngermanb", "norsk", "nynorsk", "polish", "portuges", "romanian", "russian",
+"russianb", "scottish", "serbian", "slovak", "slovene", "spanish", "swedish",
"thai", "turkish", "ukraineb", "ukrainian", "usorbian", "welsh", 0};
const char * const known_french_languages[] = {"french", "frenchb", "francais",
- "frenchle", "frenchpro", 0};
+ "frenchle", "frenchpro", 0};
+const char * const known_german_languages[] = {"german", "germanb", 0};
+const char * const known_ngerman_languages[] = {"ngerman", "ngermanb", 0};
+const char * const known_hebrew_languages[] = {"hebrew", "hebrew_newcode",
+ "hebrew_oldcode", "hebrew_p", "hebcal", "hebfont", 0};
+const char * const known_russian_languages[] = {"russian", "russianb", 0};
+const char * const known_ukrainian_languages[] = {"ukrainian", "ukraineb", 0};
+
char const * const known_fontsizes[] = { "10pt", "11pt", "12pt", 0 };
// some ugly stuff
@@ -207,13 +211,21 @@
else if (name == "graphicx")
; // ignore this
else if (is_known(name, known_languages)) {
- if (is_known(name, known_french_languages)) {
+ if (is_known(name, known_french_languages))
h_language = "french";
- h_quotes_language = "french";
- } else {
+ else if (is_known(name, known_german_languages))
+ h_language = "german";
+ else if (is_known(name, known_ngerman_languages))
+ h_language = "ngerman";
+ else if (is_known(name, known_hebrew_languages))
+ h_language = "hebrew";
+ else if (is_known(name, known_russian_languages))
+ h_language = "russian";
+ else if (is_known(name, known_ukrainian_languages))
+ h_language = "ukrainian";
+ else
h_language = name;
- h_quotes_language = name;
- }
+ h_quotes_language = h_language;
} else if (name == "natbib") {
h_cite_engine = "natbib_authoryear";
@@ -388,6 +400,16 @@
handle_opt(opts, known_languages, h_language);
if (is_known(h_language, known_french_languages))
h_language = "french";
+ else if (is_known(h_language, known_german_languages))
+ h_language = "german";
+ else if (is_known(h_language, known_ngerman_languages))
+ h_language = "ngerman";
+ else if (is_known(h_language, known_hebrew_languages))
+ h_language = "hebrew";
+ else if (is_known(h_language, known_russian_languages))
+ h_language = "russian";
+ else if (is_known(h_language, known_ukrainian_languages))
+ h_language = "ukrainia";
handle_opt(opts, known_fontsizes, h_paperfontsize);
// delete "pt" at the end
string::size_type i = h_paperfontsize.find("pt");