PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : multirows zentrieren



DAB268
18-12-2006, 16:19
Hallo.

Wie bekomm ich im folgenden Beispiel den Text in den multirows noch vertikal und horizontal zentriert?


\begin{table}
\label{tab:lebensdauer}
\begin{tabularx}{\linewidth}{|c|c|X|}
\hline
\multirow{4}{*}{\rotatebox{90}{Transiente Daten}} & 1 & Transiente Ergebnisse einer Funktionsberechnung\\
& 2 & Lokale Variablen\\
& 3 & Globale Variablen und Daten auf dem Heap\\
& 4 & Daten, die für die gesamte Zeit einer Programmausführung bestehen\\
\hline\hline
\multirow{4}{*}{\rotatebox{90}{Persistente Daten}} & 5 & Daten, die für mehrere Aufrufe von verschiedenen Programmen bestehen\\
& 6 & Daten, die so lange existieren, wie das Programm verwendet wird\\
& 7 & Daten, die mehrere Versionen eines Programmes bestehen\\
& 8 & Daten, die mehrere Versionen des Persistenz-Support-Systems bestehen\\
\hline
\end{tabularx}
\caption{Die unterschiedliche Lebensdauer von Daten (Persistenzzeiträume)\cite{AtkinsonOPOS}}
\end{table}


MfG
Christian

sofa-surfer
18-12-2006, 17:01
Hallo,

was du versuchen könntest, ist so was in dieser Richtung:


\documentclass{article}

\usepackage{tabularx,multirow,graphicx}
\usepackage{calc}

\begin{document}


\begin{tabularx}{\linewidth}{|c|c|X|}
\hline
\multirow{4}{*}{\rotatebox{90}{\parbox{\widthof{Tr ansiente}}{\centering Transiente Daten}}} & 1 & Transiente Ergebnisse einer Funktionsberechnung\\
& 2 & Lokale Variablen\\
& 3 & Globale Variablen und Daten auf dem Heap\\
& 4 & Daten, die für die gesamte Zeit einer Programmausführung bestehen\\
\hline\hline
\multirow{6}{*}{\rotatebox{90}{\parbox{\widthof{Pe rsistene}}{\centering Persistente Daten}}} & 5 & Daten, die für mehrere Aufrufe von verschiedenen Programmen bestehen\\
& 6 & Daten, die so lange existieren, wie das Programm verwendet wird\\
& 7 & Daten, die mehrere Versionen eines Programmes bestehen\\
& 8 & Daten, die mehrere Versionen des Persistenz-Support-Systems bestehen\\
\hline
\end{tabularx}

\end{document}

Matthias

DAB268
18-12-2006, 17:58
Danke, aber ich meinte eher, dass der Text innerhalb der Box vertikal und horizontal zentriert wird. Derzeitig ist er nur vertikal zentriert innerhalb der Box.

sofa-surfer
18-12-2006, 18:16
hm, weiß nicht ob ich auf dem Schlauch stehe, aber ich weiß nicht so ganz was du willst. Kannst du vielleicht mal irgendwie ein Beispiel visualisieren?

Matthias

DAB268
18-12-2006, 18:53
Ok, ich versuchs mal in ASCII :-)

-----
| * |
| |
| # |
| |
| |
-----

* = Dort steht der Text derzeit
# = Da sollte er stehen

Natürlich senkrecht, statt waagerecht.

sofa-surfer
18-12-2006, 19:25
... und wenn du mir jetzt noch den Unterschied zu meinem oben geposteten Beispiel sagst ... Ich bin der Meinung, dort sieht es so aus, wie du es haben willst. Eventuell mit zwei kleinen Anpassungen (unten rot hervorgehoben), aber die kommen nur daher, dass mir vorher keine Umlaute angezeigt wurden, und ich daher beim obersten multirow eine Zeile zu wenig hatte ...
Aber es geht ja ums Prinzip ;)

Eventuell kannst du auch noch über den optionalen Parameter von multirow feinsteuern (blau hervorgehoben).


\documentclass{article}
\usepackage[applemac]{inputenc} % oder latin-was-auch-immer ...
\usepackage{tabularx,multirow,graphicx}
\usepackage{calc}

\begin{document}


\begin{tabularx}{\linewidth}{|c|c|X|}
\hline
\multirow{5}[3]{*}{\rotatebox{90}{\parbox{\widthof{Transiente}}{\ centering Transiente Daten}}} & 1 & Transiente Ergebnisse einer Funktionsberechnung\\
& 2 & Lokale Variablen\\
& 3 & Globale Variablen und Daten auf dem Heap\\
& 4 & Daten, die für die gesamte Zeit einer Programmausführung bestehen\\
\hline\hline
\multirow{6}[3]{*}{\rotatebox{90}{\parbox{\widthof{Persistene}}{\ centering Persistente Daten}}} & 5 & Daten, die für mehrere Aufrufe von verschiedenen Programmen bestehen\\
& 6 & Daten, die so lange existieren, wie das Programm verwendet wird\\
& 7 & Daten, die mehrere Versionen eines Programmes bestehen\\
& 8 & Daten, die mehrere Versionen des Persistenz-Support-Systems bestehen\\
\hline
\end{tabularx}

\end{document}


Ansonsten mach mal ein Minimalbeispiel.

Matthias

