PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : longtable:Textausrichtung innerhalb einer Zelle



geofutzi
21-03-2011, 09:38
Liebe Texler,

nach 6 Stunden rumprobieren und googlen konnte ich folgendes Problem nicht lösen:
In meiner 6-spaltigen Tabelle will ich in der letzten Spalte verschiedene Parameter untereinander auflisten. Die sollen zusätzlich an der Zahl untereinander ausgerichtet sein:

T 18°C
Lf 250 mS/cm
pH 6.97
usw.

Ich habe es schon mit der tabbing- und description-Umgebung probiert. Beides hätte theoretisch funktioniert, aber sobald ich eine der Umgebungen reinpacke, erzeugt mir Latex einen hässlichen vspace über dem ersten Parameter, wodurch die horizontale Ausrichtung nicht mehr stimmt.
Wie kann ich das lösen?

Code:

\documentclass[ngerman,fontsize=12pt]{scrreprt}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{graphicx}
\usepackage{amsmath,amssymb}
\usepackage{mathptmx}
\usepackage{longtable}
\usepackage{booktabs}
\newcommand{\oben}{\textsuperscript}
\newcommand{\unten}{\textsubscript}




\begin{document}
\raggedright
\small
\begin{longtable}{@{}p{1.6cm}@{}p{2.5cm}@{}p{2cm}l p{1.9cm}@{}p{2cm}}
\toprule
\textbf{Aquifer} & \textbf{Lokalität} & \textbf{Name} & \textbf{Filterstrecke} & \textbf{Typ} & \textbf{Parameter}\\
\midrule
\endfirsthead

\toprule
\multicolumn{6}{l}{\textit{Fortsetzung der Tabelle}}\\
\toprule
\textbf{Aquifer} & \textbf{Lokalität} & \textbf{Name} & \textbf{Filterstrecke} & \textbf{Typ} & \textbf{Parameter}\\
\midrule
\endhead

\bottomrule
\endlastfoot

\midrule
\multicolumn{6}{r}{\textit{Fortsetzung auf der folgenden Seite \dots}}\\
\bottomrule
\endfoot




& Bad Herrenalb & Otto-Therme II & \raisebox{\dimexpr\ht\strutbox-\totalheight\relax}[\ht\strutbox][\totalheight]{\includegraphics{bild.jpg}} & Na-Ca-Cl-SO\unten{4}-Mineral\-wasser &
T 18 °C \newline pH 7.45 \newline Sal 1.9 \newline Lf 3190 ${\mu}S/cm$ \newline TDS 1726 mg/l \newline O\unten{2} 1 mg/l \\

& Baden-Baden & Murquelle &
\raisebox{\dimexpr\ht\strutbox-\totalheight\relax}[\ht\strutbox][\totalheight]{\includegraphics{bild.jpg}} &
Na-Cl-Mineral-Thermal\-wasser &
T 50 °C \newline pH 7.25 \newline Sal 2.8 \newline Lf 7700 ${\mu}S/cm$ \newline TDS 4081 mg/l \newline O\unten{2} 2.8 mg/l \\


\end{longtable}



\end{document}


Vielen Dank schonmal im Voraus!

Nils

geofutzi
24-03-2011, 11:52
Liebe Texler,

auch das Einfügen einer zweiten Tabelle in die letzte Spalte führte nicht zum gewünschten Ergebnis, sondern zum gleichen Ergebnis wie die description- und tabbing-Umgebung: in allen anderen Zellen wird ein vertikaler Abstand eingefügt.



\documentclass[ngerman,fontsize=12pt]{scrreprt}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{graphicx}
\usepackage{amsmath,amssymb}
\usepackage{mathptmx}
\usepackage{longtable}
\usepackage{booktabs}
\usepackage{multirow}
\newcommand{\oben}{\textsuperscript}
\newcommand{\unten}{\textsubscript}

\begin{document}
\raggedright
\small
\begin{longtable}{@{}p{1.6cm}@{ }|p{2.5cm}@{}p{2cm}lp{1.9cm}@{}p{2cm}}
\toprule
\textbf{Aquifer} & \textbf{Lokalität} & \textbf{Name} & \textbf{Filterstrecke} & \textbf{Typ} & \textbf{Parameter}\\
\midrule
\endfirsthead

