Seite 1 von 1

Größe von umrandeten Formeln anpassen (framed.sty)

Verfasst: Sa 12. Mär 2011, 20:22
von csaf5941
Hallo!

Ich bin gerade dabei die statische Berechnung einer Brücke in LaTeX zu dokumentieren und möchte dabei die Nachweise in eine farbig hinterlegte theorem-Umgebung packen. Das ganze funktioniert bis auf zwei Kleinigkeiten ganz wunderbar mit dem ntheorem und dem framed-Package, das für diese zwei Befehle benötigt wird

Was mich aber noch stört ist
(a) der Absatzeinzug nach der Umgebung und
(b) die inkonsistente Größe der Umrandung bei Verwendung von verschiedenen Matheumgebungen.

Da die Probleme nur bei Verwendung von \newframedtheorem bzw. \newshadedtheorem auftreten, liegt das Problem wohl beim framed-Package.
\documentclass{article}
\usepackage{amsmath,framed,xcolor}
\xdefinecolor{shadecolor}{RGB}{200,200,200}
\setlength{\FrameSep}{0pt}

\begin{document}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. 
\begin{shaded}
  \begin{equation*}
    E = mc^{2}
  \end{equation*}
\end{shaded}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. 
\begin{equation*}
  E = mc^{2}
\end{equation*}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. 
\begin{shaded}
  \begin{align*}
    a+b &= c\\
    d+e &= f
  \end{align*}
\end{shaded}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. 
\begin{align*}
  a+b &= c\\
  d+e &= f
\end{align*}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. 
\end{document}
Im Minimalbeispiel sieht man gut, dass die Absätze nach den schattierten Formeln eingezogen sind. Ein einfaches \noindent direkt nach der Umgebung löst zwar das Problem, ich krieg es aber nicht hin, diese Definition in einer neuen Umgebung unterzubringen. Mein Versuch mit
\newenvironment{myshaded}{%
  \def\FrameCommand{\fboxsep=\FrameSep \colorbox{shadecolor}}%
  \MakeFramed{\FrameRestore}%
}{%
  \endMakeFramed\noindent%
}
verringert zwar den Einzug; ganz verschwindet er aber nicht. Irgendwie schaut mir das nach signifikanten Leerzeichen aus...

Und der zweite Punkt ist die Größe der schattierten align*-Umgebung. Bei den ersten zwei - einzeiligen - Formeln bleiben die Abstände gleich groß. Dasselbe Verhalten hätte ich auch gerne bei der dritten Formel, die trotz \setlength{\FrameSep}{0pt} aber deutlich mehr Luft abbekommt. Da weiß ich momentan überhaupt nicht weiter. Ich hab zwar mal in das framed.sty-File geschaut bin aber nicht wirklich schlau daraus geworden...

Vielleicht hat ja jemand einen Lösungsansatz oder eine Empfehlung wie man das gewünschte Verhalten anders umsetzen könnte.


Schöne Grüße,
Johannes

Verfasst: Sa 12. Mär 2011, 22:54
von csaf5941
Hoppla... Da hat sich wohl der Druckteufel eingeschlichen.
"das für diese zwei Befehle benötigt wird" gehört natürlich an das Ende der Zeile über dem Minimalbeispiel.

Lektüre

Verfasst: So 13. Mär 2011, 11:19
von localghost
Das exzellente Dokument »Math mode« sollte hilfreich sein.


Thorsten

Verfasst: So 13. Mär 2011, 13:48
von csaf5941
Hallo Thorsten!

Auf das Dokument bin ich natürlich schon zuvor gestoßen. Ich nehme mal an, dass du den Vorschlag auf Seite 16 meinst (das später vorgeschlagene empheq funktioniert zwar genau so wie erwartet, fällt aber leider wegen der theorem-Umgebung flach). Da das ntheorem-Paket zudem schon eine framed-Option anbietet, wollte ich die natürlich auch verwenden. Und dann lässt sich das ganze Problem - meiner Ansicht nach - eben auf das framed-Paket runterbrechen.

Und auch bei Verwendung des Vorschlags in mathmode finde ich die Größenanpassung etwas seltsam.
\documentclass{article}
\usepackage{amsmath,xcolor,calc}
\xdefinecolor{shadecolor}{RGB}{200,200,200}
 
\begin{document}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.\\
\noindent\colorbox{shadecolor}{\parbox{\linewidth-2\fboxsep-2\fboxrule}{%
  \begin{equation*}
    E = mc^{2}
  \end{equation*}
}}\\
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
\begin{equation*}
  E = mc^{2}
\end{equation*}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.\\
\noindent\colorbox{shadecolor}{\parbox{\linewidth-2\fboxsep-2\fboxrule}{%
  \begin{align*}
    a+b &= c\\
    d+e &= f
  \end{align*}
}}\\
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
\begin{align*}
  a+b &= c\\
  d+e &= f
\end{align*}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
\end{document} 

Die einzeilige Formel wird bei Verwendung einer colorbox kleiner und die zweizeilige größer!? Ich versteh einfach nicht, wie sich hier die Abstände ergeben...


Schöne Grüße