PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fehler: Illegal unit of measure



dehein2
07-03-2012, 12:56
Hallo,
ich habe neuerdings folgende Fehlermeldung beim kompilieren der Datei. Die Ausgabe wird jedoch (augenscheinlich) korrekt erstellt. Der Fehler scheint bei Tabellen aufzutreten. An den Tabellen habe ich nichts geändert und vorher trat der Fehler nicht auf:



28
! Illegal unit of measure (pt inserted).
<to be read again>
\relax
l.473 1
Hokuyo UTM-30LX&0,1m&30m&210g&8W\\
Dimensions can be in units of em, ex, in, pt, pc,
cm, mm, dd, cc, nd, nc, bp, or sp; but yours is a new one!
I'll assume that you meant to say pt, for printer's points.
To recover gracefully from this error, it's best to
delete the erroneous units; e.g., type `2' to delete
two letters. (See Chapter 27 of The TeXbook.)


Die Tabelle sieht wir folgt aus:


\begin{table}[h]
\centering
\begin{tabular}{cclllll}

\multicolumn{2}{l}{Reichweite} & Genauigkeit & Gewicht & Leistung&Spannung&Anschluss\\
min & max & & & & & \\
\toprule
0,1m & 30m &0,01m (0-10m) &210g&8W &12V & USB\\
&&0,03m (10-30m)&&&&\\
\bottomrule
\end{tabular}
\caption{Datenüberblick Hokuyo UTM-30LX}
\label{tab:ho30lx}
\end{table}


Dieses Problem tritt bei mehreren Tabellen auf..

Vielen Dank

u_fischer
07-03-2012, 13:02
Mach ein vollständiges Beispiel, das wir kompilieren können um den Fehler zu reproduzieren.

hakaze
07-03-2012, 13:13
Die Tabelle aus deinem Code-Fragment sieht völlig okay aus.

Die Zeile aus dem Fehler-Log scheint allerdings nicht von dort zu stammen???
Hokuyo UTM-30LX&0,1m&30m&210g&8W\\

Festus
07-03-2012, 13:28
Scheinbar gibst du irgendwo Breiten oder Höhen (z.B. p-Spalte in Tabellen) in einer Einheit an, die LaTeX nicht gefällt, und die deshalb durch "points" ersetzt wird!

LuPi
07-03-2012, 13:47
Wenn man Deinen Codeschnipsel mit


\documentclass{scrartcl}
\usepackage{booktabs}
\begin{document}


und dem entsprechenden Ende ergänzt, tritt dieser Fehler nicht auf.
Das heißt, dass Du uns noch etwas vorenthältst, was in dem von Ulrike
angefragten MB zu Tage treten sollte. Möglicherweise kommst Du dann
auch selbst auf die Ursache.

dehein2
07-03-2012, 13:52
Halo,
danke die zugehörige Tabelle ist auch diese ;)


\begin{table}[h]
\centering
\begin{tabular}{lccll}

Sensor(en) & \multicolumn{2}{l}{Reichweite} & Gewicht & Leistung\\
&min & max & & \\
\toprule
[1] Hokuyo UTM-30LX&0,1m&30m&210g&8W\\
[2] Devantech SRF08 & 0,03m & 6m& 11g & 0,06W\\
[3] aerius MLR100 & 0,2m & 100m&26g&0,4W\\
[4] Devantech SRF08 \& Hokuyo UTM-30LX& 0,03m & 30m &221g&8,06W \\
[5] Devantech SRF08 \& sm UMRR-0A&0,03m & 500m &171g&3,766W \\
\bottomrule
\end{tabular}
\caption{Datenüberblick Konfiguration 1 - 5}
\label{tab:uerbblickkombi}
\end{table}


das problem ist, dass die tabelle teil eines recht großen dokuments mit ziemlich ausführlicher header datei usw. ist ...

dehein2
07-03-2012, 13:59
ich habe gerade festgestellt, dass es an den eckigen Klammern liegt... shame on me :)

rstuby
07-03-2012, 13:59
Und dann sollen WIR ein kleines lauffähiges Dokument mit dieser Tabelle erstellen, das den Fehler demonstriert? Du hast wenigstens deinen Header zur Verfügung und kannst herauskürzen (mit Ausprobieren), was nichts mit dem Problem zu tun hat. Wir nicht und es ist auch irgendwie eher deine Arbeit.

UPD: Oh, zu spät...

dehein2
07-03-2012, 14:01
ganz ruhig :) ich dachte man kann den Fehler evtl. an dem Ausschnitt erkenne..
aber hat sich ja jetzt erledigt.
Danke

LuPi
07-03-2012, 14:03
Die Lösung ist relativ einfach: \\ kennst als optionales Argument eine
Länge, die etwas über den Zeilenabstand aussagt. Wenn Du die
nächste Zeile mit [1] beginnst, denkt LaTeX, dass Du eine unsinnige
Länge angibst. Füge beispielsweise vor jedem [x] ein {} ein, dann
solltest Du Ruhe haben.


\documentclass{scrartcl}
\usepackage{booktabs}
\begin{document}
\begin{table}[h]
\centering
\begin{tabular}{lccll}
Sensor(en) & \multicolumn{2}{l}{Reichweite} & Gewicht & Leistung\\
&min & max & & \\
\toprule
{}[1] Hokuyo UTM-30LX&0,1m&30m&210g&8W\\
{}[2] Devantech SRF08 & 0,03m & 6m& 11g & 0,06W\\
{}[3] aerius MLR100 & 0,2m & 100m&26g&0,4W\\
{}[4] Devantech SRF08 \& Hokuyo UTM-30LX& 0,03m & 30m &221g&8,06W \\
{}[5] Devantech SRF08 \& sm UMRR-0A&0,03m & 500m &171g&3,766W\\
\bottomrule
\end{tabular}
\caption{Datenüberblick Konfiguration 1 - 5}
\label{tab:uerbblickkombi}
\end{table}
\end{document}


Ganz abgesehen davon würde ich überlegen, ob ich \toprule nicht wirklich
über den Tabellenkopf setze und unterhalb davon mit \cmidrule arbeite.

UPD: Ebenfalls zu spät ;-)

dehein2
07-03-2012, 14:18
vielen dank

u_fischer
07-03-2012, 14:22
das problem ist, dass die tabelle teil eines recht großen dokuments mit ziemlich ausführlicher header datei usw. ist ...

Ja und? Wenn irgendwelche Pakete oder Definitionen aus deiner Präambel relevant für das Problem sind, kann dir nur geholfen werden, wenn du den entsprechenden Teil der Präambel auch zeigst – auch wenn das bedeutet, dass du Zeit investieren musst, um die Präambel auszumisten.

Und wenn die Präambel nicht relevant ist, reicht es ja die problematische Tabelle mit einer Minimalpräambel zu einem vollständigen Dokument zu ergänzen. Das müsstest du sowieso machen, um zu testen, ob es wirklich diese Tabelle ist, die den Fehler auslöst.

Was aber gar nicht geht, ist einen fehlerlosen Codeschnipsel zu zeigen. Das ist in etwa so, als wenn dein Desktop-Computer kaputt ist, und du mit der Notebook zum Händler marschierst.

dehein2
07-03-2012, 14:23
:)
die Sache ist ja ehr, dass ich dachte der Fehler liegt genau an dem Codeschnipsel.. was ja auch der Fall war. Ich habe leider versehentlich den falschen Codeteil zuerst gepostet... das war natürlich etwas blöd...

u_fischer
07-03-2012, 14:46
die Sache ist ja ehr, dass ich dachte der Fehler liegt genau an dem Codeschnipsel..

Und wenn du den Codeschnipsel in einem Minidokument kompiliert hättest, dann hättest nicht mehr "denken" (= raten) müssen, sondern hättest gewusst, dass der Fehler nicht dort liegt.

Gehst du mit den Daten in deiner Arbeit genau so locker um? "Ich dachte, 2 Meter wäre der richtige Wert"?


das war natürlich etwas blöd..

Das ist kein Zeichen von Blödheit, sondern von mangelnder Sorgfalt.