DAB268
18-12-2006, 23:21
Seltsam, dass es bei dir so aussieht. Bei mir sieht es wie unten gezeigt aus, nachdem ich deine Tabelle benutzt habe. Warum eigentlich \multirow{5} und{6}? Das soll sich doch über 4 Zeilen erstrecken. Was bedeutet denn die [3] dahinter? Achja, dass es bei mir so gequetsch aussieth, liegt daran, dass ich zweispaltig arbeite.

Hier das Beispiel:


\documentclass[10pt,twocolumn]{article}

\usepackage{latex8}
\usepackage{times}
\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}

\usepackage{paralist}

\usepackage{hyperref}
\hypersetup{colorlinks=true, urlcolor=black, linkcolor=black, citecolor=black}
\usepackage{breakurl}

\usepackage{tabularx}
\usepackage{multirow}

\usepackage{calc}

\usepackage{xcolor}

\usepackage[pdftex]{graphicx}

\usepackage[standard]{ntheorem}

\pagestyle{empty}

\begin{document}
\begin{table}
\label{tab:lebensdauer}
\begin{tabularx}{\linewidth}{|c|c|X|}
\hline
\multirow{5}[3]{*}{\rotatebox{90}{\parbox{\widthof{Transiente}}{\ centering Transiente Daten}}} & 1 & Transiente Ergebnisse einer Funktionsberechnung\\
& 2 & Lokale Variablen\\
& 3 & Globale Variablen und Daten auf dem Heap\\
& 4 & Daten, die für die gesamte Zeit einer Programmausführung bestehen\\
\hline\hline
\multirow{6}[3]{*}{\rotatebox{90}{\parbox{\widthof{Persistene}}{\ centering Persistente Daten}}} & 5 & Daten, die für mehrere Aufrufe von verschiedenen Programmen bestehen\\
& 6 & Daten, die so lange existieren, wie das Programm verwendet wird\\
& 7 & Daten, die mehrere Versionen eines Programmes bestehen\\
& 8 & Daten, die mehrere Versionen des Persistenz-Support-Systems bestehen\\
\hline
\end{tabularx}
\caption{Die unterschiedliche Lebensdauer von Daten (Persistenzzeiträume)\cite{AtkinsonOPOS}}
\end{table}

\end{document}

sofa-surfer
18-12-2006, 23:39
Seltsam, dass es bei dir so aussieht. Bei mir sieht es wie unten gezeigt aus, nachdem ich deine Tabelle benutzt habe. Warum eigentlich \multirow{5} und{6}? Das soll sich doch über 4 Zeilen erstrecken. Was bedeutet denn die [3] dahinter?

Die Zeilen beziehen sich nicht auf "logische" Zeilen, sondern auf "physische". In deinem Fall also 7 oben und 8 unten.
Der optionale Parameter ist zum Fine-Tuning. Mehr dazu steht in der Readme-Datei des Paketes. Ich gebe zu, der dort angegebene Verwendungsfall trifft nicht auf dein Beispiel zu, aber ich fand, dass es so besser hingehauen hat. (Das hängt wohl mit den Zeilenumbrüchen innerhalb der "logischen" Zeilen zusammen, die werden bei der Angabe der "echten" Anzahl der Zeilen scheinbar nicht berücksichtigt. Ist ja auch irgendwo klar.)

Matthias

DAB268
19-12-2006, 00:33
Aso.

Aber weiterhin bleibt die Frage offen, wie man den Text zentriert bekommt.

Jemand eine Idee?

sofa-surfer
19-12-2006, 00:38
Aso.

Aber weiterhin bleibt die Frage offen, wie man den Text zentriert bekommt.

Jemand eine Idee?

_Was_ willst du denn noch zentriert haben?


\documentclass[10pt,twocolumn]{article}

%\usepackage{latex8}
\usepackage{times}
\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}

\usepackage{paralist}

\usepackage{hyperref}
\hypersetup{colorlinks=true, urlcolor=black, linkcolor=black, citecolor=black}
%\usepackage{breakurl}

\usepackage{tabularx}
\usepackage{multirow}

\usepackage{calc}

\usepackage{xcolor}

\usepackage[pdftex]{graphicx}

\usepackage[standard]{ntheorem}

\pagestyle{empty}

\begin{document}
\begin{table}
\label{tab:lebensdauer}
\begin{tabularx}{\linewidth}{|c|c|X|}
\hline
\multirow{7}[3]{*}{\rotatebox{90}{\parbox{\widthof{Transiente}}{\ centering Transiente Daten}}} & 1 & Transiente Ergebnisse einer Funktionsberechnung\\
& 2 & Lokale Variablen\\
& 3 & Globale Variablen und Daten auf dem Heap\\
& 4 & Daten, die für die gesamte Zeit einer Programmausführung bestehen\\
\hline\hline
\multirow{8}[4]{*}{\rotatebox{90}{\parbox{\widthof{Persistene}}{\ centering Persistente Daten}}} & 5 & Daten, die für mehrere Aufrufe von verschiedenen Programmen bestehen\\
& 6 & Daten, die so lange existieren, wie das Programm verwendet wird\\
& 7 & Daten, die mehrere Versionen eines Programmes bestehen\\
& 8 & Daten, die mehrere Versionen des Persistenz-Support-Systems bestehen\\
\hline
\end{tabularx}
\caption{Die unterschiedliche Lebensdauer von Daten (Persistenzzeiträume)\cite{AtkinsonOPOS}}
\end{table}

\end{document}

Matthias