Anzeige:
Ergebnis 1 bis 8 von 8

Thema: Problem beim vertikalen zentrieren einer Tabellenzeile mit \multicolumn

  1. #1
    Registrierter Benutzer
    Registriert seit
    10.02.2005
    Beiträge
    7

    Problem beim vertikalen zentrieren einer Tabellenzeile mit \multicolumn

    Hallo!

    Bei der Darstellung von physikalischen Einheiten in einer Tabelle hatte ich das
    Problem, dass die Einheitenbrüche oben und unten an den Tabellenrand
    anstiessen. Nun habe ich \extrarowheight und \multicolumn eingesetzt, wobei ich mit der Option
    m die Zeile zentriere:

    [..]
    \usepackage{array}
    [..]
    \setlength{\extrarowheight}{0.6em}
    [..]
    \begin{tabular}{|p{4cm}|p{2cm}|p{1cm}|p{3cm}|}
    \hline
    \multicolumn{1}{|m{4cm}}{Innendurchmesser} &
    \multicolumn{1}{|m{2cm}}{$D_i$} &
    \multicolumn{1}{|m{1cm}}{[$mm$]} &
    \multicolumn{1}{|m{3cm}|}{$\,\pm\,$} \\
    \hline

    Das funktioniert aber nicht, die Zeile ist nach wie vor nicht zentriert.
    Wenn ich aber die erste Tabellenzelle nicht zentriere, dann sind die folgenden
    drei Zellen auf einmal zentriert:

    \begin{tabular}{|p{4cm}|p{2cm}|p{1cm}|p{3cm}|}
    \hline
    \multicolumn{1}{|b{4cm}}{Innendurchmesser} &
    \multicolumn{1}{|m{2cm}}{$D_i$} &
    \multicolumn{1}{|m{1cm}}{[$mm$]} &
    \multicolumn{1}{|m{3cm}|}{$\,\pm\,$} \\
    \hline

    Ein Bug bei MikTex?

    Wenn jemand eine andere Idee hat, 1) die Zeilenhöhe zu vergrößern und
    2) die Textzeile darin vertikal zu zentrieren, möge er bitte helfen!
    Das wäre super nett!

    Gruß
    Torsten

  2. #2
    Registrierter Benutzer
    Registriert seit
    09.07.2004
    Beiträge
    2.365
    ... wenn du auf multicolumn fixiert bist, dann überlies dieses posting. Ansonsten hier eine Lösung für deine 2 Problembeschreibungen (Ob das macro auf multicolumn adaptiert werden kann, überlass ich dann dir):
    ...
    %--- Zeilenhoehe in Tabellen -------------------------------------------------
    \makeatletter
    \newcommand*{\Formel}[1]{%
    \begingroup
    \setbox\@tempboxa=\hbox{%
    \ensuremath{%
    \displaystyle
    #1%
    }%
    }%
    % Hinzufuegung von 1ex zu Hoehe (\ht)
    % und Tiefe (\dp) der Box.
    % Umweg ueber \dimen@ erforderlich,
    % da man \ht, und \dp nur etwas zuweisen,
    % aber nichts hinzufuegen kann.
    \setlength{\dimen@}{\ht\@tempboxa}%
    \addtolength{\dimen@}{1ex}%
    \setlength{\ht\@tempboxa}{\dimen@}%
    \setlength{\dimen@}{\dp\@tempboxa}%
    \addtolength{\dimen@}{1ex}%
    \setlength{\dp\@tempboxa}{\dimen@}%
    \usebox\@tempboxa
    \endgroup
    }
    \makeatother
    %-----------------------------------------------------------------------------
    ...
    \begin{table}[!hp]
    \centering
    \begin{tabular}{|c|c|c|c|}
    \hline
    Innendurchmesser &\Formel{D_i} &\Formel{[mm]} &\Formel{\,\pm\,} \\
    \hline
    \end{tabular}
    \caption{Physikalische Einheiten}
    \end{table}
    ...
    edico

  3. #3
    Registrierter Benutzer
    Registriert seit
    10.02.2005
    Beiträge
    7
    Danke, Edico, Dein Vorschlag hat geklappt!

    Gruß
    Torsten

  4. #4
    Registrierter Benutzer
    Registriert seit
    04.03.2006
    Beiträge
    10

    Question

    Hallo!

    Ich habe ein ähnliches Problem. Ich möchte jedoch Brüche vertikal zentrieren.
    Leider habe ich es bei ihnen wie oben beschrieben nicht hinbekommen, zumal Zähler und Nenner der Brüche plötzlich für sich so groß sind wie einzelne Ziffern. Zudem wird auch beispielsweise der Abstand des Zählers zum Bruchstrich unwillentlich vergrößert.

    Kann mir jemand weiterhelfen???

    Mein Minimalbeispiel:

    Code:
    \begin{tabular}{*{9}{|c}|}\hline
    
    Nummer & 1 & 2 & 3 & 4 & 5 & 6 & 7 & \ldots\\\hline
    Bruch & $\frac{1}{2}$ & $\frac{1}{3}$ & $\frac{2}{3}$ & $\frac{1}{4}$ & $\frac{2}{4}$ & $\frac{3}{4}$ & $\frac{1}{5}$ & \ldots\\\hline
    
    \end{tabular}
    Die fettgedruckten Brüche würde ich gern vertikal zentriert haben, damit sie nicht oben bzw. unten an der Linie "kleben"...
    Geht das?

    Danke schon einmal für die Hilfe.

    Gruß, Katha

  5. #5
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    1) Dies ist kein Minimalbeispiel (aber schon wesentlich besser, als vieles, was ich bis jetzt gesehen hab Minimalbeispiel = 1: Minimal, 2: Kompilierbar, ohne weiteren Code hinzuzufügen)

    2) Zum Problem: Eine wirklich saubere Lösung hab ich nicht - zur Not könntest dus aber mit nem \vspace*{2mm} versuchen.

    MfG Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  6. #6
    Registrierter Benutzer
    Registriert seit
    09.07.2004
    Beiträge
    2.365
    @bischi: so geht das nicht
    Nimm eine parbox, mache ein kleines Makro, so dass du nicht immer alles neu schreiben musst.
    edico

  7. #7
    Registrierter Benutzer
    Registriert seit
    10.08.2007
    Beiträge
    5

    Hätte da auch ein Problem beim verikalen zentrieren

    Hallo!

    Vielleicht kann mir ja jemand weiter helfen, bis jetzt hat noch nichts was ich hier gefunden habe so richtig geklappt.

    Im folgenden ist mein Header und die entsprechende Tabelle (leider wird das ne recht große Tabelle).

    \documentclass[pdftex,a4paper,appendixprefix,bibtotocnumbered,lis tstotocnumbered]{scrreprt}
    ...
    \usepackage{array}
    \usepackage{tabularx}
    \usepackage{float}
    \usepackage{amsmath}
    \usepackage{amsthm}
    \usepackage{amsfonts}
    \usepackage{multicol}
    \usepackage{longtable}
    \usepackage{rotating}
    \usepackage[aboveskip=0.5cm,belowskip=1.5cm]{caption}

    \begin{table}[htbp]
    \scriptsize
    \centering
    $\begin{tabular}{|p{0.06\textwidth}|p{0.2\textwidt h}|p{0.15\textwidth}|p{0.25\textwidth}|p{0.15\text width}|}
    \hline
    {\textbf{Probe}}&{\textbf{Precursor}}&{\textbf{Lösemittel/\newline Zusatz} } & {\textbf{Bedingungen/ \newline Nachbehandlung}} & {\textbf{Produkt}} \\
    \hline
    VC1 & Dy(Oleat)_3 & Hexan 20ml \newline NH_3 1ml & 24h/250°C, \newline pH=9 & \\ \hline
    VC6 & Gd3(O^tBu)_9HO^tBu_2 & ^iPrOH 20ml \newline KOH 1ml & 24h/250°C & \\ \hline
    VC8 & Dy3(O^tBu)_9HO^tBu_2/ Fe_2O^tBu_6 (1:3)& ^iPrOH~20ml,\newline THF~1ml \newline KOH 1ml & 24h/250°C & \\ \hline
    VC13 & Gd3(O^tBu)_9HO^tBu_2 & MeOH 20ml & 3h/Rückfluß & \\ \hline
    \end{tabular}$
    \normalsize
    \caption{Übersicht von Umsetzungen der Vorstufen zum Material}
    \label{tab:zersetzungen}


    So hoffe das ist net zu verwirrend. Hätte auf jeden Fall gerne die Einträge v.a. in der 1. und 2. Spalte vertikal zentriert.

    Schon mal Danke für eure Hilfe
    Grüßle Vicky

  8. #8
    Registrierter Benutzer
    Registriert seit
    09.07.2004
    Beiträge
    2.365
    ... meinst Du es so:

    \documentclass{report}%{scrreprt}
    \usepackage{array,booktabs,calc}
    \usepackage[belowskip=9pt]{caption}
    \begin{document}
    here comes the text

    \begin{table}[htbp]
    \centering
    \caption{\"Ubersicht von Umsetzungen der Vorstufen zum Material}
    \label{tab:zersetzungen}
    \small
    \begin{tabular}{m{0.1\textwidth-2\tabcolsep}m{0.3\textwidth-2\tabcolsep}m{0.2\textwidth-2\tabcolsep}m{0.25\textwidth-2\tabcolsep}m{0.15\textwidth-2\tabcolsep}}
    \toprule
    {\textbf{Probe}} &
    {\textbf{Precursor}} &
    {\textbf{L\"osemittel/ \newline Zusatz} } &
    {\textbf{Bedingungen/ \newline Nachbehandlung}} &
    {\textbf{Produkt}} \\
    \midrule
    $VC1$ & $Dy(Oleat)_3$ & $Hexan 20ml$ \newline $NH_3 1ml$ & $24h/250C$, \newline $pH=9$ & \\ \midrule
    $VC6$ & $Gd3(O^tBu)_9HO^tBu_2$ & $^iPrOH 20ml$ \newline $KOH 1ml$ & $24h/250C$ & \\ \midrule
    $VC8$ & $Dy3(O^tBu)_9HO^tBu_2$ \newline $Fe_2O^tBu_6 (1:3)$ & $^iPrOH~20ml$,\newline $THF~1ml$ \newline $KOH 1ml$ & $24h/250C$ & \\ \midrule
    $VC13$ & $Gd3(O^tBu)_9HO^tBu_2$ & $MeOH 20ml$ & $3h/Rckflu$ & \\
    \bottomrule
    \end{tabular}
    \end{table}

    here goes the text
    \end{document}

    ... also m-Spalten!

    edico

    P.S. und bitte nächstes Mal ein Minimalbeispiel statt Codeschnipsel mit überfüllten unwichtigen packages anbieten. Warum - ist mehrfach beschrieben worden und kann unter Schlagwort nachgelesen werden, sonst s. http: //www.minimalbeispiel.de/

    P.P.S.
    Und weil's so schön ist ... Die nachfolgende Variation halte ich für noch übersichtlicher:
    ...
    $VC1$ & $Dy(Oleat)_3$ & $Hexan 20ml$ \newline $NH_3 1ml$ & $24h/250C$, \newline $pH=9$ & \tabularnewline\tabularnewline
    %\midrule
    $VC6$ & $Gd3(O^tBu)_9HO^tBu_2$ & $^iPrOH 20ml$ \newline $KOH 1ml$ & $24h/250C$ & \tabularnewline\tabularnewline
    %\midrule
    $VC8$ & $Dy3(O^tBu)_9HO^tBu_2$ \newline $Fe_2O^tBu_6 (1:3)$ & $^iPrOH~20ml$,\newline $THF~1ml$ \newline $KOH 1ml$ & $24h/250C$ & \tabularnewline\tabularnewline
    %\midrule
    $VC13$ & $Gd3(O^tBu)_9HO^tBu_2$ & $MeOH 20ml$ & $3h/Rckflu$ & \tabularnewline
    \bottomrule
    ...
    Geändert von edico (23-08-2007 um 21:29 Uhr)

Lesezeichen

Berechtigungen

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