$-Fehler in Tabelle

Formelsatz für Mathematik, Naturwissenschaften und Technik


ApoC
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Do 22. Okt 2009, 23:29

$-Fehler in Tabelle

Beitrag von ApoC »

Hallo Ihr!

Bin gerade dabei mich mit Latex vertraut zu machen. Jedoch stoße ich schon an meine Grenzen. Ich bekomme immer Fehlermeldungen für meine Tabelle. Ich habe dort ein paar Zahlen drin stehen und ein Entspricht-Zeichen, weshalb mein TeXnicCenter nun immer sagt das $ fehlen würden.
Hier der Code.
\documentclass[a4paper,12pt]{article}
\usepackage{german}
\newcommand{\entspricht}{\mathrel{\widehat{=}}}
\title{Zugversuch}
\begin{document}
\today

\tableofcontents
\newpage

\section{Messdaten}

\begin{tabular}[ht]{|l|c|c|}
  \hline
  Messwert & Probe Nr. 1 & Probe Nr. 2\\
  \hline\hline
  Stoff & S235 & AlMgSi1\\
  \hline
  Kraftmessbereich, kN & 0-120 & 0-120\\
  \hline
  Kraftaufzeichnung, kN & 0-60 & 0-60\\
  \hline
  Feindehnungsmessertyp & LSM 4\% 50AB & LSM 4\% 50AB\\
  \hline
  Wegaufzeichnung, mm/\% & 1mm \entspricht 2\% & 1mm \entspricht 2\%\\
  \hline
  d_{0}, mm & 10,04 & 10,06\\
  \hline
  L_{0}, mm & 50,10 & 50,30\\
  \hline
  S_{0}, mm^{2} & 79,17 & 79,49\\
  \hline
\end{tabular}

\newpage
\section{Messfehler}
\newpage
\section{Ergebniss}

\end{document}
Für Unterstützung wäre ich sehr dankbar. Bitte bedenkt auch beim Antworten, dass ich zwar weiß, wie ich Suchmaschinen benutze,
jedoch trotzdem erst seit 3 Tagen mit Latex rumspiele.
Fehlermeldungen kann ich leider nicht kopieren?!
Hauptmeldung ist: ! Missing $ inserted bei den letzten vier Zeilen.
Gruß

cliffhanger
Forum-Century
Forum-Century
Beiträge: 137
Registriert: Di 25. Aug 2009, 11:25
Wohnort: Regensburg

Beitrag von cliffhanger »

Hi ApoC,

die Fehlermeldungen erhältst du, weil Dinge wie das von dir selbst definierte \entspricht nur im Mathemodus gesetzt werden können, ebenso wie deine Buchstaben mit Index 0 (d_{0} usw.).

Allgemein musst du also, wenn du in der Tabelle mathematische Zeichen oder Ausdrücke verwenden willst, den Ausdruck mit zwischen Dollarzeichen setzen. Das ist genau das, was dir die Fehlermeldung sagen möchte.

für dein selbstdefiniertes \entspricht kannst du aber den Mathemodus auch sicherstellen, indem du das ganze so
\newcommand{\entspricht}{\ensuremath{\mathrel{\widehat{=}}}}
schreibst.

Das
\ensuremath{...}
sorgt dafür, dass immer sichergestellt wird, dass der darin enthaltene Ausdruck im Mathemodus gesetzt wird. Würdest du dagegen direkt in deiner Befehlsdefinition den ganzen Audruck gleich in $ einschließen, so ginge das genau solange gut, wie du deinen Befehl nicht innerhalb einer Mathematikumgebung benutzt. Sobald du nämlich innerhalb des Mathematikmodus deinen Befehl setzen würdest, würde LateX das erste $ deines Befehls als Mathe-Ende-Zeichen interpretieren, womit dein entspricht-Zeichen wieder außerhalb des Mathemodus stünde.

Ich hoffe, es war verständlich, was ich dir vermitteln wollte.
Gruß
cliffhanger

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

Tabellen

Beitrag von Stefan Kottwitz »

Hallo ApoC,

schön, dass Du zu LaTeX gefunden hast! Nach 3 Tagen stößt man noch nicht an Grenzen - es dauert eben eine Weile, bis man sich eingearbeitet hat und auch mit Fehlermeldungen klarkommt. Wenn Du Fragen hast, stell sie hier einfach, wir helfen gern.

