PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Große Zeichen berühren den Rahmen in Array Umgebung



wschoenberg
24-02-2009, 16:04
Hallo, ich versuche gerade ein Dokument zu erstellen in dem ich in einer Array Umgebung Integralzeichen usw. verwende. Es geht genauer gesagt um eine Formelsammlung.
Mein Problem ist nun, dass wenn ich hohe Zeichen verwende (Wie z.B. das Integralzeichen, oder Brüche), der Rahmen berührt wird.
Ich hab schon allerhand gesucht und rumprobiert, aber eine gescheite Lösung will mir einfach nicht dazu einfallen. :confused:

Hier mal ein paar meiner Versuche:

minipages: würde Funktionieren, aber ich müsste für jede Formel Höhe und Breite der minipage anpassen.
booktabs: funktioniert, aber dadurch kann ich keine vertikalen Linen mehr verwenden, bzw. die vertikalen Linen sind zu kurz.
tabularht zusammen mit booktabs: Sieht grottenschlecht aus, weil die neuen (tabularht) Linien einfach über die zu kurzen booktabs Linien drübergezeichnet werden.
keine abgesetzen Formeln benutzen: Funktioniert, aber ich würde gerne die "große" Schreibweise haben.


Hier ist mein Beispiel:



\documentclass[10pt,a4paper]{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{array}
\begin{document}

\[
\begin{array}{|l|c|r|c}
\hline \hline
links & zentriert & rechts & zentriert \\ \hline
A & \displaystyle \int_0^10 1/x dx & B & C \\ \cline{2-2}
\multicolumn{2}{|c|}{aa} & 2 & 3\\ \hline
\end{array}
\]

\end{document}


Aber vielleicht bin ich mit "array" ja auch total auf dem Holzweg. Bin offen für Alternativen, die allerdings vom Layout her so aussehen können sollten wie das Beispiel (also Zellen die unter oder über anderen Zellen entlanglaufen können wie in dem Beispiel wo "aa" steht)

Bin gespannt :)

mechanicus
25-02-2009, 13:03
Hallo,

für einzelne Zellen, bietet sich rule mit der Weite 0 an. Man kann auch die gesamte Tabelle mittels arraystretch erweitern. Ich habe auch die Grenzen deines Integrals angepasst, sowie das Differential.


\documentclass[10pt,a4paper]{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{array}
\begin{document}

\[%\renewcommand{\arraystretch}{4}
\begin{array}{|l|c|r|c}
\hline \hline
links & zentriert & rechts & zentriert \\ \hline
A & \rule[-3ex]{0pt}{8ex}\displaystyle \int_0^{10} 1/x \;\mathrm dx & B & C \\ \cline{2-2}
\multicolumn{2}{|c|}{aa} & 2 & 3\\ \hline
\end{array}
\]

\end{document}

Gruß
Marco

wschoenberg
25-02-2009, 20:32
Danke erstmal!
Dass die Null runtergerutscht ist, habe ich gar nicht bemerkt ^^.

Das sieht schon ganz gut aus, aber gibt es da keine Möglichkeit die universeller ist? Ich muss ja jetzt immer noch manuell die Höhe des \rule anpassen.
Mit arraystretch hatte ich auch schon ein wenig rumgespielt, aber es streckt ja anscheinend die Zellen alle auf die Höhe der höchsten Zelle plus den Streckfaktor. Und ohne zusätzliches \rule sitzen die Zeichen dann immer noch unten auf.

wschoenberg
25-02-2009, 23:35
Ich hab die Lösung für mein Problem gefunden, und die will ich euch natürlich nicht vorenthalten!
Die Lösung heißt mdwtab. Das Paket löst einige Probleme mit Abständen zu den horizontalen Linien. Wers genau wissen will kann sich ja mal die Doku (http://www.ctan.org/tex-archive/macros/latex/contrib/mdwtools/mdwtab.pdf) durchlesen.

Ansonsten hier mein Beispiel mit Vergleich zwischen "normaler" array Umgebung und der neuen array Umgebung (das Ganze gilt natürlich genauso für die tabular Umgebung):


\documentclass[10pt,a4paper]{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{array}
\usepackage{mdwtab} %*** neu
\begin{document}

Neu:

\[
\begin{array}{|l|c|r|c}
\hline
links & zentriert & rechts & zentriert \\
\hlx{vhv} %*** neu statt \hline
A &\displaystyle \int_0^{10} 1/x \;\mathrm dx & B & C \\
\hlx{vc{2-2}v[1]} %*** neu statt \cline
\multicolumn{2}{|c|}{\displaystyle \int_0^{10} 1/x \;\mathrm dx} & 2 & 3\\
\hlx{v[1]h}
\end{array}
\]


Alt:

\[
\begin{array}{|l|c|r|c}
\hline
links & zentriert & rechts & zentriert \\
\hline
A &\displaystyle \int_0^{10} 1/x \;\mathrm dx & B & C \\
\cline{2-2} %*** neu statt \cline
\multicolumn{2}{|c|}{\displaystyle \int_0^{10} 1/x \;\mathrm dx} & 2 & 3\\
\hline
\end{array}
\]

\end{document}


Ich hoffe der Beitrag wird noch vielen anderen Helfen :) Ich hab mich zumindest echt wund gesucht nach einer gescheiten Lösung.