Fehler: Missing number, treated as zero. Thema ist als GELÖST markiert

Tabellen und Grafiken erstellen und anordnen


F.

Fehler: Missing number, treated as zero.

Beitrag von F. »

Hallo,

ich bekomme beim erstellen folgender Tabelle immer einen Fehler:
  \begin{tabular}{p{3cm}|p{3cm}|p{3cm}}
	 [COMPANY] & --> & Firmenname \\
	 [COUNTRY] & --> & Land \\
	 [CREATOR_EMAIL] & --> & Email-Adresse des aktuellen Benutzers \\
	 [CREATOR_NAME] & --> & Vollständiger Name des aktuellen Benutzers \\
	 [FULL_NAME] & --> & Vollständiger Name des Kontaktes \\
	 [COUNTRY] & --> & Land \\
	 [SALUT_ENVELOPE] & --> & Anrede auf dem Briefumschlag. Zum Beispiel: Herrn \\
	 [SALUT_NAME_ENVELOPE] & --> & Anrede und Name. Zum Beispiel: Herrn Dr. Max Mustermann \\
	 [SALUTATION_LETTER] & --> & Briefanrede und Name. Zum Beispiel: Sehr geehrter Herr Dr. Mustermann \\
	 [STREET_NO] & --> & Straße und Hausnummer \\
	 [ZIP_CITY] & --> & Postleitzahl und Stadt \\
	\end{tabular}
Die Fehlermeldung:
! Missing number, treated as zero.
<to be read again>
                             C
1.65     [COUNTRY]
                           & --> & Land \\
! Illegal unit of measure (pt inserted).
Diese Meldung bekomme ich ca. 150x. Mehmals für jede Zeile der Tabelle.

Kennt vielleicht jemand das Problem?
Vielen Dank im Voraus

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2528
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Beitrag von Stefan Kottwitz »

Hallo,

es würde funktionieren, wenn Du die Texte in eckigen Klammern in der ersten Spalte zusätzlich mit geschweiften Klammern versiehst. Es genügt ab der 2. Zeile, also {[COUNTRY]} etc.
Eckige Klammern haben oft Sonderbedeutung, zusätzliches Klammern verhindert das. Hier sollte es mit den Zeilenumbrüchen zusammenhängen, \\ erlaubt nämlich einen optionalen Parameter, um zusätzlichen Abstand einzufügen, man kann beispielsweise \\[0.5cm] schreiben. Daher wird in diesen eckigen Klammern eine Zahl bzw. eine Länge erwartet, auch wenn es erst in der nächsten Zeile steht.

Viele Grüße,

Stefan

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

Eine andere Lösung ist übrigens, nach dem Tabellenzeilenende mit \\ oder \tabularnewline ein \relax einzufügen:
\documentclass{article}

\begin{document}
\begin{tabular}{ll}
  links & rechts \\\relax
  [links] & [rechts] \\\relax
  * & Stern\\
\end{tabular}
\end{document}
Bei der Suche nach dem nächsten Nicht-Leerzeichen wird dann ebenfalls kein »[« mehr gefunden, sondern eben die Anweisung »\relax«, die nichts weiter tut.

Solche "Vorschauprobleme" gibt es übrigens nicht nur mit optionalen Argumenten, sondern auch mit dem Stern: »*«, wie man sieht, wenn man oben das zweite \relax entfernt. Genau ein solches Problem ist übrigens die Ursache dafür, dass im clsguide für Paketautoren dringend empfohlen wird, nicht einfach \ProcessOptions, sondern \ProcessOptions\relax zu verwenden. Eine beträchtliche Anzahl an Paketautoren ignoriert diesen Hinweis leider.

F.

Beitrag von F. »

Vielen Dank für die Infos. Beide Lösungen funktionieren, nur musste ich noch die _ mit \_ ersetzen, damit der Math-Mode ausgeschaltet bleibt.

Antworten