PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem beim Erstellen meiner Tabellen



MadreMia
16-02-2007, 11:46
Hallo zusammen,

ich schreibe gerade meine Diplomarbeit und darf sie nächste Woche abgeben (ich weiß, dass dies ein schlechter Zeitpunkt wegen Karneval ist :) ).

Mein Problem ist, dass ich bis jetzt keine Schwierigkeiten mit Latex bei der Formatierung hatte, aber mit den Tabellen nicht zurecht komme. Muss zwei Tabellen erstellen, die ich Beide nicht ins richtige Format kriege.

Für mein Dokument verwende ich folgenden Pakete:



\documentclass[a4paper,12pt,oneside]{report}
%
\usepackage{ngerman}
\usepackage{a4}
\usepackage{parskip}
\usepackage[latin1]{inputenc}
\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{remreset}
\usepackage{lscape}
\usepackage{eurosym}
\usepackage[flushmargin,hang,bottom]{footmisc}


Da ich bis jetzt keine Tabelle erstellen konnte, die annähernd meinen Vorstellungen entsprach, kann ich euch kein Minibeispiel liefern :) Habe aber zwei Screenshots gemacht ...

Ich hoffe, dass mir irgendeiner dabei helfen kann!!!

Viele Grüße
Sebastian

sofa-surfer
16-02-2007, 12:13
Hallo,

hier mal ein Anfang:


\documentclass{article}

%\usepackage[applemac]{inputenc}
\usepackage{tabularx}
\usepackage{colortbl}
\usepackage{xcolor}


\begin{document}


\renewcommand{\arraystretch}{1.2}
\begin{tabularx}{\textwidth}{|*{4}{X|}} \hline
\multicolumn{2}{|c|}{\cellcolor{lightgray}\bfserie s Hersteller\,/\,Lieferant} &
\multicolumn{2}{c|}{\cellcolor{lightgray}\bfseries Händler\,/\,Kunde} \\ \hline

\textbf{Vorteile} & \textbf{Nachteile} & \textbf{Vorteile} & \textbf{Nachteile} \\ \hline

Flexibiltät steigt & & Flexibiltät steigt &\\

Längerfristige Kundenbindung & & & Abhängigkeit vom Lieferanten steigt \\

und & so & weiter & \dots \\\hline
\end{tabularx}

\end{document}

Matthias

EDIT: Für die andere Tabelle: Schau mal nach dem multirow-Paket.

edico
16-02-2007, 14:49
... und schau Dir unbedingt tabsatz.pdf (Axel Reichert) an.
edico

MadreMia
16-02-2007, 15:41
Hallo,

vielen Dank für das Beispiel!
Habe es noch ein wenig verändert und jetzt sieht es so aus, wie ich es haben wollte. Vielen Dank Sofa-Surfer!!

Das tabsatz.pdf werde ich mir dann jetzt direkt mal anschauen und mich an die zweite Tabelle geben ...

Wäre aber super, wenn ich trotzdem einen Ansatz für den zweiten Screenshot (kapitel5) bekomme, da mich das Multirow-Paket irgendwie überfordert ... erhalte ständig Fehler! :confused:

Viele Grüße und ein schönes Wochenende,
Sebastian

e. hindman
16-02-2007, 16:33
[CODE]
\usepackage{multirow}

...

\begin{tabular}{|c|c|}
\hline
\multirow{3}{2cm}{Käse}&Emmentaler\\
&Mozzarella\\
&Camembert\\
\hline
\end{tabular}
[\CODE]

MadreMia
16-02-2007, 17:06
Hi nochmal,


speziell für @Sofa-Surfer aber ich freue mich auch auf Antworten von anderen Leuten :) :

Nach dem ich die Tabelle in mein Dokument eingebunden habe, habe ich jetzt doch noch ein paar Fragen.

