PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : raggedleft/raggedright zerstört die gesamte tabelle



kokomiko
22-09-2013, 14:34
Hallo,

ich füge meine Tabellen folgendermaßen in mein tex Dokument ein:

Premeable:

\usepackage{array}
\usepackage{ltxtable}
\usepackage{longtable}
\usepackage[table]{xcolor}
\definecolor{lightgray}{RGB}{242,242,242}
\definecolor{white}{RGB}{255,255,255}
% alternate rowcolors for all long-tables
\let\oldlongtable\longtable
\let\endoldlongtable\endlongtable
\renewenvironment{longtable}{\rowcolors{2}{white}{ lightgray}\oldlongtable} {
\endoldlongtable}



Im Dokument:

\LTXtable{\textwidth}{tabellen/buffer.tex}

und dann die externe datei:


\begin{longtable}{>{\raggedright}p{0.155\textwidth} X {0.3\textwidth}}

%Head and Caption
\hline
\rowcolor[RGB]{223,223,223}
\multicolumn{1}{l}{\textbf{Medium}} & \multicolumn{1}{l}{\textbf{Components}} & \multicolumn{1}{l}{\textbf{Reference}} \\
\hline
\endfirsthead

\hline
\rowcolor[RGB]{223,223,223}
\multicolumn{1}{l}{\textbf{Medium}} &
\multicolumn{1}{l}{\textbf{Components}} &
\multicolumn{1}{l}{\textbf{Reference}} \\ \hline
\endhead

%\hline \multicolumn{3}{|r|}{{Continued on next page}} \\
\hline
\rowcolor[RGB]{255,255,255}
\caption[List of cultivation media used in this work. Solid media contained 1.8\% agar.]{List of cultivation media used in this work. Solid media contained 1.8\% agar.}
\endfoot

\hline
\rowcolor[RGB]{255,255,255}
\caption[List of cultivation media used in this work. Solid media contained 1.8\% agar. ]{List of cultivation media used in this work. Solid media contained 1.8\% agar.}
\label{tab:media}
\endlastfoot


%... die Tabelle...

YEP & 2.0\% (w/v) Bacto-peptone, 1.0\% (w/v) Bacto-yeast extract, carbon source & \cite{Sherman1991}\\

SC & 0.17\% (w/v) yeast nitrogen base without amino acids, 0.5\% (w/v) (NH\textsubscript{4})\textsubscript{2}SO\textsubsc ript{4},
0.08 mM adenine, 0.22 mM arginine, 0.25 mM histidine, 0.44 mM isoleucine, 0.44 mM leucine, 0.35 mM lysine, 0.26 mM methionine, 0.29 mM phenylalanine, 0.19 mM tryptophane, 0.48 mM threonine, 0.34 mM tyrosine, 0.44 mM uracile, 0.49 mM valine, carbon source, pH 6.3 &\cite{Zimmermann1975}\\

SM & 0.17\% (w/v) yeast nitrogen base without amino acids, 0.5\% (w/v) (NH\textsubscript{4})\textsubscript{2}SO\textsubsc ript{4}, 0.272\% (w/v)
KH\textsubscript{2}PO\textsubscript{4}, carbon source, pH 6.3 & \cite{Sherman1991}\\

\end{longtable}


So funktioniert das auch alles. Ich möchte jetzt aber, dass auch die Spalte ganz rechts über >{\raggedright} ebenfalls linksbündig wird. Wenn ich das einfüge, zerstört es allerdings die komplette Tabelle. Gleichzeitig möchte ich aber eine Spalte mit "X" belegen, da ich so hinbekomme, dass die Tabelle nicht über die Seite herausragt und bündig mit dem Text ist.
Ich würde ungern ein anderes Paket nehmen:( Longtabu habe ich mir angeschaut, konnte aber nicht rausbekommen, wie ich eine externe Datei einbinde. Da meine Tabellen z.T. sehr lang sind, finde ich es sehr praktisch, sie nicht innerhalb meines Dokuments zu haben, sondern in externen Dateien.

Vielen Dank!

esdd
22-09-2013, 20:04
\begin{longtable}{>{\raggedright}p{0.155\textwidth} X {0.3\textwidth}}
...

So funktioniert das auch alles.

Das glaube ich nicht. Obiger Code führt bei mir zu Fehlermeldungen. Bitte mache immer ein richtiges Minimalbeispiel (http://texwelt.de/wissen/fragen/569/was-ist-ein-vollstandiges-minimalbeispiel-oder-kurz-vm-und-wie-erstelle-ich-dieses/570) und teste es auch.

Hier ist mal trotzdem ein Vorschlag:

\begin{longtable}{>{\raggedright\arraybackslash}p{0.155\textwidth} X >{\raggedright\arraybackslash}p{0.3\textwidth}}
oder

\begin{longtable}{l X >{\raggedright\arraybackslash}p{0.3\textwidth}}

Wobei es eventuell besser ist auch die mittlere Spalte linksbündig zu setzen.

Gruß
Elke

klops
23-09-2013, 10:23
Die Problematik mit \raggedright in der letzten Spalte wird in dieser Antwort (http://texwelt.de/wissen/fragen/1805/ist-es-moglich-x-spalten-in-tabellen-linksbundig-auszurichten/1806) übrigens recht gut erklärt. Sie findet sich auch explizit in der Anleitung zu Paket tabularx in Abschnitt 4.2. Besagte Antwort lohnt sich aber schon allein wegen des Kommentars dazu.

kokomiko
23-09-2013, 15:45
@esdd: sorry, da fehlt ein p.
\begin{longtable}{>{\raggedright}p{0.155\textwidth} X p{0.3\textwidth}} "l" bringt nicht soviel, da p dasselbe macht, allerdings mit der möglichkeit die spaltenbreite zu definieren.
\arraybackslash hat funktioniert, vielen Dank!:D
Warum gibt es denn überhaupt einen Befehl, der \\ in der Tabelle aufhebt?:confused:
Ich bin ja ein befürworter von latex, aber ich muss zugeben, dass es doch sehr mühsam ist, sich jede dokumentation für jedes paket durchzulesen. Besonders, wenn man, wie ich, latex eher selten für die erstellung für große dokumente verwendet. Ich frage mich ja, ob das nicht für den Großteil der Latexbenutzer zutrifft.:rolleyes: