Anzeige:
Ergebnis 1 bis 4 von 4

Thema: Letzte Spalte einer Tabelle zickt bei flushright

  1. #1
    Registrierter Benutzer
    Registriert seit
    12.01.2012
    Beiträge
    12

    Arrow Letzte Spalte einer Tabelle zickt bei flushright

    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.

    Code:
    \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.

    Code:
    \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

  2. #2
    Registrierter Benutzer
    Registriert seit
    17.02.2010
    Beiträge
    685
    Ersetze in der Tabelle die \\ durch \tabularnewline.

  3. #3
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    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.

  4. #4
    Registrierter Benutzer
    Registriert seit
    12.01.2012
    Beiträge
    12
    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!

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •