PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tabelle mit tabularx, Probleme beim Zentrieren von Text



gabrielsaw
14-11-2005, 13:38
Hallo zusammen,

Ich habe folgendes Problem. Ich will eine Tabelle erstellen. Sie soll eine Bewertung von Software enthalten. Die Überschriften sollen zentriert, fett und umgebrochen werden, falls sie zu breit werden (Bis jetzt habe ich keine feste Breite). Wird die Tabelle zu groß ragt sie über den Rand hinaus. Das soll sie nicht, sondern umbebrochen werden (z.B. eine zweite Tabelle darunter). Die Zellen am linken Rand sollen linksbündig sein (Das sind die Testkriterien). und die anderen Zellen sollen mit "+" und "-" gefüllt werden. Diese Zeichen sollen fett und zentriert werden. Wie kann ich das machen? Hat jemand da eine gute Idee?



\begin{table}[ht]
\centering
\begin{tabularx}{\textwidth}{|l|X|X|X|X|}
\hline
& \centering \textbf{Tool 1} & \centering \textbf{Tool 2} & &\\
\hline
Bedienbarbeit & \centering\textbf{++} &\centering \textbf{+} & &\\
\hline
Erlernbarkeit &\centering\textbf{+} &\centering \textbf{+} & &\\
\hline
Hilfeunterstützung &\centering\textbf{+} &\centering \textbf{-{}-} & &\\
\hline
\end{tabularx}
\caption{Ergebnisse der Tests}
\end{table}

Und mir ist noch aufgefallen wenn ich z.B.
"Erlernbarkeit &\centering\textbf{+} &\centering \textbf{+} & \centering + & \centering --\\"
am Schluss dieses \centering kurz bevor das \\ kommt mache, dann meckert LateX rum. Hat jemand dazu eine Idee?

Ich habe hier noch ein Beispielbild im Anhang. Wenn ich jetzt in der letzten Spalte einen Text zentriert eintragen würde, dann meckert Latex.


lg gabrielsaw

countbela666
14-11-2005, 15:46
Hallöchen,

folgendes Minimalbeispiel definiert einen neuen Spaltentyp C, der auf dem Typ X basiert, dessen Inhalt zentriert und fett gesetzt wird (spart Schreibarbeit) und der an Stelle von \\ mit \arraybackslash abgeschlossen wird. Das fehlende \arraybackslash dürfte in deiner Variante für den Fehler mit der letzten Spalte verantwortlich gewesen sein.

\documentclass{article}
\usepackage{tabularx}
\begin{document}
\newcolumntype{C}{>{\bfseries\centering\arraybackslash}X}
\begin{table}[ht]
\centering
\begin{tabularx}{\textwidth}{|l|*{4}{C|}}\hline
& Tool 1 & Tool 2 & Tool 3 & Tool 4 ganz viel Text \\\hline
Bedienbarbeit & ++ & + & &\\\hline
Erlernbarkeit & + & + & &\\\hline
Hilfeunterstützung & + & -{}- & &\\\hline
\end{tabularx}
\caption{Ergebnisse der Tests}
\end{table}
\end{document}Grüße,
Marcel

P.S.: Text wird weder umgebrochen noch umbebrochen sondern umbrochen. :D

gabrielsaw
15-11-2005, 09:54
danke. Das hat super gepasst und meine Probleme sehr schnell gelöst.

Shapeshifter
26-10-2006, 20:15
Hi,

ich habe gerade das gleiche Problem. Allerdings funktioniert die Lösung nicht, weil ich nicht die ganze Spalte zentrieren möchte, sondern die erste "Reihe".

Kann mir jemand weiterhelfen?

Grüße,
Fabian

chrisch
29-10-2006, 21:03
[...]
weil ich nicht die ganze Spalte zentrieren möchte, sondern die erste "Reihe". Mit

\multicolumn{1}{c}{Text}
zentrierst du 'Text', unabhängig davon, wie die globale Ausrichtung der Spalte definiert ist.

ithrak
16-09-2010, 20:37
Hallo,

ich habe das gleiche Problem, der Code von contbela666 funktioniert aber nicht, er mach mir jede C-spalte ca. 5in breit.

Konkret mein "Problem": Ich möchte ich eine Tabelle, die vier Spalten und vier Zeilen enthält: Die linke Spalte rechtsbündig, die restlichen drei jeweils zentriert und *gleich breit*. Außerdem soll in jeder Zelle automatisch umgebrochen werden.

Wie mache ich das, ich finds nicht heraus... Bitte um rasche Hilfe, ist relativ dringend! Danke!

rais
16-09-2010, 21:26
Hallo und Herzlich Willkommen :)


ich habe das gleiche Problem, der Code von contbela666 funktioniert aber nicht, er mach mir jede C-spalte ca. 5in breit.

