Jean-Pierre Chrétien wrote:
> I've detected a misbehaviour:
> \quotes_language frenchb
> is inserted in the lyx files, which gives error:
> LyX: Unknown argument `frenchb'
The attached patch fixes that. It is not safe to assume that all languages
known by babel have a corresponding quote language in LyX...
Ok to aply?
BTW, LyX 1.4 does not complain about unknouwn quote languages anymore.
Therefore I did not see it. Is this behaviour intended?
Georg
Index: src/tex2lyx/ChangeLog
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/tex2lyx/ChangeLog,v
retrieving revision 1.88
diff -u -p -r1.88 ChangeLog
--- src/tex2lyx/ChangeLog 21 Mar 2005 17:26:34 -0000 1.88
+++ src/tex2lyx/ChangeLog 24 Mar 2005 09:00:46 -0000
@@ -1,3 +1,10 @@
+2005-03-24 Georg Baum <[EMAIL PROTECTED]>
+
+ * preamble.C (handle_package, parse_preamble, end_preamble): Don't
+ output invalid quote language names
+ * preamble.C (known_tex_quote_languages, known_lyx_quote_languages):
+ New, needed for the above
+
2005-03-18 Georg Baum <[EMAIL PROTECTED]>
* text.C (parse_text): Fix \start_of_appendix output
Index: src/tex2lyx/preamble.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/tex2lyx/preamble.C,v
retrieving revision 1.30
diff -u -p -r1.30 preamble.C
--- src/tex2lyx/preamble.C 6 Feb 2005 09:32:52 -0000 1.30
+++ src/tex2lyx/preamble.C 24 Mar 2005 09:00:46 -0000
@@ -56,6 +60,19 @@ const char * const known_languages[] = {
"russianb", "samin", "scottish", "serbian", "slovak", "slovene", "spanish",
"swedish", "turkish", "ukraineb", "usorbian", "welsh", 0};
+/// TeX languages that have a corresponding qoute language in LyX.
+/// This needs to be a subset of known_languages.
+const char * const known_tex_quote_languages[] = {
+"british", "english", "swedish",
+"austrian", "naustrian", "german", "germanb", "ngerman", "ngermanb",
+"polish", "francais", "frenchb", "danish", 0};
+
+/// LyX names of quote languages corresponding to known_tex_quote_languages
+const char * const known_lyx_quote_languages[] = {
+"english", "english", "swedish",
+"german", "german", "german", "german", "german", "german",
+"polish", "french", "french", "danish", 0};
+
char const * const known_fontsizes[] = { "10pt", "11pt", "12pt", 0 };
// some ugly stuff
@@ -190,10 +221,9 @@ void handle_package(string const & name,
; // ignore this
else if (name == "verbatim")
; // ignore this
- else if (is_known(name, known_languages)) {
+ else if (is_known(name, known_languages))
h_language = name;
- h_quotes_language = name;
- } else if (name == "natbib") {
+ else if (name == "natbib") {
h_cite_engine = "natbib_authoryear";
vector<string>::iterator it =
find(options.begin(), options.end(), "authoryear");
@@ -225,6 +268,12 @@ void handle_package(string const & name,
void end_preamble(ostream & os, LyXTextClass const & /*textclass*/)
{
+ char const * const * where =
+ is_known(h_language, known_tex_quote_languages);
+ if (where) {
+ int const i = where - known_tex_quote_languages;
+ h_quotes_language = known_lyx_quote_languages[i];
+ }
os << "#LyX file created by tex2lyx 0.1.2\n"
<< "\\lyxformat 241\n"
<< "\\begin_document\n"
@@ -371,7 +543,6 @@ LyXTextClass const parse_preamble(Parser
string::size_type i = h_paperfontsize.find("pt");
if (i != string::npos)
h_paperfontsize.erase(i);
- h_quotes_language = h_language;
h_options = join(opts, ",");
h_textclass = p.getArg('{', '}');
}