Anzeige:
Ergebnis 1 bis 8 von 8

Thema: longtable-Spalte linksbündig und mit fester Breite?

  1. #1
    Registrierter Benutzer
    Registriert seit
    18.09.2005
    Beiträge
    32

    longtable-Spalte linksbündig und mit fester Breite?

    Heyho.

    Ich bin ein wenig überrascht, weil ich zu meinem "Allerweltsproblem" so einfach nichts finden konnte. Kann ich einer linksbündig ausgerichteten Spalte in einer longtable-Tabelle (hm...) irgendwie eine feste Breite zuordnen? Zunächst scheint das ja nur bei Blocksatz-Spalten zu gehen. Ich kann mir allerdings nicht vorstellen, dass es dafür keine Lösung gibt. Ich hatte mir das eigentlich irgendwie folgendermaßen vorgestellt:

    \begin{longtable}{|l{3cm}|p{3cm}|l|l|l|l|}

    Die cm-Angabe geht aber offensichtlich nur in den p-Spalten. Kann das sein? Und gibt es irgendeine Alternative?

    Besten Dank vorab, Gruß aus HB,

    Toob

    [edit:] Besten Dank, falls sich schon jemand die Mühe gemacht hat, darüber nachzudenken, aber ich gebe jetzt auf. So schön Latex hier und da auch ist, die Tabellen können den Unbedarften ja völlig fertig machen. Es ist ja bitter, das festzustellen, aber tatsächlich scheinen Tabellen in den entsprechenden Textverarbeitungsprogrammen der verschiedenen Office-Pakete leichter zu formatieren zu sein als mittels Latex. Es muss doch möglich sein, eine Tabelle über mehrere Seiten mit entsprechendem Seitenumbruch und einigermaßen festen Abmessungen (ein Text, der weit über den Papierrand hinausläuft, kann ja wohl in der Geschichte der Gestaltung von Druck-Erzeugnissen noch kaum jemandem genützt haben) zu gestalten, ohne sich dafür maßlos viele Workarounds zu bauen. Ich bin den Tränen nahe...
    Geändert von toob (20-03-2006 um 21:27 Uhr)

  2. #2
    Registrierter Benutzer Avatar von countbela666
    Registriert seit
    15.04.2005
    Ort
    Berlin
    Beiträge
    2.317
    Hallo toob,

    nicht doch gleich verzweifeln. Und ja, eine feste Spaltenbreite kannst du nur in den Spaltentypen p und m angeben. Den Blocksatz kannst du für beliebige Spalten (bzw. mit dem multicolumn-Trick auch für einzelne Zellen) durch ein \raggedright bzw. durch das bessere \RaggedRight des Pakets ragged2e ausschalten. Hier mal ein MB:
    Code:
    \documentclass{article}
    \usepackage{ragged2e,array,longtable}
    \newcommand{\blindtext}{ganz viel Text, der den einzigen Zweck hat, einen Zeilenumbruch zu erzeugen}
    \begin{document}
      \begin{longtable}{|>{\RaggedRight}p{3cm}|p{3cm}|l|l|l|}\hline
        \blindtext&\blindtext&3&4&5\\\hline
        \blindtext&\blindtext&3&4&5\\\hline
      \end{longtable}
    \end{document}
    Grüße,
    Marcel

    Listen to me children of the night, beyond the doors of darkness you will find
    a thousand worlds for you to see here, take my hand and follow me...

  3. #3
    Registrierter Benutzer
    Registriert seit
    18.09.2005
    Beiträge
    32
    Vielen Dank, so sieht das alles schon sehr viel besser aus.

  4. #4
    Registrierter Benutzer
    Registriert seit
    25.10.2006
    Beiträge
    15
    Guten Morgen,

    ich habe eine Frage bzgl. der longtable umgebung.
    Ich habe die Spaltenbreite so definiert :
    \begin{longtable}{||p{22mm}|p{18mm}|p{22mm}|p{22mm }|p{34mm}||}
    Wie definiere ich nun, das in den einzelnen Zellen der Text zentriert wird?
    Die sind alle linksbündig.

    Hoffe ihr könnt mir helfen

    gruß

  5. #5
    Registrierter Benutzer Avatar von sofa-surfer
    Registriert seit
    23.05.2006
    Beiträge
    2.032
    Zitat Zitat von metman Beitrag anzeigen
    Guten Morgen,

    ich habe eine Frage bzgl. der longtable umgebung.
    Ich habe die Spaltenbreite so definiert :
    \begin{longtable}{||p{22mm}|p{18mm}|p{22mm}|p{22mm }|p{34mm}||}
    Wie definiere ich nun, das in den einzelnen Zellen der Text zentriert wird?
    Die sind alle linksbündig.

    Hoffe ihr könnt mir helfen

    gruß
    Das Beispiel von Marcel (oben) hast du dir aber schon angeschaut? Letztlich musst du doch nur \RaggedRight mit \centering ersetzen. Da du es für mehrere Spalten haben willst habe ich im folgenden Beispiel gleich einen neuen Spaltentyp dafür angelegt:

    Code:
    \documentclass{article}
    \usepackage{longtable,array}
    \newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}
    
    \begin{document}
    
    \begin{longtable}{||C{22mm}|C{18mm}|C{22mm}|C{22mm }|C{34mm}||}
    Text & Text & Text & Text & Text 
    \end{longtable}
    
    \end{document}
    Matthias

  6. #6
    Registrierter Benutzer
    Registriert seit
    25.10.2006
    Beiträge
    15
    Hallo Matthias,

    supergenial. Hat geklappt. Danke!
    Da wäre ich nie draufgekommen.

    gruß

    EDIT : Ok, eine Frage hätte ich nun doch noch (sorry).
    Möchte nun das der Text horizontal in der mitte ausgerichtet wird und nicht oben.
    Geändert von metman (23-03-2007 um 08:54 Uhr)

  7. #7
    Registrierter Benutzer Avatar von countbela666
    Registriert seit
    15.04.2005
    Ort
    Berlin
    Beiträge
    2.317
    Zitat Zitat von metman Beitrag anzeigen
    Ok, eine Frage hätte ich nun doch noch (sorry).
    Möchte nun das der Text horizontal in der mitte ausgerichtet wird und nicht oben.
    Horizontal wird der Inhalt bereits durch \centering zentriert, eine vertikale Zentrierung erreichst du mit dem Spaltentyp m:
    Code:
    \newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}}
    Grüße
    Marcel

    Listen to me children of the night, beyond the doors of darkness you will find
    a thousand worlds for you to see here, take my hand and follow me...

  8. #8
    Registrierter Benutzer
    Registriert seit
    25.10.2006
    Beiträge
    15
    Hallo Marcel,

    super Danke. Ich hatte mich vertipt. ich meinte vertikal

    gruß

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •