PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Skalieren von selbsterstellten Graphiken



Winny
31-01-2006, 19:16
Hallo!

In vielen Beiträgen erfährt man, wie Bilder skaliert werden können. Leider ist mein Problem etwas anders gelagert. Ich möchte kein Bild mit \includegraphics einbinden, sondern mein selbst erstelltes Bild skalieren. Das Bild erzeuge ich mit Hilfe des Packages xy-pic. Eingebunden wird dieses über:\usepackage[all]{xy}
Das Bild kann beispielsweise wie folgt aussehen:

\begin{figure}[htbp]
\xymatrix{
*+[o][F-]{1} \ar@{-}[d] & *+[o][F-]{2} \ar@{-}[d] & *+[o][F-]{3} \ar@{-}[d] & *+[o][F-]{4} \ar@{-}[d] & *+[o][F-]{5} \ar@{-}[d] & *+[o][F-]{6} \ar@{-}[d] & *+[o][F-]{7} \ar@{-}[d] & *+[o][F-]{8} \ar@{-}[d] & *+[o][F-]{9} \ar@{-}[d] & *+[o][F-]{10} \ar@{-}[d] & *+[o][F-]{11} \ar@{-}[d] & *+[o][F-]{12} \ar@{-}[d] & *+[o][F-]{13} \ar@{-}[d] & *+[o][F-]{14} \ar@{-}[d]\\
*+[F-,]{no} & *+[F-,]{no} & *+[F-,]{yes} & *+[F-,]{yes} & *+[F-,]{yes} & *+[F-,]{no} & *+[F-,]{yes} & *+[F-,]{no} & *+[F-,]{yes} & *+[F-,]{yes} & *+[F-,]{yes} & *+[F-,]{yes} & *+[F-,]{yes} & *+[F-,]{no}
}
\caption{...}
\label{...}
\end{figure}

Das Problem ist nun, dass das Bild zu groß ist und rechts über den Rand gezeichnet wird. Wie bekomme ich dieses Problem in den Griff? Dinge wie Minipages, width, etc. habe ich bereits ohne Erfolg probiert.

Salnic
31-01-2006, 19:52
Hi Winny,

es gibt z.B. im epsfig-Package (\usepackage{epsfig}) die scalebox-Umgebung

\scalebox{0.5}{\xymatrix{ }


vielleicht kann man statt halbe Größe auch irgendwie Textbreite angeben. Ob sich epsfig mit Deinem Dokument verträgt? Nur so als Idee. Vielleicht gibt es die scalebox auch in anderen Paketen? Such mal

Salnic

PS: habe gerade noch die \resizebox gefunden

countbela666
31-01-2006, 20:42
Vielleicht gibt es die scalebox auch in anderen Paketenist auch im aktuelleren graphicx-Paket enthalten

Winny
02-02-2006, 16:52
Vielen Dank Euch beiden!
Meine Graphiken lassen sich nun schön skalieren. Falls noch jemand weiß, wie man diese auf Textbreite bekommt, dann lasst hören.
\scalebox{\textwidth} oder \scalebox{\linewidth} funktionieren leider nicht. Ebenso nicht der Aufruf in eckigen Klammern.

countbela666
02-02-2006, 18:53
Das geht mit dem Befehl \scalebox nicht, da du hier einen Skalierungsfaktor und nicht wie von dir gewünscht eine Länge angeben musst. Für diesen Zweck gibt es den Befehl \resizebox{Breite}{Höhe}{...}, mit dem du spezifische Maße zum Strecken/Stauchen angeben kannst. Ein ! anstelle eines Wertes bewirkt die proportionale Anpassung des Wertes an das andere angegebene Maß. In deinem Fall also:

\resizebox{\textwidth}{!}{...}Grüße,
Marcel