Anzeige:
Ergebnis 1 bis 13 von 13

Thema: Problem mit Tabellen

  1. #1
    Registrierter Benutzer
    Registriert seit
    28.10.2010
    Beiträge
    47

    Problem mit Tabellen

    Hallo zusammen,

    ich habe ein paar kleine Probleme mit Tabellen.
    Ich möchte meine Tabellen gerne dynamisch, also ohne festen Wert, die volle Seitenbreite ausnutzen lassen. Das Problem dabei ist, dass die Tabellen dann immer über den rechten Rand hinaus ragen. Siehe Beispiel:

    Code:
    \documentclass[12pt,a4paper,oneside,titlepage]{scrreprt}
    \usepackage[utf8]{inputenc}
    \usepackage[ngerman]{babel}
    \usepackage{amsmath}
    \usepackage{amsfonts}
    \usepackage{amssymb}
    \usepackage{makeidx}
    \usepackage{hyperref}
    \usepackage{graphicx}
    \usepackage[left=30mm,right=20mm, top=2.5cm, bottom=2.5cm]{geometry}
    \usepackage{setspace}
    \usepackage[font=footnotesize ,labelfont=bf,format=plain,justification=centerlast]{caption}
    \usepackage[bibencoding=latin1, backend=bibtex8]{biblatex}
    \usepackage{multirow}
    \usepackage{array}
    \usepackage{color}
    
    \bibliography{bib/literatur}
    
    \usepackage[automark]{scrpage2}
    \clearscrheadfoot
    \ihead{\headmark}
    \ohead{Seite \pagemark}
    \ifoot{\automark[section]{section}}
    \setheadsepline{0.5pt}
    \setfootsepline{0.5pt}
    
    \pagestyle{scrheadings}
    
    \renewcommand{\familydefault}{\sfdefault}
    \setlength{\parskip}{\baselineskip}
    
    \begin{document} 
    
    \subsubsection*{1. Aufnahme der Anlagendaten}
    \begin{tabular}{|l|l|l|l|}
    	\hline
    	\multicolumn{4}{|p{\textwidth}|}{\textbf{Anlagendaten =H08}}															\\
    	\hline \hline
    	\multicolumn{2}{|c|}{Hersteller} 							& \multicolumn{2}{c|}{}							\\ 		
    	\hline 
    	\multicolumn{2}{|c|}{Typ} 									& \multicolumn{2}{c|}{}							\\ 
    	\hline 
    	\multicolumn{2}{|c|}{Nummer} 								& \multicolumn{2}{c|}{}							\\ 
    	\hline 
    	$U_N$ 									&  					& $I_N$ Sammelschiene	&						\\ 
    	\hline 
    	Frequenz 								&  					& $I_N$ Abgang			&						\\ 
    	\hline 
    	\multirow{2}{*}{SF6 Druck bei $ 20\,^{\circ}\mathrm{C}$ }	& Leistungsschalter 	& \multicolumn{2}{c|}{}	\\ 
    	\cline{2-4} 							
    											& Sammelschiene 	& \multicolumn{2}{c|}{} 						\\ 
    	\hline 
    \end{tabular}
    
    \end{document}
    Ich habe noch zwei weitere Fragen zum Thema Tabellen:
    1. Wie kann ich den Text innerhalb einer Zelle vertikal mittig ausrichten?
    2. Wie kann ich den Text in einer Zelle ausrichten, wenn ich dieser zuvor mit p{xxcm} eine feste Breite zugeweisen habe? {p{xxcm},c} funktioniert beispielsweise nicht

  2. #2
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Hi,

    habe da mal was geschrieben:
    http://projekte.dante.de/DanteFAQ/Tabularx

    Gruß
    Marco

  3. #3
    Registrierter Benutzer
    Registriert seit
    28.10.2010
    Beiträge
    47
    Bingo! Genau das wars :-)
    Danke.

    Wenn mir jetzt noch jemand bei der vertikalen Ausrichtung weiter helfen kann wäre das echt klasse.

    Warum funktioniert das eigentlich nicht in der tabular Umgebung? Müsste ich nicht das gleiche Ergebnis haben wenn ich das so wie in meinem Beispiel machen. Gut ich meine ich sehe das es nicht so ist, aber warum? Mit \textwidth müsste ich die erste Zeile doch eigentlich auch genau auf die passende Länge bekommen?! Warum hängt sie damit aber über?

  4. #4
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Zitat Zitat von 4nndee Beitrag anzeigen
    aber warum? Mit \textwidth müsste ich die erste Zeile doch eigentlich auch genau auf die passende Länge bekommen?! Warum hängt sie damit aber über?
    LINIENDICKE-ABSTAND LINIE - TEXT DER BREITE TEXTWIDTH - ABSTAND LINIE - LINIENDICKE

    Gruß
    Marco

  5. #5
    Registrierter Benutzer
    Registriert seit
    28.10.2010
    Beiträge
    47
    Ah ich glaub ich habs kapiert. Bei tabular kann ich das nur für die entsprechende Zeile und nicht für die Umgebung ans sich machen und da kommen die Abstände mit dazu.
    Bei tabularx leg ich direkt zu Anfang die Breite der Umgebung fest.

  6. #6
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Zitat Zitat von 4nndee Beitrag anzeigen
    Bei tabular kann ich das nur für die entsprechende Zeile und nicht für die Umgebung ans sich machen und da kommen die Abstände mit dazu.
    DAs ist so nicht ganz korrekt. DU kannst auch selbst rechnen:
    Code:
    \documentclass{scrartcl}
    \usepackage{array,ragged2e,calc}
    %\usepackage{showframe}
    \begin{document}
    
    \noindent\begin{tabular}{|>{\Centering}p{\textwidth-2\tabcolsep}|}
    \hline
    Hier steht Text\\
    \hline
    \end{tabular}
    \end{document}
    Gruß
    Marco

  7. #7
    Registrierter Benutzer
    Registriert seit
    28.10.2010
    Beiträge
    47
    Also liegts am Einrücken des Absatzes?!

  8. #8
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Zitat Zitat von 4nndee Beitrag anzeigen
    Also liegts am Einrücken des Absatzes?!
    Das ist eine zusätzliche Fehlerquelle.

    Ich habe dir ja zeigen wollen, wie deine Tabellenzeile:
    Code:
    |p{\textwidth}|
    aufgebaut ist. Mit p{\textwidth} legst du eine Box mit der Breite \textwidth an. Aber was ist mit dem Abstand des Boxinhaltex zu den vertikalen Linien. Der kommt noch hinzu. Zusätzlich haben die Linien auch eine gewisse Breite, welche natürlich auch addiert werden wollen.

    Gruß
    Marco

  9. #9
    Registrierter Benutzer
    Registriert seit
    28.10.2010
    Beiträge
    47
    LINIENDICKE-ABSTAND LINIE - TEXT DER BREITE TEXTWIDTH - ABSTAND LINIE - LINIENDICKE
    Ah jetzt hab ich auch verstanden was du mir damit sagen wolltest. Das Beispiel hab ich leider auch nicht direkt geblickt. Manchmal dauerts halt bisschen länger :-)

    Wie kann ich denn Text in Spalten, für die ich in der Präambel ein "X" gesetzt habe, noch ausrichten? Jetzt passt die Tabelle super auf die Seite, aber der Text sitzt jetzt halt in zwei Spalten nicht mittig.

  10. #10
    Registrierter Benutzer
    Registriert seit
    31.03.2010
    Beiträge
    1.039
    Siehe Abschnitt 4.2 der tabularx-Anleitung. Dort ist das für \raggedright gezeigt und \centering explizit ebenfalls erwähnt. Zusätzlich wird dort auf die Anleitung von array verwiesen.

  11. #11
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Zitat Zitat von 4nndee Beitrag anzeigen
    Wie kann ich denn Text in Spalten, für die ich in der Präambel ein "X" gesetzt habe, noch ausrichten? Jetzt passt die Tabelle super auf die Seite, aber der Text sitzt jetzt halt in zwei Spalten nicht mittig.
    Hier hilft auch ein Blick in die Dokumentation des Paketes array

    Code:
    >{\Centering}X
    Benötigt ragged2e.

    Gruß
    Marco

  12. #12
    Registrierter Benutzer
    Registriert seit
    28.10.2010
    Beiträge
    47
    Hab ich, aber wenn man \Centering vorne klein anstatt groß schreibt kann es nicht gehen :-)

  13. #13
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Zitat Zitat von 4nndee Beitrag anzeigen
    Hab ich, aber wenn man \Centering vorne klein anstatt groß schreibt kann es nicht gehen :-)
    dass klappt dann nur mit:
    Code:
    >{\centering\arraybackslash}X
    Gruß
    Marco

Lesezeichen

Berechtigungen

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