1. Wie bekomme ich eine Referenzierung zu meinem Tabellenverzechnis? Bisher habe ich das immer so gemacht:
\caption[Text]{Text\label{Text}} Das funktioniert aber anscheinend nicht mit den tabularx Tabellen ...

2. Wie kann man den Zeilenabstand beeinflussen? Eine Leerzeile ist mir nämlich zu groß und der vorgegebene Abstand einfach zu klein ...

3. Die Rahmen der Tabelle werden beim Ausdruck angezeigt, im PDF-Dokument nicht komplett ... habe das Problem auch schon im Forum gefunden, aber gibt es inzwischen dafür eine Lösung (muss nämlich auch eine elektronische Form abgeben).

Danke für das Minibeispiel zum zweiten Screenshot von e. hindman, aber irgendwie bringt mich das nicht richtig weiter ... bekomme erstens die Kopfzeile nicht richtig dargestellt (eigentlich gar nicht, da ich immer Fehler bekomme) und eine \hline am Ende der ersten Zeile zieht sich auch durch die multirow ... gibt es da irgendwelche Möglichkeiten?

Wäre wirklich für einen BeispielCode für diese Tabelle sehr dankbar!!!!

Gruß,
Sebastian

e. hindman
16-02-2007, 17:30
Das hier kommt deinem Beispiel eigentlich sehr nah:





\begin{tabular}{|c|c|c|}

\usepackage{hhline}
%und paar andere, siehe vorherige Posts


\hline
\cellcolor{lightgray}\bfseries Prog. & \cellcolor{lightgray}\bfseries Domain & \cellcolor{lightgray}\bfseries Funktion \\
\hline
\multirow{2}{2cm}{Programm1}& 12345 & bla\\
\hhline{ |~|--|}
& 4567 & noch mehr bla\\
\hline
\end{tabular}

bobmalaria
16-02-2007, 18:05
hi,

du musst das eigentlich nur so machen:

\caption[Kurzbezeichnung]{Tabellenbezeichnung}
\label{tab:test}

dein ineinanderwursteln von caption und label ist sowieso nicht gut :)

wenn du die tabelle nicht als gleitobjekt einfügst, dann gibt es aus dem paket caption den befehl
\captionof{table}{Tabellenbezeichnung}

EDIT: es gehen beide versionen

gruß

MadreMia
16-02-2007, 19:05
So, habe die Tabelle jetzt mal erweitert ..



\begin{table}[htb]
\begin{center}
\begin{tabular}{|p{2.2cm}|p{4.5cm}|p{7.0cm}|}
\hline
\cellcolor{lightgray}\bfseries Programm & \cellcolor{lightgray}\bfseries Name der Domain/ des Channels & \cellcolor{lightgray}\bfseries Funktion \\
\hline
\multirow{2}{2cm}{\centering ECOS} & \centering \vspace{0.2cm} GEWM05 -- WMGE05 & Transport der Nachrichten von der ECOS/MQ-Bridge zum VMI Adapter Tool\\
\hhline{|~|--|}
& \centering \vspace{0.2cm} UKWM05 -- WMUK05 & Transport der Nachrichten vom EDI-Konverter Gentran zur ECOS/MQ-Bridge \\
\hline
\multirow{2}{2cm}{\centering MQSeries}& \centering \vspace{0.2cm} EQ1P.ECOS.WMGE05 & Transport der Nachrichten vom MQSeries Adapter in webMethods zur ECOS/MQ-Bridge\\
\hhline{|~|--|}
& \centering \vspace{0.2cm} EQ1P.ECOS.UKWM05 & Transport der Nachrichten von der MQ-Bridge zum MQSeries-Adapter in webMethods \\
\hline
\end{tabular}
\end{center}
\caption [Namen der Domains und Channels]{Namen der Domains und Channels\label{tabelle522}}
\end{table}


Habe jetzt noch das Problem, dass die erste Spalte und die erste Zeile micht zentriert ist ... hat jemand eine Idee???

@bobmaleria
Bei mir geht das aber leider nicht, wenn ich unter der tabularx Tabelle \caption schreiben will ... und innerhalb der Tabelle wird es ebenfalls nicht akzeptiert!

Gruß
Sebastian

bobmalaria
16-02-2007, 19:15
hi,

ja natürlich geht es nicht.
normal müsstest du es so machen


\begin{table}[htb]
\begin{tabularx}
...
\end{tabularx}
\caption{}
\label{}
\end{table}


oder eben



\usepackage{caption}

\begin{tabularx}
...
\end{tabularx}
\captionof[table]{...}


wobei ich mir nicht 100% sicher bin ob captionof auch bei tabularx geht, denke aber schon

gruß

e. hindman
16-02-2007, 20:30
Was ich jetzt anstell ist vielleicht nicht die hohe LaTex Kunst aber wenn man Multirow noch nen Parameter [x] mitgibt, verschiebt es den Text hoch oder runter. Mit \multirow{1}... fassen wir dann ein Feld zu einem Feld zusammen, das dann aber ne andere Eigenschaft bekommt, als die Spalte eigentlich hat. Wenn dir dann zur der Zeile mit "Gentran" ein Paar Worte einfallen, dass es drei Zeilen benötigt, dann sieht es (für mein Auge) sauber aus.




\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}} %neuer Spaltentyp zentriert mit fester Breite

...

\begin{table}[htb]
\begin{center}
\begin{tabular}{|C{2.2cm}|C{4.5cm}|p{7.0cm}|}
\hline
\cellcolor{lightgray}\bfseries Programm & \cellcolor{lightgray}\bfseries Name der Domain/ des Channels & \multicolumn{1}{c}{\cellcolor{lightgray}\bfseries Funktion} \\
\hline
\multirow{2}{*}[-0.9cm]{\centering ECOS} & \centering \vspace{0.2cm} GEWM05 -- WMGE05 & Transport der Nachrichten von der ECOS/MQ-Bridge zum VMI Adapter Tool\\
\hhline{|~|--|}
& \centering \vspace{0.2cm} UKWM05 -- WMUK05 & Transport der Nachrichten vom EDI-Konverter Gentran zur ECOS/MQ-Bridge bisschen was noch\\
\hline
\multirow{2}{*}[-0.9cm]{\centering MQSeries}& \centering \vspace{0.2cm} EQ1P.ECOS.WMGE05 & Transport der Nachrichten vom MQSeries Adapter in webMethods zur ECOS/MQ-Bridge\\
\hhline{|~|--|}
& \centering \vspace{0.2cm} EQ1P.ECOS.UKWM05 & Transport der Nachrichten von der MQ-Bridge zum MQSeries-Adapter in webMethods \\
\hline
\end{tabular}
\end{center}
\caption [Namen der Domains und Channels]{Namen der Domains und Channels\label{tabelle522}}
\end{table}

MadreMia
17-02-2007, 11:34
Morgen zusammen,

durch den Eintrag von bobmalaria funktioniert jetzt die Referenzierung ... dachte eigentlich, dass ich es so oder sehr ähnlich versucht hatte, aber hauptsache ist es ja, dass es nun klappt! Danke dir!

Die Tabelle von e.hindman sieht jetzt auch fast perferkt aus :) Habe nur noch das Problem, dass ich die Überschriften in der ersten Zeiel nicht mittig ausrichten kann. Hast da jemand noch eine Idee???

Eine Frage habe ich auch noch zu dem Minibispiel von Sofa-Surfer ... wie kann ich da den Abstand zwischen zwei Einträgen in einer Spalte manuell verändern?? (siehe auch dritten Beitrag von mir)

Vielen Dank schon mal im Voraus!
Sebastian

bobmalaria
17-02-2007, 13:12
hi,

zentrieren solltest du eigentlich so können


\multicolumn{1}{c}{\cellcolor{lightgray}\centering \bfseries Funktion}

