Seite 1 von 1
Box mit Text und Formel skalieren
Verfasst: Do 13. Sep 2018, 15:12
von ratzeputz
Hi,
ich möchte eine Box mit Formel und Text auf Seitenbreite skalieren. Dabei dachte ich an minipage, aber das Ergebnis ist nicht zufriedenstellend. Habt ihr bessere Vorschläge?
\documentclass{article}
\usepackage{amsmath}
\usepackage{framed}
\usepackage{graphics}
\begin{document}
\begin{figure}
\begin{minipage}{0.9\textwidth}
\begin{framed}
Text
\begin{flalign*}
a = abcdefghijklmnopqrstuvwxyz + abcdefghijklmnopqrstuvwxyz + abcdefghijklmnopqrstuvwxyz + abcdefghijklmnopqrstuvwxyz&&
\end{flalign*}
\end{framed}
\end{minipage}
\end{figure}
\end{document}
[/code][/b]
Verfasst: Do 13. Sep 2018, 15:50
von Bartman
Dein Argument für die minipage-Umgebung belegt aber absichtlich weniger als die Seitenbreite.
Außerdem ist Deine Formel viel zu breit und müsste umbrochen werden.
Die Berücksichtigung der Seitenbreite könnte dann so aussehen:
\documentclass{article}
\usepackage{amsmath}
\usepackage{framed}
\usepackage{graphicx}
\usepackage{blindtext}
\usepackage{showframe}
\begin{document}
\begin{figure}
\begin{framed}
\blindtext
\begin{flalign*}
a &= abcdefghijklmnopqrstuvwxyz + abcdefghijklmnopqrstuvwxyz\\
&\quad+ abcdefghijklmnopqrstuvwxyz + abcdefghijklmnopqrstuvwxyz
\end{flalign*}
\end{framed}
\end{figure}
\end{document}
Verfasst: Fr 14. Sep 2018, 08:17
von ratzeputz
Hi Bartman,
danke für deine Antwort. Leider wird es auch dem Minimalbeispiel nicht ersichtlicht, aber meine eigentliche Box ist länger und geht sowohl über die Textbreite als auch -höhe hinaus. Daher suche ich nach einer Möglichkeit, die Box wie eine Grafik bei \includegraphics[]{} zu skalieren - ohne einen Formelumbruch zu erzwingen. Die Textgröße sollte angepasst werden, sodass alles auf die Seite passt.
Verfasst: Fr 14. Sep 2018, 08:42
von Gast
Siehe \raisebox oder \scalebox in der [d]graphicx[/d]-Anleitung. Eine Anwendung davon findet sich beispielsweise in
https://texwelt.de/wissen/fragen/15303/ ... rmat/15307.
Verfasst: Fr 14. Sep 2018, 08:49
von Gast
Du meintest sicher \resizebox (nicht \raisebox):
\documentclass{article}
\usepackage{amsmath}
\usepackage{graphics}
\begin{document}
\fbox{%
\resizebox{\dimexpr\textwidth-2\fboxsep-2\fboxrule}{!}{%
\begin{minipage}{1.7\textwidth}% Breite ggf. anpassen
Text
\[
a = abcdefghijklmnopqrstuvwxyz + abcdefghijklmnopqrstuvwxyz + abcdefghijklmnopqrstuvwxyz + abcdefghijklmnopqrstuvwxyz
\]
\end{minipage}%
}%
}
\end{document}
Verfasst: Fr 14. Sep 2018, 11:02
von ratzeputz
Ja genau das sieht super aus! Danke! Kannst du mir noch einen Befehl verraten wie ich whitespace an den Rändern erzeugen kann?
Verfasst: Fr 14. Sep 2018, 12:45
von Gast
Einfach die Breite über das erste Argument von \resizebox (siehe [d]grfguide[/d]) weiter reduzieren und dann ggf. alles zusammen zentrieren.
Verfasst: Fr 14. Sep 2018, 14:48
von ratzeputz
Ich meinte whitespace innnerhalb der Box. Habe es einfach mit \vspace und \hspace gelöst. Danke!
Verfasst: Fr 14. Sep 2018, 14:56
von Gast
Du kannst auch \fboxsep erhöhen. Das ist der Abstand zwischen Linie und Inhalt bei einer \fbox, einer \framebox und auch bei Verwendung der \colorbox bzw. \fcolorbox von color/xcolor. Sollte in jeder ausführlichen LaTeX-Einführung erklärt sein.
Verfasst: Fr 14. Sep 2018, 16:14
von Gast
Es sei hier auch noch auf das Paket tcolorbox hingewiesen, dessen Bibliothek fitting sehr schöne Boxen erlaubt, deren Inhalt passend skaliert wird. Über Optionen ist nicht nur die Art der Skalierung, sondern sind auch andere Aspekte wie das Hinterlegen mit Farbe, Abstände zu den Rändern etc. einstellbar. Überhaupt ist tcolorbox bezüglich Hervorhebung von Blöcken/Boxen sehr empfehlenswert.