http://bugzilla.lyx.org/show_bug.cgi?id=1523

This bug is already fixed (properly) in 1.4. I know that the attached patch 
for 1.3.x is an ugly hack, but it works.

Jürgen
Index: src/lyxlength.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/lyxlength.C,v
retrieving revision 1.26
diff -u -r1.26 lyxlength.C
--- src/lyxlength.C	4 Dec 2002 02:57:14 -0000	1.26
+++ src/lyxlength.C	21 Oct 2004 12:34:45 -0000
@@ -59,30 +59,36 @@
 
 string const LyXLength::asLatexString() const
 {
+	// a hack. LaTeX strings for values < 10 are calculated wrongly
+	// (factor x10) [bug 1523]. This bug is fixed in 1.4 (jspitzm)
+	string fixp = "";
+	if (val_ < 10.0)
+		fixp = "0";
+	
 	ostringstream buffer;
 	switch (unit_) {
 	case PTW:
-	    buffer << abs(static_cast<int>(val_/100)) << '.'
+	    buffer << abs(static_cast<int>(val_/100)) << '.' << fixp
 		   << abs(static_cast<int>(val_)%100) << "\\textwidth";
 	    break;
 	case PCW:
-	    buffer << abs(static_cast<int>(val_/100)) << '.'
+	    buffer << abs(static_cast<int>(val_/100)) << '.' << fixp
 		   << abs(static_cast<int>(val_)%100) << "\\columnwidth";
 	    break;
 	case PPW:
-	    buffer << abs(static_cast<int>(val_/100)) << '.'
+	    buffer << abs(static_cast<int>(val_/100)) << '.' << fixp
 		   << abs(static_cast<int>(val_)%100) << "\\paperwidth";
 	    break;
 	case PLW:
-	    buffer << abs(static_cast<int>(val_/100)) << '.'
+	    buffer << abs(static_cast<int>(val_/100)) << '.' << fixp
 		   << abs(static_cast<int>(val_)%100) << "\\linewidth";
 	    break;
 	case PPH:
-	    buffer << abs(static_cast<int>(val_/100)) << '.'
+	    buffer << abs(static_cast<int>(val_/100)) << '.' << fixp
 		   << abs(static_cast<int>(val_)%100) << "\\paperheight";
 	    break;
 	case PTH:
-	    buffer << abs(static_cast<int>(val_/100)) << '.'
+	    buffer << abs(static_cast<int>(val_/100)) << '.' << fixp
 		   << abs(static_cast<int>(val_)%100) << "\\textheight";
 	    break;
 	default:

Reply via email to