Anzeige:
Ergebnis 1 bis 9 von 9

Thema: tabularx: 2 Spalten mittig ausrichten

  1. #1
    Registrierter Benutzer
    Registriert seit
    21.06.2009
    Beiträge
    24

    tabularx: 2 Spalten mittig ausrichten

    Hallo zusammen,

    ich habe mir eine Fallunterscheidung mit Zeilenumbrüchen zusammengebastelt:
    Code:
    \begin{flalign*}
    \begin{aligned}
    &x_{123} = \left\{\begin{tabularx}{\linewidth}{m{2.5cm}X}
       spalte 1 mit zeilenumbruch &dann sollte spalte 2 mittig sein\\
        spalte 1& wenn hier ein zeilenumbruch ist, sollte spalte 1 mittig sein, dass funktioniert aber leider nicht\end{tabularx}\right.\\
    \end{aligned}
    \end{flalign*}
    Ich habe folgenden Fragen:
    1. Wie muss ich das umstellen, damit bei einem Zeilenumbruch die jeweils andere Zeilen mittig ausgerichtet wird.
    2.\linewidth scheint so nicht zu funktionieren, wahrscheinlich wegen der Klammer davor. Wie bestimme ich den restlichen Platz?
    3.Wenn mir jemand um diese Uhrzeit noch sagen kann, wie ich den Zeilenabstand bei dem Umbruch evtl. etwas kleiner bekomme,

    dann geht mein Tag gut los.

    Gute Nacht

  2. #2
    Registrierter Benutzer
    Registriert seit
    28.05.2009
    Beiträge
    407
    Momentan kann ich dein Problem nur teilweise lösen.
    Code:
    \documentclass{scrartcl}
    
    \usepackage[latin9]{inputenc}
    \usepackage[ngerman]{babel}
    \usepackage[T1]{fontenc}
    \usepackage{amsmath,tabularx,array}
    
    \begin{document}
    
    \begin{flalign*}
    x_{123}=\left\{%
    	\begin{array}{m{2.5cm}m{0.4\textwidth}}
    	1 & 1\\
    	text text text text text text text text text text text text text text text text text text  & 1\\
    	1 & text text text text text text text text text text text text text text text text text text text text \\
    	text text text text text text text text text text text text text text text text text text text text  & text text text text text text text text text text text text text text text text text text text text \\
    	\end{array}
    \right.
    \end{flalign*}
    
    \end{document}
    MiKTex 2.9 | TeXstudio 2.8.2 | TeXworks 0.4.5

  3. #3
    Registrierter Benutzer
    Registriert seit
    21.06.2009
    Beiträge
    24
    Guten Morgen,

    Zitat Zitat von Legion Beitrag anzeigen
    Momentan kann ich dein Problem nur teilweise lösen.
    Danke schon mal für den Code. Der Zeilenumbruch und die vertikale Ausrichtung sehen aber schon mal gut aus.

    Wenn ich das richtig sehe, geht durch die Verwendung von \textwidth bzw. \linewidth die Ausrichtung der Formel am linken Rand verloren. Das ist mir letzte Nacht gar nicht aufgefallen.

    Kann man das noch beheben? Hängt ja wahrscheinlich mit der Frage der automatischen Berechnung der verbleibenden Textbreite zusammen.


    Danke schonmal.

  4. #4
    Registrierter Benutzer
    Registriert seit
    18.05.2010
    Beiträge
    79
    Hallo,

    Vorschlag zur Sache mit den Zeilenabständen:

    Code:
    \documentclass{scrartcl}
    \usepackage[latin9]{inputenc}
    \usepackage[ngerman]{babel}
    \usepackage[T1]{fontenc}
    \usepackage{amsmath,tabularx,array}
    
    \usepackage{setspace}
    
    
    \begin{spacing}{0.7}
    \begin{flalign*}
    x_{123}=\left\{%
            \begin{array}{m{2.5cm}m{0.4\textwidth}}
            1 & 1\\   \vskip 0.5\baselineskip
            text text text text text text text text text text text text text text text text text text  & 1\\  \vskip 0.5\baselineskip
            1 & text text text text text text text text text text text text text text text text text text text text \\ \vskip 0.5\baselineskip
            text text text text text text text text text text text text text text text text text text text text  & text text text text text text text text text text text text text text texttext text text text text
            \end{array}
    \right.
    \end{flalign*}
    \end{spacing}
    
    \end{document}

  5. #5
    Registrierter Benutzer
    Registriert seit
    21.06.2009
    Beiträge
    24
    Danke für den Vorschlag Karlo, eine kleine Änderung war noch nötig.

    Der
    Code:
    \vskip 0.5\baselineskip
    muss in der Spalte eingefügt werden, die umgebrochen wird und nicht immer hinter dem \\.
    Siehe 2. Zeile des Arrays weiter rechts.
    Sonst passt der Abstand nicht, wenn die erste Spalte umgebrochen wird und die zweite nicht.

    Code:
    \documentclass{scrartcl}
    \usepackage[latin9]{inputenc}
    \usepackage[ngerman]{babel}
    \usepackage[T1]{fontenc}
    \usepackage{amsmath,tabularx,array}
    
    \usepackage{setspace}
    
    \begin{spacing}{0.7}
    \begin{flalign*}
    x_{123}=\left\{%
            \begin{array}{m{2.5cm}m{0.4\textwidth}}
            1 & 1\\   \vskip 0.5\baselineskip
            text text text text text text text text text text text text text text text text text text \vskip 0.5\baselineskip  & 1\\ 
            1 & text text text text text text text text text text text text text text text text text text text text \\ \vskip 0.5\baselineskip
            text text text text text text text text text text text text text text text text text text text text  & text text text text text text text text text text text text text text texttext text text text text
            \end{array}
    \right.
    \end{flalign*}
    \end{spacing}
    
    \end{document}
    Jetzt fehlt nur noch die linke Ausrichtung und die Breite. Die aber wahrscheinlich zusammen gehören.

    Schonmal vielen Dank bis hierhin

    Gruß
    ichbrauchehilfe
    Geändert von ichbrauchehilfe (20-05-2010 um 12:50 Uhr)

  6. #6
    Registrierter Benutzer
    Registriert seit
    18.05.2010
    Beiträge
    79
    Das ist sicher nicht die schönste Lösung, aber du könntest den Spaß in eine Minipage packen. Die dann mit passender Breite so, dass linksbündig=zentriert.

    lg
    Karlo

  7. #7
    Registrierter Benutzer
    Registriert seit
    21.06.2009
    Beiträge
    24
    Hi,

    kannst du mir dafür

    Zitat Zitat von Karlo Beitrag anzeigen
    ...aber du könntest den Spaß in eine Minipage packen. Die dann mit passender Breite so, dass linksbündig=zentriert.
    vielleicht mal einen Beispielcode posten, der eine Minipage enthält?
    Habe damit noch nie gearbeitet.

    Danke

  8. #8
    Registrierter Benutzer
    Registriert seit
    18.05.2010
    Beiträge
    79
    Hab es einfach mal in obige Beispiel eingefügt, wobei ich noch 0.4\textwidth in 7cm geändert habe. Minipage verwende ich sonst, wenn ich Grafiken nebeneinander bringen möchte.

    Code:
    \begin{spacing}{0.7}
    \begin{minipage}[t]{12cm}
    \begin{flalign*}
    {x_{123}=\left\{%
            \begin{array}{m{2.5cm}m{7cm}}
            1 & 1\\   \vskip 0.5\baselineskip
            text text text text text text text text text text text text text text text text text text  & 1\\  \vskip 0.5\baselineskip
            1 & text text text text text text text text text text text text text text text text text text text text \\ \vskip 0.5\baselineskip
            text text text text text text text text text text text text text text text text text text text text  & text text text text text text text text text text text text text text texttext text text text text
            \end{array}
    \right.}
    \end{flalign*}
    \end{minipage}
    LG
    Karlo

  9. #9
    Registrierter Benutzer
    Registriert seit
    21.06.2009
    Beiträge
    24
    Danke, dass sieht gut aus.

    Ist zwar was Handarbeit, wenn man die Textbreite ändert, aber das macht man ja auch nicht jeden Tag.

    Vielen Dank

Lesezeichen

Berechtigungen

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