e. hindman
17-02-2007, 13:53
Zentriert sind die Überschriften schon, zumindest in x-Richtung.
In der Höhe sind sie's aber nicht, stimmt schon.

Even more dirty tricks:


\begin{table}[htb]
\begin{center}
\begin{tabular}{|C{2.2cm}|C{4.5cm}|p{7.0cm}|}
\hline
\multirow{1}{*}[-0.25cm]{\cellcolor{lightgray}\bfseries Programm} & \cellcolor{lightgray}\bfseries Name der Domain / des Channel & \multirow{1}{*}[-0.25cm]{\hspace{2.5cm}{\cellcolor{lightgray}\bfseries Funktion }}\\
\hline
\multirow{2}{*}[-0.9cm]{\centering ECOS} & \centering \vspace{0.2cm} GEWM05 -- WMGE05 & Transport der Nachrichten von der ECOS/MQ-Bridge zum VMI Adapter Tool\\
\hhline{|~|--|}
& \centering \vspace{0.2cm} UKWM05 -- WMUK05 & Transport der Nachrichten vom EDI-Konverter Gentran zur ECOS/MQ-Bridge bisschen was noch\\
\hline
\multirow{2}{*}[-0.9cm]{\centering MQSeries}& \centering \vspace{0.2cm} EQ1P.ECOS.WMGE05 & Transport der Nachrichten vom MQSeries Adapter in webMethods zur ECOS/MQ-Bridge\\
\hhline{|~|--|}
& \centering \vspace{0.2cm} EQ1P.ECOS.UKWM05 & Transport der Nachrichten von der MQ-Bridge zum MQSeries-Adapter in webMethods \\
\hline
\end{tabular}
\end{center}
\caption [Namen der Domains und Channels]{Namen der Domains und Channels\label{tabelle522}}
\end{table}

MadreMia
17-02-2007, 19:01
Super, so funktioniert es wirklich gut! DANKE!

Hat noch einer eine Lösung zu meinem Problem mit dem Zeilenabstand in der anderen Tabelle???

Viele Grüße
Sebastian

e. hindman
17-02-2007, 20:38
Was meinst du mit Zeilenabstand? So wie's in der JPEG Vorlage aussieht ist einfach eine ganze Zeile der Tabelle leer.


&&&\\

MadreMia
18-02-2007, 00:00
Ja, in Excel (also der Screenshot) ist es auch eine Zeile ...

Allerdings ist mir der Abstand bei Latex zu groß, wenn ich da nur eine Leerspalte einfüge ... wenn es aber dafür keine Lösung gibt, dann muss ich halt einfach mit \hline arbeiten und mir Linien ziehen ...

Viele Grüße
Sebastian

e. hindman
18-02-2007, 09:21
Sofasurfer hat die Antwort schon eigebaut gehabt. \arraystretch beeinflusst den Zeilenabstand. Probier einfach verschiedene Faktoren aus.



\renewcommand{\arraystretch}{3}%bisschen übertrieben ;)
\begin{tabularx}{\textwidth}{|*{4}{X|}} \hline
\multicolumn{2}{|c|}{\cellcolor{lightgray}\bfserie s Hersteller\,/\,Lieferant} &
\multicolumn{2}{c|}{\cellcolor{lightgray}\bfseries Händler\,/\,Kunde} \\ \hline

\textbf{Vorteile} & \textbf{Nachteile} & \textbf{Vorteile} & \textbf{Nachteile} \\ \hline

Flexibiltät steigt & & Flexibiltät steigt &\\
&&&\\
Längerfristige Kundenbindung & & & Abhängigkeit vom Lieferanten steigt \\

und & so & weiter & \dots \\\hline
\end{tabularx}
\renewcommand{\arraystretch}{1}

MadreMia
19-02-2007, 09:49
Vielen Dank für deine Geduld und Hilfe! Jetzt sieht es super aus!!! DANKE!