5 in? Das wären 127 mm ... was hast Du denn verändert? (Im Anhang die Tabelle nach Marcels Code, der Balken darunter ist 5 in breit).

MfG

ithrak
16-09-2010, 22:27
garnichts hab ich geändert... :( copy -> paste -> kompiliert -> spalten viel zu breit.

EDIT: achso, ja, \documentclass{article} hab ich nicht übernommen. keine ahnung, was da los ist... so kann ich jedenfalls nichts anfangen damit. gibts alternativen für diese anforderung?

rais
16-09-2010, 22:58
garnichts hab ich geändert... :( copy -> paste -> kompiliert -> spalten viel zu breit.

EDIT: achso, ja, \documentclass{article} hab ich nicht übernommen.

was dann? Lass sein Beispiel einfach mal _unverändert_ und _komplett_ laufen ...


keine ahnung, was da los ist...

... und dann poste Deinen eigenen Versuch


so kann ich jedenfalls nichts anfangen damit.

und so kann ich nichts mit Deiner/n Aussage/n anfangen ...

gibts alternativen für diese anforderung?
Es gibt (fast) immer Alternativen; so, wie ich die von Dir dargelegte Anforderung verstehe, sollte sich Marcels Code (zumindest) zweckmäßig erweisen.

MfG

ithrak
20-09-2010, 11:27
das tut er auch, solange ich ihn in einem leeren projekt verwende. unangenehmerweise verwende ich ein etwas umfangreicheres projekt, das ich nichtmal ansatzweise verstehe, weil latex für mich ein buch mit sieben siegeln ist. aus diesem grund werde ich keine fehlerbeschreibungen geben können, die für euch besonders hilfreichen sind, selbst wenn ich es versuchen würde. ich dachte, dass ihr vielleicht ideen habt, was sich derart auf die formatierung von tabellen auswirken könnte, bzw. was ich in meinem latex-projekt alles überprüfen, oder worauf ich in dem zusammenhang achten sollte. mein fehler, vielleicht hätte ich erwähnen sollen, dass ich anfänger bin.

so sieht das jedenfalls bei mir aus, vielleicht hilft das, um mal 'ne vermutung zu äußern:

rais
20-09-2010, 21:04
Moin moin,

das tut er auch, solange ich ihn in einem leeren projekt verwende.

das ist doch schonmal was: Du hast auf der einen Seite Marcels Code, der funktioniert, und auf der anderen Seite Dein eigenes Projekt drumherum. Nun sollte es doch kein Problem sein, dieses Dein Projekt soweit zu kürzen, bis der Fehler verschwindet (sprich: im Wesentlichen Marcels Code übriggeblieben ist).


unangenehmerweise verwende ich ein etwas umfangreicheres projekt, das ich nichtmal ansatzweise verstehe, weil latex für mich ein buch mit sieben siegeln ist.

Hast Du dieses Projekt von irgend jemand übernommen? Evtl lohnt eine entsprechende Rückfrage mit dem Ersteller dieses Projekts.


aus diesem grund werde ich keine fehlerbeschreibungen geben können, die für euch besonders hilfreichen sind, selbst wenn ich es versuchen würde. ich dachte, dass ihr vielleicht ideen habt, was sich derart auf die formatierung von tabellen auswirken könnte, bzw. was ich in meinem latex-projekt alles überprüfen, oder worauf ich in dem zusammenhang achten sollte.
Zunächst mal: Lass bitte Deine Shift- bzw. Umschalttaste nachsehen.:p
Achte auf Warnungen und Fehlermeldungen in Deiner .log.
Wenn Du eine Warnung oder gar eine Fehlermeldung erhältst und damit nix anzufangen weißt, dann poste den genauen Wortlaut dieser Meldung hier (vorzugsweise mit eigenem Minimalbeispiel).
Und vor Allem:Wenn Du schon etwas am Code veränderst, dann demonstriere auch, _was_ Du genau verändert hast, statt zu behaupten, der hier gepostete Code funktioniere in dieser Form nicht bei Dir (so auch das bei z. B. unterschiedlichen Paketversionen zumindest vorstellbar wär).


mein fehler, vielleicht hätte ich erwähnen sollen, dass ich anfänger bin.

Nun ja, wir haben alle irgend wann mal angefangen, aber gerade als Anfänger solltest Du Dich vllt erstmal um kleinere Projekte kümmern.;)


so sieht das jedenfalls bei mir aus, vielleicht hilft das, um mal 'ne vermutung zu äußern:
Zwei Vermutungen liegen nahe: In Deinem Projekt definiert etwas \textwidth um (kannst Du prüfen, indem Du einfach im Text -- vllt an diese Tabelle anschließend -- \the\textwidth ergänzt und Dir die entsprechende Ausgabe ansiehst bzw. hier postest ... oder in Deinem Projekt wird entweder C- oder X-Spalte bereits definiert (mit `m{5in}' vllt?)

MfG