Gesamtbreite Tabelle & Positionierung eines Eintrags

Tabellen und Grafiken erstellen und anordnen


jefflatex
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: So 8. Jun 2014, 16:51

Gesamtbreite Tabelle & Positionierung eines Eintrags

Beitrag von jefflatex »

Hallo Leute,

ich sitze derzeit an meiner Abschlussarbeit, und habe immer mal wieder Probleme mit Latex. Ich hab zwar schon viel mitgelesen, aber jetzt kommen Fragen auf, bei denen ich dachte, dass ich mich jetzt auch mal anmelden muss...

Folgendes Problem bewog mich dazu:
Ich habe eine Tabelle erstellt und sie tut im Grunde, was sie soll.
Jedoch möchte ich gerne, dass der zweite Eintrag in der zweiten Spalte zentriert in der gesamten Zelle steht. Also quasi mittig gegenüber den 2. und 3. Einträgen der ersten Spalte.
Im Moment ist es so, dass quasi in der 2. Spalte einfach nur die Linie fehlt, sodass der 2. und 3. Eintrag/Zelle "verbunden" ist. Ich möchte aber, dass die - wie ich es aus Excel kenne - so verbunden sind, als wäre es tatsächlich eine Zelle. Ich denke, ihr wisst sofort, was ich meine, wenn ihr den Code mal laufen lasst. :)

Des Weiteren frag ich mich, wie ich die Tabelle generell auf Textbreite bekomme. \textwidth ist mir bekannt, geht hier jedoch nicht. Über tabularx habe ich auch schon was gelesen, da muss ich aber die Spaltenbreite manuell festlegen, nicht? Das möchte ich eigentlich nicht. Er soll die Tabelle auf Textbreite bringen, und die vorhandene Breite gleichmäßig auf die Spalten aufteilen.
\documentclass[a4paper,12pt]{article}
\usepackage{color}
\usepackage{mathtools}
\usepackage{esvect}
\usepackage{amssymb}
\usepackage{graphics}
\usepackage[singlespacing]{setspace}
\usepackage[center, small, bf, singlelinecheck=false]{caption} 
\usepackage[T1]{fontenc} 
\usepackage[utf8x]{inputenc} 
\usepackage[ngerman]{babel} 
\usepackage{float}
\usepackage{caption}
\usepackage[german, colorinlistoftodos, textsize=small]{todonotes}

\begin{document}
\thispagestyle{empty}
\begin{table}[htbp]
\renewcommand\arraystretch{2.25}
\begin{center}
\begin{tabular}[c]{|p{7cm-2\tabcolsep}|p{7cm-2\tabcolsep}|}
\hline
\textbf{ÜS 1} 						& \textbf{ÜS 2} \\ \hline
Blabla  									& \multicolumn{ 1}{p{7cm-2\tabcolsep}|}{Dieser Text soll \newline zentriert vor den ersten  beiden Zellen der ersten Spalte stehen!} \\ \cline{ 1- 1}
Blabla 									& \multicolumn{ 1}{l|}{} \\ \hline
Blabla \newline Blabla 			& Blabla \newline Blabla \\ \hline
= Blabla 								& = ca. Blabla \\ \hline
\end{tabular}
\end{center}
\caption{Blabla}
\label{blabla}
\end{table}
\end{document}
Besten Dank für eure Anregungen!!

PS: Braucht ihr noch was vom Header des Files?[/b]

PPS: Einige Teile des Codes sind übrigens auch aus den weiten des Internets zusammengeklaut. Die kannte ich vorher also nicht. Bspw. "|p{7cm-2\tabcolsep}" oder der arraystretch.
Zuletzt geändert von jefflatex am So 8. Jun 2014, 18:43, insgesamt 1-mal geändert.

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Re: Gesamtbreite Tabelle & Positionierung eines Eintrags

Beitrag von Johannes_B »

jefflatex hat geschrieben:Ich denke, ihr wisst sofort, was ich meine, wenn ihr den Code mal laufen lasst. :)
Wenn ich deinen Code laufen lasse:
! LaTeX Error: Environment table undefined.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.1 \begin{table}
                 [htbp]
? 
Erweitere bitte dein Beispiel zu einem Minimalbeispiel. Schau dir bitte auch die Dokumentation des Paketes booktabs an.

Wie bekomme ich eine Tabelle in Textbreite?

Warum benutzt du eigentlich die Multicolumns?
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

jefflatex
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: So 8. Jun 2014, 16:51

Beitrag von jefflatex »

Ich danke für den sanften Hinweis (Minimalbeispiel). Ich habe den Code editiert, der müsste doch eigentlich laufen (hier meine ich den Code in meinem ersten Post!). Wohlwissend, dass da im Header noch Pakete sind, die man nicht zwingend braucht. Aber ich hoffe, das stört jetzt nicht weiter. Ich könnt die natürlich noch weiter durch "Try&Error" eliminieren...
Wenn ich mich gut auskennen würde, würde ich die Dinger einfach manuell entfernen.

Multicolumn?
Ich habe nach einer Möglichkeit gesucht, eben zwei benachbarte Zellen einer Spalte zusammenzufügen. Dann habe ich diese Möglichkeit gefunden. Wenn es da was Einfacheres gibt, sehr gerne. Warum genau ich jetzt diese Variante gewählt habe, kann ich nicht erklären. Ich habe mich halt an die Problemlösung herangetastet und das sah schonmal "ganz ok" aus.


EDIT:
Bin mittlerweile so weit:
\documentclass[a4paper,12pt]{article}

\usepackage{esvect}
\usepackage{amssymb}
\usepackage{graphics}

\usepackage[singlespacing]{setspace}
\usepackage[center, small, bf, singlelinecheck=false]{caption} 
\usepackage[T1]{fontenc} 
\usepackage[utf8x]{inputenc} 
\usepackage[ngerman]{babel} 

\usepackage{float}
\usepackage{caption}

\usepackage[german, colorinlistoftodos, textsize=small]{todonotes}
\usepackage{tabularx}


\begin{document}
\thispagestyle{empty}


\begin{table}[htbp]
\renewcommand\arraystretch{2.25}
\begin{center}
\begin{tabularx}{\textwidth}{|p{0.5\textwidth}|p{0.5\textwidth}|}
\hline
\textbf{ÜS 1}                   & \textbf{ÜS 2} \\ \hline
Blabla                             & \multicolumn{ 1}{p{7cm-2\tabcolsep}|}{Dieser Text soll  zentriert vor den ersten  beiden Zellen der ersten Spalte stehen!} \\ \cline{ 1- 1} \hline
Blabla                            & \multicolumn{ 1}{l|}{} \\ \hline
Blabla \newline Blabla          & Blabla \newline Blabla \\ \hline
= Blabla                         & = ca. Blabla \\ \hline

\end{tabularx}
\end{center}
\caption{Blabla}
\label{blabla}
\end{table}

\end{document}
Jedoch bekomme ich dadurch nicht das gewünschte Ergebnis.
Man sieht, dass die Tabellenbegrenzung rechts zu weit weg ist.

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Du suchst vermutlich \multirow aus dem gleichnamigen Paket und nicht \multicolumn. Wenn du tabularx lädst und verwendest, dann kannst du doch auch die Spaltendefinition X nutzen?
\documentclass[a4paper,12pt]{article} 
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc} 
\usepackage[ngerman]{babel} 

\usepackage[center, small, bf, singlelinecheck=false]{caption} 
\usepackage{tabularx}
\usepackage{multirow} 

\begin{document} 
\thispagestyle{empty} 

\begin{table}[htbp] 
  \renewcommand\arraystretch{2.25}
  \centering
  \begin{tabularx}{\textwidth}{|X|X|} 
    \hline 
    \textbf{ÜS 1} & \textbf{ÜS 2} \\
    \hline 
    Blabla \newline bb
      &\multirow{2}{\linewidth}[-.5\baselineskip]{%
        Dieser Text soll  zentriert vor den ersten  beiden Zellen der ersten Spalte stehen!} \\
    \cline{ 1- 1}
    Blabla &\\
    \hline 
    Blabla \newline Blabla & Blabla \newline Blabla \\
    \hline 
    = Blabla & = ca. Blabla \\
    \hline 
  \end{tabularx} 
  \caption{Blabla} 
  \label{blabla} 
\end{table} 

\end{document}
Die vertikale Feinjustierung musst du händisch über das optionale Argument von \mulitrow vornehmen.

Gruß
Elke

jefflatex
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: So 8. Jun 2014, 16:51

Beitrag von jefflatex »

Wahnsinn - so einfach kann es gehen.
Vielen Dank!!!

Ich muss einfach nach und nach lernen, was die einzelnen Befehle bringen und wie man mit optionalen Argumenten etc. hantieren kann.

Mühsam ernährt sich..

Antworten