\toprule
\multicolumn{6}{l}{\textit{Fortsetzung der Tabelle}}\\
\toprule
\textbf{Aquifer} & \textbf{Lokalität} & \textbf{Name} & \textbf{Filterstrecke} & \textbf{Typ} & \textbf{Parameter}\\
\midrule
\endhead

\bottomrule
\endlastfoot

\midrule
\multicolumn{6}{r}{\textit{Fortsetzung auf der folgenden Seite \dots}}\\
\bottomrule
\endfoot




\multirow{12}*{Kristallin} & Bad Herrenalb & Otto-Therme II &
\raisebox{\dimexpr\ht\strutbox-\totalheight\relax}[\ht\strutbox][\totalheight]{\includegraphics{bild.jpg}} &
Na-Ca-Cl-SO\unten{4}-Mineral\-wasser &
\begin{tabular}{@{}l@{ }l}

T & 18 °C \\ pH & 7.45 \\ Sal & 1.9 \\ Lf & 3190 ${\mu}S/cm$ \\ TDS & 1726 mg/l \\ O\unten{2} & 1 mg/l \\

\end{tabular} \\
\cline{2-6}

& Baden-Baden & Murquelle &
\raisebox{\dimexpr\ht\strutbox-\totalheight\relax}[\ht\strutbox][\totalheight]{\includegraphics{bild.jpg}} &
Na-Cl-Mineral-Thermal\-wasser &
\begin{tabular}{@{}l@{ }l}

T & 18 °C \\ pH & 7.45 \\ Sal & 1.9 \\ Lf & 3190 ${\mu}S/cm$ \\ TDS & 1726 mg/l \\ O\unten{2} & 1 mg/l \\

\end{tabular}\\

\end{longtable}

\end{document}


Nach endlosem Rumprobieren scheint mir das Problem zu sein, dass sich die vertikale Ausrichtung des Inhaltes der anderen Zellen an der letzten Zelle zentriert. Aber mit meinen rudimentären Latex-Kenntnissen finde ich keine Lösung dafür.

Und nochmal ein großen Dank an Schweinebacke, ohne seinen Codeschnipsel

\raisebox{\dimexpr\ht\strutbox-\totalheight\relax}[\ht\strutbox][\totalheight]{\includegraphics{bild.jpg}}

hätte ich es nicht hinbekommen, mein Bild am Text auszurichten. Aber da war das Problem ähnlich, aber die Lösung ist leider nicht die gleiche, hab ich schon probiert...

Kann mir bitte jemand helfen?

Gruß
Nils

Xenara
24-03-2011, 14:30
Wie wäre es mit so einer Lösung?

\documentclass[ngerman,fontsize=12pt]{scrreprt}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage[demo]{graphicx}
\usepackage{amsmath,amssymb}
\usepackage{mathptmx}
\usepackage{longtable}
\usepackage{booktabs}
\usepackage{blindtext}
\usepackage{tabu}
\usepackage{multirow}
\usepackage{textcomp}
\newcommand{\oben}{\textsuperscript}
\newcommand{\unten}{\textsubscript}


