The following patch fixes the output of setlength commands. It is
going in soonish.

JMarc

Index: src/lyx_sty.C
===================================================================
--- src/lyx_sty.C	(revision 16422)
+++ src/lyx_sty.C	(working copy)
@@ -75,7 +75,7 @@
 	"\\newenvironment{LyXParagraphLeftIndent}[1]%\n"
 	"{\n"
 	"  \\begin{list}{}{%\n"
-	"    \\setlength\\topsep{0pt}%\n"
+	"    \\setlength{\\topsep}{0pt}%\n"
 	"    \\addtolength{\\leftmargin}{#1}\n"
 // ho hum, yet more things commented out with no hint as to why they
 // weren't just removed
@@ -83,7 +83,7 @@
 //	"%%    \\setlength{\\textwidth}{#2\\textwidth}\n"
 //	"%%    \\setlength\\listparindent\\parindent%\n"
 //	"%%    \\setlength\\itemindent\\parindent%\n"
-	"    \\setlength\\parsep{0pt plus 1pt}%\n"
+	"    \\setlength{\\parsep}{0pt plus 1pt}%\n"
 	"  }\n"
 	"  \\item[]\n"
 	"}\n"
Index: src/bufferparams.C
===================================================================
--- src/bufferparams.C	(revision 16422)
+++ src/bufferparams.C	(working copy)
@@ -934,26 +934,26 @@
 	if (paragraph_separation) {
 		switch (getDefSkip().kind()) {
 		case VSpace::SMALLSKIP:
-			os << "\\setlength\\parskip{\\smallskipamount}\n";
+			os << "\\setlength{\\parskip}{\\smallskipamount}\n";
 			break;
 		case VSpace::MEDSKIP:
-			os << "\\setlength\\parskip{\\medskipamount}\n";
+			os << "\\setlength{\\parskip}{\\medskipamount}\n";
 			break;
 		case VSpace::BIGSKIP:
-			os << "\\setlength\\parskip{\\bigskipamount}\n";
+			os << "\\setlength{\\parskip}{\\bigskipamount}\n";
 			break;
 		case VSpace::LENGTH:
-			os << "\\setlength\\parskip{"
+			os << "\\setlength{\\parskip}{"
 			   << getDefSkip().length().asLatexString()
 			   << "}\n";
 			break;
 		default: // should never happen // Then delete it.
-			os << "\\setlength\\parskip{\\medskipamount}\n";
+			os << "\\setlength{\\parskip}{\\medskipamount}\n";
 			break;
 		}
 		texrow.newline();
 
-		os << "\\setlength\\parindent{0pt}\n";
+		os << "\\setlength{\\parindent}{0pt}\n";
 		texrow.newline();
 	}
 
Index: src/ChangeLog
===================================================================
--- src/ChangeLog	(revision 16431)
+++ src/ChangeLog	(working copy)
@@ -1,5 +1,9 @@
 2006-12-29  Jean-Marc Lasgouttes  <[EMAIL PROTECTED]>
 
+	* bufferparams.C (writeLaTeX): 
+	* lyx_sty.C: use \setlength{\foo}{bar}, not \setlength\foo{bar}
+	(bug 2843)
+
 	* cursor.C (popRight): place cursor at the right spot:
 	notifyCursorLeaves may have killed the inset and put its contents
 	at lower level (bug 2908)
Index: status.14x
===================================================================
--- status.14x	(revision 16431)
+++ status.14x	(working copy)
@@ -79,8 +79,11 @@
 
 - Re-enable Address paragraph style in AMS article classes (bug 2890).
 
-- write \begin and \end alignment tags on their own lines (bug 3010).
+- Write \begin and \end alignment tags on their own lines (bug 3010).
 
+- Fix output of \setlength commands, in order to please latex2html
+  (bug 2843).
+
 - Import \guilsinglright correctly from .tex files.
 
 - Don't create invalid .lyx files when importing \i{} and \j{} from .tex
Index: src/lyx_sty.C
===================================================================
--- src/lyx_sty.C	(revision 16420)
+++ src/lyx_sty.C	(working copy)
@@ -78,7 +78,7 @@
 	"\\newenvironment{LyXParagraphLeftIndent}[1]%\n"
 	"{\n"
 	"  \\begin{list}{}{%\n"
-	"    \\setlength\\topsep{0pt}%\n"
+	"    \\setlength{\\topsep}{0pt}%\n"
 	"    \\addtolength{\\leftmargin}{#1}\n"
 // ho hum, yet more things commented out with no hint as to why they
 // weren't just removed
@@ -86,7 +86,7 @@
 //	"%%    \\setlength{\\textwidth}{#2\\textwidth}\n"
 //	"%%    \\setlength\\listparindent\\parindent%\n"
 //	"%%    \\setlength\\itemindent\\parindent%\n"
-	"    \\setlength\\parsep{0pt plus 1pt}%\n"
+	"    \\setlength{\\parsep}{0pt plus 1pt}%\n"
 	"  }\n"
 	"  \\item[]\n"
 	"}\n"
Index: src/bufferparams.C
===================================================================
--- src/bufferparams.C	(revision 16420)
+++ src/bufferparams.C	(working copy)
@@ -998,26 +998,26 @@
 	if (paragraph_separation) {
 		switch (getDefSkip().kind()) {
 		case VSpace::SMALLSKIP:
-			os << "\\setlength\\parskip{\\smallskipamount}\n";
+			os << "\\setlength{\\parskip}{\\smallskipamount}\n";
 			break;
 		case VSpace::MEDSKIP:
-			os << "\\setlength\\parskip{\\medskipamount}\n";
+			os << "\\setlength{\\parskip}{\\medskipamount}\n";
 			break;
 		case VSpace::BIGSKIP:
-			os << "\\setlength\\parskip{\\bigskipamount}\n";
+			os << "\\setlength{\\parskip}{\\bigskipamount}\n";
 			break;
 		case VSpace::LENGTH:
-			os << "\\setlength\\parskip{"
+			os << "\\setlength{\\parskip}{"
 			   << from_utf8(getDefSkip().length().asLatexString())
 			   << "}\n";
 			break;
 		default: // should never happen // Then delete it.
-			os << "\\setlength\\parskip{\\medskipamount}\n";
+			os << "\\setlength{\\parskip}{\\medskipamount}\n";
 			break;
 		}
 		texrow.newline();
 
-		os << "\\setlength\\parindent{0pt}\n";
+		os << "\\setlength{\\parindent}{0pt}\n";
 		texrow.newline();
 	}
 

Reply via email to