Ich habe ein paar Verbesserungsvorschläge. Vertikale Linien finde ich unschön in Tabellen, sie unterbrechen den Lesefluss. Schau mal in gute Bücher, ob Tabellen dort auch so gekästelt gesetzt sind. Wir sind hier nicht bei Excel, sondern bei schönem Textsatz. Also schlage ich nur horizontale Linien vor, stärker am oberen und unteren Ende der Tabelle, unterbrochen im Mittelteil zur dezenten Hervorhebung der Spalten. Das Paket booktabs hilft dabei. Hier ist ein komplettes übersetzbares Beispiel, teste mal:
\documentclass[a4paper,12pt]{article}
\usepackage[ngerman]{babel}
\newcommand{\entspricht}{\ensuremath{\mathrel{\widehat{=}}}}
\usepackage[font=small,labelfont=bf]{caption}
\usepackage{booktabs}
\begin{document}
\begin{table}[ht]
\centering
\caption{Messdaten}
\begin{tabular}{lcc}
  \toprule[1.2pt]
  Messwert & Probe Nr. 1 & Probe Nr. 2\\
  \cmidrule(r){1-1}\cmidrule(rl){2-2}\cmidrule(l){3-3}
  Stoff & S235 & AlMgSi1\\
  Kraftmessbereich, kN & 0-120 & 0-120\\
  Kraftaufzeichnung, kN & 0-60 & 0-60\\
  Feindehnungsmessertyp & LSM 4\% 50\,AB & LSM 4\% 50\,AB\\
  Wegaufzeichnung, mm/\% & 1\,mm \entspricht 2\% & 1\,mm \entspricht 2\%\\
  $d_{0}$, mm & 10,04 & 10,06\\
  $L_{0}$, mm & 50,10 & 50,30\\
  $S_{0}$, mm$^{2}$ & 79,17 & 79,49\\
\bottomrule[1.2pt]
\end{tabular}
\end{table}
\end{document}
Gefällt Dir dieses Layout besser?

Ich habe auch das caption-Paket verwendet, babel mit ngerman-Option (nicht german für alte deutsche Rechtschreibung), den Mathematikmodus korrigiert, Einheiten durch \, vom Zahlenwert abgesetzt. Außerdem habe ich die table-Umgebung benutzt. Die Parameter im Eingangsbeitrag für tabular sind nicht sinnvoll, das hast Du vielleicht verwechselt - sie passen zur table-Umgebung.

Viele Grüße,

Stefan

ApoC
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Do 22. Okt 2009, 23:29

Beitrag von ApoC »

Hi. Vielen Dank euch beiden!

Also ich habe mir die Codevorschläge von euch angesehen und benutzt. Sieht sehr gelungen aus mit der Tabelle. Vor allem wunderbar, endlich die Fehlermeldungen los zu sein.
Dass das Programm das $ Zeichen haben wollte habe ich auch verstanden. Jedoch dachte ich er möchte es ungefähr so:
d_{$0$}, mm & $10,70$ & $20,08$\\
Somit: Vielen Dank! ;)
Jetzt habe ich noch ein kleines Problem. Habe zwar herausgefunden, dass man ein Leerzeichen in beliebiger Breite darstellen kann mit z.B. \ oder \, - allerdings habe ich nun bei
1mm \entspricht 2\%
 
nur nach dem "mm" einen Freiraum und nicht vor der "2". Muss ich den Freiraum jetzt selbst definieren? Warum macht das meine Mathepaket nicht?

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

Leerzeichen

Beitrag von Stefan Kottwitz »

Die Breite eines Leerzeichens ist nicht beliebig und \ erzeugt einen anderen Abstand als \, oder \;. Das Leerzeichen nach \entspricht hat keine Wirkung als Abstand, es trennt nur den Makronamen vom folgenden. Du kannst \entspricht\ schreiben oder \entspricht{} oder xspace verwenden.

Stefan

ApoC
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Do 22. Okt 2009, 23:29

Beitrag von ApoC »

Ja, super, danke!
Dass \ und \, verschieden sind wusste ich. Jeder erzeugt den für den Code definierten Abstand. Ich habe mich da wohl ungeschickt ausgedrückt.

Übrigens: Ein Buch über Latex ist schon unterwegs. Mein Vater lässt mir demnächst seins zukommen.

Ich habe noch die Vorstellung jede Seite mit einer hübschen Kopf- und Fußzeile zu versehen. Wie mache ich das am geschicktesten? Vielleicht gerade einen passenden Link für mich? Da soll auch ein kleines Bild in die Kopfzeile.

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

Kopfzeilen

Beitrag von Stefan Kottwitz »

ApoC hat geschrieben:Ich habe noch die Vorstellung jede Seite mit einer hübschen Kopf- und Fußzeile zu versehen. Wie mache ich das am geschicktesten? Vielleicht gerade einen passenden Link für mich? Da soll auch ein kleines Bild in die Kopfzeile.
Der Klassiker: fancyhdr.
Modern und auf KOMA-Klassen abgestimmt: scrpage2, im KOMA-Script-Handbuch dokumentiert. Ich bevorzuge sowieso KOMA-Klassen, also etwa scrartcl statt article, damit auch scrpage2.

Bilder lassen sich auch in Kopfzeilen durch \includegraphics einbinden.

Stefan

Antworten