Box mit Text und Formel skalieren

Tabellen und Grafiken erstellen und anordnen


ratzeputz
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Do 13. Sep 2018, 14:58

Box mit Text und Formel skalieren

Beitrag 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]

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag 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}

ratzeputz
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Do 13. Sep 2018, 14:58

Beitrag 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.

Gast

Beitrag 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.

Gast

Beitrag 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}

ratzeputz
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Do 13. Sep 2018, 14:58

Beitrag 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?

Gast

Beitrag von Gast »

Einfach die Breite über das erste Argument von \resizebox (siehe [d]grfguide[/d]) weiter reduzieren und dann ggf. alles zusammen zentrieren.

ratzeputz
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Do 13. Sep 2018, 14:58

Beitrag von ratzeputz »

Ich meinte whitespace innnerhalb der Box. Habe es einfach mit \vspace und \hspace gelöst. Danke!

Gast

Beitrag 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.

Gast

Beitrag 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.

Antworten