%%%%%%%%%
%% Aus l2picfaq.pdf
% neuer Befehl: \includegraphicstotab[..]{..}
% Verwendung analog wie \includegraphics
\newlength{\myx} % Variable zum Speichern der Bildbreite
\newlength{\myy} % Variable zum Speichern der Bildhöhe
\newcommand\includegraphicstotab[2][\relax]{%
% Zusätzlich eingefügt:
\raisebox{1.5ex}{
% Abspeichern der Bildabmessungen
\settowidth{\myx}{\includegraphics[{#1}]{#2}}%
\settoheight{\myy}{\includegraphics[{#1}]{#2}}%
% das eigentliche Einfügen
%\parbox[c][1.1\myy][c]{\myx}{%
% leicht abgeändert:
\parbox[t][1\myy][c]{\myx}{%
\includegraphics[{#1}]{#2}}}%
}% Ende neuer Befehl
%%%%%%%%%


\begin{document}

\section*{Mit Tabu, Sideways und X-Spalten}

\blindtext

%\raggedright
\small
\begin{longtabu}{cXXlp{2cm}l}
\toprule
\textbf{Aquifer}
& \textbf{Lokalität} & \textbf{Name} & \textbf{Filterstrecke} & \textbf{Typ} & \textbf{Parameter}\\
\midrule
\endfirsthead

\hline
\multicolumn{6}{l}{\textit{Fortsetzung der Tabelle}}\\
\toprule
\textbf{Aquifer} & \textbf{Lokalität} & \textbf{Name} & \textbf{Filterstrecke} & \textbf{Typ} & \textbf{Parameter}\\
\midrule
\endhead

\bottomrule
\endlastfoot

\midrule
\multicolumn{6}{r}{\textit{Fortsetzung auf der folgenden Seite \dots}}\\
\bottomrule
\endfoot


\multirow{2}{*}{\rotatebox{90}{Kristallin}} & Bad Herren\-alb & Otto-Therme II & \includegraphicstotab[height=2cm, width=3cm]{bild.jpg} & Na-Ca-Cl-SO\unten{4}-Mineral\-wasser &
\begin{tabular}[t]{@{}l@{~}l@{}}
T & 18\,°C \\
pH & 7.45 \\
Sal & 1.9 \\
Lf & 3190\,\textmu S/cm \\
TDS & 1726\,mg/l \\
O\unten{2} & 1\,mg/l \\
\end{tabular}
\\
%
\cmidrule{2-6}
%
& Baden-Baden & Murquelle &
\includegraphicstotab[height=2cm, width=2cm]{bild.jpg} &
Na-Cl-Mineral-Thermal\-wasser &
\begin{tabular}[t]{@{}l@{~}l@{}}
T & 50\,°C \\
pH & 7.25 \\
Sal & 2.8 \\\
Lf & 7700\,\textmu S/cm \\
TDS & 4081\,mg/l \\
O\unten{2} & 2.8\,mg/l
\end{tabular}
\\
\midrule
\multirow{2}{*}{\rotatebox{90}{Was anderes}} & Schwäbische Alp & Donauquelle & \includegraphicstotab[height=2cm, width=3cm]{bild.jpg} & Badewasser &
\begin{tabular}[t]{@{}l@{~}l@{}}
T & 18\,°C \\
pH & 7.45 \\
Sal & 1.9 \\
Lf & 3190\,\textmu S/cm \\
TDS & 1726\,mg/l \\
O\unten{2} & 1\,mg/l \\
\end{tabular}\\
%
\cmidrule{2-6}
%
& Irgendwo & Quelle &
\includegraphicstotab[height=2cm, width=2cm]{bild.jpg} &
Kein Trinkwasser &
\begin{tabular}[t]{@{}l@{~}l@{}}
pH & 7.25 \\
Sal & 2.8 \\\
Lf & 7700\,\textmu S/cm \\
TDS & 4081\,mg/l \\
O\unten{2} & 2.8\,mg/l
\end{tabular}


\end{longtabu}
\normalsize

\blindtext

\end{document}

geofutzi
24-03-2011, 16:17
Danke für deine Antwort, aber ich kriege es leider nicht hin, tabu.dtx zu entpacken... bei miktex 2.8 ist das Paket nicht standardmäßig installiert worden und bei einer manuellen Installation weigert sich der package manager.

Leider gibt es nur die .dtx-Datei und nirgendwo ist wirklich für Vollidioten erklärt, wie man die entpackt.
Werde mich morgen wieder dem Problem widmen.

Tausend Dank


Nils

Xenara
24-03-2011, 16:46
Manuelle Variante für Windows, bei der tabu.sty im gleichen Ordner wie das Dokument sein muss:

1. tabu.zip herunterladen von CTAN, entpacken
2. Im entpackten Ordner "tabu.ins" mit TeXnicCenter (oder einem anderen Editor) öffnen
3. Ganz normal mit PDFLaTeX kompilieren.
4. Im Ordner ist jetzt die Datei tabu.sty entstanden. Diese in den Hauptordner mit deinem .tex-Dokument legen. Jetzt sollte es klappen.

Anmerkung zu 3:
Du kannst auch über die Shell/Eingabeaufforderung/Konsole im entsprechenden Ordner "latex tabu.ins" aufrufen.

In tabu.dtx ist die Doku drin, du kannst dir auch einfach das PDF von CTAN laden.

geofutzi
24-03-2011, 17:31
Tausend Dank, Xenara!!! Sieht echt brutal gut aus, genauso hab ichs mir vorgestellt. Aber nie im Leben wäre ich drauf gekommen:o

Auch das Entpacken hat gut funktioniert mit TeXnixCenter, weiß ich das auch mal...

Nochmal tausend Dank!!!

Nils