PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Letzte Spalte einer Tabelle zickt bei flushright



Matt
12-01-2012, 13:58
Hallo Community,

ich schreibe gerade an meinem Praxissemester Bericht und bin da auf eine Schwierigkeit gestoßen:

Will ich bei dieser Tabelle die letzte Spalte mit \flushright ausrichten, dann wird der Code nicht kompiliert. Das kommt nur bei der letzten Spalte (die mit 2.9cm) vor.



\documentclass[11pt, twoside,liststotoc,bibtotoc]{scrartcl}
\usepackage{listings}
\usepackage[ngerman]{babel}
\usepackage[german]{varioref}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{fancybox}
\usepackage{fancyhdr}
\usepackage{float}
\usepackage{color}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{array}
\usepackage{setspace}\usepackage{threeparttable}
\pagestyle{fancy}

\begin{document}
\begin{table}[H]

\begin{tabular}{|>{\flushleft}m{3.3cm}>{\flushright}m{2.2cm}>{\flushright}m{2.2cm}>{\flushright}m{2.2cm}>{\flushright}m{2.9cm}|}
\hline
Applikation & Umfang der Software & Zahl der Fehler & Zahl der Restfehler & Schwerwiegende Restfehler\\
\hline
Autopilot zur Steuerung einer Rakete & 30 000 & 1 500 & 60 & 6\\
\hline
PASS, Navigationssystem des Space Shuttle & 500 000 & 25 000 & 1 000 & 100\\
\hline
Software zur Flugkontrolle über den USA oder Europa & 1 000 000 & 50 000 & 2 000 & 200\\
\hline
Software zur Steuerung eines Kernkraftwerks & 1 500 000 & 75 000 & 3 000 & 300\\
\hline

\end{tabular}
\end{table}

Das wir korrekt bleiben: Die Daten aus der Tabelle stammen aus THALLER, G. (2002): Software-Test. Verifikation und Validation. 2. Auflage, Hannover, S. 17

\end{document}


Dieses Beispiel funktioniert so nicht. Wenn ich das so kompilieren möchte, dann meldet Latex folgende Fehler:



Misplaced \noalign \hline
Extra alignment tab has been changed to \cr Autopilot zur Steuerung einer Rakete &
Misplaced \noalign \hline
Extra alignment tab has been changed to \cr ...ationssystem des Space Shuttle & 500 000 &
Misplaced \noalign \hline
Extra alignment tab has been changed to \cr ...den USA oder Europa & 1 000 000 & 50 000 &
Misplaced \noalign \hline
Extra alignment tab has been changed to \cr ...nkraftwerks & 1 500 000 & 75 000 & 3 000 &
Misplaced \noalign \hline


Wenn ich allerdings das letzte \flushright (also ganz rechts) weglasse, dann wird der Code anstandslos kompiliert.



\documentclass[11pt, twoside,liststotoc,bibtotoc]{scrartcl}
\usepackage{listings}
\usepackage[ngerman]{babel}
\usepackage[german]{varioref}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{fancybox}
\usepackage{fancyhdr}
\usepackage{float}
\usepackage{color}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{array}
\usepackage{setspace}\usepackage{threeparttable}
\pagestyle{fancy}

\begin{document}
\begin{table}[H]

\begin{tabular}{|>{\flushleft}m{3.3cm}>{\flushright}m{2.2cm}>{\flushright}m{2.2cm}>{\flushright}m{2.2cm}>{}m{2.9cm}|}
\hline
Applikation & Umfang der Software & Zahl der Fehler & Zahl der Restfehler & Schwerwiegende Restfehler\\
\hline
Autopilot zur Steuerung einer Rakete & 30 000 & 1 500 & 60 & 6\\
\hline
PASS, Navigationssystem des Space Shuttle & 500 000 & 25 000 & 1 000 & 100\\
\hline
Software zur Flugkontrolle über den USA oder Europa & 1 000 000 & 50 000 & 2 000 & 200\\
\hline
Software zur Steuerung eines Kernkraftwerks & 1 500 000 & 75 000 & 3 000 & 300\\
\hline

\end{tabular}
\end{table}

Das wir korrekt bleiben: Die Daten aus der Tabelle stammen aus THALLER, G. (2002): Software-Test. Verifikation und Validation. 2. Auflage, Hannover, S. 17

\end{document}


Nur ist dann eben die letzte Spalte nicht formatiert, was etwas dämlich aussieht! ;)

Ich suche schon ewig nach dem Fehler. Was übersehe ich?

Danke euch schon im Voraus!

Matt

LuPi
12-01-2012, 14:21
Ersetze in der Tabelle die \\ durch \tabularnewline.

u_fischer
12-01-2012, 14:24
Erstens: Benutze besser \raggedright + \raggedleft. Flushleft ist eine Umgebung (sogar eine Liste), kein Befehl. Es kann Nebenwirkungen haben, wenn der zugehörige \end-Befehl fehlt.

Zweitens: Benutze \tabularnewline statt \\. Oder in der Spaltendefinition
\raggedright\arraybackslash.

Matt
12-01-2012, 14:41
Klasse!

Vielen Dank!

Habe die \flushright(left) durch \raggedright(left) ersetzt und die \\ gegen \tabularnewline ausgetauscht. Das Ergebnis ist perfekt!

Eine kleiner Frage muss ich noch stellen. Welche ist die sauberste Methode, um die erste Zeile fett zu formatieren? Sollte ich Applikation, Umfang der Software, ... mit \textbf{} formatieren?

Danke!